pax_global_header00006660000000000000000000000064147671062030014520gustar00rootroot0000000000000052 comment=55079b017fb821a34ace398cd3d8c5b556a22f6d treemacs-3.2/000077500000000000000000000000001476710620300131675ustar00rootroot00000000000000treemacs-3.2/.dir-locals.el000066400000000000000000000002131476710620300156140ustar00rootroot00000000000000((emacs-lisp-mode (indent-tabs-mode . nil) (tab-width . 2)) (git-commit-mode (git-commit-major-mode . git-commit-elisp-text-mode))) treemacs-3.2/.github/000077500000000000000000000000001476710620300145275ustar00rootroot00000000000000treemacs-3.2/.github/stale.yml000066400000000000000000000004401476710620300163600ustar00rootroot00000000000000daysUntilStale: 60 daysUntilClose: false exemptLabels: - pinned - security staleLabel: stale markComment: > This issue has been automatically marked as stale because it has not had recent activity (this bot only works as a reminder, it will not close issues). closeComment: false treemacs-3.2/.github/workflows/000077500000000000000000000000001476710620300165645ustar00rootroot00000000000000treemacs-3.2/.github/workflows/build.yml000066400000000000000000000020041476710620300204020ustar00rootroot00000000000000name: CI Build on: [ push, pull_request ] env: CI: "true" jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: emacs_version: - 28.1 - 28.2 - 29.1 - 29.2 - 29.3 - 29.4 # - snapshot FIXME disabled due to bytecode overflow errors during compilation steps: - name: Install Emacs uses: purcell/setup-emacs@master with: version: ${{ matrix.emacs_version }} - name: Install Cask uses: conao3/setup-cask@master with: version: 'snapshot' - name: Install Aspell run: sudo apt-get install -y aspell - name: Checkout treemacs uses: actions/checkout@v2 with: repository: Alexander-Miller/treemacs path: treemacs - name: Cask Install run: cask --path treemacs install - name: Checkdoc run: make -C treemacs checkdoc - name: Compile run: make -C treemacs compile - name: Test run: make -C treemacs test treemacs-3.2/.gitignore000066400000000000000000000000601476710620300151530ustar00rootroot00000000000000*.elc /.cask/ /performance-test/ /Extensions.el treemacs-3.2/Cask000066400000000000000000000007571476710620300140040ustar00rootroot00000000000000(source gnu) (source melpa) (package-file "src/elisp/treemacs.el") (development (depends-on "dash") (depends-on "s") (depends-on "ht") (depends-on "ace-window") (depends-on "all-the-icons") (depends-on "pfuture") (depends-on "hydra") (depends-on "cfrs") (depends-on "evil") (depends-on "projectile") (depends-on "magit") (depends-on "persp-mode") (depends-on "perspective") (depends-on "with-editor") (depends-on "buttercup") (depends-on "el-mock") (depends-on "ert-runner")) treemacs-3.2/Changelog.org000066400000000000000000000204061476710620300155710ustar00rootroot00000000000000# -*- fill-column: 100 -*- #+STARTUP: content * Changelog ** current master ** v3.1 - Deprecated ~treemacs-window-background-color~ in favour of ~treemacs-window-background-face~ and ~treemacs-hl-line-face~ - Added ~treemacs-copy-absolute-path-at-point~ - Added ~treemacs-start-on-boot~ - Made it possible to disable workspace with a ~COMMENT~ directive - Added option to sort alphabetic-numerically (as with ~string-version-lessp~) - Added ~:on-expand~ and ~:on-collapse~ options to treelib nodes - Added options to define visit-actions in extensions api. - Added ~treemacs-after-visit-functions~. - Added option to disable moving files by dragging with your mouse. - Better performance when ~treemacs-collapse-dirs~ is used for many sub-directories. - Added ~treemacs-git-executable~. ** v3.1 - Added ~treemacs-create-workspace-from-project~ command - Added ~treemacs-project-follow-into-home~ option - Treemacs can now be resized with the mouse, even when it width is locked - Added support for directory-specific icons - Bug fixes ** v3 - Complete rewrite of the extension api - Added ~treemacs-bulk-file-actions~ - Added support for moving files via mouse drag - Added ~treemacs-hide-dot-git-directory~ - Added ~treemacs-git-commit-diff-mode~ ** v2.10 - Added ~treemacs-width-increment~ and the ability to resize the treemacs window incrementally - Added ~treemacs-indent-guide-mode~ - Added option to close treemacs when visiting nodes with a double prefix arg - Added ~treemacs-visit-node-close-treemacs~ - Added ~treemacs-fit-widdow-width~ - Added ~treemacs-extra-wide-toggle~ - Added ~treemacs-next-workspace~ - Added ~treemacs-find-workspace-method~ - Added option for ~treemacs-select-window~ to close treemacs when it is already selected - Added ~detailed~ option for ~treemacs-eldoc-display~ - Added ~treemacs-select-directory~ - Added option to select workspace when starting/selecting treemacs - Added ~treemacs-indicate-top-scroll-mode~ - Promoted peeking into a proper minor mode ** v2.9 - Published ~treemacs-all-the-icons~ - Added ~treemacs-workspace-switch-cleanup~ - Added support for disabling the mode line - Added ~treemacs-user-header-line-format~ - Added ~treemacs-display-current-project-exclusively~ - Added ~treemacs-icon-catalogue~ - Added ~treemacs-read-string-input~ - Split the helpful hydra in 2, so it can fit on smaller screens - Replaced ~treemacs-select-hook~ with ~treemacs-select-functions~ because it is now called with treemacs' previous visibility - Added imenu support + Added ~treemacs-imenu-scope~ - Added ~treemacs-copy-relative-path-at-point~ - Added ~treemacs-expand-added-projects~ - Added ~treemacs-window-background-color~ - Added ~treemacs-define-custom-image-icon~ - Added ~treemacs-narrow-to-current-file~ - Added ~treemacs-cleanup-litter~ - Added ~treemacs-expand-after-init~ - Added ~treemacs-width-is-initially-locked~ - Added ~treemacs-hide-gitignored-files-mode~ - Added ~treemacs-select-when-already-in-treemacs~ - Added ~treemacs-text-scale~ - Added option to only show the fringe indicator when the treemacs window is selected - Implemented one hand navigation with ~h~ collapsing nodes and ~l~ functioning like ~RET~, ~M-H/L~ is used now for changing root nodes. - Reduced ~treemacs-file-event-delay~ to 2000ms - New icons - Bug Fixes ** v2.8 - Made workspaces lazy-loaded as needed - Published ~treemacs-persp~ - Added ~treemacs-file-extension-regex~ - Added ~treemacs-directory-name-transformer~ - Added ~treemacs-file-name-transformer~ - Added ~treemacs-move-forward-on-expand~ - Added ~treemacs-user-mode-line-format~ - Many more and better icons. - Bug fixes ** v2.7 - Suppor for icon themes - Integration with bookmarks - Performance improvements - Changed icon selection to allow icons for specific file names - New functions to run shell commands for current node or project - Feature-completion of workspaces api - New Icons - Bug Fixes ** v2.6 - Added ~treemacs-add-and-display-current-project~ (both projectile and project.el) - Added ~treemacs-eldoc-display~ - Added ~treemacs-visit-node-in-most-recently-used-window~ - Added ~treemacs-wrap-around~ - Basic theme support - Added hooks for selecting, quitting and killing treemacs - Moved completely to python3, improved python3 detection - Expansion of and fixes for the extension api - Split similar command keybinds into common keymaps - New Icons - Bug Fixes ** v2.5 - Added ~treemacs-magit~ helper package. - Added ~treemacs-recenter-after-project-jump~ option. - Added ~treemacs-recenter-after-project-expand~ option. - ~recenter-after-x~ can now be set to ~always~ or ~on-distance~. - Replaced ~treemacs-follow-recenter-distance~ with ~treemacs-recenter-distance~. - Added ~treemacs-copy-file~ command. - Added ~treemacs-move-file~ command. ** 2.4 - Add support for using ~org-store-link~ inside treemacs. - Introduce the ~treemacs-icons-dired~ package. - Add ability to control workspaces and projects by editing an org-mode file. - Introduce ~treemacs-collapse-parent-node~. - Add mouse right-click menu. - New Icons - Bug fixes ** 2.3 - Added ~treemacs-single-click-expand-action~ for single leftclick node expansion. - Added ~deferred~ variant of ~treemacs-git-mode~. - Added ~treemacs-show-cursor~ to keep the cursor visible. - Added ~treemacs-display-in-side-window~. - Added ~treemacs-move-project-up~ and ~-down~ to change the order of projects. - Added ~treemacs-git-command-pipe~ to append filters to the git status command. - Added ~treemacs-move-project-up/down~ to change the order of projects. - Added preliminary version of a rightclick menu. - Changed ~treemacs-follow-mode~ to run with an idle timer and added ~treemacs-file-follow-delay~ to control the delay. - Switch to org-mode syntax as persistence format (in preparation for making it editable). - Started using vscode icons. - Introduce extension API. - Bug fixes. - Performance improvements. ** 2.2 - Reduced minimum required emacs version to 25.2. - Integrated symlinks with git-mode (symlinks will always be resolved). - Added ~fringe-indicator-minor-mode~ to make point more visible. - Made all GUI icons resizable with ~treemacs-resize-icons~. - Added ~treemacs-space-between-projects~ config option. - Added ~treemacs-peek~ command. - Added ~treemacs-next/previous-page-other-window~ commands. - Bug fixes. ** v2.1 - Add ~treemacs-show-changelog~ command, - Add ~treemacs-project-follow-cleanup~ option. - ~default-directory~ will not be set based on the (nearest) path at point. - New scala and sbt icon. - Delete files by moving them to the trash by default. - Much improved file & directory creation interface. - Add commands to close all/current/other projects. - Reintroduces free navigation with h & l when there's only 1 project in the workspace. - ~treemacs-find-file~ can now ask for the file to be found. - Various bug fixes. ** v2 * Start keeping changelog and retroactively fill it. * Major refactoring to allow display of multiple projects in a workspace. * Full removal of functions and variables previously declared obsolete. * New java icon. * New kotlin icon. * New vue.js icon. * New case-sensitive option for ~treemacs-sorting~. * Many bugfixes & performance improvements. ** v1.18 - New golang icon. - Refactor left-click mouse interface to behave like a graphical application would. - Make TAB & RET particularly configurable. - Improved imenu-expression for more accurate tags in elisp. - Introduce smarter recenter with (tag-)follow-mode with ~treemacs-follow-recenter-distance~. - Bug fixes. ** v1.17 - Added license. - Bug fixes and internal refactoring. ** V1.16 - Use pulse.el for visual feedback. - Add ~treemacs-next/previous-line-other-window~. - Bug fixes. ** v1.15 - New yaml icon. - Added ~treemacs-recenter-after-tag/file-follow~. - Added ~treemacs-tag-follow-cleanup~. - Added ~treemacs-git-mode~. - Added ~treemacs-bookmark~. - Bug fixes. ** v1.14 - Added ~treemacs-pre-file-insert-predicates~. - Added ~treemacs-directory-collapsed-face~. - Added ~treemacs-pre/post-refresh-hook~. - Bug fixes. ** v1.13 - Make treemacs buffers unique for every frame. - Make all icons customizable. - Make treemacs buffers invisible in the buffer list. - Bug fixes. ** v1.12 - New hy icon. - Added ~treemacs-tag-follow-mode~. - Added ~treemacs-find-tag~. - Added ~treemacs-resort~. - Bug fixes. treemacs-3.2/Extensions.org000066400000000000000000000445611476710620300160510ustar00rootroot00000000000000# -*- fill-column: 120 -*- * Content :TOC:noexport: - [[#treemacs-extension-tutorial][Treemacs Extension Tutorial]] - [[#intro][Intro]] - [[#setup-basics][Setup Basics]] - [[#defining-node-types][Defining Node Types]] - [[#enabling-the-extension][Enabling the Extension]] - [[#asynchronous-nodes][Asynchronous Nodes]] - [[#asynchronous-caching-and-updates][Asynchronous Caching and Updates]] - [[#variadic-nodes-and-non-treemacs-buffers][Variadic Nodes and Non-Treemacs Buffers]] - [[#monotyped-nodes][Monotyped Nodes]] - [[#setting-the-default-directory][Setting the Default-Directory]] - [[#about-properties][About Properties]] * Treemacs Extension Tutorial ** Intro The following is a step-by-step guide on how to create extensions for treemacs using its ~treelib~ api. The example used is a simple view of all existing buffers, except those that are hidden, grouped by their major-mode. The code in this file is loadable with ~org-babel-load-file~, you can see the results by calling ~showcase-buffer-groups~. (Evaluating the code blocks one by one will not work since lexical scope is required in some cases) ** Setup Basics First our basic dependencies: #+BEGIN_SRC emacs-lisp ;; -*- lexical-binding: t -*- (require 'dash) (require 'treemacs) (require 'treemacs-treelib) #+END_SRC Since we are grouping buffers by their major-mode we will need two data sources: - The list of the major-modes of all current buffers as our entry point - The list of all buffers for a given major-mode Both sources are filtered for hidden buffers whose names start with a space. #+BEGIN_SRC emacs-lisp (defun treemacs-showcase--buffer-major-modes () (->> (buffer-list) (--reject (string-prefix-p " " (buffer-name it))) (--map (buffer-local-value 'major-mode it)) (-distinct))) (defun treemacs-showcase--buffers-by-mode (mode) (->> (buffer-list) (--filter (eq mode (buffer-local-value 'major-mode it))) (--reject (string-prefix-p " " (buffer-name it))))) #+END_SRC We will also define a command to open a buffer using RET: (The ignored argument is the prefix arg; the ~:buffer~ text property will be stored by ourselves) #+BEGIN_SRC emacs-lisp (defun treemacs-showcase-RET-buffer-action (&optional _) (let ((buffer (-some-> (treemacs-current-button) (treemacs-button-get :buffer)))) (when (buffer-live-p buffer) (pop-to-buffer buffer)))) #+END_SRC And another command to visit buffers via the ~treemacs-visit-node-***~ family of commands: #+BEGIN_SRC emacs-lisp (defun treemacs-showcase-visit-buffer-action (btn) (let ((buffer (treemacs-safe-button-get btn :buffer))) (when (buffer-live-p buffer) (pop-to-buffer buffer)))) #+END_SRC ** Defining Node Types Now comes the interesting part, we will use treemacs' api to tell it how we want our new trees to look, how they should fetch the information they display, and where to put them. The entry point for an extension is created with ~treemacs-define-entry-node-type~. A detailed explanation and documentation for every single argument can be found in the eldoc of ~treemacs-do-define-extension-type~, so here we'll only summarise the most important points: - ~:label~ is the text next to the icon. - The ~:key~ of every extension should be semi-unique - it does not need to be unique all on its own, but the "path" of all the parent nodes' keys leading to a node must serve as a unique identifier for it, otherwise treemacs will not be able to find the node and operations like updating it will not work. At the end of this example a node identifying a specific buffer will have a path in the form of ~('showcase-buffers )~ - The ~:children~ are what gets displayed when you expand a node of this type. Other than being a list there are no rules for the structure or content of the items returned here. The nodes we define just need to be able to extract the information they need from this list (as we'll see in a bit). - The argument values or not just static. They can contain arbitrary code that will be executed on every access (though of course it should be kept lean on account of performance). When applicable they will also have implicit access to the individual ~:children~ being rendered as we'll see in the next example. #+BEGIN_SRC emacs-lisp (treemacs-define-entry-node-type showcase-buffers :label (propertize "Buffers" 'face 'font-lock-keyword-face) :key 'showcase-buffers :open-icon (treemacs-get-icon-value 'list) :closed-icon (treemacs-get-icon-value 'list) :children (treemacs-showcase--buffer-major-modes) :child-type 'showcase-buffer-group) #+END_SRC We have created our entry point whose ~:children~ will be our buffers' major-modes. We set its ~:child-type~ to be ~showcase-buffer-group~, and that means that we now must create a node type with just that name. Simple expandable nodes that are neither entry points nor leaves in our tree can be defined with ~treemacs-define-expandable-node-type~. Here we can see that the individual item, as returned by the previous nodes definition's ~:children~ (in this case the major mode symbol), is bound as ~item~, so we can use it to extract the information we need. We can save additional information as text properties in our node with ~:more-properties~ (a plist). We use that to save the exact major-mode so we can later use it query a buffer-group node's children. Finally ~:children~ is special in that it has access to 2 parameters: - The ~item~ being rendered, as returned by its parent's ~:children~ data source - The ~btn~ for the node at point, as returned by ~treemacs-current-button~ (the value is a text-properties button as it would be created by the builtin button.el library, hence the name) ~:on-expand~ and ~on-collapse~ are optional callbacks that are called at the end of the expand/collapse cycle. They too are called with ~btn~ as their parameter. #+BEGIN_SRC emacs-lisp (treemacs-define-expandable-node-type showcase-buffer-group :closed-icon "+ " :open-icon "- " :label (propertize (symbol-name item) 'face 'font-lock-variable-name-face) :key item :children (treemacs-showcase--buffers-by-mode (treemacs-button-get btn :major-mode)) :child-type 'showcase-buffer-leaf :more-properties `(:major-mode ,item) :on-expand (message "Expanding node with key %s" (treemacs-button-get btn :key)) :on-collapse (message "Collapsing node with key %s" (treemacs-button-get btn :key))) #+END_SRC Finally all that's left is to define the leaves of our tree - the nodes for the individual buffers. Nothing new is happening here, we merely save the buffers in a text property so the commands to open and visit them that we have defined above can use that information. #+BEGIN_SRC emacs-lisp (treemacs-define-leaf-node-type showcase-buffer-leaf :icon "• " :label (propertize (or (buffer-name item) "#") 'face 'font-lock-string-face) :key item :more-properties `(:buffer ,item) :visit-action #'treemacs-showcase-visit-buffer-action :ret-action #'treemacs-showcase-RET-buffer-action) #+END_SRC Killed buffers also need to be taken into account. This is a precaution for when we later turn our buffer extension asynchronous. The chapter on [[Asynchronous Caching and Updates][async caching]] will explain exactly why this is necessary. ** Enabling the Extension All that's left now it to tell treemacs to actually use the extension we have created. There are 3 options for where the it should be placed: - at the top-level, the same level as your projects - under a project - under a directory We can also decide whether our extension goes at the top or the bottom of its location. The latter two options may also accept a ~:predicate~ argument, so it is possible to determine exactly which projects and directories an extension will be used for. For our example we will place the extension as the first item under the first project in the workspace: #+BEGIN_SRC emacs-lisp (treemacs-enable-project-extension :extension 'showcase-buffers :position 'top :predicate (lambda (project) (eq project (car (treemacs-workspace->projects (treemacs-current-workspace)))))) #+END_SRC The argument passed to ~:extension~ must be the same symbol that was used for ~treemacs-define-entry-node-type~. ** Asynchronous Nodes Treemacs also supports nodes that fetch their content from an asynchronous source like a language server. For our simple example we will re-use the buffer code from above and use timers to fake asynchronicity. Most of the code is the same, there are only 2 differences: - async nodes must set the ~:async~ flag to a non-nil value - ~:children~ is different in that it receives a third argument: a ~callback~ function that must be called with the produced items once they are available #+BEGIN_SRC emacs-lisp (treemacs-define-entry-node-type showcase-async-buffers :key 'showcase-buffers-async :label (propertize"Async Buffers" 'face 'font-lock-keyword-face) :open-icon (treemacs-get-icon-value 'list) :closed-icon (treemacs-get-icon-value 'list) :children (let ((items (treemacs-showcase--buffer-major-modes))) (run-with-timer (1+ (random 3)) nil (lambda () (funcall callback items)))) :child-type 'showcase-async-buffer-group :async? t) #+END_SRC Leaves have no asynchronous parts, so the previous definition can be re-used directly. #+BEGIN_SRC emacs-lisp (treemacs-define-expandable-node-type showcase-async-buffer-group :closed-icon "+ " :open-icon "- " :label (propertize (symbol-name item) 'face 'font-lock-variable-name-face) :key item :children (let ((items (treemacs-showcase--buffers-by-mode (treemacs-button-get btn :major-mode)))) (run-with-timer (1+ (random 3)) nil (lambda () (funcall callback items)))) :child-type 'showcase-buffer-leaf :more-properties `(:major-mode ,item) :async? t) #+END_SRC We'll enable the asynchronous extension at the bottom of first project in treemacs: #+BEGIN_SRC emacs-lisp (treemacs-enable-project-extension :extension 'showcase-async-buffers :predicate (lambda (project) (eq project (car (treemacs-workspace->projects (treemacs-current-workspace))))) :position 'bottom) #+END_SRC The next time you update your first project both extensions will be there, restarting treemacs is /not/ necessary. ** Asynchronous Caching and Updates *** Why a Cache Is Needed When you try out this async extension you will notice that the first time a node is expanded treemacs adds a /Loading.../ annotation, and the node is only expanded after the 1-3 second delay we have introduced. However every subsequent expansion happens instantly, though sometimes buffers may appear or disappear, or their order changes. The reason for this behaviour is that all results of asynchronous calls are cached in treemacs, and then re-used for instant updates. This setup is necessary to ensure a smooth experience in the treemacs UI. Imagine what an update would look like without this cache. The basic update procedure in treemacs is the same process as hitting TAB twice - close the node and open it again (this does not apply to ~filewatch-mode~ and ~git-mode~, which are both capable of making only the necessary changes). All this is not visible to the user, all you see is an instant change. This would not be the case for asynchronous nodes. Even if the delay in a real use-case can be measured in milliseconds, you would still see your tree collapse, then add the /Loading.../ annotation, then it would open, then all its previously open subtrees would only open after the same delay, and so on. In addition to that if your point was somewhere in the updated tree it would be moved around, which would be quite annoying if the update happened automatically. *** The 2-Step Update Process The async cache prevents all that from happening. A real update, fetching new information, does happen, but it happens in the background. Whenever an async node is expanded the cache for the entire subtree is refreshed. Once that is done a second update is run using the /new/ cache. That is why you sometimes see buffers (dis)appear, or their order change (we don't do any sorting). That is also why we previously needed to ensure that we can explicitly label killed buffers (since calling ~buffer-name~ on a killed buffer throws an error). The initial refresh uses a potentially stale cache. Buffers that were shown once may since have been deleted. They'll be removed from the view the next time we take a real look at the ~buffer-list~, but in the meantime we'll have to show a stopgap ~#~ entry. *** Programmatic Updates Using ~treemacs-update-node~ will iniate this 2-step update process. If you want to avoid that and directly run just the background update part you can use ~treemacs-update-async-node~ instead. ** Variadic Nodes and Non-Treemacs Buffers Treemacs' extensions do not have to be used exclusively within treemacs itself, they may also be put into their own buffers. When doing so it might be useful for an extension to produce multiple top-level nodes from the start, instead of having one single entry point, like the ~Buffers~ node from the first example. Treemacs calls this concept ~variadic~ nodes. The following example will demonsrate how to set up such a variadic extension that will produce major-mode buffer group nodes at the top level, and how display this extension in its own side window. Most of the code from above can be re-used, we just need a new entry point, which we create with ~treemacs-define-variadic-entry-node-type~. The setup is a subset of ~treemacs-define-entry-node-type~ - we are effectively creating an invisible entry point that is always extended, so it needs only a small subset of the usual information. Of particular note is the ~key~ which allows us the update all nodes created by this variadic entry in one go. #+BEGIN_SRC emacs-lisp (treemacs-define-variadic-entry-node-type showcase-buffers-variadic :key 'showcase-buffers-variadic :children (->> (buffer-list) (--reject (string-prefix-p " " (buffer-name it))) (--map (buffer-local-value 'major-mode it)) (-distinct)) :child-type 'showcase-buffer-group) #+END_SRC That's it. Now we just need to define an interactive command that will display our buffers for us: #+BEGIN_SRC emacs-lisp (defun showcase-buffer-groups () (interactive) (let ((bufname "*Showcase Buffers*")) (--when-let (get-buffer bufname) (kill-buffer it)) (let ((buf (get-buffer-create bufname))) (pop-to-buffer buf) (treemacs-initialize showcase-buffers-variadic :with-expand-depth 'all :and-do (setf treemacs-space-between-root-nodes t))))) #+END_SRC ~treemacs-initialize~ must be called for the buffer to be used by treemacs. It can optionally accept two keyword arguments: - ~:with-expand-depth~ :: Indicates the extra depth that this extension should be expanded with. Can be either a number or a symbol like ~'all~ to expand everything. - ~:and-do~ :: General purpose form for code that should run as part of your setup, like setting buffer-local values (which could otherwise be overridden when initialisation enabled ~treemacs-mode~) ** Monotyped Nodes Defining every node type individually is not necessary, it is possible to make do with a single definition. Some verbosity will remain because now it is necessary to dispatch (at a high enough scale, probably thousands of items, it might even impact performance), but it can still be worth it if the number of node types for your use-case is exceptionally high. Treemacs calls this the ~monotyped~ approach to defining extensions. In this example we combine both the buffer groups and individual buffer leaves into a single definition. (Note how the name of the extension and the ~:child-type~ are one and the same) #+BEGIN_SRC emacs-lisp (treemacs-define-expandable-node-type showcase-monotype-buffers :closed-icon (if (bufferp item) "• " "+ ") :open-icon (if (bufferp item) "•" "- ") :label (if (bufferp item) (propertize (buffer-name item) 'face 'font-lock-string-face) (propertize (symbol-name item) 'face 'font-lock-variable-name-face)) :key (if (bufferp item) (buffer-name item) item) :children (when (symbolp item) (treemacs-showcase--buffers-by-mode item)) :child-type 'showcase-monotype-buffers :more-properties (if (bufferp item) `(:buffer ,item :leaf t) `(:major-mode ,item))) #+END_SRC Note that a non-nil ~:leaf~ property must be placed manually via ~:more-properties~, since without a distinct node state this is the only way for treemacs to know that the node is a leaf and cannot be expanded. Entry points cannot be combined, they still need to be set up individually: #+BEGIN_SRC emacs-lisp (treemacs-define-entry-node-type showcase-buffers-monotype-entry :key 'showcase-buffers-monotype-entry :label (propertize "Monotype Buffers" 'face 'font-lock-keyword-face) :open-icon (treemacs-get-icon-value 'list) :closed-icon (treemacs-get-icon-value 'list) :children (treemacs-showcase--buffer-major-modes) :more-properties nil :child-type 'showcase-monotype-buffers) #+END_SRC Finally we'll enable the new extension to appear in our first project: #+BEGIN_SRC emacs-lisp (treemacs-enable-project-extension :extension 'showcase-buffers-monotype-entry :predicate (lambda (project) (eq project (car (treemacs-workspace->projects (treemacs-current-workspace))))) :position 'top) #+END_SRC ** Setting the Default-Directory Treemacs sets the value of ~default-directory~ based on the nearest path at point. This allows commands like ~find-file~ and ~magit-status~ to do what you mean based on the current context. This option is also available for custom nodes: just set the property ~:default-directory~ and treemacs will make use of its value when the node is in focus. ** About Properties The following property names are already in use by treemacs and should *not* be used in extensions' ~:more-properties~ parameter: - ~:project~ - ~:state~ - ~:depth~ - ~:path~ - ~:key~ - ~:item~ - ~:no-git~ - ~:parent~ - ~:default-face~ - ~:symlink~ - ~:marker~ - ~:leaf~ - ~:index~ - ~:busy~ - ~:custom~ - ~'button~ - ~'category~ - ~'face~ - ~'keymap~ treemacs-3.2/LICENSE000066400000000000000000001045131476710620300142000ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . treemacs-3.2/Makefile000066400000000000000000000060431476710620300146320ustar00rootroot00000000000000.POSIX: MAKEFLAGS += k CASK = cask EMACS ?= emacs NO_LOAD_WARNINGS = --eval "(defvar treemacs-no-load-time-warnings t)" SRC_DIR = src/elisp EXTRA_DIR = src/extra EMACSFLAGS = -Q -batch -L $(SRC_DIR) $(NO_LOAD_WARNINGS) COMPILE_COMMAND = --eval "(setq byte-compile-error-on-warn t)" -f batch-byte-compile CHECKDOC_COMMAND = -l "test/checkdock.el" LINT_DIR = /tmp/treemacs LINT_FLAG = --eval "(setq byte-compile-dest-file-function (lambda (f) (concat \"$(LINT_DIR)\" (file-name-nondirectory f) \"c\")))" TEST_COMMAND = buttercup -L $(SRC_DIR) -L $(EXTRA_DIR) -L . $(NO_LOAD_WARNINGS) ELS = $(SRC_DIR)/treemacs.el ELS += $(SRC_DIR)/treemacs-annotations.el ELS += $(SRC_DIR)/treemacs-async.el ELS += $(SRC_DIR)/treemacs-bookmarks.el ELS += $(SRC_DIR)/treemacs-compatibility.el ELS += $(SRC_DIR)/treemacs-core-utils.el ELS += $(SRC_DIR)/treemacs-customization.el ELS += $(SRC_DIR)/treemacs-diagnostics.el ELS += $(SRC_DIR)/treemacs-dom.el ELS += $(SRC_DIR)/treemacs-extensions.el ELS += $(SRC_DIR)/treemacs-faces.el ELS += $(SRC_DIR)/treemacs-file-management.el ELS += $(SRC_DIR)/treemacs-filewatch-mode.el ELS += $(SRC_DIR)/treemacs-follow-mode.el ELS += $(SRC_DIR)/treemacs-fringe-indicator.el ELS += $(SRC_DIR)/treemacs-git-commit-diff-mode.el ELS += $(SRC_DIR)/treemacs-header-line.el ELS += $(SRC_DIR)/treemacs-hydras.el ELS += $(SRC_DIR)/treemacs-icons.el ELS += $(SRC_DIR)/treemacs-interface.el ELS += $(SRC_DIR)/treemacs-logging.el ELS += $(SRC_DIR)/treemacs-macros.el ELS += $(SRC_DIR)/treemacs-mode.el ELS += $(SRC_DIR)/treemacs-mouse-interface.el ELS += $(SRC_DIR)/treemacs-persistence.el ELS += $(SRC_DIR)/treemacs-project-follow-mode.el ELS += $(SRC_DIR)/treemacs-rendering.el ELS += $(SRC_DIR)/treemacs-scope.el ELS += $(SRC_DIR)/treemacs-tag-follow-mode.el ELS += $(SRC_DIR)/treemacs-tags.el ELS += $(SRC_DIR)/treemacs-themes.el ELS += $(SRC_DIR)/treemacs-visuals.el ELS += $(SRC_DIR)/treemacs-treelib.el ELS += $(SRC_DIR)/treemacs-workspaces.el ELS += $(EXTRA_DIR)/treemacs-all-the-icons.el ELS += $(EXTRA_DIR)/treemacs-evil.el ELS += $(EXTRA_DIR)/treemacs-icons-dired.el ELS += $(EXTRA_DIR)/treemacs-magit.el ELS += $(EXTRA_DIR)/treemacs-persp.el ELS += $(EXTRA_DIR)/treemacs-perspective.el ELS += $(EXTRA_DIR)/treemacs-projectile.el ELS += $(EXTRA_DIR)/treemacs-tab-bar.el ELCS = $(ELS:.el=.elc) .PHONY: test compile checkdoc clean lint prepare clean-start .prepare-lint .ONESHELL: %.elc: %.el @printf "Compiling $<\n" $(CASK) exec $(EMACS) $(EMACSFLAGS) $(COMPILE_COMMAND) $< compile: prepare $(ELCS) .cask: Cask @echo Updating external dependencies... @$(CASK) install @$(CASK) update @touch .cask prepare: .cask test: prepare @$(CASK) exec $(TEST_COMMAND) clean: @rm -f $(SRC_DIR)/*.elc @rm -f $(EXTRA_DIR)/*.elc lint: EMACSFLAGS += $(LINT_FLAG) lint: .prepare-lint compile checkdoc @rm -rf $(LINT_DIR) checkdoc: @$(CASK) exec $(EMACS) $(EMACSFLAGS) $(CHECKDOC_COMMAND) clean-start: prepare @$(CASK) exec $(EMACS) -Q -L $(SRC_DIR) --eval "(require 'treemacs)" & .prepare-lint: @rm -rf $(LINT_DIR) @mkdir -p $(LINT_DIR) treemacs-3.2/README.org000066400000000000000000002645751476710620300146600ustar00rootroot00000000000000# -*- fill-column: 120 org-list-indent-offset: 1 toc-org-max-depth: 2 org-hide-emphasis-markers: nil -*- #+STARTUP: noinlineimages [[https://gitter.im/treemacs/community][file:https://badges.gitter.im/Alexander-Miller/treemacs.png]] [[https://melpa.org/#/treemacs][file:https://melpa.org/packages/treemacs-badge.svg]] [[https://stable.melpa.org/#/treemacs][file:https://stable.melpa.org/packages/treemacs-badge.svg]] * Treemacs - a tree layout file explorer for Emacs :noexport: [[file:screenshots/screenshot.png]] * Content :TOC:noexport: - [[#state-of-development][State of Development]] - [[#quick-feature-overview][Quick Feature Overview]] - [[#fancy-gifs][Fancy Gifs!]] - [[#quick-start][Quick Start]] - [[#detailed-feature-list][Detailed Feature List]] - [[#projects-and-workspaces][Projects and Workspaces]] - [[#conveniently-editing-your-projects-and-workspaces][Conveniently Editing Your Projects and Workspaces]] - [[#navigation-without-projects-and-workspaces][Navigation without Projects and Workspaces]] - [[#frame-locality][Frame Locality]] - [[#mouse-interface][Mouse Interface]] - [[#follow-mode][Follow-mode]] - [[#tag-follow-mode][Tag-follow-mode]] - [[#fringe-indicator-mode][Fringe-indicator-mode]] - [[#git-mode][Git-mode]] - [[#filewatch-mode][Filewatch-mode]] - [[#file-management][File Management]] - [[#indent-guide-mode][Indent-guide-mode]] - [[#git-commit-diff-mode][Git-commit-diff-mode]] - [[#session-persistence][Session Persistence]] - [[#terminal-compatibility][Terminal Compatibility]] - [[#tag-view][Tag View]] - [[#current-directory-awareness][Current-Directory Awareness]] - [[#tramp-support][Tramp Support]] - [[#org-support][Org Support]] - [[#theme-support][Theme Support]] - [[#peeking][Peeking]] - [[#additional-packages][Additional Packages]] - [[#treemacs-as-a-framework][Treemacs as a Framework]] - [[#installation][Installation]] - [[#configuration][Configuration]] - [[#variables][Variables]] - [[#faces][Faces]] - [[#evil-compatibility][Evil compatibility]] - [[#customizing-themes-and-icons][Customizing Themes and Icons]] - [[#keymap][Keymap]] - [[#unbound-functions][Unbound functions]] - [[#default-keymaps][Default keymaps]] - [[#compatibility][Compatibility]] - [[#faq][FAQ]] - [[#contributing][Contributing]] - [[#working-with-the-code-base][Working With The Code Base]] - [[#dependencies][Dependencies]] * State of Development Treemacs is currently in an active - but low intensity - state of development. New features are worked on, PRs will be looked at and issues answered - eventually. My time budget is limited, so looking for new work just means looking at whatever is currently at the top of my inbox. If you feel like the ticket you've opened has gone unanswered for a while feel free to give it a bump - you are explicitly encouraged to do so. * Quick Feature Overview Treemacs is a file and project explorer similar to NeoTree or vim's NerdTree, but largely inspired by the Project Explorer in Eclipse. It shows the file system outlines of your projects in a simple tree layout allowing quick navigation and exploration, while also possessing *basic* file management utilities. Specifically a quick feature overview looks as follows: * Project management :: Treemacs lets you view multiple file trees - projects - at once and quickly add or remove them, and groups projects in workspaces. * Easy navigation :: quickly move between projects or use shortcuts to jump to parent or neighbouring nodes. * Versatile file access :: decide exactly how and where a file will be opened, including using ~ace-window~ to choose a window or launching an external application. * Understanding of frames :: every frame will receive its own treemacs buffer that will live and die with that frame. * Finding of files and tags :: Treemacs can follow along and keep in focus the currently selected file or even the tag at point, either manually or automatically using either ~treemacs-follow-mode~ or ~treemacs-tag-follow-mode~. * Git Integration :: Treemacs can use different faces for files and directories based on their git status. The git process is run asynchronously, minimizing its performance impact. * [[https://github.com/deb0ch/emacs-winum][Winum]] & [[https://github.com/abo-abo/ace-window][ace-window]] compatibility :: The presence of treemacs will not interfere with winum's and ace-window's usual layouts. * [[https://github.com/bbatsov/projectile][Projectile/project.el]] integration :: the ~treemacs-projectile~ package lets you quickly add your projectile projects to the treemacs workspace. ~project.el~ compatibility is built-in. * Simple mouse interface :: Left clicks will work the same as you're used to from with graphical applications * Session persistence :: Treemacs automatically saves and restores your workspaces. * Dashing good looks :: Treemacs uses (optionally resizable) png images in HD 22x22 resolution for its icons. When run in a terminal a simple fallback is used. * Tag view :: Treemacs can display files' tags. All file types that Emacs can generate a (semantic) imenu index for are supported. * Visual feedback :: When it would otherwise be difficult to see the message in the minibuffer success/failure is indicated with pulse.el. * Theming support :: Treemacs supports using multiple icon themes that can be changed at will. * Ease of use :: Treemacs offers many configuration options, but comes with a set of (what hopefully should be) sane defaults. Installation aside there are two obligatory pieces of setup: 1) Choosing convenient keybindings to run treemacs and 2) If you use evil: requiring ~treemacs-evil~ to integrate treemacs with evil and enable j/k navigation. More on both below. You can also summon helpful hydras with ~?~ and ~C-?~ that will remind you of treemacs' many keybindings and features. * Bookmark integration :: Running ~bookmark-set~ on a Treemacs item will store a bookmark to Treemacs buffer for that item. ** Fancy Gifs! (The font used in the gifs is Fantasque Sans Mono) Various ways to open files: [[file:screenshots/open-files.gif]] Workspace administration with org-mode: [[file:screenshots/workspace-edit.gif]] Automatic reaction to changes in the file system: [[file:screenshots/filewatch.gif]] Automatic reaction to changes in git: [[file:screenshots/git.gif]] Full-featured mouse interface: [[file:screenshots/mouse-interface.gif]] Including moving and opening files via mouse drag: [[file:screenshots/mouse-drag.gif]] Resizable icons: [[file:screenshots/icon-resize.gif]] * Quick Start If you don't care about reading the full readme here's a list of some bare bones basics to get you started: * First of all: press ~?~ to summon the helpful hydra: [[file:screenshots/hydra.png]] * If you use evil don't forget to also install ~treemacs-evil~ * If you use projectile you can install ~treemacs-projectile~ to allow quickly add your projectile projects to treemacs. * Treemacs doesn't bind any global keys, you need to use whatever fits you best. A full install setup can be found [[#installation][below]]. Otherwise just add a keybind for ~treemacs~. * For navigation use n/p (j/k when evil), M-n/M-p to move to same-height neighbour, u to go to parent, and C-j/C-k to move between projects. * There's half a dozen different ways to open nodes, all bound under o as prefix. Pick your favourite. * TAB and RET are particularly configurable. See ~treemacs-TAB/RET-actions-config~. * Projects administration is bound under the ~C-c C-p~ prefix. * Detailed Feature List ** Projects and Workspaces If you've previously used a different explorer like NeoTree or NerdTree - or an earlier version of treemacs for that matter - you are probably used to a display system wherein you see exactly a single file tree whose exact root you can arbitrarily change. This system makes it difficult to work on and switch between multiple projects. Treemacs used to (and still does) remedy that limitation by making every treemacs buffer unique to its frame, but it has now been redesigned to be able to display multiple file trees - projects - at once. In treemacs a workspace is simply a (named) collection of projects, while a project mostly consists of 2 things: its location in the file system and its name. This is the info that you need to provide when you want to add a new project to your workspace. Just like projects you can add, remove, rename and switch between workspaces at any time. This design approach has various advantages and disadvantages. It is now no longer possible to "free roam" in the file system with treemacs, i.e. you can no longer arbitrarily switch the single file tree's root to the directory at point or the current root's parent. Another restriction is that the same part of the file system may not appear more than once as part of the workspace. For example, it is not possible to have both /Documents and /Documents/ProjectX as projects in the same workspace, since internally treemacs heavily relies on every node having a unique natural key in its absolute path. Nonetheless the pros certainly outweigh the cons, as a multiroot setup allows to work on multiple projects with any combination concern/buffer separating frameworks, be it persp/perspective, eyebrowse, tab-bar-mode, or project.el/projectile. It also opens the potential for concurrent display not only of the file system, but e.g. the currently open buffers. *** Workspace Selection When a workspace is first needed, treemacs will select a workspace in the following manner: If the current buffer is editing a file then treemacs will try to find the first workspace with a project containing that file. If that fails treemacs will resort to using the /fallback workspace/ which is defined as simply the /first/ element in the list of all workspace. The order of workspaces is the same that you see when calling ~treemacs-edit-workspaces~ (see next chapter). You can interactively set the fallback workspace by calling ~treemacs-set-fallback-workspace~. This selection will happen when treemacs is first started (with a command like ~treemacs-select-window~) or when a function that requires the current workspace to be known is used (like adding or removing a project). *** Disabling workspaces & projects It is possible to disable a workspace or project so it won't appear in treemacs, but still remains a part of your loadout, keeping it visible when you go edit your workspaces. To do so simply start the name of the workspace or project with "COMMENT": [[file:screenshots/disable-project.png]] ** Conveniently Editing Your Projects and Workspaces There are two ways to edit your projects and workspaces: call up single add/remove/rename/switch commands under either the ~C-c C-p~ or ~C-c C-w~ prefix, or call ~treemacs-edit-workspaces~ and edit your entire layout in the form of a single org-mode buffer. The used org-format is quite simple: level 1 headlines are names of workspaces, level 2 headlines are names of projects in a workspace, and every project's path is given as a description list, starting with a ~-~ (and an optional leading space). Empty lines and lines starting with ~#~ are ignored, and everything else leads to an error. You needn't worry about making mistakes either. If there's something wrong when you call ~treemacs-finish-edit~ (C-c C-c) then treemacs will point you at the incorrect line and tell you what's missing: [[file:screenshots/workspace-edit.png]] (Note that the list with the path property allows an indentation of 0 or 1 spaces only. The much greater visible indentation is caused by ~org-indent-mode~) ** Navigation without Projects and Workspaces If a strict workspace and project structure, as described above, is too stringent for your use-case there are multiple other ways to use treemacs in a more "free-form" style: - You can use ~treemacs-display-current-project-exclusively~ to display only the current project (removing all other projects from the workspace). - You can enable ~treemacs-project-follow-mode~ to make treemacs automatically switch to the project for the current buffer. - As long as there is exactly /a single project/ in your workspace you can also use ~M-H~ and ~M-L~ (or ~treemacs-root-up~ and ~treemacs-root-down~) to arbitrarily change the project's root and freely navigate through your your file system, similar to dired. ~M-H~ will navigate one level upward in the file system, ~M-L~ will move into the directory at point. ** Frame Locality Treemacs buffers have a limited scope they are visible in: the frames they are created in. A treemacs buffer, once created, lives alongside and inside its frame, and is also destroyed with that frame. Calling ~treemacs~ while inside a new frame will create a new buffer for it, regardless how many other treemacs buffers already exist. While there can be multiple unique treemacs buffer they will all still show the same workspace and the same projects. A treemacs buffer that does not belong to a frame may still be made visible by manually selecting in the buffer list. This would break various assumptions in treemacs' code base and effectively falls under undefined behaviour - a bad idea all around. ** Mouse Interface Treemacs handles left clicks in much the same way as modern graphical applications do: a single click sets the focus, a double click expands or collapses a directory or tag section node and visits a file/moves to a tag for a file/tag node. Additionally tag sections can be expanded or collapsed by a single click on the file/tag section icon. If you prefer to expand/collapse nodes with a single mouse click you can also use ~treemacs-single-click-expand-action~: #+BEGIN_SRC emacs-lisp (with-eval-after-load 'treemacs (define-key treemacs-mode-map [mouse-1] #'treemacs-single-click-expand-action)) #+END_SRC A right click popup-menu is also available: [[file:screenshots/right-click.png]] You can move and open files by dragging them with the mouse. ** Follow-mode ~treemacs-follow-mode~ is a global minor mode which allows the treemacs view to always move its focus to the currently selected file. This mode runs on an idle timer - the exact duration of inactivity (in seconds) before a move is called is determined by ~treemacs-tag-follow-delay~. ** Tag-follow-mode ~treemacs-tag-follow-mode~ is a global minor mode which extends and effectively replaces ~treemacs-follow-mode~. When activated it follows not just the current file, but also the current tag. This works alongside treemacs' integration with imenu, so all file types providing an imenu implementation are compatible. This mode, like follow-mode, runs on an idle timer - the exact duration of inactivity (in seconds) before a move is called is determined by ~treemacs-tag-follow-delay~. Note that in order to move to a tag in treemacs the treemacs buffer's window needs to be temporarily selected, which will reset ~blink-cursor-mode~'s timer if it is enabled. This will result in the cursor blinking seemingly pausing for a short time and giving the appearance of the tag follow action lasting much longer than it really does. ** Fringe-indicator-mode ~treemacs-fringe-indicator-mode~ is a global minor mode that displays a little icon in the fringe that moves with the cursor. It can make the selected line more visible if ~hl-line-mode~ doesn't stand out with your theme. The indicator can either be permanently visible, or be only shown when the treemacs window is selected by calling it either with the ~always~ or ~only-when-focused~ argument. ** Git-mode ~treemacs-git-mode~ is a global minor mode which enables treemacs to check for files' and directories' git status information and highlight them accordingly (see also the ~treemacs-git-...~ faces). The mode is available in 3 variants: ~simple~, ~extended~ and ~deferred~: * The simple variant starts a git status process and parses its output in elisp. The parsing is kept quick and simple, so some info is missed: this version includes git status information only for files, but not directories. * The extended variant highlights both files and directories. This greatly increases the complexity and length of the parsing process, and is therefore done in an asynchronous python process for the sake of performance. The extended variant requires python3 to work. * The deferred variant is the same as extended, except the tasks of rendering nodes and highlighting them are separated. The former happens immediately, the latter after ~treemacs-deferred-git-apply-delay~ seconds of idle time. This may be faster (if not in truth then at least in appereance) as the git process is given a much greater amount of time to finish. The downside is that the effect of nodes changing their colors may be somewhat jarring, though this effect is largely mitigated due to the use of a caching layer. When called interactively ~treemacs-git-mode~ will ask for the variant to use. In lisp code an appropriate symbol can be directly passed to the minor mode function: #+BEGIN_SRC emacs-lisp (treemacs-git-mode 'deferred) #+END_SRC All versions use an asynchronous git process and are optimized to not do more work than necessary, so their performance cost should, for the most part, be the constant amount of time it takes to fork a subprocess. For repositories where this is not the case ~treemacs-max-git-entries~ (default value 5000) will limit the number of git status entries treemacs will process before ignoring the rest. ** Filewatch-mode ~treemacs-filewatch-mode~ is a global minor mode which enables treemacs to watch the files it is displaying for changes and automatically refresh itself when it detects a change in the file system that it decides is relevant. A change event is relevant for treemacs if a new file has been created or deleted or a file has been changed and ~treemacs-git-mode~ is enabled. Events caused by files that are ignored as per ~treemacs-ignored-file-predicates~ are likewise counted as not relevant. The refresh is not called immediately after an event was received, treemacs instead waits ~treemacs-file-event-delay~ ms to see if any more files have changed to avoid having to refresh multiple times over a short period of time. Treemacs will not refresh the entire view to make the detected changes visible, but will instead only make updates to the directories where the change(s) happened. Using this mode is therefore by far not as expensive as a full refresh on every change and save. The mode only applies to directories opened *after* this mode has been activated. This means that to enable file watching in an already existing treemacs buffer it needs to be killed and rebuilt. Turning off this mode is, on the other hand, instantaneous - it will immediately turn off all existing file watch processes and outstanding refresh actions. _Known limitations_: - Staging and committing changes does not produce any file change events of its own, if you use ~treemacs-git-mode~ you still need to do a manual refresh to see your files' faces go from 'changed' and 'untracked' to 'unchanged' after a commit. The ~treemacs-magit~ package provides the necessary hooks to fill this gap. - Filewatch-mode may not be able to track file modifications on MacOS, making git-mode miss potential changes, see also [[https://github.com/Alexander-Miller/treemacs/issues/152#issuecomment-941093929][this comment]]. ** File Management Treemacs is no dired, but it supports the basic file management facilities of creating, deleting, moving, copying and renaming files. It is also possible to mark multiple files to act on them. ~M-m~ will summon a hydra for bulk file actions. *NOTE:* The bulk action implementation is using treemacs' (yet to be documented) annotation api, which is set up to provide /permanent/ annotations like colouring based on flycheck's error/warning/info output. This means that marking files will likewise be permanent, even if you collapse the directories containing those files and they are no longer visible. ** Indent-guide-mode ~treemacs-indent-guide-mode~ is a simple visual helper based on the options provided by the ~treemacs-indentation~ and ~treemacs-indentation-string~ settings. Its appearance is dictated by ~treemacs-indent-guide-style~, the options are either ~line~: [[file:screenshots/indent-guide-line.png]] or ~block~: [[file:screenshots/indent-guide-block.png]] ** Git-commit-diff-mode ~treemacs-git-commit-diff-mode~ will annotate git-tracked project to show how many commits the local repo is ahead or behind its remote counterpart: [[file:screenshots/git-commit-diff.png]] ** Session Persistence Treemacs' sessions - your workspace and the projects it contains - are saved when Emacs shuts down and restored when treemacs is first loaded. This persistence process is fully automatic and independent, and should therefore be fully compatible with ~desktop-save-mode~. The persisted state is saved under ~user-emacs-directory/.cache/treemacs-persist~ by default. The exact file location is saved in the variable ~treemacs-persist-file~. If something goes wrong when loading the file the erroneous state will be saved in ~treemacs-last-error-persist-file~ for debugging. ** Terminal Compatibility When run in a terminal treemacs will fall back to a much simpler rendering system, foregoing its usual png icons and using simple ~+~ and ~-~ characters instead. The exact characters used are [[#custom-icons][highly customizable]]. ** Tag View Treemacs is able to display not only the file system, but also tags found in individual files. The tags list is sourced using emacs' builtin imenu functionality, so all file types that emacs can generate an imenu index for are supported. Imenu caches its result, so to avoid stale tag lists setting ~imenu-auto-rescan~ to t is recommended. Tags generated with the help of ~semantic-mode~ are likewise supported. *** ggtags Treemacs can show the tags produced by ggtags if you switch a buffer's imenu index function to use ggtags: #+BEGIN_SRC emacs-lisp (setq-local imenu-create-index-function #'ggtags-build-imenu-index) #+END_SRC ** Current-Directory Awareness Treemacs always sets the ~default-directory~ variable based on the (nearest) path at the current node, falling back to your home directory when there is no node or path at point. That means that various commands like ~find-file~, ~ediff~ ~magit-status~ or ~helm-projectile-ag~ will correctly act based on the current directory or project context. ** Tramp Support Treemacs supports projects on remote directories, e.g. ~/scp:remote-server:path/to/directory~. However tramp support has some restrictions: ~treemacs-use-collapsed-directories~ has no effect on remote directories. ** Org Support Treemacs supports storing links to its file nodes by means of ~org-store-link~. ** Theme Support Using a different treemacs theme works the same way as using a different Emacs theme: just call ~treemacs-load-theme~, either programmatically or interactively. In the former case you need to supply the name of the theme as a string, like this: #+BEGIN_SRC emacs-lisp (treemacs-load-theme "Default") #+END_SRC Do keep in mind that by default treemacs' theme support is all theory: the standard installation includes only the default theme; this feature is meant to easily allow *others* to extend, create and distribute themes for treemacs. A detailed explanation on modifying themes and icons can be found in the [[#customizing-themes-and-icons][Configuration]] section. ** Peeking If you want to look at files from within treemacs, without opening them with ~RET~ and switching to another window, you can do so with ~P~ which activates ~treemacs-peek-mode~. When peek-mode is active treemacs will automatically preview the file at point. To quit peek-mode either press ~P~ again to disable it or open a file with ~RET~. Either way upon exiting peek-mode all files that have been opened due to peeking will be closed again (with the exception of the one that you opened with ~RET~, of course). You can scroll the window being peeked (and in general ~other-window~ when you are in treemacs) with ~M-N/P~ or ~M-J/K~ if you use ~treemacs-evil~. ** Additional Packages Next to treemacs itself you can optionally install: *** treemacs-evil Must be installed and loaded if you use evil. The keybindings and the cursor will not be setup properly otherwise. It'll also enable navigation with j/k instead of n/p. *** treemacs-projectile Allows to quickly add your projectile projects to the treemacs workspace. *** treemacs-magit A small utility package to fill the small gaps left by using filewatch-mode and git-mode in conjunction with magit: it will inform treemacs about (un)staging of files and commits happening in magit. *** treemacs-icons-dired Allows you to use treemacs icons in dired buffers with ~treemacs-icons-dired-mode~: [[file:screenshots/dired-icons.png]] *** treemacs-persp/treemacs-perspective Integration with persp-mode or perspective.el that allows treemacs buffers to be unique inside the active perspective instead of the default frame-based buffer scope. *** treemacs-tab-bar Integration with tab-bar-mode that allows treemacs buffers to be unique inside the active tab instead of the default frame-based buffer scope. *** treemacs-all-the-icons Provides a theme using [[https://github.com/domtronn/all-the-icons.el][all-the-icons]]. ** Treemacs as a Framework Treemacs can be extended to display arbitrary nodes as well as be used as a general rendering backend for any tree-like structures. [[file:Extensions.org][See here]] for an extended tutorial and demonstration. * Installation Treemacs is included in Spacemacs (for now only on the dev branch). If you are using the development version of Spacemacs you can simply add treemacs to ~dotspacemacs-configuration-layers~ to replace the default NeoTree. Check ~SPC h SPC treemacs~ for details. Otherwise you will need to add treemacs to ~dotspacemacs-additional-packages~. Treemacs is also available on MELPA. If you just want to quickly start using it grab the ~use-package~ example below, and customize it as needed (remove ~treemacs-evil~ if you don't use it, customize the keybindings to you taste, etc). Either way keep in mind that treemacs has /no default keybindings/ for its globally callable initialization functions. Each user is supposed to select keybindings for functions like ~treemacs-find-file~ based on whatever they find convenient. You can find an exhaustive overview of all functions, their keybindings and functions you need to bind yourself [[#keymap][below]]. The following ~use-package~ snippet includes a list of /all/ of treemacs' configuration options in their default setting. Setting them, or activating the minor modes yourself is not necessary, they are only listed here to encourage discoverability. #+BEGIN_SRC emacs-lisp (use-package treemacs :ensure t :defer t :init (with-eval-after-load 'winum (define-key winum-keymap (kbd "M-0") #'treemacs-select-window)) :config (progn (setq treemacs-collapse-dirs (if treemacs-python-executable 3 0) treemacs-deferred-git-apply-delay 0.5 treemacs-directory-name-transformer #'identity treemacs-display-in-side-window t treemacs-eldoc-display 'simple treemacs-file-event-delay 2000 treemacs-file-extension-regex treemacs-last-period-regex-value treemacs-file-follow-delay 0.2 treemacs-file-name-transformer #'identity treemacs-follow-after-init t treemacs-expand-after-init t treemacs-find-workspace-method 'find-for-file-or-pick-first treemacs-git-command-pipe "" treemacs-goto-tag-strategy 'refetch-index treemacs-header-scroll-indicators '(nil . "^^^^^^") treemacs-hide-dot-git-directory t treemacs-indentation 2 treemacs-indentation-string " " treemacs-is-never-other-window nil treemacs-max-git-entries 5000 treemacs-missing-project-action 'ask treemacs-move-files-by-mouse-dragging t treemacs-move-forward-on-expand nil treemacs-no-png-images nil treemacs-no-delete-other-windows t treemacs-project-follow-cleanup nil treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory) treemacs-position 'left treemacs-read-string-input 'from-child-frame treemacs-recenter-distance 0.1 treemacs-recenter-after-file-follow nil treemacs-recenter-after-tag-follow nil treemacs-recenter-after-project-jump 'always treemacs-recenter-after-project-expand 'on-distance treemacs-litter-directories '("/node_modules" "/.venv" "/.cask") treemacs-project-follow-into-home nil treemacs-show-cursor nil treemacs-show-hidden-files t treemacs-silent-filewatch nil treemacs-silent-refresh nil treemacs-sorting 'alphabetic-asc treemacs-select-when-already-in-treemacs 'move-back treemacs-space-between-root-nodes t treemacs-tag-follow-cleanup t treemacs-tag-follow-delay 1.5 treemacs-text-scale nil treemacs-user-mode-line-format nil treemacs-user-header-line-format nil treemacs-wide-toggle-width 70 treemacs-width 35 treemacs-width-increment 1 treemacs-width-is-initially-locked t treemacs-workspace-switch-cleanup nil) ;; The default width and height of the icons is 22 pixels. If you are ;; using a Hi-DPI display, uncomment this to double the icon size. ;;(treemacs-resize-icons 44) (treemacs-follow-mode t) (treemacs-filewatch-mode t) (treemacs-fringe-indicator-mode 'always) (when treemacs-python-executable (treemacs-git-commit-diff-mode t)) (pcase (cons (not (null (executable-find "git"))) (not (null treemacs-python-executable))) (`(t . t) (treemacs-git-mode 'deferred)) (`(t . _) (treemacs-git-mode 'simple))) (treemacs-hide-gitignored-files-mode nil)) :bind (:map global-map ("M-0" . treemacs-select-window) ("C-x t 1" . treemacs-delete-other-windows) ("C-x t t" . treemacs) ("C-x t d" . treemacs-select-directory) ("C-x t B" . treemacs-bookmark) ("C-x t C-t" . treemacs-find-file) ("C-x t M-t" . treemacs-find-tag))) (use-package treemacs-evil :after (treemacs evil) :ensure t) (use-package treemacs-projectile :after (treemacs projectile) :ensure t) (use-package treemacs-icons-dired :hook (dired-mode . treemacs-icons-dired-enable-once) :ensure t) (use-package treemacs-magit :after (treemacs magit) :ensure t) (use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode :after (treemacs persp-mode) ;;or perspective vs. persp-mode :ensure t :config (treemacs-set-scope-type 'Perspectives)) (use-package treemacs-tab-bar ;;treemacs-tab-bar if you use tab-bar-mode :after (treemacs) :ensure t :config (treemacs-set-scope-type 'Tabs)) (treemacs-start-on-boot) #+END_SRC * Configuration ** Variables Treemacs offers the following configuration options (~describe-variable~ will usually offers more details): | Variable | Default | Description | |------------------------------------------+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | treemacs-indentation | 2 | The number of times each level is indented in the file tree. If specified as '(INTEGER px), indentation will be a single INTEGER pixels wide space. | | treemacs-indentation-string | " " | The string that is used to create indentation when ~treemacs-indentation~ is not specified as pixels. | | treemacs-width | 35 | Width of the treemacs window. | | treemacs-wide-toggle-width | 70 | Width of the treemacs window when using ~treemacs-extra-wide-toggle~. | | treemacs-width-increment | 1 | When resizing, this value is added or substracted from the window width. | | treemacs-show-hidden-files | t | Dotfiles will be shown if this is set to t and be hidden otherwise. | | treemacs-follow-after-init | t | When non-nil follow the currently selected file after initializing the treemacs buffer, regardless of ~treemacs-follow-mode~ setting. | | treemacs-expand-after-init | t | When non-nil expand the first project after treemacs is first initialsed. | | treemacs-sorting | alphabetic-asc | Indicates how treemacs will sort its files and directories. (Files will always be shown after directories.) | | treemacs-ignored-file-predicates | (treemacs--std-ignore-file-predicate) | List of predicates to test for files and directories ignored by Emacs. Ignored files will *never* be shown in the treemacs buffer. | | treemacs-pre-file-insert-predicates | nil | List of predicates to test for files and directories not to be rendered. Unlike ~treemacs-ignored-file-predicates~ these predicates apply when files' git status information is available. | | treemacs-file-event-delay | 2000 | How long (in milliseconds) to collect file events before refreshing. See also ~treemacs-filewatch-mode~. | | treemacs-goto-tag-strategy | refetch-index | Indicates how to move to a tag when its buffer is dead. | | treemacs-default-visit-action | treemacs-visit-node-no-split | Default action for opening a node (e.g. file, directory, tag). ~treemacs-visit-file-default~ action in ~treemacs-*-actions-config~ calls this function. | | treemacs-RET-actions-config | Prefers visiting nodes over closing/opening | Alist defining the behaviour of ~treemacs-RET-action~. | | treemacs-TAB-actions-config | Prefers closing/opening nodes over visiting | Alist defining the behaviour of ~treemacs-TAB-action~. | | treemacs-doubleclick-actions-config | Closes/opens tags and visits files | Alist defining the behaviour of ~treemacs-doubleclick-action~. | | treemacs-collapse-dirs | 0 | Collapse this many directories into one, when possible. A directory is collapsible when its content consists of nothing but another directory. | | treemacs-silent-refresh | nil | When non-nil a completed refresh will not be announced with a log message. This applies both to manual refreshing as well as automatic (due to ~treemacs-filewatch-mode~). | | treemacs-silent-filewatch | nil | When non-nil a refresh due to ~filewatch-mode~ will cause no log message. | | treemacs-is-never-other-window | nil | Prevents treemacs from being selected with ~other-window~. | | treemacs-position | left | Position of treemacs buffer. Valid values are ~left~, ~right~. | | treemacs-tag-follow-delay | 1.5 | Delay in seconds of inactivity for ~treemacs-tag-follow-mode~ to trigger. | | treemacs-tag-follow-cleanup | t | When non-nil ~treemacs-tag-follow-mode~ will keep only the current file's tags visible. | | treemacs-project-follow-cleanup | nil | When non-nil ~treemacs-follow-mode~ will keep only the current project expanded and all others closed. | | treemacs-no-png-images | nil | When non-nil treemacs will use TUI string icons even when running in a GUI. | | treemacs-python-executable | (treemacs--find-python3) | Python 3 binary used by treemacs. | | treemacs-git-executable | "git" | The git binary used by treemacs. | | treemacs-recenter-after-file-follow | nil | Decides if and when to call ~recenter~ when ~treemacs-follow-mode~ moves to a new file. | | treemacs-recenter-after-tag-follow | nil | Decides if and when to call ~recenter~ when ~treemacs-tag-follow-mode~ moves to a new tag. | | treemacs-recenter-after-project-jump | 'always | Decides if and when to call ~recenter~ when navigating between projects. | | treemacs-recenter-after-project-expand | 'on-distance | Decides if and when to call ~recenter~ when expanding a project node. | | treemacs-recenter-distance | 0.1 | Minimum distance from window top/bottom (0.1 = 10%) before treemacs calls ~recenter~ in tag/file-follow-mode. | | treemacs-pulse-on-success | t | When non-nil treemacs will pulse the current line as a success indicator, e.g. when creating a file. | | treemacs-pulse-on-failure | t | When non-nil treemacs will pulse the current line as a failure indicator, e.g. when failing to find a file's tags. | | treemacs-elisp-imenu-expression | [too large to list] | The imenu expression treemacs uses in elisp buffers. | | treemacs-persist-file | ~/.emacs.d/.cache/treemacs-persist | Path to the file treemacs uses to persist its state. | | treemacs-last-error-persist-file | ~/.emacs.d/.cache/treemacs-persist-at-last-error | Path to the file treemacs uses to persist its state. | | treemacs-space-between-root-nodes | t | When non-nil treemacs will separate root nodes with an empty line. | | treemacs-wrap-around | t | When non-nil treemacs will wrap around at the buffer edges when moving between lines. | | treemacs--fringe-indicator-bitmap | [vertical bar] | The fringe bitmap used by the fringe-indicator minor mode. | | treemacs-deferred-git-apply-delay | 0.5 | Seconds of idle time for git highlighting to apply when using the deferred ~treemacs-git-mode~. | | treemacs-file-follow-delay | 0.2 | Delay in seconds of idle time for treemacs to follow the selected window. | | treemacs-display-in-side-window | t | When non-nil treemacs will use a dedicated [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Side-Windows.html][side-window]]. | | treemacs-max-git-entries | 5000 | Maximum number of git status entries treemacs will process. Anything above that number will be ignored. | | treemacs-missing-project-action | ask | When a persisted project is missing from filesystem, ~ask~ will prompt for action, ~keep~ will keep the project in the project list, and ~remove~ will remove it from it without prompt. | | treemacs-show-cursor | nil | When non-nil the cursor will stay visible in the treemacs buffer. | | treemacs-git-command-pipe | "" | Text to be appended to treemacs' git command. Useful for filtering with something like grep. | | treemacs-no-delete-other-windows | t | Prevents the treemacs window from being deleted by commands like ~delete-other-windows~ and ~magit-status~. | | treemacs-eldoc-display | 'simple | Enables eldoc display of the file path at point. Requires ~eldoc-mode~. | | treemacs-bookmark-title-template | "Treemacs - ${project}: ${label}" | When using ~bookmark-set~ in Treemacs, the default template for a bookmark label. The following patterns are available: "${project}", "${label}", "${label:N}", ${label-path}", "${label-path:N}", "${file-path}", "${file-path:N}". | | treemacs-file-extension-regex | Text after last period | Determines how treemacs detects a file extension. Can be set to use text after first or last period. | | treemacs-directory-name-transformer | identity | Transformer function that is applied to directory names before rendering for any sort of cosmetic effect. | | treemacs-file-name-transformer | identity | Transformer function that is applied to file names before rendering for any sort of cosmetic effect. | | treemacs-user-mode-line-format | nil | When non-nil treemacs will use it as a mode line format (otherwise format provided by ~spaceline~, ~moody-mode-line~ and ~doom-modeline~ will be used or, finally, "Treemacs" text will be displayed) | | treemacs-user-header-line-format | nil | When non-nil treemacs will use it as a header line format | | treemacs-move-forward-on-expand | nil | When non-nil treemacs will move to the first child of an expanded node. | | treemacs-workspace-switch-cleanup | nil | Indicates which, if any, buffers should be deleted on a workspace switch. Valid values are ~nil~, ~files~, ~all~. | | treemacs-read-string-input | 'from-child-frame | Indicates whether simple string input like project names should be read from a child frame or the minibuffer. | | treemacs-expand-added-projects | t | Indicates whether newly added projects should be expanded. | | treemacs-imenu-scope | 'everything | Determines which items treemacs' imenu function will collect. | | treemacs-litter-directories | ("/node_modules" "/.venv" "/.cask") | List of directories affected by ~treemacs-cleanup-litter~. | | treemacs-width-is-initially-locked | t | Indicates whether the treemacs windows starts with a locked width or not. | | treemacs-select-when-already-in-treemacs | 'move-back | Indicates how ~treemacs-select-window~ behaves when treemacs is already selected. | | treemacs-text-scale | nil | Scaling for text in treemacs, used via ~text-scale-increase~. | | treemacs-indent-guide-style | line | Appearance option for ~treemacs-indent-guide~, either a thin line or a thick block. | | treemacs-find-workspace-method | 'find-for-file-or-pick-first | Determines how treemacs selects the workspace when it first starts. | | treemacs-header-scroll-indicators | '(nil . "^^^^^^") | Indicators used for ~treemacs-indicate-top-scroll-mode~. | | treemacs-hide-dot-git-directory | t | Indicates whether ~.git~ directories should always be hidden. | | treemacs-project-follow-into-home | nil | Indicates whether ~treemacs-project-follow-mode~ can follow into the $HOME directory. | | treemacs-move-files-by-mouse-dragging | t | When non-nil treemacs will move files by dragging with your mouse inside treemacs. | ** Faces Treemacs defines and uses the following faces: | Face | Based on | Description | |----------------------------------------+--------------------------------------------------+------------------------------------------------------------------------------| | treemacs-directory-face | font-lock-function-name-face | Face used for directories. | | treemacs-directory-collapsed-face | treemacs-directory-face | Face used for collapsed part of directories. | | treemacs-file-face | default | Face used for files. | | treemacs-root-face | font-lock-constant-face | Face used for project roots. | | treemacs-root-unreadable-face | treemacs-root-face | Face used for local unreadable project roots. | | treemacs-root-remote-face | font-lock-function-name-face, treemacs-root-face | Face used for readable remote (Tramp) project roots. | | treemacs-root-remote-unreadable-face | treemacs-root-unreadable-face | Face used for unreadable remote (Tramp) project roots. | | treemacs-root-remote-disconnected-face | warning, treemacs-root-face | Face used for disconnected remote (Tramp) project roots. | | treemacs-tags-face | font-lock-builtin-face | Face used for tags. | | treemacs-help-title-face | font-lock-constant-face | Face used for the title of the helpful hydra. | | treemacs-help-column-face | font-lock-keyword-face | Face used for the column headers of the helpful hydra. | | treemacs-git-*-face | various font lock faces | Faces used by treemacs for various git states. | | treemacs-term-node-face | font-lock-string-face | Face for directory node symbols used by treemacs when it runs in a terminal. | | treemacs-on-success-pulse-face | :fg #111111 :bg #669966 | Pulse face used when pulsing on a successful action. | | treemacs-on-failure-puse-face | :fg #111111 :bg #ab3737 | Pulse face used when pulsing on a failed action. | | treemacs-marked-file-face | :fg #f0c674 :bg #ab3737 | Face for files marked for bulk file management. | | treemacs-fringe-indicator-face | cursor | Face for the fringe indicator. | | treemacs-header-button-face | font-lock-keyword-face | Face for header buttons. | | treemacs-git-commit-diff-face | font-lock-comment-face | Face used for ~treemacs-indicate-top-scroll-mode~ annotations. | | treemacs-window-background-face | default | Face used for the background of the treemacs window. | | treemacs-hl-line-face | hl-line | Face used for hl-line overlay inside the treemacs buffer. | ** Evil compatibility To make treemacs get along with evil-mode you need to install and load ~treemacs-evil~. It does not define any functions or offer any configuration options, making sure it is loaded is sufficient. ** Customizing Themes and Icons *** Creating and Modifying Themes Creating and modifying themes and icons is all done in a single step using dedicated macros. To create a theme use ~treemacs-create-theme~. It requires the name of the theme and accepts 3 optional keyword arguments: the directory the theme's icons are stored in (if it's using png icons), the name of the theme it's extending and the config, a final form that's responsible for creating all the theme's icons. A config will typically consist of nothing but calls to ~treemacs-create-icon~: #+BEGIN_SRC emacs-lisp (treemacs-create-theme "Default" :icon-directory (treemacs-join-path treemacs-dir "icons/default") :config (progn (treemacs-create-icon :file "root-open.png" :fallback "" :extensions (root-open)) (treemacs-create-icon :file "root-closed.png" :fallback "" :extensions (root-closed)) (treemacs-create-icon :file "emacs.png" :fallback "🗏 " :extensions ("el" "elc")) (treemacs-create-icon :file "readme.png" :fallback "🗏 " :extensions ("readme.md")) (treemacs-create-icon :file "src-closed.png" :fallback "📁 " :extensions ("src-closed")) (treemacs-create-icon :file "src-open.png" :fallback "📂 " :extensions ("src-open")) (treemacs-create-icon :icon (all-the-icons-icon-for-file "yaml") :extensions ("yml" "yaml")))) #+END_SRC The ~:file~ argument is relative to the icon directory of the theme being created. When not using image icons the ~:icon-directory~ argument can be omitted and the ~:file~ argument can be switched for ~:icon~ to supply the icon string directly. The TUI fallback is also optional, " " is used by default. Finally the list of extensions determines which file extensions the icon should be used for. For treemacs an extension is either the entire file name or the text after the last period (unless ~treemacs-file-extension-regex~ is customized). This means it can match normal file names like "init.el", extensionless file names like "Makefile". Because the full name is checked first it is possible to give special files their own icon, for example "Readme.md" can use a different icon than normal markdown files. Directories can likewise have their own icons. In that case you just need to give the directory's name and the suffix "-open" or "-closed", like the "src" directory in the example above. Instead of a string extension a symbol can also be used. In this case treemacs will also create a variable for that icon named ~treemacs-icon-$symbol~. Treemacs uses several such icon variables and any new theme should define their own versions (it's not extending the default theme). The following icons are used: - root-open - root-closed - dir-closed - dir-open - fallback - tag-open - tag-closed - tag-leaf - error - info - warning Analogous to creating a new theme ~treemacs-modify-theme~ can be used to change, or add to, an existing theme: #+BEGIN_SRC emacs-lisp (treemacs-modify-theme "Default" :icon-directory "/other/icons/dir" :config (progn (treemacs-create-icon :icon "+" :extensions (dir-closed)) (treemacs-create-icon :icon "-" :extensions (dir-open)))) #+END_SRC Finally keep in mind that treemacs' icons are all buffer-local values, and will most likely not be defined when trying to access their values directly. When you need to programmatically access some of treemacs' icons you should use ~treemacs-get-icon-value~: #+BEGIN_SRC emacs-lisp (treemacs-get-icon-value 'root-closed nil "Default") (treemacs-get-icon-value "org" t) #+END_SRC *** Custom Icons Treemacs also offers a quick and straighforward way to add a (gui) icon to the currently active theme, without caring for its name or declaring icon directories: #+BEGIN_SRC emacs-lisp (defvar treemacs-custom-html-icon (all-the-icons-icon-for-file "name.html")) (treemacs-define-custom-icon treemacs-custom-html-icon "html" "htm") #+END_SRC *Important*: There is a restriction that all icons must must be exactly 2 characters long. That's including the space that will separate an icon from the filename. If you want to create an icon based on an image you can use ~treemacs-define-custom-image-icon~ instead: #+BEGIN_SRC emacs-lisp (treemacs-define-custom-image-icon "/path/to/icon.png" "htm" "html") #+END_SRC For icons of directories two icon variants are needed: one for an open and one for a closed directory state. These can be indicated with a simple ~"-open"~ and ~"-closed"~ suffix. For example the following lines will add special icons for directories named "scripts": #+BEGIN_SRC emacs-lisp (treemacs-define-custom-icon "X " "scripts-closed") (treemacs-define-custom-icon "Y " "scripts-open") #+END_SRC **** Icons according to ~auto-mode-alist~ For some file extensions, like ".cc" or ".hh", it is not immediately obvious which major mode will open these files, and thus which icon they should be assigned. Treemacs offers the option that automate this decision based on ~auto-mode-alist~. You can use the function ~treemacs-map-icons-with-auto-mode-alist~ to change the assigned icons for a list of file extensions based on the major mode the icons are mapped to in ~auto-mode-alist~. ~treemacs-map-icons-with-auto-mode-alist~ takes 2 arguments: first a list of file extensions, then an alist that decides which icon should be used for which mapped major mode. For example, the code to decide the icons for ".hh" and ".cc" files with ~auto-mode-alist~ would look like this: #+BEGIN_SRC emacs-lisp (treemacs-map-icons-with-auto-mode-alist '(".cc" ".hh") `((c-mode . ,(treemacs-get-icon-value "c")) (c++-mode . ,(treemacs-get-icon-value "cpp")))) #+END_SRC **** GUI vs TUI It is possible to force treemacs to use the simple TUI icons in GUI mode by setting ~treemacs-no-png-images~ to t. **** Resizing Icons If your emacs has been compiled with Imagemagick support, or you're using Emacs >= 27.1, you can arbitrarily change the size of treemacs' icons by (interactively or programmatically) calling ~treemacs-resize-icons~. *** all-the-icons indent issues Depending on your font you may experience the problem of treemacs' icons seemingly jumping around left and right when they are expanded and collapsed when using the all-the-icons theme. The straighforward solution is to use a different font. You may also try a workaround of using a different font that applies only to the TAB characters used to align treemacs' all-the-icons-based icons. To do that do not load ~treemacs-all-the-icons~ with ~require~. Instead use the following alternative provided by treemacs itself: #+BEGIN_SRC elisp (treemacs-load-all-the-icons-with-workaround-font "Hermit") #+END_SRC The Hermit font used here is just an example - you will need to pick a font that is available on your system and does not suffer from the tab width issue. This line will load ~treemacs-all-the-icons~ (*it must not have been loaded previously*) and enable the all-the-icons theme. The given font argument will be used as the font for the alignment tabs used for the icons, hopefully alleviating the indentation problem. In addition ~treemacs-indentation~ and ~treemacs-indentation-string~ will be set to 1 and a (font-changed) TAB character respectively, so customizing them is (probably) not possible. * Keymap ** Unbound functions These functions are not bound to any keys by default. It's left up to users to find the most convenient key binds. | Action | Description | |------------------------------------------------------+----------------------------------------------------------------------------| | treemacs | Show/Hide/Initialize treemacs. | | treemacs-bookmark | Find a bookmark in treemacs. | | treemacs-find-file | Find and focus the current file in treemacs. | | treemacs-find-tag | Find and focus the current tag in treemacs. | | treemacs-select-window | Select the treemacs window if it is visible. Call ~treemacs~ if it is not. | | treemacs-select-directory | Select a single directory | | treemacs-delete-other-windows | Same as ~delete-other-windows~, but will not delete the treemacs window. | | treemacs-show-changelog | Opens a buffer showing the changelog. | | treemacs-load-theme | Load a different icon theme. | | treemacs-icon-catalogue | Showcases all themes and their icons. | | treemacs-narrow-to-current-file | Close everything except the view on the current file. | | treemacs-create-workspace-from-project | Create a new workspace containing only the current project. | |------------------------------------------------------+----------------------------------------------------------------------------| | treemacs-projectile | Add a project from projectile to treemacs. | | treemacs-add-and-display-current-project | Add current project to treemacs and open it. | | treemacs-add-and-display-current-project-exclusively | Add current project to treemacs and open it, deleting all others. | | treemacs-select-scope-type | Select the scope of treemacs buffers in which they are unique | ** Default keymaps Treemacs' keybindings are distributed to several keymaps, based on common keybindings: *** Project Keybinds (Prefix ~C-c C-p~) | Key | Action | Description | |-------------------+----------------------------------------+--------------------------------------------------------| | C-c C-p a | treemacs-add-project-to-workspace | Select a new project to add to the treemacs workspace. | | C-c C-p p | treemacs-projectile | Select a projectile project to add to the workspace. | | C-c C-p d | treemacs-remove-project-from-workspace | Remove project at point from the workspace. | | C-c C-p r | treemacs-rename-project | Rename project at point. | | C-c C-p c c | treemacs-collapse-project | Collapse project at point. | | C-c C-p c o/S-TAB | treemacs-collapse-all-projects | Collapse all projects. | | C-c C-p c o | treemacs-collapse-all-projects | Collapse all projects except the project at point. | *** Workspaces Keybinds (Prefix ~C-c C-w~) | Key | Action | Description | |-----------+---------------------------------+----------------------------------------| | C-c C-w r | treemacs-rename-workspace | Rename a workspace. | | C-c C-w a | treemacs-create-workspace | Create a new workspace. | | C-c C-w d | treemacs-remove-workspace | Delete a workspace. | | C-c C-w s | treemacs-switch-workspace | Switch the current workspace. | | C-c C-w e | treemacs-edit-workspaces | Edit workspace layout via org-mode. | | C-c C-w n | treemacs-next-workspace | Switch to the next workspace. | | C-c C-w f | treemacs-set-fallback-workspace | Select the default fallback workspace. | *** Node Visit Keybinds (Prefix ~o~) | Key | Action | Description | |--------+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------| | ov | treemacs-visit-node-vertical-split | Open current file or tag by vertically splitting ~next-window~. | | oh | treemacs-visit-node-horizontal-split | Open current file or tag by horizontally splitting ~next-window~. | | oo/RET | treemacs-visit-node-no-split | Open current file or tag, performing no split and using ~next-window~ directly. | | oc | treemacs-visit-node-close-treemacs | Open current file or tag, performing no split and using ~next-window~ directly, and close treemacs. | | oaa | treemacs-visit-node-ace | Open current file or tag, using ace-window to decide which window to open the file in. | | oah | treemacs-visit-node-ace-horizontal-split | Open current file or tag by horizontally splitting a window selected by ace-window. | | oav | treemacs-visit-node-ace-vertical-split | Open current file or tag by vertically splitting a window selected by ace-window. | | or | treemacs-visit-node-in-most-recently-used-window | Open current file or tag in the most recently used window. | | ox | treemacs-visit-node-in-external-application | Open current file according to its mime type in an external application. Linux, Windows and Mac are supported. | *** Toggle Keybinds (Prefix ~t~) | Key | Action | Description | |-----+-------------------------------------+----------------------------------------------------------------------------------------| | th | treemacs-toggle-show-dotfiles | Toggle the hiding and displaying of dotfiles. | | ti | treemacs-hide-gitignored-files-mode | Toggle the hiding and displaying of gitignored files. | | tw | treemacs-toggle-fixed-width | Toggle whether the treemacs window should have a fixed width. See also treemacs-width. | | tf | treemacs-follow-mode | Toggle ~treemacs-follow-mode~. | | ta | treemacs-filewatch-mode | Toggle ~treemacs-filewatch-mode~. | | tv | treemacs-fringe-indicator-mode | Toggle ~treemacs-fringe-indicator-mode~. | | td | treemacs-git-commit-diff-mode | Toggle ~treemacs-git-commit-diff-mode~. | *** Copy Keybinds (Prefix ~y~) | Key | Action | Description | |-----+--------------------------------------+-------------------------------------------------------------------| | ya | treemacs-copy-absolute-path-at-point | Copy the absolute path of the node at point. | | yr | treemacs-copy-relative-path-at-point | Copy the path of the node at point relative to the project root. | | yp | treemacs-copy-project-path-at-point | Copy the absolute path of the project root for the node at point. | | yn | treemacs-copy-filename-at-point | Copy the filename for the node at point. | | yf | treemacs-copy-file | Copy the file at point. | *** General Keybinds | Key | Action | Description | |----------+---------------------------------------------+--------------------------------------------------------------------------------------------------------| | ? | treemacs-common-helpful-hydra | Summon a helpful hydra to show you treemacs' most commonly used keybinds. | | C-? | treemacs-advanced-helpful-hydra | Summon a helpful hydra to show you treemacs' rarely used, advanced keybinds. | | j/n | treemacs-next-line | Go to the next line. | | k/p | treemacs-previous-line | Go to the previous line. | | M-J/N | treemacs-next-line-other-window | Go to the next line in ~next-window~. | | M-K/P | treemacs-previous-line-other-window | Go to the previous line in ~next-window~.. | | | treemacs-next-page-other-window | Go to the next page in ~next-window~. | | | treemacs-previous-page-other-window | Go to the previous page in ~next-window~.. | | M-j/M-n | treemacs-next-neighbour | Go to the next same-level neighbour of the current node. | | M-k/M-p | treemacs-previous-neighbour | Go to the previous same-level neighbour of the current node. | | u | treemacs-goto-parent-node | Go to parent of node at point, if possible. | | | treemacs-move-project-up | Switch positions of project at point and the one above it. | | | treemacs-move-project-down | Switch positions of project at point and the one below it. | | w | treemacs-set-width | Set a new value for the width of the treemacs window. | | < | treemacs-decrement-width | Decrease the width of the treemacs window. | | > | treemacs-increment-width | Increase the width of the treemacs window. | | RET | treemacs-RET-action | Run the action defined in ~treemacs-RET-actions-config~ for the current node. | | TAB | treemacs-TAB-action | Run the action defined in ~treemacs-TAB-actions-config~ for the current node. | | g/r/gr | treemacs-refresh | Refresh the project at point. | | d | treemacs-delete-file | Delete node at point. | | R | treemacs-rename-file | Rename node at point. | | cf | treemacs-create-file | Create a file. | | cd | treemacs-create-dir | Create a directory. | | q | treemacs-quit | Hide the treemacs window. | | Q | treemacs-kill-buffer | Delete the treemacs buffer. | | P | treemacs-peek-mode | Peek at the files at point without fully opening them. | | ya | treemacs-copy-absolute-path-at-point | Copy the absolute path of the node at point. | | yr | treemacs-copy-relative-path-at-point | Copy the path of the node at point relative to the project root. | | yp | treemacs-copy-project-path-at-point | Copy the absolute path of the project root for the node at point. | | yf | treemacs-copy-file | Copy the file at point. | | m | treemacs-move-file | Move the file at point. | | s | treemacs-resort | Set a new value for ~treemacs-sorting~. | | b | treemacs-add-bookmark | Bookmark the currently selected files's, dir's or tag's location. | | h/M-h | treemacs-COLLAPSE-action | Run the action defined in ~treemacs-COLLAPSE-actions-config~ for the current node. | | l/M-l | treemacs-RET-action | Run the action defined in ~treemacs-RET-actions-config~ for the current node. | | M-H | treemacs-root-up | Move treemacs' root one level upward. Only works with a single project in the workspace. | | M-L | treemacs-root-down | Move treemacs' root into the directory at point. Only works with a single project in the workspace. | | H | treemacs-collapse-parent-node | Collapse the parent of the node at point. | | \! | treemacs-run-shell-command-for-current-node | Run an asynchronous shell command on the current node, replacing "$path" with its path. | | M-! | treemacs-run-shell-command-in-project-root | Run an asynchronous shell command in the root of the current project, replacing "$path" with its path. | | C | treemacs-cleanup-litter | Close all directories matching any of ~treemacs-litter-directories~. | | = | treemacs-fit-window-width | Adjust the width of the treemacs window to that of the longsest line. | | W | treemacs-extra-wide-toggle | Toggle between normal and extra wide display for the treemacs window. | * Compatibility The correctness of treemacs' display behaviour is, to a large degree, ensured through window properties and reacting to changes in the window configuration. The packages most likely to cause trouble for treemacs are therefore those that interfere with Emacs' buffer spawning and window splitting behaviour. Treemacs is included in Spacemacs and I am a Spacemacs user, therefore treemacs guarantees first-class support & compatibility for window-managing packages used in Spacemacs, namely [[https://github.com/Bad-ptr/persp-mode.el][persp]]/[[https://github.com/nex3/perspective-el][perspective]], [[https://github.com/wasamasa/eyebrowse][eyebrowse]], [[https://github.com/m2ym/popwin-el][popwin]] and [[https://github.com/bmag/emacs-purpose][window-purpose]], as well as [[https://github.com/wasamasa/shackle][shackle]]. For everything else there may be issues and, depending on the complexity of the problem, I may decide it is not worth fixing. Aside from this there are the following known incompatibilities: * Any package invoking ~font-lock-ensure~ in the treemacs buffer. This will reset the faces of treemacs' buttons (once) and is a known [[https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28599][emacs bug]]. * A possible cause of this issue using an old version of swiper. * Rainbow mode activated in treemacs will likewise produce this behaviour. Make sure not to include rainbow-mode as part of ~special-mode-hook~, since this is the mode ~treemacs-mode~ is derived from. * FAQ - I don't need multiple projects, can treemacs just always show me the current project I'm in? Yes, see the section about [[#navigation-without-projects-and-workspaces][Navigation without Projects and Workspace]]. - How do I hide files I don't want to see? You need to define a predicate function and add it to ~treemacs-ignored-file-predicates~. This function accepts two arguments, a file's name and its absolute path, and must return non-nil when treemacs should hide that file. For example, the code to ignore files either called "foo" or located in "/x/y/z/" would look like this: #+BEGIN_SRC emacs-lisp (with-eval-after-load 'treemacs (defun treemacs-ignore-example (filename absolute-path) (or (string-equal filename "foo") (string-prefix-p "/x/y/z/" absolute-path))) (add-to-list 'treemacs-ignored-file-predicates #'treemacs-ignore-example)) #+END_SRC - How do I keep treemacs from showing files that are ignored by git? You can use ~treemacs-hide-gitignored-files-mode~ (bound to ~ti~) to switch between hiding and displaying of gitignored files. Git-mode /must/ be enabled for this feature to work. - Why am I seeing no file icons and only +/- for directories? Treemacs will permanently fall back on its simple TUI icons if it detects that the emacs instance it is run in cannot create images. You can test this by evaluating ~(create-image "" 'png)~. If this code returns an error like "Invalid image type ´png´" your emacs does not support images. - How do I get treemacs to stop telling me when it's been refreshed, especially with filewatch-mode? See ~treemacs-silent-refresh~ and ~treemacs-silent-filewatch~. - ENOSPC / No space left on device / no file descriptor left You may run into this error when you use filewatch-mode. The solution is to increase the number of allowed user watches, as described [[https://stackoverflow.com/questions/16748737/grunt-watch-error-waiting-fatal-error-watch-enospc][here for Linux]] and [[https://wilsonmar.github.io/maximum-limits/][here for Mac]]. You will also want to see what's responsible for setting all those file watches in the first place, since treemacs only watches the expanded directories it is displaying and so won't produce more than a couple dozen watches at best. - Why is treemacs warning me about not being able to find some background colors and falling back to something else? Treemacs needs those colors to make sure that background colors of its icons correctly align with hl-line-mode. Png images' backgrounds are not highlighted by hl-line-mode by default, treemacs is manually correcting this every time hl-line's overlay is moved. To make that correction work it needs to know two colors: the current theme's ~default~ background, and its ~hl-line~ background color. If treemacs cannot find hl-lines's background color it falls back to the default background color. If it cannot even find the default background it will fall back to #2d2d31. The warnings serve to inform you of that fallback. If your theme does not define a required color you can set it yourself before treemacs loads like this: #+BEGIN_SRC emacs-lisp (set-face-attribute 'hl-line nil :background "#333333") #+END_SRC If you just want to disable the warnings you can do so by defining the variable ~treemacs-no-load-time-warnings~. Its exact value is irrelevant, all that matters is that it exists at all. Since the warnings are issues when treemacs is first being loaded the variable must be defined *before* treemacs is initialized. This is best achieved by adding the line ~(defvar treemacs-no-load-time-warnings t)~ to treemacs' use-package ~:init~ block. - Can I expand *everything* under a node? Yes, you just need to expand it with a [[https://www.emacswiki.org/emacs/PrefixArgument][prefix argument]]. Closing nodes with a prefix argument works as well. In this case treemacs will forget about the nodes opened below the one that was closed and not reopen them automatically. - Broken display of CJK characters If you are seeing raw bytes like ~\316~ instead of proper CJK characters like [[https://github.com/Alexander-Miller/treemacs/issues/863][in this issue]] you have to set the proper language environment, e.g.: #+BEGIN_SRC emacs-lisp (set-language-environment 'Chinese-GB18030) #+END_SRC * Contributing Contributions are very much welcome, but should fit the general scope and style of treemacs. The following is a list of guidelines that should be met (exceptions confirm the rule): - There should be one commit per feature. - Commit messages should start with a note in brackets that roughly describes the area the commit relates to, for example ~[Icons]~ if you add an icon. - Code must be in the right place (what with the codebase being split in many small files). If there is no right place it probably goes into treemacs-core-utils.el which is where all the general implementation details go. - New features must be documented in the readme (for example mentioning new config options in the [[#variables][Config Table]]). - There must not be any compiler warnings. - The test suite must pass. Treemacs uses cask to setup a local testing environment and a Makefile that simplifies compiling and testing the codebase. First run ~cask install~ to locally pull treemacs' dependencies. Then you can use the following Makefile targets: - make prepare :: Downloads and updates Cask's dependencies. Is a dependency of the ~test~ and ~compile~ targets. - make compile :: Compiles the code base (and treats compiler warnings as errors). - make clean :: Removes the generated .elc files. - make lint :: Runs first ~compile~ then ~clean~, even if the former fails. - make test :: Runs the testsuite, once in a graphical environment and once in the terminal. Finally if you want to just add an icon you can take [[https://github.com/Alexander-Miller/treemacs/commit/94df3e36af865dab2c76b549b1a61f418e3bf5be][this commit]] as an example (though the icons have since been moved into their own module in ~treemacs-icons.el~). * Working With The Code Base If you want to delve into the treemacs' code base, check out [[https://github.com/Alexander-Miller/treemacs/wiki][the wiki]] for some general pointers. * Dependencies - emacs >= 26.1 (>= 27.1 for tab-bar) - s - dash - cl-lib - ace-window - pfuture - ht - cfrs - hydra - (optionally) evil - (optionally) projectile - (optionally) winum - (optionally) magit - (optionally) perspective/persp - (optionally) all-the-icons - (optionally) python(3) treemacs-3.2/icons/000077500000000000000000000000001476710620300143025ustar00rootroot00000000000000treemacs-3.2/icons/default/000077500000000000000000000000001476710620300157265ustar00rootroot00000000000000treemacs-3.2/icons/default/asciidoc.png000066400000000000000000000102351476710620300202130ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxݘ[v9DY_ y`?̒,nqTYYID}ܿC.KmEK˚5v=R^S|-u}|z뇷&9r𺮽s>;}m{c KŝB-6JbΧ7Ev|Ǥ?{?.xG9ο| ?ݍ'Ծ:㿏;\TqE-q VxUq/XtAC$'B'9d9XqtϵTyA 'VY,b8zǛ1 \ ?y?K|{LÐ\ b*7>lAan,ǔ WplPc66pP @H* X9 Ss#$NDTiK*H)^SUjrVZmi5AaEӦ3hѝ;W>H#eц>I2lSg_qE[m;lRi-vGN9B3j;~Zxf{]k}{D0: b ^ :fѐ3̼FB"1pV0@0w!Kܜ/ 9g ABG~WQȪbӁظ`\Vgș<8sH:hF\kL"кTC-iy({Q5 Yxά{JcW)mmf Mhk8{bw Ѹ< !Hf/MLwΏpBYhحcrR~UM0ͮ 5(ƶr^k)+^PcH%J$gѣK}y +tn|AHTZ:Hd}Ei\|W,hg.˜A}]-R5yG/7g=(i-p8'h$sZ $'˝8kw?Rh ;rˢmb*xu"|zl7Wg% vE&8dyAzG+v<_tRutƐRbV2F-4,.-huNSQ*:r29[*L?YםkW=Eۦ@1; @bRk|"3C5eBۨ6o1 fn7Ɲ2BHfֱW֒1`a0k!f4ǡ?6LKZHbH43 0%"qcZ!޸ bbj4̝QpZ-$0Pm 갴^ \A,c6d9*ƚNX | b p61Xu8 uhXVVKtl (Ehc2|ʇSKXK_e2) $il-]Y0Jm=?d״;Lb"k彯odFYE+wth# R9 Ȕ.,B8_P!ȷ# pqNB q`X*\`FdM$zu X;B7A,H 9B^p} TXH?b[lL]D>7SJYkn8jew`O$H#fu2bsҊ@T8#А2+`$5VL qSQjH%b3T3 m|+6?daRG5FւIQL#$R@v/:ERZPlH0Y 0m;u͐8%'SwԠ δ Z[6w6' rjYV6"h`]K{*R~CG.TH%cd61+M'z.*Y} [>=e y{H hĴ@JPҌ x ,ZG Hu,eΰPz,J+ā[75$|@>'EaqID6fOZn 4ψ^%?NWbyok үX֞nsXEejF? X;[O۠^`g.&TIYE7n,WphEl{dFog!9im*l ^}R3#ƯUrb ~ t.7mB.v}.]7wl<,8) b2 aйu`ֹvO^)!EƜuLx-k+ Xgn{Yl:np1\_e<)cԁEvkPҫX"~1&''ruy'm]x <v l@,evt4o׽t$~4~EرCR~|yni@{ ?2U:L$p=DLn,mNK 8^^n 5DnZkZR734 'пwesKOx_ -!晆,zI\]vǏֻMl&xeǭD2LƑKtA>:l=7[p7{t)BM<x,E˂`YzCJvUо` 㦽6k!?-[W?(~Y6?Sc;DJg睹JlJ`}CxZh[vX[B#LYMthL!i|i7g[FЧ7^>fI:9krdfbKGD pHYs B(xtIME 03 IDAT8˭KHTq߽5C-4*"iѪUL iITa$AP!m-"mZT(z!jTQiI؃ZѹY78yb4p ؂a oq} Hfc{6 @Oq0D!dVs|#U5!6't ex8.p*wiqgZD ?LRWuJˣ܇ 9=3pQ N("%Ώv #ؕz9Ѻ=Uxǝ"N*Mk 7dJ^-J9{)ߤ: Gct6$CcN!.w !xtq0L]p7i*`.x9U;S|x {n34NK:OLFa.>TXRfNN?rJ+j@;ON# q4>/z;M>E1xZcK1 @y^1}IENDB`treemacs-3.2/icons/default/audio.png000066400000000000000000000012151476710620300175340ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dDIDAT8ݔ=LAK),/AhuPHtB j‣qrq'EIpF Zb~mmswO࿆0}E2EFr 3-r\eIwfRR.׈Ma- .>o[X]\GL4Q/^;o@p;Nz(U$ֺmC˱鱅xp+,cgw}%-Hߑy= quuEAIJ1ka.Y9-M^WE"RjI[fwMvMӹt\HŹ&6T-`$nG8RXm7gަĢ̎'z-.vyE4)/nlL}M(/Ǭ䝑"R<ٓB(םٕrl3.RsPƆcHƁI\c"H3&V\OuEIENDB`treemacs-3.2/icons/default/babel.png000066400000000000000000000017521476710620300175060ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYs}8tEXtSoftwarewww.inkscape.org<tEXtTitleMinimal Babel LogoE CIDAT8khWƟ\{{/2XcإCan2zi^ v}nݥ2!HEGaK T-mmj7iJiJmr$6yfM[=??9$A:uM &L ²Kl9Oz"T0JeÅa&@MJgOg Y\OOՏHvw]g꟮U[6E+:)S0:kIj~w^t$H?~B/Hi]O3B_ NgOT{TyP NCwW~/HͱdMDtx{kA2o?nMs { C %m@l%#aVA&ZL%rq 2oC]-m)f@j@TF<]&|)BKWI?5ܐ˚ǘ7"uo`r'#[xuiIiihU oٴ25{a45lWWt5?uk!ۺoܶWL(tsOݍf6u~s):cGDjSjk&`٪;bs[XaXQ??wPkE_vŠsS+-3fz$>uuw(;'KjvW; cY+웞VXF=Qv@s(y}yEI,IENDB`treemacs-3.2/icons/default/bookmark.png000066400000000000000000000021761476710620300202470ustar00rootroot00000000000000PNG  IHDRĴl;iCCPICC profile(};HPEvqP,/ EjVLn& IZpXupqU .N.RIE.?_@funD\dWŮW@/DL2$) ^g9xMA1!$"cX ; ݛO{p~Ï +Z< W $KMY0yͶr4*aujL8X_ SA@3q"$l: JF5Ci)G@Ұy9ʆ=F`siTqz "1p=(Wk`>k|ekKi,0]ߊĨO5 Ystie>46A2")hŦ34X Ѧ$UPL1HP3 AJ@Wp DXov,=L+߁;>{ZĨ#G_CIsf2xɮhOe&aa²/-EQ9젭[GL⥲"P`7،]S)Uhr)h+8$ϩ)3Vg7'>~wC]KЇ W|agpFԿH WxPuΖ[k!;]Is4憟pnsCo{ښBwQ"IENDB`treemacs-3.2/icons/default/buffer-group-closed.png000066400000000000000000000004671476710620300223150ustar00rootroot00000000000000PNG  IHDRaIDATx^c`~`,K+\a~ >H]-h*rE_9|܋vh$G׃o.zﭓO?a06H$pmɻGwA q<P=qe^\iD q<P;eݵn[wiA yt=(iƺE;mf A yt=(a?Kל&,}cw\{: D q< R4a‰\`'(#ʷ]IENDB`treemacs-3.2/icons/default/buffer-group-open.png000066400000000000000000000004331476710620300217760ustar00rootroot00000000000000PNG  IHDRaIDATx^ Q-l='#,(.3kb$It߂5:s]` 5+ K&v8$ ̎͝C;$/Wbw SGN;>imm\Tӎ@$hz|#e}PGN;Ϫ=#|tcYLwab)UTc 5/? [3fIENDB`treemacs-3.2/icons/default/c.png000066400000000000000000000032061476710620300166570ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDtIME  IDAT8ˍylTUƿ֙yYthKʦ@-Z 6lV ED b%Q%HE]D%E ,bYZ3t:o(V$'9/~'DJ+%on5 W[␬|,VdZΌi wKȇe6<; @ә8}҃KV!B/hN}Zلꧢx^zjLGM3v̍j0)g,Vo4p!Ɩ}ѵi: Fm͡teQV.1(9[3l6KN/Vܯ0TA QӦ +\,ΌP4l4c4b?% QɆmC=?!@X}[1c z71^VsLZ¯=68'۶ee:;we-ܼ|Md9Ad"_Q Qqh {MZz éNw]'p(Q? (O(ٔcޚjE pbH20Ԃ]&kQ6Eomp ͎z-ωnI.93E FJ5HxL3n[3w1+ vǶ`4Tb-#%48\li_3ѣ8ⒿWydYoL^zg ߜ<5bHzY"h}9(cLe8»!ŘMJy:HVvQ`C1QKX]/6G͈=Xe5~?NL0Yr-y{ת\_'';^G^wʧ yLFh)3A)e'딉9曪K5'ޑ+l1Pjv:Ch Sp:ASPR ,۸VL$HSdA|Vp,Z˅Wm݇چ&%Ki[jL̝n|j?QH!aFGd>UnT_Tu6 }=zfg)FU鞕{{<](;$ii=tV|oL;?ǻ34 ھ@?] %tEXtdate:create2017-05-25T23:32:09+02:00qm2%tEXtdate:modify2017-05-25T23:32:09+02:000_IENDB`treemacs-3.2/icons/default/cabal.png000066400000000000000000000014521476710620300175000ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYstEXtSoftwarewww.inkscape.org<IDAT8KlQF=#P t0hE;]`A JGBm-664M$V3GlB"Ѵ}hA* 4 |Ԃ;ssͅ2{34Wѥ]`U)~ֽYErٚU a朗SL0Ôv[r!rWs Y`,۞=4a`Yy f3վؖD^!btȷB *~ֽ5EKA m[bI12"'ͱbUǑ"Z_u^v(\oxfr XEPZkY 4l/weWv4~ 6CAGlˇ>D[0VƥfscX>*p}%Z FYiWD}Z+0`i%|e/o{YG`]6;4('kc :1 'arqk2 {@ u.p4^7~xTj=hLEE/д$@\Fo! -)1ʥ1cFeԿȹ/#Nۧ%Lv \ޭf0)AW"eM x$w8R6vcA8l'RnS֬%=bK.5DIENDB`treemacs-3.2/icons/default/clojure.png000066400000000000000000000027261476710620300201060ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDtIME 'xIDAT8ˍKlTUܹn;]Z[CJ-J}%(>VFWFWƍLn ,4T@)J)vZ:3wb:P ͽ}|`Wmv;QM1u! X"|x7n9[Ǔbr&M<Ti 薇|~c/YA;ˋçcLZ*}$h<:—;RXSsēRVBR4~%l,<<.ך}F]EAÕAe!B,VZ!%h !'Jz )^"y'J;[BH|av$.R;,9#y ַ?>Z6ځۧ8{uu;i/߀l_5Yh,4W(zD9z6ֹ€Mەvj뾏81y`Uq==>gPdlXH@aɖGKYDiR06bp"Y l#cc f!6q&>nXNfu%FNRČfxZҽGO [*rjŜO rBcx0B_Ʀ5EJhvc&M2Ze2{'_C h¾ $H1UӴXYyq 4dIYDA"Q!yrKj!4u $g1$B@#ZLb#L}-CBLC]"h).pyu* \KDkEcpi`"yeuePRfj&L[Jlv@`e>fs47x)/*X$-l‚04W8=cr$[+ac{oׅFf#[PfK;\\Sx짭2/]bU+<h^壾҃!k ӿ7);0XgwR5~YF<GAȻVi,;I4Z#uGJ+fʂ¾pgLs”nleT65K#X{z>3G FkuOrimx]^@Q#ǟWB(トm?. c`ϻwmO ~kO 8[cܰ755E{y qrOj^DF s8`f)*)P%Yå]v]vŤ >MI2 XXr$s,{KiѭzӪ*CΔy}-}p=ϳ2'Yq0T҇[Sϸ=v9ث~u 3=վQ얿`ë9g:~>xиR"V虡нIڏDEZ}&:ߔ2LyPӃX?3 [Օ%gA ,3chkHI0Zh2o/'c9 ­," u@_p"q\=Qa1n10rR 9Pڒ0@Ffpm.u7k$W)su` "+9_&_/59\J.g+Oh8X ;p#edq7r~{?4z ݇e/tg`KP[*4Pf;z \W#0H?e |љ;:=Z1&]p?v@XA84qݣ]9=̨T*qΔH-)5FִM(3'S.V'zHi{H ckdÉ;0`< X`3v5+1 ^\~E5]ԟ +6\58X;Y؄Wb161&D-Qv0v)pI9sswPfOggVcz Yvg1v[H&NH.WCgv2Rd?ZZSYwj)DBu PBܮٺa5҆Oli[Yb]^RCV۷7ztM2J؝zw$ VȊ92C{zvg*mdmFQPm[/@ӕÓؕH(#$}_.D? b>y"X¯ MSVHw1+[=݋`6J ]k*"9pVz$:\,s.VG^K`Y[jmKQyJ@A` [<]KяJ<0Vs &F7zX(oFiߥb[R-^pH4.Lddhb7L \ȆtU7DBDctAmZi$B" X=.bfZvww~s}PCB@ktx,=/8pQ8XS'&';J S_08aTߨ3`F<޲%&e3Ɔ) l6GNxW,\)bTwg2Ihc7?oR^ZX0Z{*w^3c0?^{s]l}NJyyai(sYWLӍ}_pcIl 醹n3H[9p^'ɮ{'&م䲳q3sd3܄IN7w?BH*$+~J`I)TRM-r)\8PbI%RjiPcM5Rkm7ZnŴZ띛v\9GqGu'qguٗ_aQ+bV]m6PqwuX;ēN>NgկYs2Ys)cW>R>p1/ʙ.F)gy"y撒2Fv>g4o&+ow3J"sF{eg kߎnT b]]=oK<O&tf D~YѡKsra Nﷵ`~pvo+=!gD:@c&a;(Ϫ8qJAX4V- S?KآNo{ؽ3ʕ{C*) "|@Q5(iQ)N>Zw =B)1E2ѨpPBkBhjʼn!m%qs~—ǜ4*& OP I٘4 U:M9 -Y]YT_L0c_,~ qSOh0S\|ӥEAEE4i/R{amlkq=)v=6ϙng; 5fAv$mfNͶ3;pT&zH^F{;Xy 8DzP{ǁE$XȚ_$Vrc%l7l55YjwVUmqHVHs$FhDԓd4\صT9<[j2 S_D~( ;~dC Q=Pf7"[M#")D-P*6=3a@ŖZ#!m@$`C,t\ |~~ `}v`7/?%X\tACI F!^}M?@r7AviMG A6VB$wS/ |EQ ܑsݗodjYΤbeI=\ 7/ "=Hs/-#TFŇ7V( yIsr8hi=E 9y U"Eڴ };ؽbA2iI>B'x9rjr-qTf9uQF[zq>:RL0ܑqHHCd-茼3YΌ'F6+f'R"kq!*=a#T&.HT 3ʦCVTPu)]=q~6Y.zZn@1'/#𡣨:ǒްQ*w)xD+B%n$}'ES5^3fAO+r&6!>̟{4ƴXJ6_f{R"_@`&}ZzHMG8B4Kj΁h2@yU! ۋ?m 6pqdG0 x8Xe>Z|G4%mjڳQoKgfYhF1"#2JV;}*zZl Z3@I 򋁻QB E$|Z@pB (Ic@FpXr`Q𷽢4t#oK5yy^CNJֹJDkqERC`yCV!Lbd3aTGL mz7FM˴˸;Bkbmb2IW̡}w/A6`~/ c[8:Q}p|(F'NNAw݀s˗hcXX2 yk֨R+;$`D,-us -- ;Yiu>@rvZ[0҄KԂ'\S;Mdd}Vtb.C(v0#E]EN)– #-\Q t"@&݂^u\EĶ%{Rf f. ȄyU,DeJ ZhV8m1ThLQE~mz=O^\He,Dh{AOg0g'O*ej`Bؐǡ1`c%-}lh"Щ3JB Ju@c'UJP'LBJՁ!:kR@aWA[hr->Eu A®+E\⒈0^_h%qnm'mmѡT lP2̰O<%yҼŻc8KLL !.˩5(@ z%XHGZJ?ҌpcLȋHǀ*lS1V{P"3&7dwoL1zMY7 -Ȕ|]@C %AN'M!,z*Kshۘ$#X:@1XmUR*>SF-T MCM) JE6AY#H=0 zJfi fs HG$٦{7K8VD8u+ rCIjEύ;aj&rl1ZhOzm+Mfʣepgmf(kp/RaR(W#&A7" IJ|8Ln^_ _sKNBibZbCH7[tgc˵#~pHlSOMmXל'*ř#%êXIڟ2;,P0Ö2#Ls.PǡQY& rOv5?Һ1xԤƉm8q$ii5x!2-^XHQ[Du!zRQβV%}vg?Yꔯ( mT5[׮}jwV9sF:kݓ,=&4{:0$. BK/w1bNіz';2e]{7"ʃ# ?^"NrNēii\I=D峽˸|fm ,m;o=#0Z$."bԮ>"]Pm^7ɐ +& ~gW!ʋ.gPchG>nצi dIyG= EK]Ӌ'-iJپٸ} ){ݿCǶToךvv>j45P@a屯5` wҨ\nw=@\!kh{y@#G0bۛ*gWU?-`;7X,S>PcC>bj mzrIJzv,NKB")Q>Yx|Qi)5‹S~S~u@`(Q2)T.DzPҖG(&.tY X <;bKGD pHYs.#.#x?vtIME  5SIDAT8]HTAϙ{~ykɵ C2C,ӈ+AȊz z"01ŠAX|, ?LL)rw{| =x00s73s_ΧKtQYa)Re:B*N5vT9WQ. DTR1JRBjgwo\qlgN%dRBA'ȥB.Tt_s0gm  ~C{xz5"3ĸb79%=zNp:zθdnFFUWj )t]ksR!>t#9>3MwcۿZ'm;:k,ti7gjT F\UMjB '!˫3asEQؑL xnZhA [IENDB`treemacs-3.2/icons/default/elx-light.png000066400000000000000000000017551476710620300203410ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8Ko[Ey܇Ǐk'(/y47 iҤmҖ>X@c={>| EQ@&bٵVPF,i`CU*vDxeqcc (0̰da7v y7k0E#k ocK\ 64FĦN9,+e'dߠdqeNkK&oUqDAUTwGlSۑ8TEBvso(j&iZ-J/ R1ZPE-:uJFu {?l:`y/.ގtYOgѪ_{jP77:jXyvVY]$ Ο2Vnmmp1SIENDB`treemacs-3.2/icons/default/elx.png000066400000000000000000000016011476710620300172220ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d8IDAT8;o\E93slH< =CA$h詡C@A5I"owc4+)9u mՏd4[_y4(iۏMmڼ1^k Jf_ӵLKlZKN bͿVB0T!ujfH8{f_&ZU$D_qk 8>?c*6A$x+@[_ԑp;haDCeCzQ6[L?lU>wpws)6uG9#Ѭ? A4p5ǁ1+Ϯ&~pey#6S,&TCf" "6ZrTp R#R "d/$ p3h ٍ/{fr*ܲ]VSBmkB @jJGɹx^?s6JҠ@Vʾt)Kԫ  @Bx&&R) B99@ ̨{ *NwzJ`b hh)ĩiw&3L hPoPqꎇ^@Ԡ*j_ i(~ϰٿu*E/X)M0°{5&t 2pH6R~'T8RxH~Tan._`v P)M쏞|wCϪ^}OG:Uz0p}bFF7U i)",x:%R{bjÉ T05&;r|;L]0 #Q#f+S.{]s*jj|p냥;[>_:l;!^po33l۱l++B%M'![mW:J{ۿ_{w3/X-bFS׌O=J?.MLW@@A` ZM:1 Qcztkl [eCmz󄞌B JH.dRG&c;'s슣TtPpѥ3?o4%[I;˟דQ!f#ȴGH%td a{ݵTU0瑈bzc}?MRJ's86 Mg|qv"v ZakSԘj"m$H.!MehM[wֱPS x\r_ p9|7dDF-ˈ]4(i=ǬQ C"$z;۠lEŀ@yϑA$)]H@4u$9ahV'_\KGf"f~|a{Y hl@}@P vtRJTa:l* R"bHg#'tH!i}: _ #'sDD( T3)amH!!B۟SY{PUF=@q+*j D0AAEyϽ8¹}HM>sKn-|@B&2N@<P%e^~uَ(RipPh_WڣG?ST0IDӭ 9\:{"> =i+T(A Ѹ\NB`*̈HDei0 :S@C(uml۫W7دꇇh_;^-GGҤ7'8:&S)FTxC@zq7*^VkёBðSCϗZA n-Dh?GDXdqG*}n/S_{箕WSXM#V`Æff"pC8=Ղ2n0ZKުݷ&wޖl _ Kˣ URh>l:(.((4BR`xoKs*;~c GX+XDJ29Z"&5$( ?pPr ;_Uo?zj>3+Mkc/cj5FRTK YJ$M }٥W)7ճ/?C{bLSzbOcվS1:9CQ*ӎ3vy䆍ZX-<ܽ&Wa N}_3?(%tEXtdate:create2017-03-01T19:08:47+01:00₊%tEXtdate:modify2017-03-01T19:08:47+01:002ptEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/erlang.png000066400000000000000000000017161476710620300177110ustar00rootroot00000000000000PNG  IHDRĴl;iCCPICC profile(}=H@_S"v␡u *U(BP+`r4iHR\ׂUg]\AIEJ_Zhq?{ܽFiV8鶙N&lnU "BaPf1'I)x{zYjbO$eioOo}0+*9I$~7E63y0XbYԈSmyV= y}e4G" AʨFV iOx#_"B29PnD+)z_#vfqy+6O-z뎦;!+i ~FߔnVo}>*uE^xw_woii=r@abKGD pHYs B(xtIME%2n=IDAT8=kQsgv(n!Q6$"&(bcVA,K[PK6((A];mA1"%%UN1 w9a`u@%> \'ꋵf67qq cvXGhPĘyTp ʞ/onǒ|'FM6Ov珀gAmٵ+*~y|4ٙ6XGaVX>4$O HE!k^;z4M]}qgw[Vڪy|\K*u+J{~E!e1 gN^p 4r\9˰)#Mbq,+_:>}xRpM4jqIY2MFQ887+F qBFZ[8D\jDSjډ%IENDB`treemacs-3.2/icons/default/error.png000066400000000000000000000021241476710620300175640ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYsMMʍ/tEXtSoftwarewww.inkscape.org<IDAT8U]LUΝ]X vICbD&R})]ZLLFIcHSC'Mi?lpw )ݶ@Y=>#d{}|C(uuuUR4:0CDaL|l6.19x7`nSK;׋[eJ)/+xC| pw< _kx @[*lYi,"=iFs"v6l`c)/,qA.e8ÑHgs2 +HMCop3H]  Lܼ `S}43WO 33RB9ϕQVJ130W/=+4ʹmەBJμ]nΌ?ADhϩ|-} "03^ hwW1W9ӦxZ;˰"B}!L_3z:{>#%t4okwwJB-Ui7p݂8?NJٻU#oavRˤ4{4z9٣т9[X)`Or=CKK_?f u2@DӨaY-<~jTwCXѳjV8pMaƈK(69"B-UӍwԓC`۫< _pL& 1+|/Q e r \zw^^ Do2#lM_%Y*w[zI'JKK[cXvmNԲi4>Ic%ڋ jkKmhih%ccC/A%\ۙsY}PBݯk^{0  no}  &`$< l@B-aȟU{[afs~L~oðZБz@WfI ֑fZAuR;u.[4!˴}i7([Jq-kt] aSl26ɋg>R =M{!]/!m`In}wZ <Q>iz  uH_U- n|@q͒l:u}4njcVQwS-/c{X<u0]%|=)De۫!NtCX1k !;<-z;">'EyNhnwH%k,c`FS@m;kA|ǟ1 )+IQstAVZ rDRyry @LFsQ 7SzwP(nӜ_AӺ`(\7C܈jc}Pt!չt) Ph1yK"cW ʧ}T0kr/O 103p> ٙcG`Slaf+ĵᑲ\]U ji㘆v VIе,65/~d8ٙl:Rא3pvR%{Bo ) ffyAE\ɣHqdiv?[A.|_abWFKkH|;I# = ljeN{!o^Aq5 \d ĵ<'-71~[@O=T61k5=x_?"zƒ0ې3 PEs 0I'U-Ɲ|9]Wa sshO0.\+!3;C QƘMsz%<}HǑG!/*Ȋrf;QrB;czFZk?EODڛa,77TbS鍟hFcT2Fw181"g`,+筍0u[ɜ07d8͙AC+'sb(%tEXtdate:create2017-06-14T20:43:39+02:00uk%tEXtdate:modify2017-06-14T20:43:28+02:00YIENDB`treemacs-3.2/icons/default/go.png000066400000000000000000000025561476710620300170510ustar00rootroot00000000000000PNG  IHDRw=5IDATxڍU LSWoU|((C &n(8Q 2RyZ@(QQ:|Dh"13HiᒛԞ=A9u\w_Q#/)*]nM 7k0|!YXO\*e ncgv˾G[TﶊځA={x!7)jtqj /,8{іO5::})!2e 7جBDaQM*]jsx҇} m}uxk4KimOyic_lSleV3D&*0 cZ`B#_퇤 E} $aç"+D,ɬYD3dr B";~-z.Iޑ@_霮c.}6dҶY clƃsД'WKhK V=Cd$$)9 <0]<.>D*aY;m!mŇ0-7;Vr$+՘Dywl?~fSA!6S! Bm")j`6!oʈ̠\%I Xk )1A!k ZA "oBCCzdN"_‘M8lTSpvmYҭ=GUEc&5KA> .p@dIENDB`treemacs-3.2/icons/default/gradle.png000066400000000000000000000224021476710620300176720ustar00rootroot00000000000000PNG  IHDR!m pHYs!7!73Xz IDATxkwǙǟėKrv_X8 ]f66 oEOO|K4m$lg7qlQOS5}KOwNzD?U~ꩧX,:p~(qGYޡ5  pX,)T纨^`ł6|*7XX5]gV8, W8@69moP4 pS! @nba2A U4=thjw0$|Dl4QCKD̜-N.NpAcRq$W0a%od᠌-r%api"ԫTRE"k?'œfb%'M}O\*qcqJ:,1y#_j5ٹP-^"ROrzif *pԨ3#Wt%h7(xʊv.Tzvz8| '^q. L+G$L;+BE(S++e:pD{c3$bE/vܕן0VAdApx<8!wd$ɣP 15o9v_N]ĭ\8|]+)ww&s:6 !\ {|ȇO&iv.TWl凩\zx}d` ?v!0Ec!v XFD/!?-Ӎm!T@n4aT9]ƈ AU B<=8h7feƄeBu@9xk$_Lk^èHQE+yXJJ >_Eʜs 4&R G3e5;׽izuz{A< J`7X^tuHC@Bdۘۈ,Qcm΅jMgNf2fB&2a wvLjm#pԡ9!SKV@عP]Yu|?Ll1Mr ) X|@&mcހKPr Egrߩgg+57<,n 0.QkyJksD6jqum0w]Wten $,yǓ'Z@DC Ttix }̗.a6N ΄pBC܇}˙er8o!<\PuQȶJ$u͔!׳qfH¤'Hevm<FXcjKĿ _6i m+@CLAWRO}m46G*={^Y9T`6 @7DZ`riH4( O /<18&@I3<р4 =80]/^^'>*e׌ğ訷]Z>8@ AG&5q++2quJ?{܀T-H{w '6 yʏD0(=uE8JG F#[\NCKM`OυE1n;(nm5+?uM3!>*I%jY<M%g#{H&y##oQRcbbZy`Z8h%ab"B6ވ}+psW?ߡD#i!uOSs*vdL8kBO#bcԲp3ϟ^`a5$0OC(aHy`o#= c[k-T&O#YFh YaVY_q}Gl_^ Iq ;u8o~07<֊f3E;CpD 1Q:mY("|@.ǖ?<ʅ ^LH"~+ ypzԑ*E /4oc3`xuwv_2ɜ$0A<Ï'LLId u L/>'m8O#a33KN-FʋqԂĭ[JƬ?-g:hJ3]?⥚7zq>EC7 W_l˼AUT7~a ¤__>NFռhf{g ,a/=fmu܃E7{ùNhlœҶ-Fi8~ڡh(囅|TE4~pva\.`DTaOW".ADqKF %k,E_fP G{>khc}Dm{Ưf1$a{lQ Ju I6dF|]f0og=}? a=z3U^2p5*yʄ㮗|YyckˑLْT,F>5zVBqkt )Ȍ_ͳWǁ8ێZΞ7 :|^}-+QjEH8ʑT?B7p^:ge ߸G8ùTy#e5d|Qw @H'-V^xy"ޡ pT‰w\9{ijSMyykո2< 2@80^)s8ijyoUcg+qS Ժ`#;Iٵ&8V=O'9KIZPB⾹65RH 6!hL:1i`xNi +_;a@`wei=  #z1iCZ V q< mia ;;va6E.6V4GL{bxݓԉD`W 1k-C3&bS a2FKډ0ݐ{؄nR#bIOL,*tq`Dt^F̍# 'z~ ]AP7b1!NObte-﵉h@Cl IyNuz/ V‘pkʳOٹ-uSJޭiwtF۴K2`!jq Ɣä#F b<6Ih!bck![K3`ZÀ WO|՜ ll°}C:1ܙpی7k\ dQZ_͚huSBc1e39yΥ vEch8Mx_U4lcR"b0i  #n7%)hy@Dn?zE8Q`HߘLb!1 ۝" ][]FNdv`lB]V I8a؎ۀpxQ7&%]ms6q.%actb4g#7^<Ѳ".K:6;Ovy6'08p_7[g`<<5C"쪄%ӣCa46a 1*!g(dcJI ڌ+6M' GTVv dQ?V)FMjIACλ}X 6|lRmIrd A? ] JamkT&S%;s$4yyO:2"b))w' XrGy`; Ԉn 4z +g0y$&i1-1s !¦ ~ZIVmP'pɟ7` L.E9lJn&iwNi ]8y ;-DtZ*aɻ[mtZA`D6(~ܨ7w']i戥AC8l ܝ3!^- v!0]2P5vZ>FFh?oL gf_Ty_X\8aS6]Ę#*;]:q#Ƚ[kLIJ 1^Q35&r/bgGDh@plnטKE}<0n߸'~n=(~c2]2mҝhK9y5Zۺ/UYwn{%i`ԮdB*^6us]·\&u=κv:rt;rܕ.oGmDc_KzÚL <\Y 8ԯ*@dK?MK@`1 8e\gspfH!-8u/IF-Ǯ}\cc!>ظΩjac€ @8lL{\L}B7moD=0>tuBjiW_| !IDAT5އBᘨ)!qW: " 94fT!AٸNs5ROHyslЇc+=W@'⁗,#vr[8p=+{Aė/tk_#?]q@y /lr@E "`cL~Ǐ޻|Q0N](Zbtɂ#mTEaWMPEt/ńhPe %MX/w|?~S~gzGjű?gr\1@1 ܎D`K M|{9jO$hd;U<֏] ?+UNp19ZSi:5x"MhY,u8n=lL/H[I^1(Ę#Nh$P3_Yz52͘7UB__pzcCtrވz*t]do:qC)˾68|7l=l"? t2c㽽mo`itŽ'ΊF/q9@ӆ?Q{m(Ʉ!Fe~ޣ㽽k@`FOCFɛ&x%ei`%B: ^XX!y"h߶ 1y4Y9Dl7%"uᐘۨXZML{u^G6owK#ph L"Ì'#Ma!!̕1HRxn />amWp?ʖ \=GRQ G8y5PJ-;} +agn\2ڽ_Fگ !٭DC]+SqwWxy- C}Xc% ,b/=dvEV7wgbT %- ě/׼ 1 dٝ dш4Gw;Zf} z]aW Ƅ^zڣtM!w&drbBmF\uO, v[tr5v~2ӽL6w"8砍/};ͱ42m2ܖT]*e5F U2IENDB`treemacs-3.2/icons/default/haskell.png000066400000000000000000000024361476710620300200640ustar00rootroot00000000000000PNG  IHDRm?hgAMA a cHRMz&u0`:pQ<bKGDtIME)7vJ_"IDAT8ˍmhe<99o;n㴥32X ˖IYiHaB!%1?DHB *ݦLMsY}]v?E֮ "nN!jRP4֐HD"q5xn86<Ջk Cf7fYJdOwڦ a>y 1BGKk0wyaP0)bTx$DdY&=uP׫`%ׄI{7xqm}(5vn8!ո`QʠX,>3j?;0%X͍ d&:Fd[Qf1g^:R;WAm8< zr7˄z6{8cĬWVS34k7 h:2 Х,U*T%BOq3c%K2#:S\*;?Bex&Tx a'}G 0%/h]JYZR"R*Ri;}~is"&%̇JJ+? *jmhxU0֨,+ EĮmS,3!ʥc5r>|u4=k q/{sH a!DAJt~?r90x}i^F;d•╭ {ғVoe6J X~iA+ӚRZ56AkJnJ>hZq}_^#'R`l&<#_|`}0P.Įʻ:_Ms!@Gs:Xa].Ur%/%cZnb̦Nim;}9c B%tEXtdate:modify2017-05-25T23:41:07+02:00_IENDB`treemacs-3.2/icons/default/html.png000066400000000000000000000025061476710620300174030ustar00rootroot00000000000000PNG  IHDR/8gAMA a cHRMz&u0`:pQ<bKGDtIME(;*6JIDAT8˥oTUǿ޼y3v~"BQhH?B117nHi\eƥJB#* JB̴3t^{SjD=9璈`aP]@7G ҋ;;O@D >n`>Hd9RH[ftaыhtDH&ٍ} #a}@ EZ B@h7olyil2 w^;'^I76j@lܒJ䡕灴 X*cy6,Yi\V@狵֣9$kV^D\Q @b 7)ڲ+ h5ތPuR$="2E 5qXBr j;M}_LtXDxs007()*[yg"Tеm;UWٰF:1QD փSOV?:6~(޽12׶Ko.#_!A3U6NxMO+KM.G\p_v?h]Ȯ݊.G~i%tEXtdate:create2017-06-14T20:41:35+02:00 ц%tEXtdate:modify2017-06-14T20:40:59+02:00paIENDB`treemacs-3.2/icons/default/hy.png000066400000000000000000000017651476710620300170650ustar00rootroot00000000000000PNG  IHDRB gAMA a cHRMz&u0`:pQ<bKGDtIME  kIDAT8˅[VU>ߌSfQVA$t1LQ=SCRAQ=֛e)ͥn؅^*.FF66h|gp`}^g_gd8RoIFJ R?zʲ,VoYB<{dA:[ Ω>Rچ'sTfoQ4b}XԜ>YЏ98?:fQ{Q(-04`B #Ef\URes^ҥ؂ .gU|xBλsل奸FB{r'SVqY+bGJ]J\sWU@9}{6pgq,p:R䈜KXm~_k|x%Vauǰ7RQ-GW$c>&1Zq*8ñ "؋CaMXox*Z.kvU6\cg=8W%) elS_}~}v%tEXtdate:create2017-11-02T12:06:06+01:00%tEXtdate:modify2017-11-02T12:06:04+01:00f BIENDB`treemacs-3.2/icons/default/image.png000066400000000000000000000005661476710620300175250ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8Օ=n1߳p"Qp4'U%\P TdYHOy4z3&iq0$NCfMK h<%6&eY}+ )WkRESdBxr^.Pv8n=&%EX+p s|9*AuQ<27K50~v: R%)M9֯?s JJ/0ߊIENDB`treemacs-3.2/icons/default/info.png000066400000000000000000000015421476710620300173710ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYsMMʍ/tEXtSoftwarewww.inkscape.org<IDAT8kSY?%/vF y/C3D0Thnf*.JFЁJiEu`Z7mxiJ*֎mRfn^5I{9sDW*3 -E$eyk˻붔"+F`?_; 6,g7C6mێV*-gs8R=1 c_)0u`۶Om9ǛUiV#Ko4͞L& `l~זAOAH xԣD"\.&d}#÷j3ĢĢtk fKOX`8."W= a)̆_[: C\= h}φn?J<)DW4:+ yx,O?` b'w5TNr;IGP+QIЮ#8bԖ{j9 {F+잁,"2gH O-j:n9N_ڲ'Fmdr ^-~:t%N P(tG+ Kޖ.#W@mNYu#÷0-K/YYYy ;R0[zwmi#aw):0@"F5@;];QHaeݝ/i2uJA 5o}"2p*N7oIENDB`treemacs-3.2/icons/default/jar.png000066400000000000000000000014151476710620300172110ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYs & &Q3tEXtSoftwarewww.inkscape.org<IDAT8MHTay」4eA*}AB>,ZUZ` !6բ6` #)LK/ur6$:墳>Ϗs 혿Kie͒OP;.9KgNRm27ŠOy1i++gxT2R=NE,ƐE)h^{/WqP&`(O '>1ZGSϰ8Z34Z Y(ZHغD+߲DC L<;<3XB aMYc;F"/?8 g*nH‹O=zkL'^8"o9bYՙsõ]M#cunvL)ap$XGVF^w* ;=-x?RW 1E xV(nyWB0%*C56)j6:3G?.ظ._zͶ CMZ(鶆Y]=~; v\^Dfb|ce~fS,s^v__j i0X'kNZ4aU%8 ^yTŷrD 1UaŜ%= R_{IENDB`treemacs-3.2/icons/default/jinja2.png000066400000000000000000000140021476710620300176060ustar00rootroot00000000000000PNG  IHDR+vzTXtRaw profile type exifxڵiv#9sN{s9| S]ުfݖ,)L @{/9sIſ A\Iοh?}~џ?Ӽ?_y=~~S7 z=r/yu׿C&#wMo_mso3ϧocw}(v%F6~wY{{O~ еv3X/c9ͧH]wL1ϴib=;̅ z/Ѣ}a<{>`p D;앬6+;%Tv|p ݰf)N1ϺP >LjWB?90TS̱D5RL)U!ǜr%KŗPbI%RTq⡰(I""rҕ+[h[ij>=SϽtu?f!N; 34,Sf]`mV\iUڝYd;k?_YKX9#c.X25iήbCp9%NIʑ559j`e{eۼQW3E挦Ǽ}QwG;AZShbC|t>ZW@Z˃ R̡HZ!qTh D=tb#a%& U:.m6l p},>gx/䑪hԖ92y:^'F]|q/C..aߑekd&PSm \v҅ؖ3a[Il7AA5"5M7L@E͜q18C;ڭvIiS]GW*Y2qiεMX,pYD.MA.Hn2+?X)z"+]Jh9IBS[*f7zKy(Y?2zHy-GI1Ǜ^EK!֑U)XOV:!nЊ"]Gz!C0!Qe<ݓ͞We]1 wա*S|t*THW ) ڴM슰;zav/#$oRco5Mb1"鿅|G 9dRYsPX_GǁTUm0Pm}íS}x9oCeaWT%1|LL 0C!,l`4 pcNSrZ/Gd(YKeR^ɾVeG}5= 0]3sT$Zv*`|zPYR],ˠA:In&G*w b:v U;Tb֖FDUJv,A$DȄh~7Ujip*L2^bBisOj c Mx471M\]֎^Sbh9#p!I*BҬf qDR OЅ+ " -5,rҳzW.Dž9 &hp b&)I-=1h*O4: R=?l=| >|6hŒ݄uۆ5b`mjUFSOEDg' zrZKcy7?Lk4@g$Cz){}t! qRxf?%F X͐Q#t^nAj9 Z[5QL/5+[9IR]EXК /\Bf r bmҳW5RUW0/7xQS*.ShKkƩRQ tMe4oXԒ=,Džږ%RvA(]^%T(J 8lTY5VNb`8 vό`1Pa:<ΣگڧKQZ×!K(I=$]*ŞG 4>h`6=^zS|`H"׮D٭a'լr{!G@#d ފoEhoSYeIl4k, `zlQq:p G|T[,u5VjQmh$-M&LУ3~> a*|$ i q fK.A]6+Lρ_XH<#tR`e+\eQU/f>4_:$%T^>FyK _ҎEtqb*ZN'~h ;*;XDYzzQqױ+.HR `iBi1*)RϢL< !p$*I;>-mh46ӰKkۿ95³i}Ѫ]x!7e#1ԟE%^lc6i4#ܪ2˩5ۤ?>zO@!`zz,M*0\*A^E6RZ0CL{AHF$0#A4}@x52:y 5ٟ#tQ`3fy 5g4۔;ޞY̙9gݨ+۴:ˈK?Č>)TZ 4|BZ֠\FV_lFs],A3.)챒C1jG"*h8͠%akT ="`|iEj>Ro֨x Uǀ3C'2?dh=AkUic|UAPC09V_P-EUCh:)f 8f'Tw:{ C;[<2ǩ:mRDD rg"ʂ6_@2"18L0dž,9T:+Ϝ]'Ј#)$خ%؞mڽ&E;T-٘(K`c-͗AV' CLpxJ<⟠h9DQ{xQժR\yẒέRG&L)\jI^I!{We45<_B [Z04:|lbrÈ [$ьؑ% o,XZH6Fu pr R LNRD<2xy&oqmTC%y,+ai>g͹@qDRjPm*J x-nZFBEU .E! wny&̟i̶Az$s\ϬkDtgS R]cY}\-F3ר(1)\#~Ct,#{HYe:.5|nYH ߚ^;wxC!l6JYnJiD]c3 @vtb42BX,5QN/2hIAnOkU|T,ɰXw::vF.\DOhvB֓TH^$N(,߳3#$R,S]{HUcNmWZwBCNᡭ4'D|@4q1Bѿ/Zҷye+Ǧ_yIkމ]6znbNzcq!+">Ww moW2JFSQnsnm+H%sL5H|ދN|Q=z$f9_X7VƊVn45۠;_(ћ![u8RbeQzS !{XqdԖrڲY#Ѣ6{ΫT:qK ٿ~~C㛚t4Zs/y"$Hs =jEhoCorٮPӒnwFʧ<'LFDRֺ[$6}+m|QW7/w/|}pjqujgWqSKܸzY UG/YE(u2[!5na?e͆2T_= SX;Vf&6WiԪ#b?9c+|{xqy v;v:+'z'v.l 4!j@'5\WBq= x0wUoJUCyqH'oSAF+{VO1>':H7:bKGDC pHYs~~[tIME  $ ?IDAT8˭MU}ƉRȅdC0}P T#iӮ hV-\\(1 }(8IeIhSis^{|}&p{9OWrK X=tb ģiTZ;|Y#v*#b-cX# ৔r=M}}F)C?RO)4f1x;ۥqBZ 繜?bo|_01)-Y~Μ甲v <6".-o-^U#-V[-UʒAjDc?,ƭH>,x+q;P՝y&ra>LGu:0Iy٠܏l?C)؟U%Jt^NIENDB`treemacs-3.2/icons/default/js.png000066400000000000000000000363651476710620300170650ustar00rootroot00000000000000PNG  IHDRĴl; pHYs  9iTXtXML:com.adobe.xmp Adobe Photoshop CC 2017 (Macintosh) 2017-08-16T09:53:29+10:00 2017-08-16T09:58:40+10:00 2017-08-16T09:58:40+10:00 image/png 3 xmp.iid:984be685-8c74-49d7-8ddb-a5e72afbf680 adobe:docid:photoshop:d9f8c145-c2a3-117a-b9f2-ad8d0a2896ec xmp.did:72452aa8-ee63-4bd7-bdeb-bfa95302836c created xmp.iid:72452aa8-ee63-4bd7-bdeb-bfa95302836c 2017-08-16T09:53:29+10:00 Adobe Photoshop CC 2017 (Macintosh) saved xmp.iid:984be685-8c74-49d7-8ddb-a5e72afbf680 2017-08-16T09:58:40+10:00 Adobe Photoshop CC 2017 (Macintosh) / 1 720000/10000 720000/10000 2 65535 22 22 r|u cHRMz%u0`:o_F}IDATxMhSQ{KK-ՊBUDpep!"QP\ ѕU(.Q-V(R)ZwHl33JDg a.$׻&b+IVכpUxbP`qf?ơ!`+gAkXդ" +육ZSr[?KhY`A|oW3Q4V@lyD"r Fx)bhո 8jex9ÙmqdIDXiXBS"ϴb$B^v3FVؑ3x8 8trGOJ( Eu!k\j|^ֺ\9k9w5/g2[uկct9bmM arhn cp `EE? wso8'I Adobe Photoshop CC 2017 (Macintosh) 2017-08-16T09:53:29+10:00 2017-08-16T10:00:46+10:00 2017-08-16T10:00:46+10:00 image/png 3 xmp.iid:a3a480ab-dcb2-46d9-aed1-28836d73431e adobe:docid:photoshop:59510434-c2a4-117a-b9f2-ad8d0a2896ec xmp.did:5e78f939-9236-464d-9003-fa93a46fca2c created xmp.iid:5e78f939-9236-464d-9003-fa93a46fca2c 2017-08-16T09:53:29+10:00 Adobe Photoshop CC 2017 (Macintosh) saved xmp.iid:a3a480ab-dcb2-46d9-aed1-28836d73431e 2017-08-16T10:00:46+10:00 Adobe Photoshop CC 2017 (Macintosh) / 1 720000/10000 720000/10000 2 65535 22 22 % cHRMz%u0`:o_FGIDATxڴKhU{eޏfR1G5hAJZ,B)RܕJ*(nE Z*X\XRą #*CC'Mk:3f];qӞ{_48) `|.C6# l[a J2jB&f#i;DI2yeƦ|R}tVcn>E:aTuƽ\2K*}( R/p.N;Ã'i ! (]`Tev7<2NDK<RUJk]a dh6=1w[mH3d-Y 0S;.pa|P°}R(rk[["T1d?_Sk'?Avγ/&S{s!ָq׏^fc%ц-&hEp(-e?f=`8ƅꩇp툟C]tCQ_N3f|rV#IKH2mp(a(i5Byt Jr129͊? YS/ϕjU_}Rʢa,3`G^,87 M\YlrG^(`V߼zgv>[gqFlύRġ /7WmN@ܯ!Rn+%vIENDB`treemacs-3.2/icons/default/julia.png000066400000000000000000000163301476710620300175430ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭivc^1^`9#/YCWws2*$.qſ[p)[-:>'yz}8yӲ??>`s|z~NyQWy_(9*]+T5,CoEB4S)gO 4Edg%gye C>;w?2ys9Gy 9d)u5oQMP1}xî=.NǓl2кFTǎ}eЬ7pxV`}PlSgc-W!+q^I\؇{&ێs^q uW~ 6V}Szn-gLjd\Cde­lWB7eRHhG۹PR_hE#M6Ur,w`ypf܁2okt>T*'ݿTO!gV͏4 6;.keŇt!\.T(MqJHnbjzS[/@au 6zgS)Hk=M̹;\BW2-α֚-mmئ5CWȹuJw#&m jB!B:j|:oٶQ4n.͞Y%퉺(N?L^ʇ:﬐d ov5+3)O v*soĞvY*qu!K Vݫ=㩒˙;8|UFPa[J.TQqV~4[M}$:uq+edW]S]TVos\Vh^'6ھ%Keɓt#*ϨьqPu (0j9zZ!z1ky BA 5n QD*Q+na@uRU4 i5J!S㱴DF$@9̊0Z<~e!4SXVY POp,4\̺:^2δ IZbӟkZ9AN~zpF!9n2Ka&q =üO#۶m D7T176`@4|LGjaPZ(ǚV/sqd>\Ml{'&/"11:/ -{?1-׊Db Ql\ r a;Aa(H3#ǭxEZRx#Kv".s猧V0?ɺjno>*KT$o2ӰYZJL*H@""li"_'@n:@XkOm\eOkF\۳ Yqd aNJ}sS8hߺ>GjN֋jaI .n3TQ$SAvrS)_ қw1$:wT:Kꢏ"5LhNuGFט߂G4Pp"z*vW!@-|h(9ǫ+lֆsm`r`u&}"}7KثxHl (ԡGG5LyHr KL"IL.4 G)˽/=xh8-s Vw@۫@G aFB6Z9Ʀx.-EQT@MG ^*ĊTSX"$@#.-4VdG=@*"ղ6QmjCCjV)1ҶM^0tRZWYGm\iZ0:_#bsOjNh Y&̑NSym >8 #JqNJl1/O:/ބ,03^JO^(tN{]PCŊNKه@?FcG>VJyXJ-28iW z Y]FkkFێ qRu]OJg>|& O{hDĂɰBؼjqCҖ0:r@2""I OU@.2jM2^GY4I@- %mdDžS{d(D eIiTuVmQ#0DVYI=Ch0oAt`"@m Z}5XhGX 3?D(U0AFezA8rƈS@<20w1ը* oZBbUv^L E8#y8D(P{5o0.T 1%8# IJTphGGLn^ E5JJt UcKd$8uV:^IL(#|PǴwQU)ۑ5 { HN[\ 0d@Ø$3;Y ᮝcj cA#v.R@WxQ0o@ɏ5$*G8r8!ɝ h7~#Lt|Ys?E%r#B0h&VlhPNPKPhJr׸Z\_X5G+r6i>7j/3m)%P2wYcE8/u=GL& t.U-)&&b5Eo0̋Sk5`E@4i#j[(5PGա|uuƆB]s+Wy OE[加*25@p68B='@!2NUCn݆mLS(B4 JZ  IY8Nf #B gLB$" %ܭ}/>ם_~a=7܎Qg眈6G(9#B að_9<`.؞  6\9=ηNpͮL3N)yd]4bFYa<Xܣ q]SySH4e8ޛ f>Sל򒌦G.ꮀ{ ]{}U-YWoa&qٖLDŽڍmMp͌)@P:p {x 9?ck{5 HEPO8ȁ~#*IhbBO[0 ƔAb;OSBģ(l#zK (نQ,Q&{{(dHKr8ym6H 7SGzp/.9ysR}A?A 2?3j4>,ۿN\iߡ˯J9}@2CNARe$ڰJiڱ3K\iH4$pFb]GM1 P rZK!4՗47% 6+x. 'JmٓG1w%^LM# 7+%qBP63AH ʀ)XtZCjȊε jDH4_T-MZ|BĻBv0+Npq 8a}4p9[fev)5 ?|J'",VTCFh`1. gS@5j`e-& C>M/¾Pv6@q>ub}!x GzrCe|AUD6ξr㻅O펠dwnGf~FhG;WSjF/yQ YjL&a"R;AW; (| mk{0˩bBP'HR!wj慙kyޚB8*tX^# 7T8NjTLFxtxc|B_s x7-(ϣtwݯBM"Q(G@U5[WA{;S^)?.I; x{vʕw(ɉh~L)̍k H pjYrX#MRx(#}*UM[gBs 6}T>^R b!Kr˟hJ<36{rS_Z^W(kBiz2I_9[FչU-650 pdVW3B\/*Z_'}%pjj }s x$<4 c#"=K|,hiO_<;t^[#CmyGбXqQcI56Q#fL0WpQÇƆoZNHĂ_i$pQ([RU|G2$`ꔴ,Q88DQ@DVRi~ 灾s$..C:{^)V+N W'uٜJQ~xÆH4+ qbxƉ+@«XcWl!]vnvT_Y ૑*nN'YQ]kܳ 2\W 88L ]>H@M8HvƎJ#Ue2kޣ ;r,- N2)Yb^]fƉC9SjϰXSk#Z5P 5+Aa5EFfaLՄvN&2BV֫[DFPYk*:4e=Z b z ͕V˽i>ZAS5ZFwSBD`̌|au07PW ,'T$c|rMD.P/&F33UIENDB`treemacs-3.2/icons/default/kotlin.png000066400000000000000000000021241476710620300177330ustar00rootroot00000000000000PNG  IHDRw=bKGD pHYs  tIME7roIDATHǍ=lUv{)SXQP" "zj ( Ɔ= ćE)(@I)B@A>sB$g;w6I7oɁ~1R8jcjZ8**`G_i K (&` A#=W׳ D !(Cx,:mBw*zw`'P α)H6+8 N0#bX$[Ma~g.)Q'{H 0U38Q U-cɶgF#vvTF5G(!guTIz/ R)".Ǝmvd M~ײzl_TSOAS>?lNW82:h trgt`MglabGbՔ) eHsڑZ*aԝH{HEj~#7o'Ge$c)P{@$4d>^g5 *: u3~cAԴ.\Vo5IENDB`treemacs-3.2/icons/default/ledger.png000066400000000000000000000036041476710620300177010ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDtIME)){IDAT8˕yPƟ؅eDE02\A`-5!McʹJD0HjI1Qh&MG[4Ji=pʽ,oѦ&x{g>3<(J)i7p8WUq~w BR;`=Ԫ2ܹێue Ba.<\ COdA^lX[gmw,]Jbxi4)$o٫ v<_aa󋔊Aj6ge5I,So%kt0FӄsL9~ C4e2/D˃82HPP<' 6r,OC)82#щwL\nx+ $@\daXAB@( riHk9.k7ݥkEĬy8A_a+#]wCFKro폏)*7j4OQfoݺLDZ<_S,"ތFxvK@UC-gDQ :D QKzK"] [O {2Fcp揥 {[>y.w{- /2m8oCZEH^sE:#S<\K[Ӏ)ð+r߅щs,ޮn"!zIfUm?<mOդ}7 DzzO].$Hĸp8- )߸6 8?ly&8wiRaϤ1 +O ~m2O/(1lN^ٍYܿ=WU՛N.P.Shɩ1C4ֿNc:r'8q;UW{wu>#2EJ*.6&tK1< e fv Te>߻X'Vϲ\Ks-\ .99TB|jz+B(Qq4}u7 P-Ѥv3GWBP ^ӟzuO LbLɾWywӉF"3o=vD");D,,XɳVL{v:)RYؼ#̘{9YEk'ɞH[.m!$|KjX$gDBOĬME ^.>:0,#d^QHzB#P *"B v;%3T"kNjqQݺ>zN)_!{8AWQq4Hsռ1+C,8wiNm|}Wn(:2祾([Ay_WgjtD'DA#vL[lt#mU՛erUBԔ5&ZgR?[{ER͝83`2}lhDHMPy78Z5gW S&;8bU}qnc\7zR8Bk;;'7,lذ12P+|7\e82F'i LhEш63.Zf+JBZ(嫿 fRߙ2ߴ8iBu6z:3hg.3|ͳL\vLݺnJ25 4ثןXЧf~Yץ8~pqwwx,au=%-ۅNsQDʞIENDB`treemacs-3.2/icons/default/markdown.png000066400000000000000000000012331476710620300202550ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dRIDAT8KhQ{3әfiҦ51 Պd[ .*HjW wU.RQ*(>@7Eh]I.Rdl;s\IL"H۝{ a5΁Spɀe@N,%nNyݺj!%Cnβ$bș1F&1"qn/T(Xfl]Ĵn>}}էBڎߓXG6r]s!O~K >XAChDm/jQR~|QUMM(JV,Uo6gOBla~y_Ya)!t{ K[zܒ rx׈]Ujs{uӡe zeh-DGˡs1y H/Wai#v^tw=c6yJڼҋWe'Q"3͘szxRϫd'Ț8*_oL$F*+a}mK1wܥqRWx+6xQX7W;d]DY珥#^;qD*+/BIENDB`treemacs-3.2/icons/default/nix.png000066400000000000000000000021261476710620300172330ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYs6AtEXtSoftwarewww.inkscape.org<IDAT8[lTU0R r3( $hE% HhHbCbQi>H%#/H˭J2LtJi ;ɺ|k-Ig,rt3}Jyc#[03  O7? 3P\\(-|UIyQ@S9 ].>J -=+^gTlm5R'_(5]Oӣh@ 0I2#n9`Ɍ  31\e ngw*~գk)P0~ K淄N%uQ+@'EێL|C9CI5crL|ֈ7b?t1#EYkEs]]|*zVQH "z v[0mmlidv^\nQaE]dC806]? oLu{9 DSѢD%z~ t6p91!''t8tyH>!;|-^ 1G~Yph^a%yT(|q;Xь\.<'tXqY/k[XtWLp+M$f URy]޷޵*9IÛR:UO Kl?™f]aCn2G`՛M=萰y:o3@y(tp$2wWN>v{PP$}q;ξ\&[_tQ`U"[|`ϣ3T%,_u%aD^G%[z(e*Bg=&`]AֿO/IENDB`treemacs-3.2/icons/default/ocaml.png000066400000000000000000000172011476710620300175300ustar00rootroot00000000000000PNG  IHDRKlVzTXtRaw profile type exifx͛Wr&7߱YYl`?A&Y$URHyb&4kf_+fSl[lKϿ秳~gqPgx=s<~ܔާ7r7{۴mߛ; \|zJ`c|y~;}#vP#Fq~߳>huߗ؝9y3}Wq ^*ܯW'[ds5k[9do_$:VCϛ/w| -,C|d-p*O^3f+e~w|}s~Ɗqy4PH;oLӍ2_~Il 醹ݎ#_n%}ZÕހ`\ 6\vx_#tFC r搛2ɩ^>0B"RHM dŘ+5SHѤr*z9s.YK(K)kkڛoK-bZmC;\9GqGu'3L32l/¢W^ŬmJiǝvev? 't)vgެ~ϚΚ{{^5q '8Iё P^996OS$O\RrS`Χ>s+s7?ʛ"sF{3Ǽ&k_F 7ABԆqCr\OgrF8}uhQޭٹ6uuqq۝|!6W̞< :[qxgHiO)Vːa&~?5 rƱIeZCaݟ= eޏɁߟ<̽W;E5|RCeHA)[A)6~3ȾK}hh_k`#Xi ?yXYױ2? |+7V+>{[,Ь@kxJyqFΦkwJe>+ҝ#2\=jlp@q"Ax-3n8}E\FOtaܤ"QCTAҀኸf=(~='1kD2C9diZ51.Rl: rYVw'|ԣXdOei:[Wt3RjWt/ˆ3k\XlMBGXhu .ME futקm.C5sM%s5%Atx%%>ur!5-h=%fK'ޅ+\-ad^̹75wq_4P uFޓ 0j F?ϧ'_T>xn&V@lG<鰷תJÚQיE*KȦ1ǵpbC,SD$s'⿚3xZ >6m u>$_/%*oĠAWt "$𥻺<*%%dA)b)y(PdQ@+D s؈/DER- \\ݐJлq.m3?/l $/uU0`{"MvT"ƻ,[ɡ~EҭKl^pIP;D$ :i'&6^Qkɔ+- `Dj!âވ.֓1Pl1Z |@S3T)"4/D'KFMqP"٬_oS#*i7 H^V#ђU cŊ 7zL4 iJn:`jqpS *DneV=pp?!OT:8.EB"V)S+ڎ6OzC괣73 @$m5|UzG+j`% jŶFGRSVSPbMn`@skZd\l5/Yoh:@8fc ڜ45&}!R.͂%BOuih`t𒀉4Ln8hGa>VTڂGx>gk^2db~Qmr39$.h<#xF~rPK5%^$!oF_x`"K+)ϒ`F>A1psԭ3T*%< %xuLq?ӸS"sY6h~Q8 JJj(z Bm#:hSTo:`Z@)6"sb-gZ'•:~*V Xu/OglXt0/ij¡RN ,m ^JlH1IFM,{0pcxL+|KkJɈg=KVMk Φ :L37G JB K"\ CS W4p4۴‘dgbPb|㮷ܔ"в(FaW%=BMGxl^XcyIS*nT@,^EEA[T"f"2ܖ[QOS^1J`ɕ47Q2\:7Q~1)JdB5B|Z w B4-& "ML5 >S@ŅQ'IDWҶ(tuv' B! -VFC.Z nd2ܵ 5zCO~Bl5L㙫NM-+cPpS4?ĕqQdmuJұwpt Xd&wOԾL7;{| jt-jPD K>}W)t?6w}P!Mk%&M{? ̚WӼ/RԮkhyA*4a3EM7'`T^֖9-OD(lxEg9֊Li X9PG3a Ȕ}+I*&?*$Ѿ$b$l iS*|;%iQTGJGH/2c@hYQn*Nk>;#Q t`j8?44r>,"JP9j\K1>ɋ o+ 2*󂏚~W@y@,Z (wCmF=Z[i!F`Yeo"d]YF"Ӟ\11M_y,3H -QGؐDaXR8"hN9/'jB/AsU+>pW_ɒq8cf=2aY5&|[Ө(݆Cw%62 BΉhYY`6&uPAx-g蟩mr\AUxD{ bN"աldXXTQ֖ܖ6@lRtJ5P $BI?ŴjR58Ye)9 wFK3mz(ʼn ޚppcHXRRkc1֤ l?k׼Ҟfȍw5 fדsػVL8NT eћRGy90`fg]ĖpG>"jA%m~EGs e]k*_Q-si`ʟ|b0>?.PS Rx.Լ iB0jXҨ2Z|%J/t!ՠFۑwKfiN]\Oi=Ԭ/P/43 ]O!~:j|hP]Rj/ڧזVf2H  ~ޞ(D_ PVP7͖hqzUpBʚwG]aaNK ɮS;vh+]PI2ش~ %Вy@.g3N<HXlvƬHaH9 Ԕm%@UWM~;Dnu$u>W|sq@ wduv /4-Cݘ?T۴wpePgEiTm `,1Ȱ,Oz?w{3掻+I;ϲ3 7#NKȄ'V5.ezU+7v|w T }̯gmDR>%X0a wW%5۞χC"sTU r{vԀ3'Rq"k>wɒ>D/q= OZꦰ ثKw͠/Iu> h "2&7a=C {g6^v h# JiqmZ@Fk4 R?S&]Ed#j/}s}]C!wT xl{i/ c%Iv8<=B~akE2?^҂?鍎k=urȽbKGD pHYs.#.#x?vtIME 8IDAT8˭SKlQtW+x46`,XTbac/B,Xx @""]Th4UEAک 'gs9~BZӝ6 s`&S-r f@Xt0\H DIvw]ѦU!a"}=;gZA(bE"4yYx y-d1Z VJ^X"|v˙4`YfD( ,̔{:j܂ϝm lb:;UmLpwk`YpgvsegtgvJ΁%-\Ƥ 4tn,ߖ?ba \]?=2\QL$܅h>]Id0}1訅SS U`JqԱ:0}q}}jDYcMCmk\"onУQx ?K]y=n|};r$y?In|x 4_ީ~Ǵ|yQ~[C: Cy5%g{?} ÷Xex7\z|1# W\i9sV=g?1l !coy?j|i?51.;n&S~£ӇZ 7?/*~.{v7]qw _߽O~9S!r~Ċyy5PH;+SPd00Wxp.3e D;1Ȁ.$-c%A .%!do^3k}eDJ:Ɋ1Q?%VjbJ)I-r)\@PbI%RjiPcM5Rkm7ZnZtns}GqGu'3L32l/&V^eVlbǝvev? 't)vG^Ydͽot]RC8IRȘeʙ.F)gy"y&2F v>T(o2gRs~%7cO*6}k7vZ"n{(BuO`Ep^wk GQF/}ŦGs ZLQ?.5ו=ZG_tIMn3lsv?:ޱ=EW|f\w\m4aʣ5Ǭع)j5J\VRcSmYd#6On6VW]yGuїaB *S!SYQɎp|(o~ 9n^ <snw~|Bt?|on7h-@3zB~L̗}LnI盚A Ob8.f&SfCU\bWFY v h0Z?ERTk:akXl͘\YOn=z92XJzmxwHs¬䣇!mLn++Jwӽ5.ίət-um1fz"$S)kQ(V}X%0,)}ɇ{2ipH\g/; Sk@Ed R-؁9!LN (t&BxSެ6jy ݄'n5;rnS݋47 ljC]` Stw`0VR{r ج-vJ% Ӈh-ղ?["г>3f9r9*_:jn=z\|%'Uf\q@%M ֜CSM<@8;@B@) pӓ~ꊉ+ q, 8Z̔QPuE٪YIc"7uyS: GqI!1l,tF&Ee Q SEx| 8O"śLR*5H=*x, 㵓^ZYMw&h5$w[;T-^"X|?%{\P"79j 7aqHHJ1Bdkc(œZoJ i2!F$8g`Dq 'GnF(t(zShDltҐ m.X |GNH3.[}!YH=)M A Qhj@Q:@TG#rbV\g, ҜbƑp߰ G+da*ThZ8S4y"" uyGvՔT< 6ô9-5t#͓[l=tT ̓bڨ-E6MzIR ,LhLmj͗0< B*X8ԯW$tֿicVEM.9ϜQ6\bN(Z <2BkW1^mRV2:W :f539@; ڊ` Fte|3]-$0DP)P̸$'E%1fؖl Ӽ)FŀkqBA!wY ˻ Ӥ>H'Zm˽Tji4G:d<N+CD+\={df㹫 `"sY$ɴ?e'ٵ3[FR2~~;6wp$l1* k"'S"1&spmIA`,`Yl R؄L`~ޠDMJ4̚D|'U"." |̄n&{oHC0uȯ^:,R[81zna`_T#d^g44Y*˜ E<;]׉PbHbT[AuF,X!PYQ,jݴx3f:9nS`g.ipLD=w"H TT$V1reL,(l_/UuZJK$buZ#DFMA{PM*٬A8H >H27V3SA1+ DGE0Qo6Z uiK˿H 3E C{Oj17JR$Q5tyf⒑A(DD#T|) چ "),pic (o.\F3L!HGxG*! %uraU#ȁhkqCWZ%\@Kc7rF$lBd-TfU4lI0??"lHرYNdm<{ lv`-[C&D*((8eyξkg` "#IӋ_6e)8<_%:AuE$F鮻=6ǟ͠)XvT+M,MQ6`:!Hq+id[O>9+z툎]X wP1\N?W:"7 =[dQ#H r9Ak@;d}Uxmn*݇.P ,X*2wx?#FBv*)vj5)/[A+|71?t7-?p{ɷoD l@ye33~P3A?0 Kn[GxyBI`RK cU-Y|9T :y݅c?xFn@]r >xQ;|CWf+:}bmH[U]$/M+չFDt6\J( :@]jjoU 3!ٝjJjn*3)N#Cusla`M}$kCqrx1P܈C. m7PY> ÂT%I3 ĿdP(VΓ}m_ekVG(>AxʴO:Gar29J A#)8mL.&F3j9e:"cFkg_;-ƥ TjtGJDil.R두7/}g_o3ʑ5ӼcƻMfCn2{UO=ֵ@z [6-YN쉬-": .JRVت2k/:>HinW)ECŢj|_כ'=|6:]FLh>' tӇ* Т,Oy{>=jY:jÉ;ꮈq+@:֢_hN,?<~^Lӎ@H:Ym./}_x/:"99>zRfrx{>࿾.m^\,\ fV#9V}ć-y͵zG|r!ğ'΅b& @cP]o5#`Vyg;~@{!<[ rQm_bNsJ1{gx ܚm)w@6{ -j%Hw;T)z&Lt۱i$E;p vK8`EPm1~~od!z/JZ :M {j1걞j)J*ƈkmfۦ۸\ޕ]]zk@\m]^q!nhvi-HQD73G 6iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAhkCp.ȹQo<̄aȍhԫdϳ\p4VEDL</[8 ̈o|{j?wkt+ҙQ 5 ~ukC2V__Ad8mX u;r17ڴ[ e&eGjKL%9KGZkuO}µ+-Wd-Hz{1 \]fE*o2^"l7UeǥQb3G^f4Όlmy2GAİ֬n5:"|N0^k0+qyqpk-#㢪Όr|nwA 8%JBy=iD%"cE ^"X~fK3R;9sv1c}.amRǝj񟹃C(~RwS#-_Mh{ڇq6Žh14dIENDB`treemacs-3.2/icons/default/project.png000066400000000000000000000010011476710620300200720ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYs P%tEXtSoftwarewww.inkscape.org<~IDAT8=HBQD-fACSa ͭ }CK[55ZL%  wJ}Lsq࿅j{[0a$u Q\SӉaP4 7]Rgv@XM2o~O.6K~(UgU`Ǔ+Qif}vSF">/9*U8'EgX -7o'{ RPW CVvWj*{#|l.O#Y "-c|Q?-jDIZB/FST F Z)hw~_LB6o IENDB`treemacs-3.2/icons/default/puppet.png000066400000000000000000000152241476710620300177550ustar00rootroot00000000000000PNG  IHDRĴl;{zTXtRaw profile type exifxڭir%^B2rzo95JV%)O& 1xYd 1TSzjCy>{I%wMuzx 5Ny m@7;~xW^yw料kr^}>C1ƌ\θ7-⛮ǧmgfi)fF6vB_/_>dg{յT2E-č y,9WaOVN|v0ιV0u8%n}#^\vso›Ng_gVZw[1/d.b˦|Oq|rǃ񘹰;D#pyD;26';Ŏ4f|pݴf)NlϽ.{hɸBOj`b)Xb-P)rFs1s5K(K)bM5ZjЍw]=SϽ |FqGu馟L3Yf"VXqWYuMmÎ;ˮ{կ^<{ٗp^roCXI gyvSlNϞHrδ ˺><[oW3rv*?Rʦ7\_b׳ jzycNc=ٚ\-oVⷩi}c8s~{3ŏfl'$1* Q6+ne gJ&v55AmͿ0+ !t$0!G)X&|.S8Α[9PGl LѥcP(44ə:KeX2rH^[52 }B;qLA59X,QTYT1^1PR݅rEu~)IE`ڋc?ԆEkĶԯ"IFK67m~Py`Jkd AKycdi22 9H& 81H` H,bIR>ɇ&_Q J|5lOuX2B >a.PÇsy„8ZyQ踺{ۑ5މ! zoUIni(,7vQ*hd<*M/ЯT^1]N@? p&͝52Jn5wUJ 8+ I'^Uku)_uu?-ݏ4YJ?*o Y{M]|5ě7v7 Q$ߖ v:)ƾqp[\$2 "ȶT%P:UNF|Os+,aM XOj RK}찯F#ֆA[S,DТO ׂ6aB2ݶC.#@1V( $ j<PZ2G Dd)YVG*a:%%31-P!L[/>Bs0zq RC3ګ:oREoJVѺ?}meNWyGg껒m_i\DKe^ "֐*I FծݳUL^ g8AG9Ú0tԹ|żT7xy P%_ h8^:Q;In>d;(HqL4TYIdOBV=2bY*IQ֫jY:QRi_S:.x&A1zFPF=wڂa^_{[X㾴%ad3r-2RcC0_WµCV\4nxQvR޻yP?p#c뾡&Pw|.It XlCy34dd 3Mj:2꯴X/V{P3/"lgR[ ăKiϧ?I8ra?M91AK4s߷m!29uvǂA0FdbYǼ[n7¨mm)ݲ;2K0c)Whzw|'mzqaD;t4Rh,o) 6 ׁ.:6&i_9ƕjRV*Жt*Ŋ ]MHjE@nB6vI-flDP b}vM}vm[=߶|3P2D8& `Y7K_nZy ~8+,9s'GM.(sD: RAd9m萙RKZ%\ ;qB +h;s'^8%0Ow+jH9umvrA{9++ܼgt ;|u L>.iŦ۶5͏źϮ|u]gWFXENG-LPt][%QN9Lʼ|e䔝Zv<{U"mu yiD=QO5GXuHr޵uvt2̠ F*aI{RVͩC|߮vw=.@uZJoi9I݆sa:+vY)}j䤣r`//:,VFuTt^&(ׯ&;yuU2ޒ4:1{H, J :krOa;o~}B ϻ3p&x6B\P ~\x$N_򠍻jwrW81.fb8VP!Êt)"nfcx^ŕ^YtDc( e^\>Gx),t $^"ʀrE.tY'v3x8H,B|k)ێ#<}/fIENDB`treemacs-3.2/icons/default/purescript.png000066400000000000000000000010401476710620300206270ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYs9tEXtSoftwarewww.inkscape.org<IDAT81hQ{$R#%A( Ĉ1E)tR3B I*fvN.\\Tpr RD^c; 8thi\c#{iK;>s9QV;[ ],NR FPיCyB6eM80O>^ (+ ':~x7^[@;{6=7er Cʛ;VZlB@(8qOhOjz (o5N|*}^VGohHnOc!B"įQ>~mnwwfn n2ɹoιp"KAk[Mvj[bxQ3}̱E"@dG A)l]o gR +BdpZӚ- 7 V_lH> bt,"pKN<k cvtlӇ 5M2ڍܥ%k) {U+*}{De.WȭUˣhLU(լ b 4L:6!'zlmhUtog802(ZS-/cxjݎW=l;fT,a&`!PXi;f緥Bzcfu# k{D,y) R0:2XA+͍ /~yXBnMPrCC4=^\~lqU(} :fT;T$ ovjbrkkLDU, 6-_UnUQbg&C\$"`S f[՝]шR0,Q cqrh0w}V>~.MYor}[W{BUt9;lT(wD/=cᄒbO{f3o>$dЂU"漒^/Ҵ߭ojAX*MwάnK9@QmjRݳ\o`Tn9|ˍSE&Gm Eap`( 9ћꝽC3ZDʑ#D{{Xrnb"J/Ό\2wa GpaDBH}(4`bz|0 q 9{J Ҵi8'*PyfaZ Em%eG>ne^|\S \+N|V+9g?K}C;S0wE8tmiJP>}׊sg ı ^ee?)v%tEXtdate:create2017-03-04T13:39:13+01:00h %tEXtdate:modify2017-03-04T13:39:13+01:00VIENDB`treemacs-3.2/icons/default/racket.png000066400000000000000000000237641476710620300177210ustar00rootroot00000000000000PNG  IHDRĴl;"RzTXtRaw profile type exifxڭir\;rc^a9#/DvX d^yTjn9[|S:u Kӯy})stg}>\(l=6???\ϱ+qw "߫3K ݏ_# ]kZ:}^w69}gu;gs]ٰ\3x`9Xo_r6V$jc?4Y[:do_VCb xL"x6ݏU?/_qsV+e"yq糦鮯3G D0eL.1[9dxk^\Y D;1.$-XJ|:#!A\2/FcT{{}e@$ `Řb*)M )r*z9s.Y8K(K)kkڛoKVZmM{\ Ï0H#2hOgƙfef_~WYuշۤҎ;ˮ~ȵN,|NZTvyuiuO֔P)}'gCnzǐc=g..& ZVaN:B,{ќVcV?Fdv,c:7 "c ةE7 `Isp\ ]"jZ/uY3i9nbc\;Yw\Tk{D>V9f֝XSs޼.,=Ğ @~G(WVvZ>{9֪P_ڬqZwK(3h3_$9)hE9k;(ST<`5Qv%>sTPK9[{o~d gטëg·pje`1@ vM 3 lzLOfz;DlVS7H23E(66Gq9H )q]^yV_*QT%_B{pTϻC\'f03h;RԽ4GCC kiPLiS!\usBǓ`<&#EK2"*`I lDtHiF$Jb]}Zd)U_B߽;%vܭ a( IxS %@ gwqDbg2䱄 u($)Q'e՚fΟJ2ʭE<+_놋*$Wͱvl+pYu{E$ۦM!'9ڤQ cء SIpsADW\lJΤ!$K̏oaWL3]6L%b#)^c.]Hĥ(% W"̿)*ѩM-O~NfG.0V3$Y#!2 :ja%3p!KT LG/tZظ"(j"L[  Vr%6Ѿ1:kj.Airw=qkcY%#cA^v`KX3`dfH dW&e? ,yXE(0bNf "Ec,r*@Q]z3/|ss3؆JʲA@&szHTh ^KhրZ~}lH*DWA*.Ȓv_\4j>[ӃAavFçɾFƂ6"Dʜfn^F@D7!Un==KGbQ=zX6 F6g)HCEq,7"@ٔbMypU.oC5c (P@ƺ3N!Yɍ"QETA~v>&PAɵOĜoS2ƙ 2HfXpD,Q`%4H~%ʼR/@hR'W"NpJ x[sPsP;aV`@wE"h@D&?t:| 7o*/F菪>7^QK;5]֒niR2['~TɾEUTb#RO+]b1{Ϯ&lTGezACd;iEle6Z$Qא`[,IIz*(2QP+Oܼ]ŖSy}ȱt2e SJ9dv:jom`ِI DN9i $(Ɋ~Ato` K],Hd IaFLPk 7VqKmb$_6r 6-ro7Mq,b#45Pg'?DGO"ق(0&Hx-ah!.GWBMlc$Sa!:@o)\ Y`5~uUSkS,rT:-Ep ,Y-ܒ RT_.IJjYa8`|yoi6Ԡ"DaDYry!\BվMqxp;kDM*w~tfBxf8+ы|ZݭU_Nqp&+0}wBu X[qW܇DzFf5tf8 H29jFQ.g"RK &Jeh'ҵOL8ZkK-^I>jC`@H`)'vjmEI1ީ+?KЋzEeOb 'J-.S:i/L-oǏR39 ~zn@; h`)P_Pe6́r8zΖ teĒPO1X;_)( e4iÆwQdeg4G҈@^ "91qoKw$Ny?IDqu_W[IN̐ip4l!6j2K듐xWĺmՔyrXPTQM@XuuT&x|BTN)nNX-S+V -$eP1mH#v+ NȘ80 yV8Й,`( D/FSOco=Ō/Ềj-m .t6v`65y? j)+;is 45y%X)+ dAUroBdgb)+ /AMR QTM{Dko^#bL<7^AGD0/Bvs%(@U̝@Uw)\S8{Z(,}~(p$ $3QB[@NG ԃ_M8 ^6j"p3j+r 9TIbd}.qwa0$Ñ:R0{ŻȐQߙ\ e|`0a0s]FsX>Xp^ܷ`o"HwlD(!C,,W20g`c' ,whiJA1^V&'01|@*Lr[Ig~D(VNXBqɧ/%[R ]cj$\2`55conأ2 BNS֕@&ۑxVb:7:B6XK5.P/.Q[)6|CAƋnBѴ8 'u<)v&GsTWAjеfzrp7MLлui 8@a\¯-ֺyk ̃t.j{0b;#AITQ3tcQ\-\B(#b;{tF)l^ĄA,D:tF&DI.".ZߖigCaU%=N"xp˕- Ay0v)X $XDĖ}TKWr[y=2Je$& MC,f>Iה $pqț)wYm>tTi-[P[%@sN:7/EQrJ P>xtmp:"wI}:"|K쵗_41'6̀,)aTx:P \o,kDRZVg^lz (lWVYyMd ! VCйFfASVro4jX&l|\-gs[e鞡ET>*q/ ރJX1u,SAɿDǠP.d i [v{~7UZc7W*K $  "Z׀-C=)3?;$Q+kwRmVBWF˔bo mWPz|^K:Yrk`m^;MDr6UMw!.f4N*`Nk2砞N%VT~&kkG^{{mRN;vI76J-8:>2Adܞ:q3&xcJKN!!Malܽy N2Y+ %CeBiqaj:YYi͡v#i a It`hoUL Z$VࣴxrP{Uih/՟#ut:gm /GQr Pttdh&hI5 z&䷎!658X{h[M>94d+_=CTWv}0'2!LHt`'=F6y[o`N]Z@ӉsT ןݠڜGoԂ40BcơFҾBLxe 1*[_%ՙ7H #>E $D Xݤ{ёK܀x:gl>-(բ ф6s~¼[yXUZLRH&Ǥ:Ȅb5,:TUm"*ZZ m,4^R3˒"NZ0 St3/Q%EHU`[2KQAVJj%CLؘ%u`RlÀ݌rF-$ 븏zHxGNj5b y!2JLlZq^wR~n3i85^'Ջ3:tq0aDykH(l"snyI=2 )j${ @J_PK=.=:-:$4;+үT=,GY@At>gk_92Mu4z%3ы`@cg'ZӞU va)PE8W˭GN@ =SGp5dUu^pYo:_o (O0z-8(QE=xM}$)F0l"5# Mљ=P գ^1V4_GQry+$د=([m*$iN--`d\ 8bύ$.UE 'zK`LX۬ʯ} =7>t__2iCCPICC PROFILEx}=HPOSRZ :Yq*BZu0y4iHR\ׂ?Ug]\AIEJ/)}w^f5hmq1]A>1,3˘$:=uRxV?+,DYf6mp'tAG+q.,̈NGB+m̊FF.Ш94N3p:0IzEm⺥){0dȦJ~ZB>7e[ ͭy MJh;}n4 r} & pHYs.#.#x?vtIME & h7IDAT8˅UaL[U}}e-9R@uc e%pk4&C1&9sq[bta&(nÔb0(8Q^{?v}9yKH8t'[m"<d{7jV>iBD"|uWo^,%F-ߴ>"M4t6* ~! t\]u1_c*InIENDB`treemacs-3.2/icons/default/rust.png000066400000000000000000000032261476710620300174340ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDtIME 88JIDAT8}k]Uks=;wfڙ2*txHV2SWj5QL-14`$F#vJ_jCh-HGֶәss{0Ӧ?d_+ =HjsYnoMB.SMG#i)]݁<l\jPӰXz]XA +ȷ2v)Є>ڑ&]F*o8((=˕y;SJӁl,)?&vnonsRr{PClFLQlyi>O`{*vtO1?#[ | ^ӕ U"FM?ZFS%}nC9ˑwENF[|Y:^{3ɖxn-`%`&jEt.Sn tKFzȓl]_{HlSz5XUhOq'# >ɵ{mʣIKSz[᭿#@V2&% =LB.7P,7yYFK,r7ȩQ >/-kgrUh^%b>@B7t?l lD>I#3~C7uclVWT"{ Sw>x/Wc-@V$-A#(+<Ã#_&$P0)Ŏx%/0V2.%eŜk'ZD|SƫZ'F v H.ʖ> Or_-b$h[i~-`JMŔïć*ME iY>iD0m:BHGu3:sF6Y '3&c9>-2fƮ|@$K JM= x" #8@"GXgwδQUO'>so1^.Iݳ +_ط*ͦ#q~kAYWPf}jqhِ4f' b%n8&=)J^0;rP 2#e^lO*}]S6^%9HZZ*y?;+5 ]g v 4 6lRz:JD.rt5+_ i?][z^+ &aq_(IqT5:taĴL!^+yi˲bIENDB`treemacs-3.2/icons/default/scala.png000066400000000000000000000011601476710620300175150ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYs & &Q3tEXtSoftwarewww.inkscape.org<IDAT8͒OkAٚ&mSꚴV[ZJ ,x,^GуP*VKQR!jd;;-SQ3yU8`aWbc`ÉXf03y n½e(aL 1GFn+E"-ᡔiEk)ݓ>y<^llȲ06k>mcR(1Qč$\0/,LޥiTVj~D4|?wuc %WL뽿q=~={nx)@/>zNȻ{ݾ?7->|scFθgw䙅:Ǖx8o4o e;DzOvz{+8#[//{]] `.c;nӟ#Q(O{^,CnnaS n9XY n}<1=z/+yZt@{+̭= V)<܅C~m}_ɱc=گ[ĞwG&c=x&d粵ر̝MtY}9\f^ǽd)(,zxGל?w`{?ej Al`^P[[Xy&@[չc+*>=MOy=H24Cw5wp8o݆DzZ-}7l^xnJ؂} 5.!mj-o/ [Q\FWuWӟ\r 2q`[ f*sNд]b\4ru}1]R||T(1:ɲy L^y 41l692nC۵3H[bXj-nJ"$[v"Ԕ4_p̗ ongd`*@\%M ӑOO-~5+PKŖ";@&ݗӒ~?*# i-Cv[ NPOGQlbn)QkvL=`w9)Ѹ ͇NH.mc'B!$5 y[ ؔ]2.כG] ͺ ؔI~yxq{!gOPX4\%'tב3Gϱbl!P ?BEbo"06TcWPzC{P"|e bKHǍT!MY 4*6 +QҔ_nG}Q_☨B8)j3k.LP &RE4r\πK$hQ(33#D JCjAB g"}<'@L4=bJX3.`pO|g\:8&<*@&P06f տ=F+r`(5oFc!2;4Yg0(z*ǫ ̋7vQ3l4 ?+H7Iĕ؀t7ZEOUQ^ThlJDZ<^" T 7/<!2qN 1\ҘM;X ?V٬1ER>[wV): MngPDkUXR(`# {P 5nDdKD;N{r{zY# +Ã>1l WT-oWHOZM'h6S]Hk'^+J K{qdGC?>Ŀf<(!A:LW!sn.kh_QaP  ̆GKX'<:^-m 6EVc@/,lUa&oYJ͋?12O.5b.6XU?~J︩e~e#w#"r:pJV4=b%׶#EQ 6BvOlH,jH2[THpIZ1yS$@]Wt6$=Wzjq$Ug5s`RGP \ʹ4"?'zDhv<6_Vm7+cє`7^|;aЋxAt޸%/ώM(iO"(JJ×-7|ocUVWs;~dH|93~RlW9?| _͗9-[J^o![P+lTo^MVOPb& &DowtͣQYgT NB/!AqGmIi@!fTt8E')R7"!).QVQr{ڎVf|Gf?($`WG;&ldL;ELIaB%F7̌Ƒ}0sEh ]U{ AmNGBE+TYsj@ll;ߦA|t&Kh<FI7 #[1=IԒ^˻-bVVHuY\_r?:%PỳL5Ӣ"jtCPT WCpmsH0Kf\17xT:+,<~lYԧVтϻmDZNy,@Ucgr!(87jLN5dӦo_VaikBxmt0w ['FG}Ek`(9!@O8BVd6-i $M6C2{Bdua߶lWW 7= {~fԔ6i`|=7 i[:|P[,넾G, Y]bA騪4\1P }>QB  !i !,OKP&娾p?G;~ G=l~#%Lq _ԉ;>o&VX_미j3`W#K D[Uݎ MX؏W$%&}io2u -R)W,ɵ Ϯvd$^ 8e1ώD´+1CVdXoEkE6Y'*Yk׹3BXê9mʡ$ w|#Rwʱ7#^՛ӿѮ$Q%FqSEz җBo1n @ٔ~sd]TL n snHN_i ,IN;P eorބ1:ghG YĔUGc]FEj]MsGF6\)XҪ!?e:huKd}du*vk<^7ZI:W(XI'1 hQ_ щVaόs ?U[4g<'7~bOf4)̟+?:4)Z$+ݮpnuB!1Ei Є[['LE,0#M̀>9XwSG,Vu&t&=vp 2{6k@@ɦC>mg9L>z:܇AoOOOzTξ͠}%N&i7:'CA<sm*^tdq#"YsKԌy֟`^6RPfAdPd%ڐ :Ĺ/#R egHԦixu" DKG)nzv w46ɀ/@a º.lپ%nش[s9b\7zzw=mǿ6_O?_aD纥oDՠҊ7cu ZD)ȡ@ (..JDY^BQ/h9uV$zYl%uTGӋpjP7t^HܮT^}}voXZЉ|%) /*7iCCPICC profilex}=H@_SR*"vqP,8jP! :\!4iHR\ׂUg]\AIEJ_Rhq?{ܽziV鶙N&lnE "z1,cVR_.γ9ռŀH< &^'ڴ QVUs.Hu7E539(XlcYԈ'cSXY+WYuHb BA(FV iO\D.\`Gd ^R$t85>v |R?Iг \\4e ٔ])HS(3w Wޚ8}2U88=rSbKGDC pHYs+tIME 2$eIDAT8˭OhW?^gvgO!h,JsR^RBoz9ă7B/ ? "QjT-Aȡlq3;;۝yEǃߟ|}a%k=\&I#s.aqq)臷vn#IZ,//rVZ^"pz3Vgv$Q7+~F$Av]ZMވ IJOMMs=]|];y=狥3/0{Z,6'l _Ƕ;c[mi.0=4=>uEd{OT6 7ͽ<Wz=Ξܒ}KKK=  .ktt=ur9$IGRkM^OҳfZ.cLV=˩8;Y+q wL1@I?q<0v;AT3{}w|?+'zN>< ӭMDO=;'+mh\Z1: s?lpH pPw[)uZ{PDth$bם%t,"\T* ;t瀆|9&e߂|5Uѽ4l]w䓁bgh&K7'kDks{5 O 60 Fی\۫Q XTIENDB`treemacs-3.2/icons/default/shell.png000066400000000000000000000003441476710620300175440ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8 A x逽AiWO&)T`PU_̟~spS\I%$M |[*N8Y'9^XnV.i,Lh>Mד[d٪`Y(,k eh(6~'0۲l'٘l,lD.G.T5( #*_QaZ=n!4 %L1c(ycЄ5'"HfJ*T*A]J1Lb$h*d#4./uDD-+U,X,T,s"M 'H1Ia2D&zFẮZT1_(aXBJ": &F ɦ'T6TKDuUQ" EJX,aSEOuLfRؓ`:t.aGt GKYlbw=Jd ?.kS_T"mquR9( x:9b::#S[*-\,`Pw3C0`sOx}8[J5[(.o"_"(`q`09@SO(۶K[2l<(E?)ERV7pnms"8SΦq|tG~X)l)ե-;} 3Gprt=(Pn.or"4ĩa %~()T:,zzB&fB ~)p5QgW7pfysRf:FB ?rE7VPuoGLqrtNc"Y ?xU몋xsq׶ACL Oa6⇍PԯW ʶt8D2 <21G'[2bX\+'j.=ex&EsR6eACYӹ ёAhBzM<㸮:.bR :1q<21: ?HԱ㨷E,;pzV4(@dA ?@Զm_/W ˨In#ꖸ㉩q<15$j?8Բm_-,eԸ(01]cx QL-Vle>;~0Nӓĸ 5Ts2~6ȁ(n|`z FH Br\WY^Oṇd(*S5@#o \@|DQNHb?t[GWgR yd$sqxx|z? X)UKgqyc+P'3J&x'&._+7TtM |}o~~Wnbe?QI>43'XЧky7Zf~~7Ncgo #9[:" C >ou :" )C)yxRuhNp(qdK^>_-, Sc#}s@ BI}UVQh $уαo@͊_/Br_?&>8=xPDMjM}54>{ A!wnu]} TYGDu|>g` _wVւ-G, +)!V?eQ 'x!SoBoH\\P߼x 5)1]ga9!7#$\U/ߘOйK  lo^µ|СW X.UP,plXR2jVСuE6^6 _Y^U߽| QW'#c>tKABDSc#}0un6tYfy,KABDwVְQ. |hTV_9{ y%3{'`"%|+ODw8Ã/rs:\GDT&>qhNs|_`rcNzs!0"q|>Q>G[ݕC!"#CC'mE(έm`([JL& 걍JU}%UxqɣN&8fy/ EPC!")is{T#7k.sOb=~s<6?\žDD>35 /?CC:Co/o]=DD] ;c#C:[T?6tDD}G} N sk_6lvQt?QP}xG /Z~:~|}.0(o\ٗ~X 1L8~ E=ZElKp__bȎ4Mñg%h{Qk><޷cZ bsYq¹A SO?1 }`$=0qIZDŏr𧶼7 OtA?[8$M?ke\xÈs?*g#;:}189AF!~:>8=ř5'7"u],_g`uC!{%ݷ<}x?]/ : ˗q/by`~w}nǿ&mxooc$OBP%B|͂veo/o^tbU_ u @mxO߾i<˥&^8vGG9݃/=.m#qG/±Os }vH?"8STE8<$N|1pm3rOU.]jgTiZ1%Y@?i'>QQT?yn q|;`It7Qj甴 *! Ͽsy۸(⺎ʦ9 `RU9m'P(]ªyQ-@ZK#c'9l..x>SEI>dǿoTm7gs-9g1s$:Q6i <_7hcUk;w:˗QQ x?gdFF0o!STl_={ QI$몿{"oQ ݯjrs? >Ç+%~Å_iO?ǿﵹ3/7y͍_0\N4N>Cv8|UZaP9o|s-'&g cf~<.,{ŵU8z#32'qCT?;{<~#* >: zЉaαC};?gOgBp闯7>!}Ƴ/ſ\d"xjf ٷ/¾bv5".K&> rY|Ͼo};AQzsgVrN]o.: )x_mXdKܟ eÙI<d&]nsk<ۃqusJVJ!'v_F~eg|ZWz`&+v' W)|,}58MPY^Dim/1Ƕ˯4?9 ,-^FygQ Έi{XYyqؖv.e-gL\U߸p[,&,] ^K^!pǺul__9(ivY Wຽy'ٓ Kpu3ts.4]0~@ݯ/CN긾U+7=\XP_ : K~}ԉ.EB^IruJ-((HGS}?]Ĺ{*X+W?^t!RX]40^|:0|u*=LPusQGZZSg8cA3Nu^XN\) @ YR.\F͑=aWnb->Es@ZB+ 5ZzIPO$V;+kAAFw^Ɂ\ݯW 25魥UO6~=7:֥HklJ =I߽r[Z䓀H'RTު]4=Qeu^+S8zAݡH|t*4F]TD&ӥHkQsc\Ϯtt3_DԷG6X(ԫ7o"jĪT~="K7cu.;Jy/ߘ|YH&#7.^XX3^MwZ 5U ߸p5[#7]~D.EB^k4s忂+YSDۨ٠hKkꭥՠàѨ fԿjtz()$oWpam#rJ5K}à8X6.MoT+v}ujV>8J*GD>njUvѺALʚtD\)BmwV"3 bWYdAD#m.P{~p&V4",JuNl#"RnS"vSq|7"C\̫yuc[\\ĹR};bED#j(h7߿r uج" l NUm|c.0 m0_(ND'\(6|!9d(껗o'7Nrڤ| ȐsKXn"H[}+Jh ]Qfy/RpUDvs[Z5:ًVax"z ~ٕ0d $L.EGDù8RBvG>C][FáseW6߾{10:fnaտBOVv"3bPHU1i`ɠk \RB3&p\WF~u _`aql>_NK~x&*]Bf+ՠ+| K7CiZ_h{{(ƪ|R?v_obb͠ "cy AђWo.氠P$/ߘ%[ek] : "3sAѴɍ`XVD_H">k+&0ZKg^6^۱kVWoD giJ)͠6m c|;$0׃%׷ o` t]٠3A@DŠChًfxN@` [kX?0e DDQ+$_)Wz`H`K~#uP"W'7`fy~| ='Zw1?&~PhVck '5Q?ZWjOG""fx}=Tn4gd_]@q~sK(N64 =UDDD NDǖZw5([ &#jRjX؀nDDz(mR/P; 1KFsKtDD^z86 3uOMJ @ٶկ)t " # /wuk oʕPk= Еb '""9NtwTus+ /yODD]!mbU}O~ߕDDMj{G@D#}`|O~û""lj#qfc}MnMeݦ\7ҽU~ I&gVVQ; CDD%#\ U[ຮ\w&JEw1Է&65(7Z(ps2o /yODDr.MKP(Bɏ&""jRpetg.ob\ewDDN{1 @fk^?,Q[\@- q^\hn1t l Y6"l6L"".4;&7tzsEQkFF x Ãu=Jt `r|0:΀͵#m ipnmo\.MkBC. ""`蚎!$w124]8 P 2ŀeuo=M~#v.FBD\6^rٴcg r Eg qz7=q뷋[ku3_r2g AE}Kuv$5GwWֽx("""߸b`9ғ' udtU?(D&%ykǓen#"h2܎rEͳ?EngoXT;^8?Et> ctHU"FFpYg+yhgQDDԏbeV(xg)"" D}K[=9QP\)"\ xqmz\Xۄ󕉈%v]\lN]eEtl`,n+(YaQ.Gٶ`JήÍpDDDtc[*sn+hɈF.T8-'ERsb[OFDDFҎnp#_Dj}fdJv] ͝mJ)\\o}7@ @S DDDa@[Jʶn9ODDGZ]U@vZo)""IJ*-6j)QTD378U7-DDD@E-8#Nmah(DDDMQ-6\s:zET2.4#DD o #Z x`TVv@O vꤤ/Q@,k+|҉昷Ya\i*{j*»XM8wd# ;'Q; ]nzv\7]ѿ^l+ku JnD+N:aY6710t#lw$űmxaZ @[J5|! :VVno@7Ɉe*4ap3_A|HNض+SmE36LJ ""5ND5ѸqDDԧ L^bjT, ""b-bj&7ŝ DZvlsNJ IDATf @ Q_Sl h """'n6:׿x󀈨jxwCǥ-eZB. 81 /Q(WBB/b㨸ak0/t:[ p:,wkP,Q~4JzAÿ:cEcۑ8_(e=`\AMJ""OVlEz?%PPS &%ch]]gm&poҎVOu;'u H&e1"Rs|Jk ?ݵt/H)[~ݾ< $TDJ&`Y6"nRٵ񼉧&g8pͶPPa*ǶaĢQ M} jzu.N5ŐIG.^+-lmC9 J%J%140\a5VU %+ MmDM*D#^Pov1:jѩʤSH}<7DJp#R *nKJ'M}VmZsvC۵ß,)pvԙTjTjp"T b+:jJ@jŭڒ^bJ{Cz:FSv Q͗|n nzrC$hT`uJ3DQ^ "VOQYX)xWQt#}yhK)H';,"_ww%8=BgM&l1`k"Mw)7PL(ԍJJ|1] 8N9D=caA@ŧfxOIS iS5GX gR)i&)Q Ul `ӮL 5  g*5"w7^#_麨oۤe-&.lёB]128M0 ec v`L៟aǦͦ5Jau]6f%e+;䕋Q6rJ= C`'?]t9`v13M$+]Ej!wa=%ВQ(.-mP.i 318m9?b ~OLۈ߱oWNՐ?Is )SU-ұC[ x{7 _c|FԠ_)4{s&~rLtF$j\.ivwUJa9ek8CX}{73.tot$6l-L 5)A r^\I`"?dI]a8boZȀC'DClApV۪6ǶfN>+s T a_Ek5<s !ZׁGG% k 'MӐ4ndV` m9.CPҁuvv]Ob֏ VP(`3i#KcB>_h1j- M6Qm| !? ] 1j5 VA|cK*vf@po@h06*6voVBRn[[N.uhrj U[bB7 P1d+^a UMLv[r]A"fِRB p&V-@i0 34[[t]U Yv+ M :'{q:F vHNkR.\7!uU6՞HEPF @W%L 嚄#nW03D I@*ki0$RHz|Jm䋥9nL DZż`;rCgדJ&N%at ]Z|0XlV)`;Œgox/((HERE\ixD6a]XsB5[W땞b@]Ss$~J@@ 7*u lV<݌Sx8 d24lo%u/x^-d)$+Q,Q`b)%24L뺐t$*'qf9 # `[2 !TL+ %qmt c.t g0Z9GӄA@24M$MPo%|G((k}M>0LYMcz.tS2z P"/0tS.*)ׅ|>JEG]kKe2@D0;~(pl 1=shEԻtMF r!L@Dm6k8r& 4}c;0ojoO(@W.b!׌u~8k11k9_h"0sAc@DD.UM]֯/l uvo䑱DDDiY&""RB7thqA[v ap(en LkBM΀qC2@DDv^vLizDDDוpҦ=fDDDE1ICkHp(t\ 2 h&4H3 ""ag۵X@DD.odE+;+LHr7Q:=ke@DDwĸ@DD Ng"K6ڙk 5DDDѢ\JR)LM62"""c u$ CL=:r;z&DDD&vJEc[M`3DDDA5>P3DDD=m'5LIJm\ 8@.DDDѣ5qqb$1:"""K`$w򏤘Er:ŀw%dDDD:֝7; ""p֝` Q]fFuD<(mc=5MciE)hB;tЈOn il/g@DDiw0_0(<%TDDD1v cC(GRIvߝ{dEDDDrl{wwN2LNI}>;gzL.뺯4M_ !&3HDDeDO6_DDDD仩]: 4"Ȯ_=e(pr nbDDD~XqN~}d1AB@""(z?D*""9=1ZuiqLDD)x x=| 漋|7s;5(Jk= lۈ(89A`꺘n""HL`Zn ( 6}M%ESM}_S x:%""""=lS-|;:{PDDD M<7t΀DDD3ChoƷ-8:2T¯'""i1}K4!g侽Є|K1?躁g9|MtMO ""VF7ݺX*{F7 N?er7Qq[3_'%b1<{`_`XiC"3m(DDA-C>[SO>p'8:<d0b&jSDZ1 "jBvfGuITQe0c{0^{4Zthc"(e˅-O||ɷ©AP/^U?[ :8 Vh2g!\pdDD!U9MN @ M!_K?xPsot(S r w~g{zizi©$Qp Gno[/cxdo4 un7WԷ/_:*$|á{(2C-[ 3O=Lӟ&Є;Zh^R"" O&³U,Tt.+FGtDDt\OMfBGOÈ]4NBh'>iqL4:$nyp3P!L}{&0\ ""&>ha( iV%H|1,D&%3tmc-Q;82c') %A4>KDDE _ߝB.>}xaE@@7 "n'A o=N# :fz"sEo0kÇOFS"1:% CI XIDATl" " Gep&gD(Oڇ:!X @D4M}00Z #+z>z0FRK!Dv3 Q30D0`$:q'/>v:0 p8R!oH&0ItZ"^qrj"Խl;٠hY"N$뿑H'ⷎD""Ua@HDD}O@."ȏFm dg@"h{~L2H8=>tMa1 QtM##?=h*[AGADD-& : L7t±ÈG`p5X!Q !斿L#!ŀDD!g@g8:2$>0=t 3 Q43`OۋCèK@}zK6=|*0|ѓ &1ʮд++Mi=y֓ $MS|!!>ŀDD©Izrz8LZ|ؕ@Igqzj/=⑉ؙ0X HD*{ٓG{z l:0vDDJ{O=}&p0r Mcg@"u#0u>I v(F[K?z4FR[wI`4_8~zvt(X9q BW ȉ9twc1 Q`<0'gj0Sc#⩙ø ~ؑ>M#F=,$"t _|taox~{tŀDDݐNtM/?T2Pi?DD]3M@4 $ C#Hd G4|GKzq{' 5xC4ѣ10xT6-~Q`_i!HDz>w8s sG?B==sw MyO#Lvphh@|!hVCxi:4Ը@[79 @DԪSxA0h“{&ćxn<&&䅳 L{:krtb)MbЂNOg< cG8 @>0=%>yh_v]1Q;5Url NEC{s,k_]YW߸x$@)TK%'DD :8zXu+p\kUH9"A|!Q!G:#w/8=G\rK2BM <3ǢM,ۖf;} E`h@UU&n!BQDԚ:B@ʝMLDMrűa9|b8-ʲmyy~`QDOrAoq{|3 5rj m\8g_b'̈́U/&Oc zBun ev$j?=k ۶ե8>Zd7A*Ν Aeڶÿcl+L@P0ӍWNi@eÔ,$ 9.69 0@ .839 "a2>6:sK2:B`W'^ECf۰Y#@T3BQ\.P8tӔז㸱`{ajQTG"xy#cQX-?X?(QŸ4 =0w` QU|)-Ő}*DI~z 㧊c@QUe2HɂA  &T5 .bI^[vMAQZID~Tu 2)ò*>]~X!;ۍ(~2<}TS 6LV}q4ͭu!mkÏO.T }7wL;Xb'GQ7i\aHN(9>xsiYriwie)Q2 +x4}>1H[o t}rdK% R>$MCFW :OD7Q%9a3GPDTFQ7F!nڽDَ;Uo0:\"+ #[*c_Q6L˶`Y2A TEp{C4@O(7ٶ-wKeKut%DٲP6MMeô-X-%,ˆR~oyCVP\ݟ"T!*4Eץ4.n>^ݼy36oތ[:4*((-Z@6mСC4i҄_H?uԡCիWW>uذaBUwŋiӦ:uR=<YŗW٪JVV =>+Vbb:c ̙3鲇c_n T/\}/\|n0 t)7J3kW.q0VBXRR saTs)JP4/y(Dqf:J2Qo/aÆF=Ov_\;VLKDpl32Xoڵk#?Dpm!~xB[ꊡ9+*$ tRu裏"(jEHAԷX.q:y {v uȉ=j={{ɤ+~H7k֬Qǎ3g=1"y[= !-9)ոw iۯHݷV;`:u0qD [A4suXlT;>tO塻uVuС8{#+*mj=z#i+dD)L_˫"5\/=ӧsΜgCw,11Q}װ|rCGnq_4j ..\ۻwo| |Cw_#˗/W  C-*q_PGoXbdH8Y\mocĉ0` *~Q\]2?V`ƈ;۴69kpkM?SN3gUƹ$t[VU;w.F<ù)`@HP0x>.{8DeCHm^{o&F# %~9.^foQoB/,?paٷj)EsSڵ7|իsnjA%{(jݟBCXr9l___L< \D_ /)))fCTjZ0qa鷰:wyrʜ~膟~I4he\\P^7FCk![N-~3*;w.oO7@(**RnjJPb0 ]G: .ðG7pe {@a߾}1{lxyyq~rr8cǎ< N>-{(7(*?j \=;*) !qzVPn],Y; C Aai#߅W'die_Gr;&L#FnNRիW +#fTjߙ7X#y\ۼMDQJc|d;ÇzB||z59=)\\q̄@pժUѼysYNYp:x`ca4= {4D7Vu7NϘ_˶|^{5[NS~AP =O\_G㲇ϫ|f͚ooo_;ڳgO8qBPoJ5Ox $ 礎aÆQjUk8vcʕ+`0K5Usk~KH'&X\X<gND8*UM4!:+W}EA*4@&oIRG>-d///,Z={f @O?U|IiD1QPz s6s#!P F)c(((OӳRdH81>66nݺaɒ%|ggٙ [nصkM^ވ1amfQljR ""ͥcҼ\)7k k׮Ehh(<;ˎ?^ܹ3Νs9_`Ƹar}PXlU &"rp8:yTJ5j yNGU;udVFx75dDd\7:⾙ jѽ0hР>;۷Oҥ 222t?MO}}e D .wF8#Mn:iӆd6oެ_.No9鉟~ ;whøoV\vUJ8֣7[pBD0(zbD<}{XlbØmԼyԁªC n?ߨb췀D 8>XKuh4b޼yׯB}u'ahtx>.- "'SEab* Ç|hcccf͚4Hpts}R]8q"ƌùC_~ڧNj}i_brvյ"rXa"„ ;v,GHW_:p~DvDDU^IY7_y 5ש \vDD*{o d>[`ƌ:t(IIxHVoF8pBY?0]Qh=T|n}aÆaΜ9<8+ ?SObaYOnԔOpaB4 Xx1zRg|uo>(cb0"海C٥ ]nODvqq5kХKΙ:⛭;w< u`2DPWdND$Tڑp7`5u ZjyS'|urqDVV.\]dT ]:&b[a)K~~~ضm~Ν:ϫmڴArr.=<|WvDDʹ KQ.aΝ1KKKS[n8]sA/ûR/٥0u%ٺݻw#44sx nݺN|oNȩxD KxGK5Ā٬{ѥ? O#&"QZY ];pzReQeff~wҗGJh=yw]64&Hwm[ty~O\\RRRpСˮqE~:}t] 6sţ첉3>3+.}ט4iWQ4>\R}'aZ5#"ZY 냲&")N.4 駟гgOΩj۶mQPPy_nzbDD7Uz}+v zS5;v@f8 7RDyz}YvDD68gv y%9ٚUR%۷UT*ϠPXXCpbF) Nͯ3ZN.>~ݻcAx=Z?7jޗ-'eMDd7\4'w?cr_ð/"1MIIIٻ;4k,Ug섶nW.a}}*>/Yd ΝU;};pQe˖(**ҴZuzX .ȡ}Na>x%vBƍ9ߨrR7n .hڏgX8.쒉DQ5MϹSVUׯͧg8!"ґ@/W~Ο?.n0ӱzjM0Lh4DDsffi?+W̙3yN<6mTs'FNDh7eKDOFvC 8WPn@}ꩧ4? ""|k;P>_>}+)Fzz}5mFNr@5}( hGjj*qt ?OhڇGx5@icڅS} ="rBw%'jօ(Xz5wι&DJJZ^=jև m^ ˵ Vj0%ID)\/f}ɓX"Mp!Mhx|YvvC1KDr$mߤYCll,zͼyUViG'bKƞօ4}zrssѯ_?XV̚5 ۷o׬}hD㏧hh-T""CFc4?A۶m_-T$.]Rի<9U}R\\9i־/N>p`РAQPe=+Hsss.&8}@Y`qF7yx{PYCv6$3%_FiV 40yykNJ+zj?%11Q}74RmƩ,v 'Hc&P4cu7jr劦7dp'D<9Cv6%iz@Dt[(04i?77طoilܸQرf{TCC-_vDD?iҾ`Ν;ѪU+B^zפ}`@÷곲K%"" %,!AZ4i^z8t\]]nv-EQ>Xff7[]&iͷ.S2ԤTxzzb˖-Nt̙3jÆ Q\\I1 e0gה]*B㚴Ǐ#::کl[A9{ΝӤm+ZLkseN׃2W,j ol6#..NT-[4kƋC2Hgn>߸qi ՘\xQ}"kk`Ω%TAK(LL@i~.P-fn W01+ E\OI9h .޾*աkwS=Yx.hJSN)neɚ`@Ntr=kC}:qřwM^]7G-P M1"aދC}$̅P7GPp*$aΩ&`OirUυ _.S7N®^֪U !Fth׷!Hg\$]׀@T+Ie+HW]Ϳ$;KXUCNޱ;\.)~<.^===qTVo/z.]T=В_`- RPKƵgotmD>᝺I sHٵ羙SǴLQںj O.ݡEPUm5k LS';uۧz$b^{d bO}h+k&;n&m+iӦ=;e.\@'{ZIKt8)Ǿןs'J_ۍ`0T1/#vTʹ Wpy2H@p~[{F>'../_vˎ:}^Zѣ&mKSe:]q䓧e75^=r'fo4/WPn&O{xLwGdeju裏:<Ǚ3g4ilO*̪t#OAJ-+&38Zp掺#EXe$Ҥ혘;v &!g\~&m4@7ރ(GʈK c-e9cޥ)TsE!;b:#q/rKŌ[a\Buw[@PچNKKCxx8֮][=9^~]BBBm,weنg闱겇Qn~5cb|(|j؇SRnU} YMǀ .֨R Ν;wwwr%$$e˖ivx힢Hcj/{(w8# );"k3("{8dT~ɍ;kWޥ WRqԃȻ lnn./8*%"5** ׮]޶/2%q~\øk"j":nJ5ivs=D0O͒= a֧KQOOOn%88+Vhv͗#@%ڽ?™Y=)Bh3(=!ArO2W5WTd"0">mbŊذaC8Tr#4 /K~]eڵ _=!B+'epu ~%Ȃ}NaSQ,~rU4k,M ļ6=2zā;L8gX_^C!Te/v~a XKqa>){(CФ$̝k70H4i;p'%ڽy_!Raw){d$Q`a8GCO?EAA6uaʌ3(L#EIFZi\XP04v}! 9ڶ/ͲJ2Pw8(orr2k% %??_9]18Uʉ{ ]B17ͥ8|`/[63_@Zq-ue@ tk o/@iibEہի=zo?nFvvo-׬]b7*_TdHq2#]w>BHhXq#{FFBgt{EK.E޽v['%%}ped_7!wT ã= q1^3QGk]#uy/P E>}Bx/^DRRn>|XݱC!F7wD=툐~Hm;tzM[ϻEC^a͔md{811~t45(ϧ/@ܢ^mgU0={!lݺn JQQǎn3PP9K& `Z16w1\\\﹭bPj5l+WR覤Iе{{nKQm/m2^H`FhgtyO*#Qmܹsvb+(ҥKkBT_yEL땓ڽOƕNxzz땘[<~HęD0F(6l@\\]e@>}:J48PT38y^]Sv }+Dl7a3pTL]w--JIыI4CkZ1c}>KJAAų &"z^vy%m>e۱k|4+VRx[|ۥVNf}U }cP3/jrw  ''VQ.|wHOOnuVvy@||ШIsMrmi x@D8Fgモ]bZթSjv3ePyBkظ.[0 )Q MYQd]1}tXVZEe={VxAM[6DpV|Ϥ8G:sr+wr6vgA_-֭[ewG*hq&:3Kqu?Ϥ8G-.)X*$4N޶ؾu#*WAuUGDao'+Bʮm HV9q SmbdxkX,fMگiGzRPWw"&%%!==߲]A9zz^p*wFxV}=_}[g̛[Ju^_@ñT|&O+n8vuȚmNvNcOB1qAɀ? oB0Z.)fFw5=ιmmuļo  į`i1 Wn&%%E S٥9-ȿ[)vsmp[GmԾ3u,dC"RwodJJ 233mnVP;&~{hDC.9Nyn=αmu1-d'ʹsp)汹Ńb殦T~Fh'ᶎ>:Ṗ0.XB#sイ-RRRY!0[ 8d=y_e=UVCZ1R뎪Q Uaۖ_uyaINRwoGGAAES=.ץG{<%t_o[8dT).HٹUh999HJJmZAxz1LUݫ;}hK_\IqrԤ%&(|ø|MmT@Yv6Jxݾ-1gDOï>egRl!t~1Kv}!B s |ję0֖]:݌ 騪_dW_ljGUΟl[0xWcmZ΍kJ^uc=o[ǻz$Z(m"t -ɿoڦ+Ξ=k3<),,T+T"am\]q>.nWw]w_l֒am"==6 lfg˖-B NlbiV3'"Zc_= ' 'tsjq?0}J^L@ٰa6u]C C00U`۸qn3(iiidgg kO1PGPTO$2<w$+SxY۾, 3&//ׯڵk6q&VPK. mӯV]ޜp%+) bmuyA6P6o{B[>(, )RNN΄;YVl*&pw&ʖ-["C#08gHa8a8;RCp7m$,6P,cmÿN=٥=`HqppBw'^# msƍZҷy#G ==]h-ڢ418GHa8a8WYAM~׮]ӧe&?hץŒ!GlaGz@ٹsAё>R300!-7e%?k_("R+008oT-mܹS9ܹsjJJ6ybHqppB≾8==gϞZԀw^m7k-$C}Fps?CjMRݻꊀ:eD:`HϐppB mڵKjMRcX>HNN֞v̒H'|v}=ᄴ O&Dnn.=G J~~z mVhDV9$WRc%X~]xJ (,6AcY$ )RNNH?ŹV" *$bH͐ppB `aP{wP,dC1VHa8a8!) *M (VU]t`}n8;) ' '$n&%;wN"Đ"700\ϡdffRjP:$ < K"'00|ZC9zZcǎ m"dB6J4Cz.kV.Gm/_a}{𳺆D8YfƎ_8ֳ~`8 W_mKJ@9~6BIFRȆ)j XוqJJ0ٺ]Gޥx]*[9ڽ.Z,]-f|Em!tQ%QPhNP9"=udAv=m:֡[f'%%Ey{{wdGR#00PF<-|xR;00PiGGӔԩSB3ûju ;Đb!w\݄yi=9sFh{>(ͬwdR+00Н+ͪ^(z.(Q.C}{F(НcHppBF9_AIOOWE+(tRl300н}%Orr2233uG׀/1{b[!PWQt (Ή {P`ig Rl#008nCu (.\ڞO$ϟ )rC 'a<΢EtqUsR҆wBۻx 0RNNH;a+(x<+1x )Җg*B=Jvv!M C!ᄴ'zLIIA^^nP.]$MC6!!rn-$$$m ~ON!ElHa8a8!Y%Ism@Ft+ )bB CA٫W6vʵkׄCʽK\r%Ƥ7 bc~+e!eKGǮ=Ѥ*&4&5+0v`‰OH I!xd@) f/u%e6ҵ{/]b悥ڽcxwX-]3]:91;d@IJJ +)Ċt0\nsqqE^O@6WNiyU{^311Q+zu kEk^'>K]`4bi6968vil~&h!"?ɸu[9V3qlBQZxKvХ٬"D_A4cDR.}RaS{؃M][ kd2FQOzzppȹ9=p n7e[;z 1?fՀ6Eb-W!v07 Bs)=;̑H/ )1/ԋ~PǰC< 'D7 v=ߊ.E_iD"1DAq#=om )a8!=?퉞o>4H13X WP^0hᄨ|\}P%77Wh{l"-1pBT~.⹥B홼60 )0s9V2=6P )܅WTT˸u (1}XS=RB5+d~֯Y#N|GN6BLQ[ź=;wl]]ۻk=Vjh9{(j ٥3;T@#xHo2VR~cyH)%sCA~C@,̙ج&!'[ǻsxnlEaiN!7'[v喓?.ѥ/2 mTqщ耢Mz Hzͥvul!WNȑ),:%.F12l"蹒rXjWN)F݊l^+))ɲK-M 93܆4HL (G@dD}lV3/XrR=Y]8i?A!K_=BU.H3\A!c+#R}kXvVw){dKDK@1 ޒQV=M VNxXv0WRȑ3EbE%"rO<>%?|.}q%*.&>πbe@! b+o. ~et+)䈸c1!{ʉhiP!(Xvw,($N7hJ 9ѻPD/^"ғ+'M Z]]k|4+tȕr$wPnêsD{`4 Sѵ{/٥߳{aBt%%BsyxOR~:2T~+'Nz>-ta:vO[Hɿ|>ǐBvr]Ӈ===u}b/ '0s9V3NDZb8!D:0x^0h!|DQPE~WP0h!q6DsA&k 'aH!=sC{k\=MtWNǐBtk99BeܺŔ1mb8!DQPE  R96J6Q1V'vG~+œ+& '!^Aa@L=MNlC џDϙzm$t=Mt[>9]7~4y_Nvv،Ǐ =-G?@ѱkͥ7z893eOAn5sřB eܺ1lϕ' ')5m2VX O7\>(Jo{WHɻCcH!Q!v=ߊ.[<)ɆK@C'q?v Sm":O> ~\RX-{w=lt vOޥx҇=$?VezP*TI/jE ϡn<뙓ękV`s#s0o_Bѱk|4+F]+QK''V\\\.h4**TuKVDęWN6_wGbb1cXj2BNG  EPKBE:S_qj5r]2V}&B !gR$v c@T :99{ 'eRRHbJsPÅWÉpR!!%*U6v (\A!1 'eRRH?WP*Wu (É6 C C +(*L0hN001/z7vv\^''pO8)АB2PhRjUm\* po8)АB(c7k+AYD5c8N00xj[:/5&T>֗D2), &9P"""K^1F8)!EJ]dEĮWP\s`Nl+aHaH!1^ڞC垏s@Nl3aHaH{{:DGG m8# q%`8pR!!EIV6tA׀RNmɱ1G8)АBw'Gvں֠k@ Rm*/ 'eRRΉ C``n:@|ˍg@pb C C z8B@'eRRPlȼwd'N#aHaHBt#=kIk1^Gp2~4'׬ؑu '>#S]LkVtM Q\a}*{eN6,XKJE.DҰaCmrN5WG%EJIdW#`XtϻZZf/O[ ܊bmb%k^lVR.cgBs6ׯ{RJBAY n跭]-f.-XEn0ʋ{jժ @B@ m/'N|Z$p"'aHaH!D*X=$<%P lÉpR!!qpY' mS+(y9|pc8pR!!Ȼp%B=gҨQ#mf;$ 'N002OަSDGG# @hPÉm2 ) )H}n!wR`P4i"M8'eRRH?Xo޼9 W 4kLh{W/EN>IҞEᵫB=W iiӦUi,u~N+aHaHgB|d%?u\vitNN!!'a mcǎ`ڷo/͔=^00 C C 3-4aHaHKǸhdN6POh9.nC5î!}t ''Mp~ 9XpS=g`WᤌbiVӿOH]+ )׬]::v큏&}ѨKW.bP dN*{wFhM4APP'ҥTW0q}%_קtKvظ~5=VEE-d~Z^Jʸmb%k^lVR.c+/@q;"t)\^l+; Ν; o3ieMaȉ=Kֱm[v~=80f(Lb:'*M[9 6jPP ipq#J.޸Z_e:r~ =\h5s]܌!O7gUYzeM(ns XKKtD6OOO塇ڦ)o]En8V8ݣvϥvd&mNC6N (6<6]t}.}@}-/bCv7~?c=E\.buk[VݣvϹog.%n*ڵkv6`@ݻ o3q3yd(HYG5k:ιs+v'1]SK"=z]Md@K2}Xw.$F:m{6]ӲGqWj1`YfJt_.Պk]Sq l:ֹnhݓy=\d键#TUh5kos;xꩧyy2`(ag o`0p[q+ _OOEKt:.peOݻnfO|R~YV8 K߮+y啛`{Ϳ|{v.xV*9?NQCʡ{P'MU43K޹yⅷ#44.VO; (0p@MڍaW[/^ωgN#IY< * *Wq^?cK#vP~aԪUKx(gQDԃGp6nZSǏ+Ϝ9ҙGb_Z 7Φ0u2cZЮ]; (A6l&msE mOUU|k(x8nЭ8vOaaHcР.3:h&>nǖyY6JF̈́w4ƽ TUNsHQUqg3QS]gc.ف후{NvywMfT-]C jDe:EEw﫪y`ܛ0?R|gO ^XX7^鏭k2F~]ŸZ y] Zjj mu ʮ5I5k,7'']at{NŮ!_+n_Û#br;ǏćĹX+']}x;Xk0hnjԨtIxBk9GӬ3x~ط'%I|{֡9 WR_#[R;F{u,@#V39pp]tp lٲEm߾v nr+ J+%:sly=T[)>hШ C+"00HMI™SǑ, 'IJJJUBBt$ؑռhD`4սvGflyaX o{x衇rAi޼owE<j</"q/+jh5s/%vPq?v}y.5p.x4xNӦMqr믿IV.w%!ofNbiV3v37[eCp8︲V; =ZvyĮʓO>HR_8Gvy#Qg+ބy}37*m ڝ)sVZR"݈SvyĮdR^{5Mھve0. )޾}[|Y ..3ba8[q=j(L&^GHHvf3bO]pqf㼜a'p {'vWbŊ~azhϖa JY|%{q[y'"5kgVR6is˃1cӮWO;LQQDmW~1{8WbOM.+'Wvu ,hǿ-Ew_AeԨQy= R#tFnPw8+'wRo '(L_m5irp8 *JTT]Czvrd8,ˇٲq׸rB+)/Adp\+Ay;曚um[Ϊ7P^qWNNQ{HpH $o0p@Uxxoԕ]p Ou?JՌA)X հ{_{ 9dܪt} Y5dObQ,=E8\%:Ҭh4njOۃM89c]}Bk?Eo985]׽V!wxz/y/;\ElVׯӧOk~w'b meCq-TgVotmD>᝺4Ӷ1Cʮ8 d:i_VFa }\vN#iק8ۚ]n]=z x+YTkת=]nF(ft Hu 6E8*R. ^aO.XAҏHu m%Y!c7]s1֧AIv&oذ;wvya +Ӿ}{u˖-ީ;_-DS">d8w]}W5CPۈTM1"dڇ}݃BP~5n-IvIN]Mn׮msCGQ7n ժI>.ө&m ߿M4q9ܡ+ӧO~ФmnX .ldMpB@HHHPkժ/މ_@翕]&ـ]svM٥L~gsS>sBq DGG;՜4[ӴGi6OS&""5㫯rp8 Jnݺ?fc""FɣѥK/N??; J3g_Oǹof.Qܩ___̞ͻ (|'|iq f "٥]ʹѴ'jժNzpŢv۶mӬ׀@

]*hN`ڴi 'À7Wx Mzv}*T""ǕWhG3 ߐHMMUի0͜ )\""5XKJ4#88'N@Ŋ9 WPn"$$D3Gۓ֒xtPvDDw8+EQ`[`@=z(C ѴD|g\dKDDCDQJ >=-BYf8yD=?QOh3w9|:.ȩl΁O4?O~z+Vp-I唛6mW@Q[.)X E4'::rO9*˗/u}w/d""ru8DkԨvOOOηw[}~z PXXkӼ/7Z=dMDd2aPy_7///ίo IIIjfpUrE?#Qeٴ 5YdkWJ~sngP S~gx{{kWi^.x%dMDdJoŞ/N/0Ā"PFe˖h4jWqVƟ%;dMDds, y_-BÆ Nb@k׮\E3yX̿.fX̿c>(LJХɓ'G ' iӦҗGJh9m!\=;.H*s  'ٳ9joF,ګW/\Rrڷp*t"")7aϰlc=UVd2q.T :tݻu-.WK'"Ua}JtYfضm/'X[Fll.<<[҉tm2ݻw#$$sxHVcAAA/0]3bsAGɖsa![8 æMNtHeӦM ԥ?KQ|'f.H3Ygb`^K_pԫWOYntZZC^EڑK'".3֒b]Ɔ ШQ#͛ծ]X*( j4dP!"ǐ] TU\]]ftܙs:(K.dҧCUE켯pfno.讹!qшE1H7\oV߿?:@HhtX .Nл"( ̙roDW kH񍪅_΃ZvDDbc ϞԭOEQ0sL 2$|%AAUUtE/#QVq(J[`ڴixW8GJ3( 8P/uzZ v '"܋cu '0ab^{5eĉi.,уoGމZĉ1f|Qt @25dD\pfg8h*?#Gh#AؘٳgC,T|kso9+Azuߩk`ʔ)xW9'~6hܹAt)!d > tW3¤]UӧOǰa8~ 6oQ_~eX,]5b"rI;?Ɖ?D~F#,X^xs bVZ>3~}wo%/F@D{'>7.^{߮Xhz)΃6۲eڣG޷_48&e D`,]88vNӽo///Oԩ@߿_ܹ3222t??~/~A^YC*tuкuk68~ڱcG$%%޷b0F+(DtwL-ժ: æMP^=}vW;w89O%?&dDdgJoFJ5kbÆ g'Aٙ {عS1yz!շoىĤa.*ͱvZpγ#˗/6v@Ico((NLz 6=z`|ggL@w]1jpp0f̘!e I~Echg췄lLpQ(JM6Ç/db8CܤIԱc~2Psk0gהvd&X~=KF'NĨQ81~x`s=|icSޝ7N"8g|4gNH7/^nݺq~sıcnݺ`0K5Usk~KH'&X\X<gNvUreYM4!:DGؿqxUo̳)DN ?q}6.:FF*U89~P}饗dP Tjka}o  f83'%ΚӧΝ+u ?L5gW^AiiqޛB!"$+n>O|EɉRa4cر?TcW^HMM=Tj]R p HذZPPB,]׿89(~… jϞ=q옜K? *]@ifQ9Õ?I(͖=4jVB990~N@2d;Cת#߅wdA^Rb?zyϏ.\:r8xW%{(DN0} N~2=1ak?x'wIw8yܠ Ծ3j<ޏ*߄عSeM3)ӠA,^111?|BQQ:fL6 R CހG{!r8l\yTEpnP _~ ///ON_a͚5lne0PMmenY̿#vt\]v bxG9/TuРAXjɄ*>/Ai%{8DvC5G[XKetCJ8' 2M-_\4hd\\P9` h){8DtR|]h/&O{MKAt%_~ضmܔպ=g^ވ\~?/Hpn7|jժqnj=F ù)`@HP! {Rp)X% pmZ;cR~!9n_*$ue4F/"#(ͬ!{8Dspiv²HٹUpnsΘ={6WM\%;n:uСrܖWx5T_T!w~[AExtŭ`„ 0t>0o₊t@ܴCvŵyd?F†6yEEEEaƌر#+=)--Ug̘wyǦs;!QSwDl+qy2$jwww3o9]㗇8w:l0lڴIPM1aT4BZZ .qH;.Y[mjܹ3+DGGsn{/ zj7@||0T}v?Q,{8w$::_|{1)$ L$\II:sL{͕=; wF]xZҖ!چ-{M=<0j(n&"$$$cǎŋmjQ FT*+ȫH A$nGƑvJ`0o߾O XG֭}Q FkJ;#n!Q܎ -Hܲi{l=־}{L4 7Atn:u̘18u EvA(沇D6HU"e$m݈;a--={Rn]L4 ]tAte6 ࣏>իWe) jAhm,^ \uRv@ߑwPUúgUV{g_|&s_6XoG!!!Ap1yxBa|W98ո#-Hٹ y9$L*Uo`РA\A㗎***RΝ & 11QpREBHܼ b_WN"Qۉ=#YX%ʕ+㭷/+sH*~&vj!A6hhz@6T>d:㇐y ϜD4#GbĈ@KH6_ AFfF2oGƱ"Ydb4 &/`tsю:ն4,owKq10j47ł\gg$3Y(ɖV??? {H)ܯի#FP:PBDDرcVUV-R>PBDD,>>^2eںukUQ_S﫧Nb(!"weu֬YjϞ=U____Squ+WJʁ@&CfY=z(6oތ͛7c0ͲE6`0QFС:txnnn}KDDIOOW/_8PZ U{.\P* =b'ĉo;v`׮]HOO=$@pp0Zjz<bbbH @ijgΜΝ;o.^({Xt"""ЦMZj`0w(FElعs':}!--M/|}}Q^=4nmڴ<+%GdԣGѣ8~8;WSR 4hpըQ#DGGw#d!$QѣGq:u gϞř3g,{hvbŊSjժ:uvhذ!*T߃D6?Dv&33S={,Ν;x\p.\@||>>pss'<<<ooo~~~ FPPBBBUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDK. 9%tEXtdate:create2020-05-03T18:47:47+00:00:5.%tEXtdate:modify2020-05-03T18:47:47+00:00gIENDB`treemacs-3.2/icons/default/svgrepo/dir-docs-closed.svg000066400000000000000000000054701476710620300231150ustar00rootroot00000000000000 folder_type_docstreemacs-3.2/icons/default/svgrepo/dir-docs-open.svg000066400000000000000000000056711476710620300226100ustar00rootroot00000000000000 folder_type_docs_openedtreemacs-3.2/icons/default/svgrepo/dir-git-closed.png000066400000000000000000000343371476710620300227410ustar00rootroot00000000000000PNG  IHDR  ph cHRMz&u0`:pQ<bKGDC pHYsod7IDATxyduyTuw>00),aӸDDM4Ez1QI"ʨ".(.YD@DQH@E@V`fgz:B"2Lw-]ݧ+OG=;TGQj&~fz[\r#F'PGM 9p{^?+"}Ir-q1$L)uc @.l?ԍ P7@@~ uc @.l?ԍ P7@@~ uc @.l?ԍ P7@@~ uc @.l?ԍ P7@@~ uc @.l?ԍ P7@@~ uc @.l?ԍ P7@@~ bdpr\DjQ~/3솷ayDzId 3G~N0@R5UZc1kpSm֮y+c$ҺIFht BoůRY@@C7ET3cn \@@ȥŘ7>:Ffʗ1o`]t Ʈ!+/gkձgA}b}fXu͌'b-k}miLBH,غv?᪦7i)~ =}1o`}&_{i_#[]H@@cs6@!`!BCǦ:E @@|@!ć@|@!!B" !!B" >D @@| !" >! @!B" >D" >! @@| B" >D @@| B@@"D @"D @@| B@L2=e3Q,{9'oà,I6! @_6BED(+>$B! @.!B! @!B! @!B! @!B! @!B! @!B! @!B! @!B! @!B! @!B! @!B! @!B! @gDćAƋ! и!B! @"7>D" oL|<%BrG l! @.6Ero"-36!-&C}1~ӵf8ED!>$B! @.!B!"u!k|DA@]C BD""B P!ƇA5>D"D @!B!"$>D"D @`yK|DA >""B i!B! @"D B@x!B!"!"ƍ!ć! 4n|DA >DAqC BD!BD"""B "B!5ؘ!B!" YÛ! "B!ć! "B!ć!X4CW|<5B$~HEȪR)mYs#I=H#@Ćǽ)_1 S QGȍ#ٌ7=VE<5B$r;-{g=' F6kh {F;w@HE!B*չ\81âV-:,%K#~^DDR?x_"}oUȤQ{-/9*RO<oQ Hz_e]Il+B^TBhpkmk/s.eg_=}2b.aOnB<&ӮDȔDbe_0zT%"B@*~Doo^Xpc3/ւd4B|D/1rӵ6!eȷbǣEg\ɳ0 A >3B*[bSΌ7iaq  8Vy7|,ǼO}5ҞYq q"X|;-3 Aut$v:ێ~bRYcI_pzFل @!6!iꊥ8==5 A >;BlB*ήXG,02& > Ha"m4 A;BlB*ҵ˲#02& > 8 2& >ZR%. 2J @!c%wX8@|08Vf?hyɑQc!@!6!e[EZh7 A3BlBR7? zAdM@|0,|훣a'B DZ&m(Dp  >X b5C%`:u!LfNKw~A0zG#],w &!GHFτ @f`|d e129Vh "0C,>:?EP֞Hw q,Y %v;D8{q,h-%"d &Pg6ͥ} u(RFds||42JnR-{A40"@b]5]tCZw q,qIcȷDZv~8%@=&!2CBۂE$lBKLޡ~y3P I$Ɯ_1F*>bh]P|G!4Y8%@*>jNRUf$B#X56DDD tukm3&8Vo@-c࿥P*BrK0h !TpEChr"D >(zx !C4"πTdp0τ4GJB7*'OMhvٮBF׬2!c &:6AWjL "D4a|&mxcP mrK4Q|8vEy*0>48h<ÿ*="BOǮL׷F~#zw!0)c ǮLڷ!y 4 I3T kAP^8%@2oְcWϮr -==}AP6YC[b֠y44HGg,{aPI6L-_mF?>6!&DdFpSbWuQNtv6!&Dd&>H:>믺 ʍXzi"0c-QI|H3àlc DZ+%cDHgg,= 6!}8iaA= _>$BǢ "DRc8Bv A5Y|0mJ믿 *gBDLᾘ5 V[yJ l>FFbݩYT(!B Sα+f#Ū3O<aZ8%@cWTc?2VAT!baPDZŇ3EߊǯAT!B,D!fz0 sǢ|c  !AFilcE5;/bxaPDZ@Uz"2xWⱳV!B,="P~| lA\q^<#1uaT!ǟlq,0pQg.~{aT!mB(X`raAٴ.֟X}w4:jDHK?jBelB3LJ *)b{g}}l ib?&2lB6&[}pl>hR?~yabBlB > W1r#& ل@|3@qx({&dC]@f"@L\OʷwҏfBlB >+bf G?+B DA"$+.$"DC|O,=T DHnD"DM[ "D BD`GA @'BNA @ 9BnIv#^B"B >lEDz!=E B >LEHZ! >"B!! >ZF""@Pr '׊.Bxա 4_DBL"@̬'E&i DH# sF! srA ;B! >zEȧD"D@L.B|:"D!u6<>b&%B"/{e#3ȧ?n~#hchYK!Z/|wOtvE$ID.tš(lMctգ1zeW>wGZ,z4f|_@##"2!Oz2Br˞m8<,w#U11xob7D~iHo=p 2!i,xّScth|{{__uw/w{߈ XkwVؖƮ_<'vN#iiiy<>`Fȏ2 w, [G۫.|P!getL2>|0#䌓bט$/qkDHv=`z6!D|||2^wYLR%b'ψdMۄ`!_;9&<4~ȿ/ #2  vfl=&\-ݱ˿~4@'3l'>l>F͢I _7oF6 ^,lB4=] ![MH%?O,9,Yf37!x-1DZ+"k' c,9첇adόބ| !?,6{N,츳adό݄ ""G|!g~&37v<FMst l0#&" wNbD0'I:M #1o`}$F4KX{fQ]wY8 2!Iy/F4W|36!F۫ -".{C ;!A!6!Yc} ""}Z2(C^{G7Dv9Fu3{hSҒAD&3̢ ]=շ}e k-EȀAo&ByAdў|\Sw/W!_sALW1gAdUGLTN) b2?W k˛Yi#YS{d$ b6!1^Q(DV%_ 0%F `+CYWDvu{Psh)$uq!LR4 K""@K&7fx9LҬ "Б @j1Ij{_F &+I/7 +&7zE0Y~B29\5S(Db `ey־]zA!Lh=m(S=k6Xj9L ~0=5J`92,ɕ @MڀL&z= ҟ7;bYVJ @M$i&2CtvKv6l0F%0腋 Bw2,G|/&u+]Hsn/* VsP$e-no tgV))@Z(%&wg$>V0JPq`rɻ*@ϵdn,@O^n<&&@-0fPQ3n/@,ȷdE:>nn`D*@ͷTIj* E DV1M @M\؂LP6BvwR53n0ÆPVBV%m^; `[!L0J !' hB}/D*4}]? @ uDrm2J2)V @'iXrk As(Ъ"] IzA=<Mb`"OC(f4Ғ]SfKa 0jWaYW `ʌ[bK t1D5/AdO1 hB[:fG17n2ItϢ$ە\)9C]id0+ !sF[Mǟ-@I c Ajel@]ҽ5)qޗݺAuk^rBgCK7IݯY4R "X{׿-wg2QȖGZL"RLіX׽/(x45mXwf-CH޸G8/B1m(sGlfUWAdG1M7y"@lM]sE6}( ēQ6>AdH[/ E?y[X>_\H =7fʋ S mBa ;~[;.7oHݯ^446|1icӎ`?֟Hn׬8m.P+z(tGiI1Kb捱L-őXb?ra3 K'ـe ƍ-?GLl~ G>ng->P1<]nu׿5^#Yiګ/5xKDž̀Ps'!"McbϮֿz]?Ѿpi}I#˾#]1:b-> BC'~{u?C_=|]>Hr9 JcO1>ꢈƿ,-7Ʀ[nMEGD"zyn$--Kc=~70u]!@д֯#W}/6vvEn߃mc}se6{ND2R}cc{bx/"0g!@SQ\qS )"bcDDɢ#pQz"\{{ƞE:45  @sGHI B*12EbϨ yC:#@  #dP"ćD|!@C"ć!PC;D3ŇDLc|lt_D@ !@DC|@ ! B@|@ "D B@ !@D@ >!@DC! >@|C!^G>LU|tSF_艈9#@hI-/zE}1ѽ۞3%v#ڻ"p}hh5P^܁ "{1E^{Ϩ5G]k/n^q^ŢEc (tGM̚1/Hf֞XcceG/}*J G6cyhxYC"|gl|Υ.~#/mlŇG]؀M&nc? ̽$ 1AEQד6uc4 2s;'|f&u{t9?.*3;>l>T̻;~ v|h>jWL5fd}bɧ6וN~(_6^lBq?zntWAo$Db33CԛM3|αd_c86` Eӫwv,ėwJb{9kŇ͇qicNECd2o] q,Cz>{ߦF{#PpJ46!׼l]LJ͇ =")tvŢ~ Y8Saλ$7?kIva!@!cQzn ؆|GGtćcW ǢVf<F ^Hx6*ñ+(Ǣbۑ/GLJ͇hqJud}_Gs{BؕhTcQB!e0Q_ ||8v%@Xy/n|||fDZ~9f6`ؕh6n„\.z=|^ήApJ4k89(Z{ L>v|xC4;DZ؞>B:!pJDZxsoC@n{zLJ͇8s= - x"> lXTb"> L:B"h'CBK ñ+@ytsB5] *DZWR0jnRͯ)3x&I4fǮDZ0@ZZ ܦ4U|xCP[c5t|P3ǮSq& ACf~,a!@q9 BLJcWMri!TalZChpJPqd#Puk Q38V[HŢ9T kWB#ƇcWX+-cxcD*>t!4b||#8Vc|PI| EiH`fi; $u|ñ+̌DZݷB%><j,{ѾQ[n4FǮ 8VHbl(-Q!qADR*Dñ+@6Pۺ &*Cz|8vv8q#gי$ Y818}|?45 lsf|8vh,ce[zelO=1|@4f8]}i 믾$ ]!@ͮwǦ[ a|p /Ad1>B4G8M}~5q_tG38V6<_~A+l?2]!@MHFo/F ~ ""MXDZ,FV|:V_x tYceO4 : oćcWX3|ѷb+kۺ%Ñy#d!>B-6!5՗]>L&=!Y`[kxK'E\ćDX~M^Q*c_\uyñ+p+c7}]1ƍ]bg!>BP ݤ^?ZXFFGϟ?EB|| @MH"dccbӊ_43ic<}1Y`Xsw#M~[mZ*S46?+}=ֹYS&${JwX{ݕJ3nwqo IZt6Y4BO܁ Dj Y04_=)0fsl} gKٰ>}*3a ݑDs6 I?6OĆ+. btER|t꧿!B2xͱᶛcӞFks{aBi[3~"0? #;ZcmyE$ ɚ}~8tvYyTs^ \.?1qƭ7ؿ ko,~߷ܰLou;#I>$r^|wZx~r];GTh:2c+d Yܰ~ g/”iYÚuǥC -Es)}[K1ttl.B^u;", ݯ^c@ B@ @!@ B"! >@ B@"D > B@|@"D @|@D  @@C| @@D  @!"D  @@D @! >@! >@A|"!@ B@|"!>@ BD @! >@A|!@ BLD @@ >@A|D!@A|! "!C|! BD!@! B">"! B @">"D|D B @@@"D|D">@"D|D B @@@M! B @ƉLuFGD{^z1ݯYqȐ:$)]y#IukndCGr@)\1_#H޸շUI`f[v;rI|w4@L29&MshHl,zYID ̚گkC#0M/Fr~Z=x:W zvMNjǥ:i$z/vM{OD$$I/hIƿ󕷯2u@ݿ^DšFkH"#_bxF^}P`$JώH$#X$ѕѕ>q0I2QZir}i~s^~S`Zh1%tEXtdate:create2023-09-07T18:04:22+00:00 */%tEXtdate:modify2023-09-07T18:04:22+00:00|^(tEXtdate:timestamp2023-09-07T18:04:22+00:00+KLtEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/svgrepo/dir-git-closed.svg000066400000000000000000000016551476710620300227510ustar00rootroot00000000000000 folder_type_gittreemacs-3.2/icons/default/svgrepo/dir-git-open.png000066400000000000000000000432031476710620300224210ustar00rootroot00000000000000PNG  IHDR  ph cHRMz&u0`:pQ<bKGDC pHYsodEd^bVZz?j`ʥSϜw[#ݛ~_§#Md`*ѐs`}qt$L@+|&"5  @*~ @*~ @*~ @*~ @*~ @*~ @*~ @*~ @*~ @*~ @*~ @*~@}h6HRɭ:5&A-=|$LXY_Z` G:gu(ՏKH P&I"Vh$eQA$/ @܇iZWleQ$MΟ @LV?ʶcG.Gv6^b 2Y7 @LV?֕Za 2Y(_q|~Idl}  P&ɔ36@@~?b|eQ4gAd|@@~/f?sId|M L P&K֩gλ$eQɝd P. @LV?*2/I"5@@~/xtZ G3KI>_2 @@~TdM_2cG49f>k2XȦb P&HүO  Pz1d"<6n 2XHWRh1d|IĥM&(Տ".4@@~T'SΜeQY+(IGǟu(Տ$V?Q4ix=&(Տ4E,0@@~/I[96Gw@@~Ts_g 2Xؼ$eQ$i+L PF[,LIyQ5}ˌ PI|I`":?0@@~T(I>124An}u)I_e@-)cVX`pKAuz*O-@{U1"duduF9,@@@kx 3=}DrH[[":" }xQ9'#ٶ1"v% zH$1*QEz @DvGim$[6Dt9H1Fɮ[c&F:nRDKNwW$O<ɦҠQɞΈ5K#Y<&Dz䔈 Pz#y|i$>X R)-#ٺ!qGG:yJDG @@I#Mk",7?K)UGwW$}Țd=vA=z_$Onp jAUz,?|ZB1G:sXq#$"YP$:!B^Cć" >D @!BC" >D @@|" >D @!BC" >D @@|@CćD@|@@a" >D @@| BC"D @@| B@@ćDԿf#L?s^b @-ǬD\hu!+JbKc ٶܹ)+ Qϒ~njD@@D >! PE_HeFȷϞa9#MR+! @gFD 2~W3d;(/>@ B@@UC B@@UC B@@UC B@@UC B@@UC B@@UC B@@UC B@@UC B@@UC B@@UC B@@UC B@@UC B@ >?[ B@ >D"_|DćA! P!B! @(e%>!wGg}( 0Vs6﫯B~z[PsW\j%0Fk/d؎EelBCE"T%>D"D @!B!"U!j|DA@UC BD""B P!ƇA/ys^o2!8Xi4 =цl=rߛc{vd$IlMe{"bH֮?+bӷϏT܌8c_pP4"YP$֟pңΝdt$IqP!A$o5dj:@""4YltT;>D"dP"dS}CDt*"rɛVLMKN3"~c|c(DA1TxRD؆ >D"$MR۰@4!":4yR2GF >D!G-7煆JMS6B!BDُ4Mn||@|B]DHxBLć!d;BW<Ϗ1Lj:@]^4ć!d>Br-o1Hj:@""\6,!BDu!i)ggC!I~zqQ"B|iܫ oEX.C BʋoE'R̕ ny=E"׃9  >D!rsΜnpt<6,!BDu!%۰Bi"@ć!A$ފNdMD#"DI#^/60CΛsC{cH֭0GH.bN$~Dw#wh:H#>2""Jw;wFiyQ$tܤ_Z00j6@:'cxN\{ElF;Ihr|hVh0)ZM#F^^苾OFߦ'gy(D IV<O${?"@ItqI)"@ҔeD__xb4 Qy&D 1'Fi)>{~y50 !i4%|ɬ>g]/7Z!B!='P.'퓏CgѻqCˢI'NFe}Dĝ;7J|'LG@E1fr4CI6{÷a$VtZv%BjiQxmĘDc "$Vt 3ο/"V-||[\5Ũ&&_|Y3"if(Y>+zO\qܣ͆$Z뭄u޵ġo}WLߢėH6$?c%V^"vzw5H+۱|LȰ7FD۱;sMq;ο4rn Yݎ|P2_7/"3N_hradAk Y۰kGU"JHEZnj/02X!ic5 BˢZQR#b◾m'zWq$b׬xǬktϯ@|]X 졣}X1+VB2Z!i|OYPDx)!RaDŽ3Fc #[gQPs ⣮#JHEG g]IHc\j% i%јGF1)|a~D$ːj6@|#JHEF6>CZ $""VtrĘh9vAd~[Ps[l."z@|4D؎UރHkk3VLGXVw'5hlӏo{Adyv,j)@"|hRw 0 _P[T\d⣡"JHYG#!sj%@fqފxĸGCEзYDөH@|4j؎/M#Fw #Blb$uQ#+bD?~l_U/ϘI}bmG#6c!C#A ܩ|!M`nc-ΈGD?xlCt&@""\6,}ǚ ,_2+6˜3dzMD\|4I024u S^c!>Ndf>5aUhOֱ L^rCN۱vU1 a 2i%D 韺'FvF> I"D 6۰u"Y &;̷8 h~xb;<}{$uۮd;: a k xXdМ0w!v`MvRs!4nL$ zۮxmd@JE3hgT۱Ƞފ[|H#Zq >v@k!VɿY uF>7n0ovCY Eg{ P"Y#>ؿK a plB=w߶I۱~j7>lBŭwz(S7_+@*2ecwDKn52m}g!>"@ʾɿbu P3ץu+mua_SGGrKTpϕljz~U$kDvUt\a}8ik#.0(BnMk#aZdA&Vvq^A b%D`sϣ}AG̱Beb%D۰+ P__l*(A=s^*à?\@LJmWT(vuD%r+!T!c 9n΂G"zazۮAT!VBBl aPAgj4BX BAl 8GD:}*ƖKΏH qn0hn`nIf8BڞZ *  2$%>֯d2`H=|lTyg,BE3!dj08aZuwǦ_RoaT!mcQX I8"JpЮ+]QcV>xާ!!cQA؎%@n#bCչhJ쵆Ab;yvچA o1<дƄ/!Ti;ySC.#pNFly@#s}τPA؎%@""f̝_Dx[PY|x9YRJcyŶW@lbœeWXdDĵPcmWd3B}galR/*MKkL¹"Jv,QVtX2ߋ'zv: c s}֫ #va;o. W|lu5eYaTg%*vɟڞɡV>3OĆ>[H }RɃNKkL8J5F mXLJBJүƚOEa+!e?Z i)Z+4†5OV}@}ii }9Ocà҈r|>>"wćL^>XgH9=m1VBB4XDD$^J</c%JHρψ "y=PÏDj%dZeIDlt+P[JY 9Je7F $/y+:`jώ&vݝoʵńӭPYX iHćt)6lFHKkL9"J$Uzbua+E": $V  B%B^z"@smA#N!T\䰁!uE B38CuW||V B~ @D ղ|[Dls@|D"ȩ|!M>@"dAHr%۰@|"D BHu^YrAloM#tA|s?/B!$/ފXQ BH`@@|"DY,A "V:A|"Dٸm~H6ن!"̝>1B2 ފy""@jz5z ȸR[rzM BH {"Iot$B!RlډWqDs y 5t >!7e3B>e9a qsj(>V`D""@jo Ux+:#dǭ2w=ι y9َWqDS$Iq Bj3B!z oE^6DHDDs=:zں#y ՈU~ !iaz!;;HK`}SgD/IGG˘|uܰ$"IH(uwG3 ;E߆uѷ~uV,~i<ٳz.ԗν6"ϋѯ}Ӑ _۾p.1_^DD}}gŞǽ(ⓣmёkmXFϚuۍYG]#ގH8 >x Kc/F|Sumi _C;]ææQؾ-:u/9o/IgEV#$WoG$i.,r^(Brz >ؗCѧ%<ҘoHZZ;! 5` 0Z|5!;n8~.&Gl(َK\/%|Pscm7E?4rhő߻*_&gj%.$xƇ c`2v\L<}^LXxi41@蛱 )3#"8`ć [Wόde8q7~oxadv }#Ms.@r+!e= >3HaVVB3 Ja@~{9y33!׾9Ǒrqdf`%~xmD9ߟ'VE B.c%L#h9fadOͯmL=}ᎈ9eՑ LL@acbKy #Z^ mÂr~g|!_=3vk(SQ1싢yȞ] )Jk|!e;VG#}+iJH]qs<K{p֍z 3czxLE3E|Y!@6,xع=eHhzY7כE&c 2!IRi؟Bo$(hyk3!y+c{?lW|' Asܦ["bs]"z{hRz 7d)~/%@Ѭ~/'YMk"ٶ 7Κ--1s_ #Ҙk*]"@}>io;n,~Dv? @ԓtqDX4P0VB1zYw r#GDV; !9  ,Kj{vGi9<֋ύ7 iODv`VmX~Ή7_k4MiȪ$cOkCIf sxKz۱ 7Ui4E|N si4dڈǡd7ύ7Y QH "ez82h WW[6@?u!C1-1}} 4#c4 F-aI_ ʻ7FDӌlh}@yh ?g)ӣi$ȮW ٯ퉈c4df4 #in1~dCjr6\_KC*"v@? ;C(SK_nnT2HJE%4Eeg=@hq947DvZ: 8>_;h(ݝfOfFQQCekk< 2|w_&@I᥄4X~?"CPHsAs 4E?@ajt!dY)&@ɴB˒4Nt 2CtvGiYdfϗ:C觖B2CB2RoEfOM>^hDV#F A[l."zj4slk\[AT<$Ff-dw':h&3!- !Y| s7y1@ۇ j)O Ƞ?9h-OFdJ%3q.2fqފxFkn~5'='HuJ[ѩÆ@w4>Bfe$F a m @xsf# հ|[DlsQ#rPQ4J'?MфSB&; JSS^]RE[2}wwt)@$ɕlâb(ݰ*u䞙?kxzMDLz6\v!T:+ !O ֟$@"bf>5$kGE:HߊG Y!doE9 *%'eSu]cOR_(D6ossϪyyʴoͭd L]fU=I;d؆EK8;A_BѶVCAӣݻ^ oE!tQX} {?=cSJc \IMcOh0qտfteM&՟/@儹7D145G:%MMfuKv}b}tzAd˚BӇ!w/ F:݇tƉ<Ë柿Q2 S'_֡!/[/>'^!,:#Q+9xz؎ ۿ"-7Cms#J\d%>H?L$[Xϱ =]zcEcw:mWˋ&!VBkb?|0WߡwXǣ_:ِRNJa#Js6 `lHK ]~ӵށiW>H9xmD<~e%ƾ{?Z?o5>/EfC&W>HpGDn}[Xl_Ǧ-I ;w$}}w8`問?hvy#3 GdChox^4v/Yt^syx_!rC۷Ŷ/WĊG#+L\\)wI(Y(ĮuO5oo}w ?EI6z릫#CԼ,xdsFtPم]\]\M㏌I ?51lHUˢ;EQذŇɠic0Pōkc~ȍmh;hv|NͣFE9+=kWGϊG{-QڽˠŇU,NT8JwŞ[{n>xGSy¤ȍki_ص#ҮQذ&֮tOARovtcwDhӀ~DH,!]GoCѷ!hLs1>"| oYf}{}79{BW @s !@_#d B@|A7}΂$@ y DR5Iz!!@bEjCTEq)xc#ƇR(7yzF ycDt('>I6 H&k{"&CT$u B@|j)Z@ |~}Do B@|H"DR@@ 2в$"6d%|[A ;ѼDWCTKo1 !ȠN"n5 !HuN<߆"T\d Bqy+"@TDVt!H$DR-kͷE6@ SB&כ*\6,!Hu^@ 4N!)"7ea4QljAl_6 ›ƸI{W<P?rItOw?ڎ<&~֣Dcdv9>W|L< 2f I} P#b;ŧċ~>yFGDQLѢWٿmRŇɖis?+Mj&b;u鰱1.QLwq=6Ǝ1/>h{,7l ۰Vn&VBȰa͟ň^suĘx7OI[HV>Hy+:MJYŘ/.#pn4=CxѿD8d>aCd$i5c҅?a|Jm|z0SDhPc7+!Ը3cE?aSfGL _#.y_!@mXP7+!ԨG||auJr῏QLm|zӷ7@jc%“b_oĘ7tRN;CDcP7+!ԈƄ3/auw==[ }6,_ѱ"rxL_T+ov!@zފو۱G勣e{b?-LwPmWL;XgP7%۱|1iI0'չv%@EDךdd%*šΆA넉q't20w+"@ ;7q"*|GonD<7F)qR0aC4"$ Cb;萿l4m؏16_m %]1 Mv,Ibo1i36F {J4[!{7/۱} Yy˻1+ b;IۋfE3 b_$mm13~ݶJ>dff;ɡy:-t8mWRBMv,u /2{(ii_LJss  |ǟB?>-MO(lەaߦx쎈bᛜXT io/cCW uٶ+܀wy1:lǢLaO_k)#>|!mXP/b; {wY?ŋ 9uض+B?xmDor1%PIh;Ŗ5] g wD&u!c'] /So۱xJc2(CV>qn&u!cy= 'B#_Gm \>HLg4b!4r|v%@_.ƈ۱V>26k|š#dP7S ivCCkJ0xY9"4H؎xj_KC]'}CP_6۰q~mjck_Xv%@$VthX e})+1w}$"vNCzz ޯ] Fq)@t}EoC(n}u!{|v%@%oEƍ۱;@֮4Ȧ' ^>!@ZÆw6 C#ބmǪu"-d!u϶+bCog'"n2 hЛX{l (l R}6z+j.^a(DG s]!@jB[hYC9޺PI] ö+Hm9>_۱AB%s[!ug> +RBvz{~(eeF̶+HXut0{͡ Nm -K"bI!cՅk~Yz𾈢/˶+H6$|[сg}Eo]sQ4~ !a$Cފ+Bl1]Y鏾-4>ɞbuc3nceΫ.H}"JmWlN"n5 97w۱2fEt>֟O{O/o/Blʬm?U_Ei6uɶ+H"7kͬG~b})ub|vɾg""x+,[Տ]|Rgފ:a;V&x4_A_Hz!ceJ=_g YvId۱2gǏ/אbgglHYvi }DM@dK)M|.z6kϟ;p| @|~kac,PÂdAv'dom4\J|X@4[сJ#v(n\Lw~zmW $>۱2XmOm|lEvplB4is?+M!JH"d͊pGos}#$닍/]9  ÄlEcݧ2:o}}v_nV> Dx+:p*dJi8+"4=+u`n5 +0z$]Kdc% cٟ- 䕗ņOM7?XfY@t?uqO$& !JHtXWѷ!-+疕@dC_█pP:NH#K YPXpl:땯C6?m}2_}O#qt881r a6C;uIN4 6!:b{&Fxr$-U|rMcʥ++#%C|PC9#w35$dA͸##-MIDH>xol~:|dM?ɵOޑ45`L۲sɭ;ouZ:rx =ďuI/ٳ>I˵wu5<ڎ#$]Iߤ=+z=]7/^|r8_ i;d]ƌ+6MF=uKQܱݝiǛ6nh[ޕZLO|`"'(".!PwLƀ@! >@ B@"D > B@|@D @| @@D  @! @! >@"ć@ @! >@ BD @! >@! >@ B@|"! B@|"D B@"DC|@!@ B@|"! B@!@A|! B"! B @">"D Bć"! B @@! B">"! B @@ >"D|D B @@@"D|D@@D#D|D@@4B @@@! }EED{~bɩQdȲ/;5IJWEĨ=I|p%;z ZO,#i5)Eӯ^rO{]Z^IV4bQoKG8+ !+f4#bB folder_type_git_openedtreemacs-3.2/icons/default/svgrepo/dir-github-closed.svg000066400000000000000000000021721476710620300234430ustar00rootroot00000000000000 folder_type_github_openedtreemacs-3.2/icons/default/svgrepo/dir-github-open.svg000066400000000000000000000021211476710620300231250ustar00rootroot00000000000000 folder_type_githubtreemacs-3.2/icons/default/svgrepo/dir-src-closed.png000066400000000000000000000553141476710620300227430ustar00rootroot00000000000000PNG  IHDR  ph cHRMz&u0`:pQ<bKGDC pHYsodYIDATxye}ϹK]] ZHݒH;v3ye&92=c=dyX/㟝8شo YEZA=ghQWu]u{yul}<@%Jao.K%^{yo!<GJ=4T$u}Έ9@`˕:?"fT@-e@1 @O@g~ F?z=a@1 @O@g~ F?z=a@1 @O@g~ F?z=a@1 @O@g~ F?z=a@1 @O@g~ F?z=a@1 @O@g~ F?z=a`0"0)>5OG(=E%}T@`F?6=G~_R@uY{@`F?6A跿BǦh }׾ 0)YZ  _;[?0)K( ~l_}w? 0)ff( ~l_:{YR@uVc 0 g5XяMIߟ]J~G~VVя͐b-uяӗD|m'Jlxod* y>e؀яӗ'?DD0)>5'> 0q4U؀яMqϑƗ@`F?N[F^e؀яM?0qi'}2lǦxߡ* ~F2l&׎( ~R+ W) ~٬7 ◎w@`F?N۳د+ ~l$ٳpM!APVяNߟ]Q`P` /~0qz͞T @ 8}YL%6`=8;Oܧ 0q$U@`F?Nۧħ@`F?N_濠 /яvϑƗ@`F?N[F^ex~$~o1؀яN;{@e0qw?|  /яӔǯǟQ@ 8m˥NWe%( @_iHTyRˑoWx\/@tS<0,                                                           1e%\tsf''gS7"UtbI@8ye+:kDխG|k4dEDJy~KjMwOf:|r4D;#1H- DV48zc0Ӿ7yp") C-/E4/?[EzЈ|$~9ODwO'ZDXcQyb47xVv{_݊極zyksv;:g(?=#Gy]@FѾd%#Nvvqr4/WƣH:yO>ӏгN4޾|,xl$s^3:jFHwIݍƻd|$ѺOEYQI"ZDJ䥭;n9dT*#h\y4]N6Սm1D<H뗢c[<WYT$]2ED4߼͕f1z=.}1(F햅c1PF;1ᝑ4E_JzAqކ6U7~ּKsٮ^>qlEڱr- "/GԮ_օms[xb'HnC^in{_GX}!ٶ~lw.D6c%>F<W7_یf^:$_}tF>V]Xs!:g  |gQm!:gW<W6-+`&ȏ,f@oَ,Vnφ4]yŲX@ >=i۶;x̓cB%}~I@6{:G" d7o*֦׵K۶\sˑ󚢥Q};~cqTt^݌- D/^W1ZȦ|rD9ɣb/o=$"S]KѺ+d:}bW3k>I Jt%8:tL$b)v74H{${'s^خ^wD IGqNmyIT}#""yul !BPKuQ}xd+e'}F>RFtx{HiϷnq$@Qq1گލÒNI$n$`,z.D6OGL# WϢv|t_9ܻ gٮWt~GݲsZ.&aMer|wޔU'Bܮ\eϡM~]0ЍNR- JD}K Gh]XW  gvBv~NGv~ZU{b(hkWCT_ |IcsNI7$$J:dza݇` _߈K*O))-{۶KTp !oG-LP{)"K%4*(ȷo ޗ*Nx4vB,u-G 4eLaNEWJKՇ'Pkc索vBdcB@qǻkg%WrJJytg vO@ꓣn!vn|Ҋ} }-/Qa1Zoh( ~i"яSj gb*_1 a@6Ӊ;"e0 #YoYy6:aL5*2qdv@OgkҟDN&rBtj+@_='cWxHHLc~m> {i;"]0!\9 }Nucy)D}b*Q%xZIZGvFj /J^ a'Vld`_؄qr}bgDW99[`Z lKֱn&ظBlGHϵ~qԔ7+F-˖@kQy!Nex|^ @wFb;#F庚kQhD(ZohDڥMg8kW#2dV*)$>8cNԣvRR@qJ4Zߺrc^@BI"](NZ~wDZOͨ 6G)5Ѻ녏fcG'ZhMc~^vub#V@8ƯGh놏4s؊nO+nZNGY,VJ >Fw|9&?S E4Ћ=plo&*qBwϢvBtn+I=Dwtc΅!nSywD,|lm)k-yD:WWnwF1'z{$-~c% x`L5a-?' HP3 I11m-S)~b.k 2# `uhGG-)ʷGcS;"2c^-<8I3ۏDƕG#659ݰyEXOc1[RL7Tb R"i&QhD8Qi\|$ϻo QZ#""kOWc6ҾqlYP@ 4u?_϶/])=3Xn=WvBd ><̓+j^Ihxvw^H9&tAYOvn|®Kku!}i=gM,L)usvM_Չ;"BAƲ1sZރH9&5>=+` gMIdgTu#Yn]ιvdr|t|=g+1qL$+/}@>D8A'wFq'z!GhodZ+wF#1HZ{6#F??_'KWXvo\jT'5Էd_%(5EG&"کe=a"Wl*Qv1rw /M}&)|j㮵EZK~bXPҕJԧc;. #F«!}g &겏WHpګ7֣v&uq=W/E$$F?=GMR$9`MGZByM3j7yVgIDmѸ;떩vFDztuNBUb]ýJ 索vBdcBw]u땩li݂V: ұ ?jrF;jwlD+􉼜GhxC1 +i3 ׮nDؿj_uYKcic{9c$ y]t}X̗c3QG!@L@@^vi1vt62~< 9Q_7*1~L$GQd{N$Ib;MsֽIضm?i8~L5NHdi9wuLEӭ[&n;юM [e]oاvDdbu_W]G~q2ҕR4nE_'L`F@ d|yk1)ᣀ{ c1vTD^/7.vpCfԯ3#v7d}~Hxr4fk#Pz#yݿC`# Ph넏u!|\ww:HM@4Fb34>#.hD%AMKWeCHc'do'H`SCȳk&emz:5~|_a@h\y4zej'1|wD1! t7|G1qHuCXs>L1b_j^1~L G' VjhwϘ俁lW'V8tW1لUXq)گk*fd=&3c+e^K;Xc#@/H[Jcݛ1 4K]X;{]=,vtc'{f[1aBҷ$y'!Ņ'nu+L$?3Ua =M#ijK"3,ZOVn[lT@+LܨL46k`gcҜn9;# Qn1Z6c>=Q~N37LnUJDdowX^+|dQe>گԺ7rLLG?t`ҟ!#>^, @oYn[n6o*1~wUGa CH;wFcH[snK1MT7VEq{q՚YêHL?ɒΨ>fUuCH% ~{(޳no'VlwjShh:!-ԭu'cjRkuIM-NR[QqjZ1I۰YWUTqш hMIDˑΫQv1roclxathzKW"*Y~v^+X@ܨ<֓G~z9RRH#iytgQ^P@A_ i0 1/N/M3+ҳw&r=W7vW/$-Gr[v & #_ } c⮙HukE3lS+{J!놏 KQݗm9 R)&1e``Gخŵo(ƺ4&auVv#bґVw:?tL׽nq%>F-v|9&N>`!}3QިbϢvBt^@;EVuӑ,M^)/%x2t#?6o!/1Γ l?1v7_Oc4ܢ٠] .,:'g觧mZȉTΣvBT7M=; cV<9l )&AD~&|]IꃻYVn[lh=b/l,~O?̽m$\yh<P7b+ _+!'`?G[1Q/#\x @ oE=K_&tSQ}d\-8)ٞ/`yb~~0䞻 'uJ߹aN7+bI#dWs7@jyɎ7h\y4zej1vt*@]?W:_gqgcnѺ녏ZLG9shDG@]3^EN|n䑽 7DW&?*Zo$" X'3XG1hlVV‡~9#1Inp %yF$>kFȫZ*y;͔n6{]ऴ/hD톥3!b3^%`k |%Y_{^]m{Uok)n=E.*xZף~R}ɔ_7-: z)=S{-2J#=;`p$˗qρr.OJ~凐Cg&eIձT=0NGvF18%I~5fHww'گm**# }B9k G,~T6KjzU_O*}()^/Bm&{ FhP<8D_S+>AN>>cOE~pz$]կP6U5 s?^*d<8AYQyr4?3#/ j܏Ψ>}` .٥^}ӑ4/iRDBDDNb#;m2R\ I-ݠCs{:9[698&}QAU1@ztYzwMG!ɒ zR4罋Nݱ<Wh)C_6w8RgnN{ <'1~|ݩ zǗ_{(vcwx`F6h6_H}*'9|z;tI@l7b;ذ`'g |dH{`GDfw @\&1h\oS6^ W^}t<,~&wO 0$*OU##":iDF* X&SQe!:gXkMG6IĘ:BmEI[c4E>;~F63l/H}r|Wb~+Sa?q@,V*_0 cYܱ3|$z^㑬x=bUe!i%.Ї㶅v8[y_ 0dvcTCY6Hls)r,O?n9/|7/ +o$Uݶ65JlMR+隚 *#[ڎ-̔2 !{:Qu!1?{vD׉0|qo}!t#?2] *<t"|Ȣv|;5|\~4,1~L$BȪL'Vn[ByW'@G"r^wi\m@`ȥKiLm$# Q GJ\ OkV]Ulm= 9Z{#]BV=̦|BdS*B¯ғ`{|ycmOӸ#Ž""RL=5;B/nb1|oھQ苑XBjiL;-B&rujw¶\;/, kxw>h1qߴl !ve X+XMdV8l+`U1~tYUbօiqIS[A+Qe!򪑏5.G]K[[˳E\y #ʓcjz,/B -x&Q >.Gʣj/>`BȎ~HZOKѾ]󥈮NM ԢNcGJ?"E6%~z**_W5ChHkYa?ؤqi-o_>־Uz3C65}n2{k'G]K~SM-t'r'ؚ意h\kٿ,v-BF?# Y+ԯX^/ t+`qWqBց4hJ LBZ!ѺH/nҜ Fxr4 'Af%Fd2FP5Cr4 !DdۅR$Mz/<^xbD~QY_| tN=|.JIց>_ы>2Ʌk+CHRxX>W,GMZ$@vwXxKW"F0}m?]=!I;{4LJ ga (yԮ=kOME[wZ8@U=cK CHp& tQ#Y=@~'I떄C$|g$>1 !k߈5B vw ?(n]cM8^7!B?:IW-V5~RD* d1+` (|ݴ5ǧ.lS#1i!dfԮ_<߁<$݈t Ǎ=k\7G!j}d:Zs^3/!# \듬8I[S*"ˀt"ٮbҬDqᣚG햅o'1Qzw!J}hZY+ۊW )ly~$|dYmX+||H@!% !g~ӂRpE߀0""8$|,FLcuJb(=+| @*1~t$M5C- WG挀gQ}!gG3=>0J^! U!vn|$SBb/.PX+. Ĉަ_#$!CBcHUMNn[|T)lO-6A>m _La+$4eٙ-3ܮV=ݺ٘ױ ӸMd;4~sx+w kzNGi*qP|9&d-kr|FBrG4|iUcwD:@ !D◥e3X}>I!DA pgX}^8Qw:' 0uZLwc'4}}v{GZO"Yv y+l9Vg:EC !nk;"BUwoG@Y }뉟G k:%#x>-cS K -D>!|>&Z _1oF*5}QM@uO'jwXb9^G@! !4&!ug~NQZ!|K p >iVc!X}@ ct҉HgvMNO>ns\p#'1~t mUϢv|th+v7vU"r B>Vw:YxALc;*dQeQ4 ?'(〇Qe!׮W~D6 k(='Bn]BvȦ;إ&vi!*|ceO8Qi%Bȟٯ`UB-豢~a 綢~Vxc-| vgU!G#4|zW/|"whWTc3‡p!#VQi)ŒFlyͨ_*ɇOE)!dU)Qi!:5 ?WfԮ_> O>^.nU!Qn):BΓYw@+|ԯYH8^#1‡y!QXYQv):iV~G:ke7~bD"| OEd^5@6K'-!drR/B$ۯua#Y_>FcS6!w`BHا=d㥒KO i)SWZIh\yTXC1B= _GT6'!7 LEG'Ƅw!d;qX#4޵7b3NJbhMQw kgvІNFѺXLJˑ'IT7Rt:;oJG DX+|<:_Tmd21򰑐BHGu: Jc#‡Fd2FP5Cr4 !د_%$EIljD~Q@%<8_Blh޲̓S _7+{Ghת{|3 #De89y9ۉǟLzV2G4&uJD^axNbsڄ";Fc>'|+wB׏=4k7#6 ߀0}>WF> P%xגr|X#@>}Ilj߷K~}C- LEj%X'|c4>9k !g'{}ڹQnQ8A_@@BȉoDň0ȏAF]+`AɣvR_Tʓ‡00!d$>> !BQf)"B^k:[>[DŽ`CwGb#;#Z!vR6>.Ibz+7.EVvg! YycB !g~PN&Ng+N #ٱqV[1 > T^*٧wXGR8.3cR=;k\:L"woCFk-T 8&ͱOOgZ>"ٟإ]h6+K"")tM@߼{LC5;">fUC`;\J{,%I3d_~v&yh׵iIQyJx%@N^nH>CH<>o>}rW#}DƪXrk\j ڭ")*SIh졙sW'I<INS7'g:ac-n!.: m[csF=+QzT=(&塨di{XӇZG'"z hf7W{y}3l>:s HU*+f>@B7_1oA򼳯u#NS yX? ESm-W#JIz}m}z=q )$7"/&w[ߛk@\fz(ƏxK+osiD\-ʞzu|u߈b OEu`gRȓ_FA҈ ^GPX<~Q^=esH"S B?#kO~up _I"ɾQڎ?]Eц")v\:W\@@r`#vPN{O@RYd=vDqPH~yp8 @;OoE ,?w{sr+2|$k8l/"^҈y찅Rަl_;ʈG,z4'l}VytDt;W{GrD\X=9y,## MӞOBNqaDͭujS>,S' !1FD{пkŞYw_떖un'k#rk?p@8r"RD{f6<"y!dY$G $":."bqOgz,w㮆WY !o>>8^r^zq6}7P>sI] 1fҍ" EO@ $yQGٻ[y‘C`52T""M_ħt{άГ[<7=XIC@4.}[zwDT?g$ߋ=G|řɍTqSites8Z _y/e;#Om[CQ ||Mf.[x:Oo(_xw@[7R9WD|$>::++FHVf}]}U*!I|O>ͤl'Ⱥ `&oM:/">D,qU}ܟ98 [=_ȿHooY뭕#O:۞: WҕfuP@(K?jymFWۯd屯3m3r~UD<=8>jߵ| mKGZI=_ru`ѿGG@,|݋oZGzytxG;l'<{Q⿖w˞_~UD*!̒^xqu͑$SD4-y3?W=P|JܯEOx} jޚe#m?XDSv| }M^ZÖu&ǝgl&KwF$߄I[8[W_e2"$sIh#UIҮjrkӈy OFD|7VZ.qsOkU<?]@$IW0Y",@{_t@ȋaDt1U@ ?=9PC PLOGĹ0-_ICb: @1y_r#  P+p孇w$@Xo PI$ă{όb?S?]*wHR`BTrs:H I^䏟D<Id$ @di?Ou Tnɞ P,<~t@Fvc" @8wiθ*:  7c<$ qs@AD<0#W|/q0#d(㿉fW46 w]i{q<ߵQ\ԏ+q ;Ee$<S~0Kع+4 n=DM"D[DfvV"4G=^|˧$@d탇QH@Nė)ž<.I"9/Ob:4Hfg#K^._]6q_ folder_type_srctreemacs-3.2/icons/default/svgrepo/dir-src-open.png000066400000000000000000000637611476710620300224400ustar00rootroot00000000000000PNG  IHDR  ph cHRMz&u0`:pQ<bKGDC pHYsodfIDATxi\}zЍް/wFQIrVeL>O<'88X܎Ɖc8N$8D2HY@Bwc}߻nU3/ Q@7}r{V$3?sɆtQ* pW֣>7?G%UTģiϯ|^F@ *Rm@ @(F?@0  P0~`  @ @(F?@0  P0~`  @ @(F?@0  P0~`  @ @(F?@0  P0~`  @ @(F?@0  P0~`  @ @(F?@0  P0~`  @ TeXo~2ezdQ k" X7מ  `/R։я1һ@`X?k' 6`?  `̯]O!@X'F?m2[{ubc~|ϗ)Ǻdzߦ  /^ye2 N~r4&e@`ؐ}q:1ni_  ~k)ǺYc:1/K@X'F?/ebc#W.ubc/S։я şyU:12z1!o=O@X'F?6_ gw߱#*:1~_UOO@%@XF?6d-@@X'F?6_EB ~lxe(//Sցя gM@X'F?6_,e@`ؐhM:1!fϋu`cCֳN@X'F?6/׮Sցя &ǔubc#}g_~: ~lL F\㇧_  ?ҫu`cebcCx_{2 ~l(#K!@XF?Hc?GTu`ccJ ~lȀ[2 ~l1v>@`ؐlQցя 2=_^M_0z} O$r|XK~9*%Pe)X  @@@@    @@@@   @@@@@@D)P~ZP@@@@@   @@@@@@    @@@+y=C ~P/<6K?T h W(0I"=ϝ8o!J6cu/\y醌}8o=2 fX֟PBzP>c@ ֲ k<)i2f*P}YISFY)"O%rae@ 0Ӱ$)%>;]1ʀPziJߤnR}jT 2 H<҈ z^, p/<: _2vMoe }#>ό'Q :s:CY(~MR{+}=xMֳ4BXu$k Ӱ(1tOيtQbFBQ a! Pi l,SXnYk!`Tt?\9zV]WCq=K[5y( ց~ 7(-iWBuM{ƵqdyU@g؎RҴ]MdhMfo;V/U2:j⡡^_6ăC4w?UT =bQ^JiP_bSLEu8RwJX4,8@AKbO<Jb2׺e#A u@Ȼ='e%}ۦܺ4xy2 DJVYY/6QY%DHyqK[e[V,xX:?\JGC‰Ҝͼ*J+d{-cl>G~F*PWz^(9ZG@""~̏h&>ʀPIb떝"dvp I@e*|eY| _ɞ'bBŞeunz'+ijFQ:H1iX=Ժ6 <w|,c 4d -Aȥ6UJ@xol1!2߬y_n PIbaDJWNӯ 'j3LB1@H Tt8@R%-P~g:k)B@z?\JW)?I/@ <⣔ d4, /WďАPZNEDس,M@xXc׺$nOʊmrs/X4ᑮIzn>cU?tQ:Ha;^B$XQAr(!@Tt @) +:?4D3@ tDѕ8 Yƨ_xJ DFVs4 l[ܞ]$'(@$F 2d@8.XE䄤$M@qj'hzfWϓ@;/.Iz3RlՑȓDpFY+4/kT V d#/)\b\&(T~ <|VYj7?/UiѬdd$[PbB^֝ό擒Pޗߢ9EV͋Z:S;(P:UMԪrDn/&Bn3:g2Iw>X*UMԪvId, c|r~e4 !hnהO+S}XV[1Ŗآځ-#HhV*{ErQtJӒV41UժU]ぞ?|ŷd!K"!g=3lwLJWD3{'עk-2cz>5IM>0喅M0-ku^cjԩrFDx%'e| 1^@R !90hh>0*ټ hA=v#k=zl擅P}YcF4耬/ZM7TtqJ<kUʖł݅ U6 E{X)"p+Ӱ T&t]%仕u~ \G?2i NpҰ}"4,?9IiB)F}~r˂\_A{~m(Ӯ,n߯IjxPOtNWOB@9+}fƲ>ҧֹP\bۜ0y CG@,ǭ2ijx!Dy*:E n'}cZn^$](X{CGF3Xa B@qd*}  gX?2 P@^IG]o}M7ʺ@#״1[̫>a}y˒4PNfQk/C~z:ϧ  ddҴc}3ֹ]E_[J2(RYٲƴ@c5А)R 2  a;^(9 Wuj-ڶ ,Vqm4nfϸ&T#CAH֙i6Cםۂu~ی )!꒡ۨnmHW?+ӆP?z>m4̞񛧛;x-tNӈёv| b‡ࢭwEU3|"/ j"߬` m 26ŶYҴ}Il H*xV{-&wܮIůMz.Ѭ 1*ٸl,|W4x'CHO?7!34lRg3h淗r S|KHW<+6kLWC$YvF\}aƽ~ ,@i*:֛E^0  ^`8Q¿ٹhX.{K=~/PQ՗se5|OKyNEGŞKN35I bIWm!Rs[D QODJsFi~{v:/MOCg؎keAa}d#ڔGXije|L?$*TEa:c6gJg`Eq@6|fhf50_ۉ!l# JJ6")dm, w{N ny{VknT Sߴ_(ӯ$ŒI tu^W3I$C }hZl+ߗXS4IYT݊P%)}*{lSr(!ā#hhʺC"ŋ~BhUlYX:H]rFtB_Խb2&xg} r@b+A(' 3VVߍ&R 񹪢_C߭vNj|Wrг^&5 YCxH*z 5J,:ŖVm>ܯ ]GԊiXޗh6`aM<8D!x [ i}[yְeQyʨ#[=/K2MtY?2b dLuכ)F,/_Rb/@Ʋ?v:֧Lu#=@\lNEPHk>M1nc˷e= ~MJ D:F͗:xn%5xO~mQTtvJP6ȑ~-mQ9UAnӯ$)1_멚U@#md*| Jm%89yU234 i .wtTon@\_.)1_kjɂ\oqeean''Hqp{界}P U ycZ_ߡJZ׷Le"j?K^sinҫ߾L:}Tw} tO1rhԮ N=x {jS&`}Gx@s&W3#%8ѯHH`Zٲ}&*˥U Z(=Te UZfwYM<8Oܓ=OF)$.0-S4!-<+94mboy[3Ҡ;eBH.3{5YmFQHC1L3;p]t\/uh cHk\9sz^g&N߅ۦ5zϾ m0 ~Ay 2g\x~ 0G(:wvblzq{$>_)V*>Ŗؽ-E S6y_n*B =+ahu9DQnWyet{B]k۩+  Ujߢ3@V 4uM#WHyj*g(F>:wc;U齪a!SkOδPK_@Sl,; m>g;,C.]nIGqfjFy sb1Q Hh~湔Ҕ$SkxK#*uڧh9;]2%PM`NC=kOnKZVL^MR$)F8WJ-U ńl0n65]i-!a|N) =+=-]~YCz)FÍ8:e@~ Kpwӕ6)Y,3V?C) ss/X4'bZٲc}9E13Օ7hRa5Q\/93@et>L|BNSl)C~YCG{HS HFYS#U}EKqOUt%mڧYNM<ޫtub@+V9!M 4|(Ɲ:Q']1lR%p|UtTj~=x J)7%IЬ!hXV,P 4pR ev^S]nAhh[^&Tty5xWCtܫ i@_e<Ŗe~&N5\ka!麦ŎYA)S}f 0qf ['tΌQ;r:=py 6M `34-jx춒S`^)Y l,L=p4o;M<U%]YNIAɟziJߤ䒍e5rSt X')/.(y>#j?i J 2ȡbJ*\sgHI/н6kbޏe5r yE r55I wc^'l/84oUNRuiQ;Ԥvqp,dUmhj_0;'5r Zڦ-)Z5%Xiqf kjrYh5qGϧt̞qM<4$G`vaP ǥ^e"*^E1y aY/VʔÃRy8[5## Jm?OaiQ,kȽ~GJ hnh 혢9D'9dcwwszDWvr߁_JW(dz YDt_b,Š3R^R8ďw'SkxoII)"k؎(XFG)04Ja:g޴Q]|3:֫-O p*:P2UabP9]ÂR ZkQ|RZFmT 6%>|UmlJـ='^t&J_ svzNg%'$ ά(l QtR`=CYSH9(=Ɇe S]KrjRy%+NRtG Ã?J) Yv@Y:}2#kj}c &?9Ewݘ?ƹR^e( 3 .۹4_nW;ĕn=qUp:(Fs;'5R =b@ vc] [)čHUN֪^E|։9#Wr/dNE7T2=n 6Q2׺@1EtzàbJ)SV,hX, "_Dp#?F)r#j?GU4VNRun_oS|iq$5tW b@nݞ2zq~4>R1uާʙjQFUۿ&$S穽$ <$7c-Ʋ>APw/tO)H̳#!$U#w݃p9rp%|$2>ڧ&s9g{+.G>,f=ߥ}hH[(dK'Hb9r*_ǮįT9U]kL_IG!gOmvj !麦YAEOO Sс0wW4x,˥fAgo^^g͗:r;zF^ A%1 E S6_oVۅ2'l,<NM5u ;$+BfuNGѧחN@wN`^ w0g\sn;.(<@xo_Էg6@\?Czu#/6{,1g\ސWGSۅB1g&_d*kyz")6euNÇ'Hޗx|ywxj?6X#8>_Hl\ܯA2-o$Hz~^#Kď>UMrn Yk ,@/ 帶Aw{G~rǩ@WB,!Ӷ5:3+O[IEqz*g)F*_{>J)/PpXF#G8-~jbK 5RZ!$Q齪mރZ lUQ [б>4,S*fyr"mJ` ^CuM# *<?I)31/1ϯIj^ICX:OU$ͮ2g[km}kRܪ?bg[7H%P1 ȷd:bs5]r<̳mܮw84"?@)ѯHbO4 OV4|O8RYolE?Se&mwʘ_*B@$]yaZV:f4|H@1rh~WB.~vQmݽUsp 51L6I=6wxl}s'RXezNߌ4d? 6̞qM<4$>nqn)H:(*uK߉㩯tH FJ%{e59;_٣: q}+Xmqt7cH땯o)61 ϐg5zvLQ\#`ܓl,LE{HqG9.Ǵ>Cٌ^M\hO)QXAA4pU-Qb/]_=XE:OSd-Cd7bg[@JP>*O6б^4ɥbJ۾_8=?̓_!I^S]i"j٦g %3ϥ$}Jw/Sޒؑ'*jqz">`[0{<]ء-#k/ϵHbp]Q:E1rW=2 nB%ivJqdS|&HYI JӒUVYvr6Wj)PsVϵ D\ #<nou^GD) ,U6a_oVۅpsG'c[~Kֽ<d xZkEZf*@_o цSWtUsm{ͿsrdGZuD k55/S`1%ïu|,k .TNը^6︳fg3&ϝ8o!*G4 _l'Be?Wmܵ*uګ ۗb>Wul+JzBd5fS":@-]~`~rk>g@|"i~4!ӶoSl5@^So ؈H2ST9[E1r{ yZ!8(V9!)I%PFkyȡvQm,>Թ} б/upҝe?KqŞnطʖE W69_kV;d8eH@XMؿU[wrnJ4~W PBŶ9 :|C-tR zawd|oɪ")2z@PҖZ4vPh[ۙor}$%YmPǙ=2mfߋ !wƓ&JJӢF^5bK2. 4Q 78z/]5rF*9H"{MN>Ŭ)JMv"Qx@# JILA~%+[S~$܍4,3mFUN#ik\o@B^7JA1 qsU-3|z!:U5hsg|ڔȩ( SamTNը0"t|AoQ]bF`?-l& mZlkiPlpǧLƗ2t9P+Xc׶$y+T.5~(kj}s qd !ㅻ[gYqw:tB JtvC5.yY*$|HLG=&N5\k-2GAtuj?G4/@BO[kglZT3@1Fq| H*rʙjuڧh2F1nzH/\lXfH:{T5QCwH- Ё|/Th}-%(L`>H xVR@%s˩.Ǵ[T1˩pG6Q"va~Xk}R$z YpI&U_жS xt "~T2Bnֶ1l U~;s|g[7VH}=>Tt8%eKչz-iH.Rr-A#$.x]u*WdcٲڡF;\ oXO8RgUQ [NӬg_gQ/tM-;)$D3l rP^q#ܗ[5no_` ^83@"iA٠JboS3Q3Ghx@8(^GXo#@Bl'W5*P3{5gI(t@ 3wV7 je\ ܎IMFR\x@Bݞ2zJ *f{'{l(*_A4p;p: V#]:|HR60 N$EˡB"hY`cFAK U_ Y7@ÇjeK1?Gq<ցlT5^[uX댄 6=8nZٲ@1|.e8#iJ )9! unM#4$>YʖE!Iq^8 㵊Q !imV#]d=FBHb>rU+1wSQLBS - JAdei!NA?c)ٰD1IB9Ȧe*x0\__HDQ+ZO-.@6Ӱ`Y^Ŗ!JW4xW*gʯq{$PE;~XcmF==rlz0 CG$V~O.*,dD~)Lb e]J ŞeuJETTmB+k %lE m05+ɑ0]$1LÂ!ď[C6>B~:Qu8(5?'va<!$U}c>hH?#!CYv+qEQ K9ڧ .L ypŷtJUBVDFCz_ZbW(`hZ~bH3z|~:H+a4BHǙ=XV#G !شPM=i( s~ӆIOٽ .pp*:J:b]uMbFB @N~[S|1NCbS6o]5?> N7@)n}k Y#hoT$ N`s>mkS]?*#O`#}3+9 gm}k7S5B#H~>\+tlV3)ĚIv{(A)u ( -;Ua5 휤~MJAb3#bm$=wvI @"rBRJ,B;jB!0АvBgJaz|pojqWɟ("?⒤WE;jmk4kB@׭8`a1 q1SxgB=B2mjBYÚ /@-IGhHlC|K5|@ )DPniv ~$߂?v3%uM|B)"@.tCƾM%Pn&=l"l~ݎ52?wMR(8eZ.vR5m'QI>t#Ď9‡IuOf9,ezZ&YC1n1gBs^ie<# 1g"ݮ8VOraH]$b?7 l9BYenǤ&@?0*Ӑ1iJZ󿦻riH!}YISuEolDYBOiaBHǙ~j -t2VyKkߗۍ@ ÍjCUOkYBHI "U`:ŶYQSKr{H9Ii*rW3Ҡ !kY؁׭8?ҕt Vkub=OTӥʵM* !mw[-juBHr›-cvaG˺b<||Wx&B4uM#&0-@v麦NU՗}- E OD-!6k*!Ĥ?}X;|t_%|z8[cuRoxY*|o8G^[-,BJ_HW5|D>ү-c~n*j) Ӱ[TNרyY !GD86 v; %qkG;nUNP H~)0l B~fLbbiQ#w^]),@@1r_Ɇe*|Dqf* :u#7VV=cUYȑ>,p5%$e UqH:{T1[M1 qGϧtJkRBȚ!qYCGe(|ǖPBxFCGK"Poz8OsU>l 䖘9ٹU~EG !.;`hhN#U|N !~ EJb27SSI( !t*ηWb_uY+kX>#EHs:C%}qh2m')Xv݆m*JYůIjXzo)]EX>Vg>G,cW$|>NUl!{N.:~9mm9/a /@g5I eu-*5B;͗22M"H|paۅ@nvCH2m6!dx/ԄL6)=h=u+:k m;V/ULjIEy-גMo_C NN,0RsY*W^'o'W5*l t0BH(`"dpqR8qz*8 mUId4tWzY-x2А%lqc?&|@JD$R `!$Q=%~e5rRTpL*Ѵ# LUl:O%|@Jϻ='e-t٣jF>گd(& 8}99nXHwh^LOP Hi2r(!p_j!rb" !+MJtF@Jr˂+>Vj#/KwRʝc_lYOvrb= 4rVB @\ %>FzUD:앗L)q2O4F% !gwjf龪Q 8u#|-8$&0j?Kuc2}UKZwBXlh5ZcA)ӰM !^۩zq Y9Gي 5圝 cnǭjF~~RoRraj)ƪh -R2*6mÃ# 4> h}* ![ܮ͔b2팄lnqtF?;&5c-7h$[=/K2b'!6!d9I)6A  p M<ZjNE BB2АvBUv_ 墙=㚼Bjni BTcV VypH&(=Ka9`>kjA! XKs6d wtBaa e=Ŗ4C%|FcV5_n+=d T(+m‹iMSjz?!d#Rn+#guD`w<ŠiX@!MWՍ|5쀅˜xpH3)&`L wsQ+!n5){ݍru~ŞeuJ!r[{5z ק_I,@w&|mb꯲!faP{s;9H(HxY?:@>8 B8%6!d͑BH? yY a c h~4X#8o}s{qŷtJQ7Ф7vBVS{l@!d-~ןX`U(=t] ԿVh}c)e#aT;@!HTg L ] 4z(ƚcj(2YpZ/$a}Vc!*ق7|u->VOmP#lދ>*9֫.V&B$/g V‡H5-mk ;T3@1 Ly.%T(:MYyt]%H2H*CA$ZnwèNUS iX@hBD-!6[!r ^_'|t_ǪlSǹݪM$jU8W^ѵB~Ѡ,?JW ^(~lYksU9YK/[G>] #jJQ9]{8+a +MW)[q|\qec7Gqb>VTbrmG&x3OR <*kznwXH"!K:~eԾˑt4[F&iӝ׭5I"D::rTmjxv]],)!؋ږL`M;e^&}z|,mNk7VoalQ[`ă IQUfߗ>ƌ~{j@9SӒ*d^k._<` wd=eI* ϼM) :<$ RU> r婦mvcH&=_sG4*.*򊤽TcƘߡzB+yBR?Xl{lJ n/@%=uw,q Tc랍<$^($^ LĹ% gg?`#zY6*_󲑧ц+37b$*x9q9g[]ez>oy2>;w#Q=<:vR@`h,=-T=o49 Pq1,@ϗؙƚKj\zzzw@BcG%˖v|Vy_ku)io4!|m9h"+ZBJٯ^kv'XP$O&]ؗ$jrW#KG&F)O3PUM[8wokX٢g~X}MRX弟M=C% 쬯%sb`y1v3W|N[ }sy&xNRXgttab@=3ǼYJމO:ٌEd8 7y8گH&) &S)*YE^VTۇ(Zܓs^g%) F+'*!dMG/⵭Hp{5=N%n} @?eQ[X_a[bmuǹG$8Xv꯫[iJH1G۲!wx6l; ?7 kRQq4ږ?9x=Cy/Z'zuk?4ie) O+wO~b5('=x1_`~*/{hQ@5@ R]s]Z>T싨<׸Jnw 7 vvIG{_SWCݦ~Z )56r:fYϘ 7YS]d@R !'~bHzyWQ%LEMu/X/QIV @ OCY7?wO PR]fP@s@Ebh=Oge0RE}cB"R.{N]v֘-5/i}@CߓKʔ=[xˊJzҽ'fWQFkk n?)h n3-c58 u*k$3)xqo/)@)͖-_2?1?$)YE/.ѱkoHʖpthi@QtMuIظtk]X>I(H~bbl1lu>QFo5ONӐ BdIqw GO5Iх7H M1OO\A5uIOKv'}3}xLn.w >Y=e/xg  "&$ 9ԋbو &~Au%| >~Pt"'$] }Oz%5|q: ʱA͑>2uVċ B%yp|TœXnX5MHy(i!ĭ~F>襵@/ %b?()[ }hȚ?e};@nSCaɼK2ѿ)7lIDz~:?I:+ʁ!3cG%V/eT~BF'ti]. cj=>?M+p_5?&i%-7|8,gVTְSRMBytn?42syk֚'XO]KR|@%%ux_xCrěA}(=Mply'k◌kR>TF9OPGǮ'?%`oH~̑o7yf 2Mbw]|X2/n%-l=5 nsAYy?,%)zwf'!}dl1~I7ӷ_k ; ?KyY)CuORI@SMuqs8IV')OE'Gr[s[JfbɿK"1e~O$iVʚiMn) ltwi{iLarD^%@p?PRXNk>Jݓ#$N0zYN@@ z.-<()MX-  "/@ @pDtI~G@̛4$ageӯ@pBm;%5|':o 8º}lZhH\t}[4$np=N v8} 8"=(ɸ| Z_)AK B1Qoad-  aCFF}@ g[Z%ոvX l`<` kU-,Lђ 8@u^˷uGD ";;()  O++麣WI'+.҈ 嬣\@p9u@p/y4I|Wkk)~6 8v<|/\1=Z W0;rM>K K2#IZ+2[96=(c=it6=%IBzyA`SF-@)xZZ$8KC>@)I:c~,LdWu@(5orzS^/)ehJ5tO~X"_ƨ1:4:A Pʌl{H'E~#TD/@y kHJJOhn izH㟱VҕS?¸@(s%w?To鳁1 shO)4s鳒& ~R]s1y?5+}Pw5 oӇ'.PH.gZ26xF OVfN*0CT Im_%tEXtdate:create2023-09-07T18:01:01+00:00%tEXtdate:modify2023-09-07T18:01:01+00:00D7(tEXtdate:timestamp2023-09-07T18:01:02+00:00GutEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/svgrepo/dir-src-open.svg000066400000000000000000000024221476710620300224360ustar00rootroot00000000000000 folder_type_src_openedtreemacs-3.2/icons/default/svgrepo/dir-test-closed.png000066400000000000000000000637201476710620300231330ustar00rootroot00000000000000PNG  IHDR  ph cHRMz&u0`:pQ<bKGDC pHYsodfIDATxw|U3$$$@ 2&@$ƺڪuaϰWk[~Wk[B ad{sٹ|`n* 3`'1p~4)MMr gOǺ/**$P@8 f?|nH^@ /1p~8C23`'>cb@,h8@ (  gƻCV gGyeS`'|]EE!1p~4۴٦ gGÙүI`$΂xahUnb@,h ,<@,ז$΂ُ;lFDN=(( z>߮#Gʰ8 @hL^$%_{̘![Tah$//_Λ+G|J80@CKS]M`PJjJ f\j++  U=GRo# P@|uZ=zǎ)[=x A͛zL\eq9z 0@hc[`!HjO,I4TΝZ5jj"H4P}͕=60@hݻڷ0N#G[@DЪQTgaFtBEmK4TCZoNѺ?P1;( *)Q*۴0N~,TBLZ;V6iX#"1}ZL4TThر*^0N7kx0@hp >^B-]Jm!R C^B-]ʁp۽;aX 8pL!@ ,7Wٶaŀ2d(20^\T)}{ $R-,Rr^sR@@%{tΝs^gdt`uh%hJ1:qp2D֫P@( Λ.]6K*rdir)[7Ӱlj9xʾڨ BpAD2fP=/gv6:|EhIGRhrb奃Uy# S&dfJH/ސʩxJC4;l62o߮] Bp2fSIJf:(Kg^LRytscjU˜U|CvBہŢj^thbykkC*[S~8RBwPΝB9 #DCݟ|R.^">=]}͕=66ƛs2C23b6zOW]E㏩buS LH6.ZD 9ӡfQJprM~{핹`II!>!wKȑ~=@p~ݨf"۴ L|N;m 9>vn! P@nUo׏hJYx^Wh픩\hg(!]}Tn,( Ե:uyM> \0_ݻ^ ˓ %#w䫯V # ޏ=&F}gyZZe]RX5Ʃ RIƁIRNz!X_h!uU0zeegqpuzAP8hz/[#">m mޢչc*IoW  v } 2l8J2E\z%dVzi#Cq ( l~)"))d){79㏗ R]~>r&&r𞩄TĪP@@OHLT r۵R2utR1JL3,.Ǣ 8eΛf;*S'ZT:%ց|C<ɐ^]BДl;{uJ m(E{geֆv:xbuUT6ԧ-!}$'K@`yGFY=l9uk5OOס%KuCgj֡۵B_N2fT|z-բ_?ZD)!^.^d5KM ?C 1=:v$ȱ:m H btQ…!)цpAW; Hb‹aW8%eg}8+T[^B-ԡ刍SlnзL[GׅL3 GZRVDrk?_Ζ-CkLS^|Q}||@~t+AP@ۇn?VW\A)wIImij/i_e'AVo' ?}Hmo )^FE&ϠӃ ( 'Wa T4q.Wo7M=/3V)PGE?,( !:}:u'AsU8~OZ5j oKSme%aX,9fZ^ƺ9pJ 20pjرڷ0)YVG KVBrs8p aP@@]Ҕ>y,v;aᮨКqyر0Nlf+Wi)ajkj1`aP@$讌YFFFZ;VǶl!8Z>Lg(!A 5KMU̙Q>N⩮Vф*۴0Q]Z.U; kDҧOSlA uIrjB^/a4q ߾B<-M铧p/Lm^OZTf΢|o^][4 ~=>OFW>n"zFƛ SHRژ2, ) ÇaQntynP{Ofϡ B!Cc0@h?lRNnؠ5cSUMu2kk kQ' uשO"zʷmSᄉTS>|S䩩!z:q~AP@hZW_O?Tޭc}a_|qy$z:?pAP@hI91r7Sw F0Tڵ*=Z2¨0y6kѿzɰZ T;V5ńmޢ#Ts0a ]d $Sd WI rsU?a;rUGuKͦ^&*wo иzT\|`hUM!z~ziU| aau:>cbt! #S'e̜!kDaQ[Q5yyر0BTMqV [TREjֱΝ#{fQJ&-ǎiq:~=aላSيhՊ0( Fd63;_X¨[>jjT8qc@.j+*f8Y0p&%)sl9 @-, QֺiURXDV# mXP;y0SyL7`VYݾa44is:'dĖ_J_#_J- ) 52B3f(+^x|딐zrʇө3ԼWa+G8c s2^VۛnT  "kgF=_}U߼:Aϙ+0;w EiJ¨g;h_%M"ou~A1F-/0i˯^&Wp$yC CldAOWE=>H^xQ2M)^Uc]QA M{&  uCj3zВ%g)h ɧTS\Lbu#  \u~6 9lΜ%! DŎ*5Z5Q@RS9 ( p; ₂'*wʧGjϞ"7J>HE"4jHo؛5@Iר#D=_mTфTWUMq և[9( p+c0c_¼s:uzO"rXS\#2Jk4vJ'S{^oݮ^'(woIR?+$?1:diн#+W_rR@?xblo Ba(ml/?[} P{n>]{zϛ_|ꁗͦޓ&*Q׿}E;z ¡|^zۭΗ=66zg3H.ip1J80D u{ 3خ]XjԖ_J_L7`摕+OqR@WpGhmJwx~eK[@CsΊ;OlӦ&{Ƕn՗O>]8h) x ÇD=Wкٔ0rC>Y΄e.XNB2ÇjHϏ5My}zzj=wnT *.(PIy-|uשLj}p0/O_m Z]q:w"ޗ{udJ+*ٝ#cH&:n䍓0B\!C66>UU*օlCr.LHϮڳG;~G{wyn\ ( Z^zzϣ|SiVUme%al0^֨㩮V)*.(<-ZQ/WB~sLG%EE:F YJ<^|6-cZiS/x|.N+VE%eg+{75Kfyʿ[[U}T~R5mGR@@?JW3pFviՈr=J!.>=]ftunŋ.sb#1Q](E^[5]^C$gO3[ֈ¨A1RFztW9sd;o꫅ 3P.4]gLGqVE@o! 1b;tP|٢ ѣZ=v'>fbQT[oeǀ=mڨٲF ; # >ϓ#>>pޔa#+u= P@2IsfRkr֭&G:{:= ; @s+sEnMuxU4a6m" >~ 8eΛ¨vk*Y0307h> S'gaPP@>f)};¨ìiu/ #l>}F3FNʘ1C1]Fj9a 5 +fcgө3ԼWa>Lm|Y?dg (2O$N_.vzMt¨_>^{?;Yg`Đ $ޓ'tsAbQZn/0j{D8|*Cj/Y3tvP@1jy٥Q׿v&AIhyih~ӕ?K(v6( ycj}dQη7_OՐ!!Ҕ9oqsP@MORo$zvWmyevаܘ]` {P@~0gGiK/D8||@)7Vݾ2̗31; >#&aޫ,Tdr2( ƗrD=.Նyez[: uk?Omr@h<^>JYJfΒFoVG&IΖ-oEw@|WLj2,|UfN"M!uשc %$!A}gdtP@1)~&N0B\'% :Zm|y]. 2{| 08*/Ou5aA7@jy:l9a=>y2WS7Z=&WrnIEtOG3;_H¨r+wYatOJ?UxyCRS1slUF mvAq#"o|9WiV}# xΧη^#\f@LJR9rhAu+*f\*v$P/mڨyrF=2A G;;_ɭ J;NǶl!P/-9g6}6A {tRtvQZE'lF9sњ^?W L0(m[F  ٢gtLux].M"B\X͗F_^|A:v 5"Bӧ)kW¨ì3T\P@Pg1w*GV2=h7ܠn?&jf“nW߻7a-^ϙWFe̘]իU4in7a4<'|u,|cͦ'*qR0q"St*c 5Fnp|\X4Iὸ­|X,JA ^d,vzMt¨֭*?Ajhfʘ:5`fP'T/'zv>AGfS xńQOZ;VrhĬ,7VֈSv>㏩ɢmvAGbQژJDTޣ5c]VF f2JN>n"zvO'jj>5Jbhag3 0qpuvg_-ACx1:,9tHr9Bb稑juqq@hkwJw8AԳ^"0ߩUAXUOӦ~IWgѺ %,wd%tmN]9Aspb}`;ߩGi FV]q\ʇt|ѢEXfF|SaF-ӺY0[:BkƩb¸@:vԀYjd  $d2,*^U3gɬ%rQJ&-qZ~3)FDPr_pttzMa DQS‰utz¸@ydV@hHWS41Ԕ~QbuPr`9ٿznM"¸cKkX#P@/gOOϘ?mT8~j#%feW8G=fmΘ_|AW>;"p tꤌ3d :*w>v0B\BLNTz~<^0.|\!IۇB( "u쨾sެaQwV-WI aiiJ<ٿS-ҁO>! vP3j(E @( "۴QF5 w,;ݕ?KH¨W>6=~!Y\hFuFBK4g$eΙ-gBa*)QAnsk3e||W^' ?V'hˤb;_I򑘨~+uk¨[>JT0z*w&e!zq:y:= t˖R8=[a鰺slFϓ#>0kqRn/xH>[t̚VwѢaԳݿj/j}~]229Yau52B3f(k¨[>X9l89g¾>^" 5H=G2ZTj+0`u0*qqʜ7OQ))Q?W L0.@|Fz/j@  NvzMt¨z~VwhS9d6̛/% ,5UNm5dL#(ŢJ¨_>>#P/QQ;;_1]#+Wjݬ|a\ȶm?I-:e2) +cK olS=7Y8kDҧMSlQO*= ,ڷOFRMq1a\luwx.j F]} jϲZJ&!ua\.]6fW9?": oZ#FHAuZT_-Xka 'D=GU;Vr&$(cY##^gfȏ) k|^@f)K5@ݪCGi FV]qNҧN3)(nHr/]I4~ˇJuhTX )ܬ.?LVThM8UA0cԨZ0 MyZ'On':Jׯ?3 k澧STUpۼ0 jueAMC! 4ݕ?+If\ ȑ\zX|ԨpD]0 o_u`|뗘˖%P@>,5U3gF8ImZ7^UUԼnM"hg$ǗexCzO=YTJ[/{L aqbc#qөZ;ca4aW^q;@7aOD&'rF,>32>u*=/^͞˖Fu~!5OK A\2hgR2̑E ¨G\J>MV0Nmڸh3hāGW&dW䤀8wv"[F,>4NQ>6=~!Y4PDV9ft,jB2, 42[tRtvQ|`X Q))t[_yE{ :ە>iRHckC2, 4"kd2fPL.QGmE T7"۴Q{:mvA@GQLא;:557q@#Sgy4¨S]5yUy}aEG˨si5:iiv/5U[Qq]Y!=Ԅ'0lֱXd:EhYvu 98F>r`tcHni6Ivh>lJ2Y\B' ]>pPʪ[tTPآ׫ ˱r2O.]{ݿj/8to#G桺ZO;KF1.z卣|/2k=JI no]/D>B|Hn.in(mOGz)V0_Ҧ瞗L.b6]NӫM ( C]~3%_s5AВ%0L0|?Y<յ!մ6jYRfx'rC=F<V9A $K xjM"@]tjѿ.n~Is @rJ>p T4i.aHdr:=`Xn鼍P5W룏ۺU'|e4a(-wM^ڦxG( rcnpm۴:wCXqiM둕+_7Kq/Y2aE~ꕗwb!7{f\eeCΖ-Myuڪ&[@JGӦ*4TۧUF0|c5:BUU*6]_^o|2oY;H\=m,a8!uaXbV lׯܵK_1Zğ&6 |aYj2fΔռ:zTcUo?a5"B~^ȪUZܵДqm۪O,cbw壴LFo p݊Hn$U7^7ڤCZaΖ-9g ڊ ;Do?Q7瞗7%X27?IP,7"Z" 'xT8amB0'dl~od{MDSjn 8 G\Ξd]Qĉ:n=a4䫮R|z_볯`7e˖M8[tWtvۭuӦ0e7j]~i/:4ڐ݆B5"B3+kpY[3f_F#Jɽ~rn?As[cmk~InWɓԼW/]z~\^0QDrkF3kz!)q;?@2l64Q-' uFy6.Z~Jb5*߶pweg\E`+r(q@pRdbvQ.k]^;|5pІn+EP'P/' '+zH2 J?ο7ooXe_S@.?JN׎ ?HxkxMUs#BwL ?&'ڟ  Etio7=d!I vުwINݿj/Jt?ր2ג%A rM$>H_z 5u8'?k>= @-Q@ *u}$?X_-|F2MnEΖ-_䩩i` ;+ZQ@ $稑-phɒ ~".Tokzjjts,Iry@;ŋ7p!>uE}j(FSǶlӯN AQ@"V]hdVS3+KpB͡C*͕hBRHnIQo6[$nȰkMNp=ܱ޷0XM75oq $v/]:> x)%^r Y|`hUEM,[7Eo$]sori7 ByjM |ۭuӦ0H+l׮w%DZ? 1+K=F 0HZ1C0PK.nT9[&0JGɰZ 9suxrsvLٚ`ֺ}"[ ]qre@< vӂF,½}ڸh|)YxVuW\R@3gANM?|HȰX8 ݷo1x?.2鹿9rlf7h$[_yE{ T^kvL.>{a([ . )x͕9gvQl7"%o/Yv7WEw {tt01g`VYJI! '|mmZX6^;P?  `Y#"1cb:w& 'zqjֹSްqͦ+]34,ɰkD5FNGK3ɰPm۵6]֡k ޤ wfXċ_j37 onZs(YDw_S8 aۓO嗑-Y z #H vt1jdI]5Ӽ|G͒%M( JTۡC  GVԺY2=؀}xH/S'$B~FeZ(9CNOցڸh|)Y8;3 AːzP@ fSI,pO:a\>6=~!YG8B^|Ҍ tţJI$I[_yE{ „5"Ꮄu*Gmo HNi) F/S $i[okk&  @[=nja);h/DQ@~H( ^D5y,v;a L񔳺}Xy__Ipʘ6U8z&o׿g$R#S@ U.^ z ^+J&:Z?;SI))'[ロ @ESvdz(APi( KT+JׯW)\IUVY) =6VS&w*j֌˓0Pp<G E'MTdr2aaؖ-*7NU HE%!Fātgd*w֚䮨 |4A3sU{`(JJ:z@0xɰpY*b H Gkޜ`h:Ţ\9qVg. ̎Z O8w߭~Q;NUΡ0 0) D4uL`UI8'UBP3U( b}ڊ o^@Y[KAˤh_U8q[O wBHKnW# S^[OWIaas^R@UVtpdZ6]0 6o!൑oIIjp`j:baʶP@06Q@M5" 0,ӁO?% DrD55~iI ! 61Y6n$;h1dH9_tϸa lo >Wf !Wz-F@HWB߾0=?o_ю7$4ՄlgGS( ݏ~L@WMrD1 c @lV-. 0wW <5 =0ͥݏ~Ľ@׿i/EKBldghTֈ%_u%AabjӋ/xJy"Zϗa*1+KH>E$<*^ tS/0ph/% ~ 5( @EE)?Bܑ+0$/[.WiA4cUdv F8h,A!@EvցOM\? 5) @j1`!!t" 4$zw) a(orB||QkS]M۶ ΜYǎr&$UˣO`v&!b0u) @iяρPTcV#cs/UcAZƫy BBL޽*ӆLSur(AhSŢ4BHǑ#vVm pLma$C٣ qV z@/ sѿ)@OM@p=չcUoa h^\Gׯ'&e|| ĥ" Gi FQΝez<4J=qa&_vL@Pa^*0ʷm#&`z,rР&?yP@0aPDr2AASU Uy3a mߩa#C;?{; RHxIbN@pn~7K׭iBL~N?ُ #vڤ8@8p-[3|$0B!i-I4ޗi@* @R'R4uoĠB1dH)nI gv_}Q@p9KIa>YYkM_w }=%L2|<[@XA9N { d5bap"ZO@p0dg# wiK/FN M#+*P"3 @p˝B @Д<7 ^~АJvyK  .#5gʘf' Ր!>& O-kcV) @8 jL'YgVdr%dHh .ikлjPc`x NLQ@./e ﭡCkl5a8kx6(GƐ!) @zՂ?Aُ#H!Cj= Cϑ)28e"PvE$nQ3R)e߽g4:e?i=H[sh>lj*+j\w! ̜r^׼y>0 4MvZ#+(FיJ3 ո8ʏ&t <h[^ ' E~gk-Z/LC7*p42vX.y wx99{s9>{IZbm]2қehGwa8DWtLPI~r1uYDvפ=,g)ZI44?,_ؼޥFN1ΑB{ٲQy$!9 D.sŊr׸0̎a$.2VQLI:,S{ee Tkuo$}\IVW?JƵ I۷;7JN6fsZUafdz,5[Xʕu0 /iR@|0 4RƑ( .&Tx /4Jk(=ŲFSex99( $EܹO40{N'Dp%-[]R|cʸә&Qc;a0̻(@pz SsPD2'Cp -Q:RIz1(gaZT"vѿ)Y@J#MvKP@4GM{$fj38a@2 5 5@6!ƥ#  wǚ ;=蜜D"2;{!㯁X.8^wHAߐP@\D!2 S9rrVP@#b$n( Œѿ4,?TEK0YY! SAq$FViA?% Mi/?CF8* j, t1a:<%m# |xu( pr >'fٲaϘR[hk5q 0 `9޴Ew3eLTI"~sH׸P> P.yldn]4499Lj@\˖5Lsi&a>SjXx5.!^Cs;`x@P@\zGm$rN 2ث2 &Γ]nÆ$ w5C ˯m~lI$ 4\vWi<()Yd4hdgP@TXznJ)aߘ^iZˑ,Y&f[R folder_type_testtreemacs-3.2/icons/default/svgrepo/dir-test-open.png000066400000000000000000000700711476710620300226200ustar00rootroot00000000000000PNG  IHDR  ph cHRMz&u0`:pQ<bKGDC pHYsodnIDATxw|L ZT2Zw轿[j[Gk{V\UTHE(( Ij:9|_ǣǽjry~ @3DW>4ᅫ$t'#8{bn?" )*D# n9$K &InP@f?@L0b~a( @ f 1P@f?@L0b~a( @ f 1P@f?@L0b~a( @ f 1P@f?@L0b~a( @ f 1P@f?@L0b~a( @ f 1P@f?@L0b~a( @ f 1$c## $ODraht)~?zP@h'f?S#Y@hXb@h?k}F GU} GX;sIJeA@h]~A ( ИFb@h` b@G@;1N4F# vbCm$ډُv ]vb} GE.@;1!b b@h? GgvbC_ Gi$@;1~Qf?P@h?f?:WUA ( g,I~tȊW1N~>#EIv`C>ovb9bٲ A~t] ډُyhL]]#1~tȎp01N~tȣG~vb@c@;1!O׿6 G.@;1>kv`CQ~b@ߏ^b1~tecC@;0/{Hvb4DU@(( ë ځُH$P@hf?:d+VP@hf?:Z{$@;0!n7@;0AlY P@hf?:dc`׮_ G=48DzC"Ɣdذ;kP@УIb t]Ʋ,( ( @@@  P@P@P@( ( @@   P@P@dNK';[ G dA tSa)QJ9`y;=6ب@uu m@#~a2ʸҔ6l҆ S1Gn#j"OKY%sitW32Tx /r! {:xpNhWT/^ p2r)ss֙2nw7QgۻW0D.Oߠ#UR"o{x;w>7xR]wŤ|[S<6@NNOW]w*eР a$;vkM7,;=]3Wq1d+zy<p$sd5,~ސ1{p5! HRWY O;- P@@D\ʻ⊸eH>\e{]9Eĝë )3+@2O{dVbӡCY>I0z}EdL TT\( /48޶:T. @ \o,]v( يlcurb]>Λכ- P@@ JI&G917-X0 P@@2Ɩ%ϧy\28h,@8dTGʗ۵ \t.@qHceDy5X0@~.yN61@q&k'XQ7ö( (Y?}dP@@2QAsC>6( ltg=&v/h?6;@=Qh(T^^̦ B9طgA!+t'7Q?+*c/ VkCn>,Zk@H;By!@F*H  ^ " P@rr(y.\KtK0̀mL(l^`Qz+;2 ddmԼ8(@HmJ1XQqQeeLԞ&ii#gB( ]SB+jO4d}Y.++[$d4jJ;o0@l ))غ\4\_d @'G#ՐF۬!cߵ~CtRJYيU>[P$~cEEaIkžxI+IcFxd4/\8(@褴c$}J4VTIt;v7=^Hcr%Ah႓ΖqyS$U>eبs"%d%K7F VT\Kt>u?Jo>%dD @gKȘ1gwLG9Zxtjt=bDГF=i/(MUTʸ']l,kOtRNk : O?2?6l_ݹ3fW"OI ~rxUՏ)  #ka YGছd<g V2?BvU`%rxOT7P0#_+*n! m1:xװdjfV4  U(DD ~@Ѧ&ǁ{IY@RRޖL| !JHU_cuGqk-7# %KvY=/T=s;w~[nUThuuZ{ oJa }y2HqQ@F^V.%Bp%d mHwBk-" x$c_$-Zӻ# ޵|Џ(@p &_ W+Xਐޮ =Z@UUUJL$C!f*Òj^ _0˔7J2QHzH^U8mcQ5f_o0m^È=R@$. rU8mii~ n1cT/g ].~p@puI! x;'k G7ޠq3GA>v-A Ⱦ?4Q d(Hl͘!wm{r)䓓Tjܮyc1- {pR>zRь=ê{q5,Z}$fpDz $wZ MoW߉D"{ Xߠ\PbV@FUU}&kW' <(HMU3?vlg(%+2Ѩ; aK@L $Y. q~ nE)uw> tLY ;~tk'bR@d D6z<ʿ& 5d+!_6*;٨sss^@K'R|ʿ.]\0c?e\>_?j/eKZ@,^־M$Hp4I8.G`mr$_ ;W^|h|F@yDn+ {p >rRm/6|]o׵gh}i߼}MG"^>.LY/rxWSO罧oѯ' tK9jժM>"VW  {Z@Ew)OvveYe)!/!V H"If,C9睧3ΈtPܤtGdav eh|2Q Īġ>c%aaeOT7PmDKXIku8{=>Ep:^le A tzU%bb?p &ߟ`#O;-J Zs mM%>t+$Q(,T3NKKQ}W}'NHm޲Ekzn$( faQBbHϒseq.+!/!?H@fl͘.OVV|>'+.wI ^5^͎1ՏC $( 6jժ$m f|飁w!o߾Izk'+بYմj;JOB$( bX(*>]3foN'z̜]';~KPy}%.T0m|IYӏ\Ӧ%YB}a5+!VsA90#-k4/nOMU!Crgf$}L;*+(r` .>x46|c3H4HK>}DZӪ}% s֙AfQk_%j:Q>\. Ze,|&6_R;JE)LJZ-3#.MFGM{x;'''>hoWB&\>BotS_^dJ`]"߼ͯ/X9gA@v7qzO4._ڇȆI6{?NH}N> ( mۜ@6"W^O'VVRCˆBIY̝ =/El\>'D{aIo9,眳yhkת 8gᆱ>G o D}N:,( m \7s{Ѻ|Ԩ46:׿=,%d%K.W~1g0жqeJh̜HCc3QPusqĥg-!_YP@2bٲ;_1frJ20Zo٢T8xN |9( c쫄\qz% WeX.GoqeضMkO-[c]~(Dmn]ʛ4Iǰnf=ZH9VعSճf)iaҸbїq4kqAF/_TD:d'OxHcjg?`maC_ ImG7ߤ' I2\R=DӦF Ѧ&̜/ oXVwߣ6Z_ I>0_@x/EE*:UhY>>?b\NkzB7F[]_LQ! /'B#rU8}т ԸbaShf>o *>M)" !V$C﯁w)OVa,j{L K>% o٪{Q0NKSi } dgh {&#պ?]B-!^5k5au ff @N, .5IMpW/M&oW3dE"=[M+WF[bVfLXtb9lu ΝiS'U|2kv-]FmݗB \H/TΘ.Aڦ^wD7DF[%$'GoX+ ư*: yd~zR>0Zul8ο0UrgdS +Ke3͗ Fl}-myUU D'U?K/,T3NK# '&tHvছ~ʶM-AĺDZ_ioF[%d@LcaPGIHri~J c./V[_omI=PN*GI_@RRޖ̦$~0ʽJe{,YҰh6WR4J=\B6ߋKdV 2Dxd%˔uqdѺ|{ YG2w6dY# 2n7a$kك˰ } Ѻ|,}]5% G\.Hy awO? ZiZR{T6&8wOQې9vJ20Xz]$OW%c*̚h HqnGe=l$Bd+Sߋ.$d, dXpq7qAV)FTErg\^5f+ka$%KT;E~&wCV@UUUJ&Ļ1VVB6{'ոbO ђ1ʽrldGTP>޲U3gQ>@k{޶05^d4c(H"q a)2a,9S\Ȑ,uuZ{ mH-Ǫn|҆ #d) Bl@IA>:46flZʺ{l }T4c}FhT~s5,YB.u? Qў|DP@=S>23UtFo# 寴?t'l ff/1NKSi^#N > '6[m~%h!}*M2f␵m6 f_~ nU)"__e\JH+c]FV@2,@l }>6UCF+_.A`%dóJ(a{Eh$lkؓx<pӍJ>0Z,_yE[%|ӺDcTD"V$#6ʇ˥^ѣ moͯ pvTVGeC!أ߄ DI2gAo@&]c&V6wv'}aE$cJI!) ePwU\Lϟ d-ac%d2̜Hc#aH2n҆%D) #VD6+8AYG4,Z zNkZJkz IC!D) $k_g3J /TǪ{IYd.U)uH),dHx]$眳sYʮeT<]_B֭ӚޭІ ݧ7;C"MM."tJOV . V?LusE6-[{qnIKcGHRRS$kY aY VC<1(!5Ut怛XDxԫXyW]%C-֮Uي67b"بٳXv<7 zUKQG)o5E-oPxL*b.hO~3kW@XQ'l.J9B7 CKhF^c&͑No X@$â:d'Ox hVUϜ턁ׅBgJK;qFOpz M'z~6m& Θ3%[Zzd'KJh[8Z#Id}pTnl%AtZ +|z+){\&)iԧ%|1RHh//WӧɝN-Ǟ'kk q5_FtI aX@$eX﯁w)OVa Tj @<:s㸤ɜ(iK2} oN" I!;[E3fݻ7a,j|"ncN[9x^7kJJ>qFJewolD. #-k4$O^*>M~} kc,ϰq7NXgK'rӖ wF o!_~>aD{I5峒~^؏̶qjq^8^nײe  _@־f4N&a!a*zZ F~vr>KS%0Ɯw1(~[P@FUUĜ28x D{=dǣ7ݨa$IW}!K:~vˉv-]%&CSY;ˁ^#d?\. Ze?O6LEwܞ6֞OM3bamap8mv+曔1phe/io#u<6}pt32}_J䒦 ~$[ٜ@668hu$eqaNӫ2w.A$A`{|tӓz礓SڰA[|K| ?9N=n >:hQ>U8( tMIr`TyD-qgJz3ÆB׿*s̷yJ9RӱaFg%E1Yk) #ЀցW" TWflE#ɥoq\~ nEu=O>(:]@Z r8(zRWX EڴIM+Wi?ynW_L_׆ê{gjX(zט~W_%X\#ȝ"l8-,+4dժw8}@I CTp-1/d<xƕS$'vD o٢І jb?\jf:( 8x/$kA껏 [>n{#RirRUW)i\w&{$?$DxpteرCճf+y3a$9_^ ǀ˥_>/i6$y9lu9 yssUx 32Hcjf?`]a8x]N1F/X}='̀Æ}= ''[E3+DT3skCwqr?_}a!N,J H,;@<T4c}F1%3%ӣWAq$\bZ6)+3SE._^a`a=W G3>t^qyO. O-`ϡ5&٤_ii*6M|hY>"=v})a8Ht5`ҤZ x{( 2>/OުAFhT~x\{UhP {$^dc@2t҆#T|p1pMIs dq'O~w؛( ˰'^.\{2F&V6{ p \w2FJϕ1pL-+[k lVo&MR1GE+m˳RQ')<҆WᴩrƦs{$Xz]ʦXr/LǒE+[xS[rU8BcH2DEw!wfF o}k$;$%X7qzOl{C x; :HK6aUt Hb*tZ c`E} ̾|u<}t@( oYUUl^~٧ek;*+WHF9|q#?//Oם/Sbоi6QHz ݫI'G4ZR4J~ r}jwț]/s{$qtqe%ʮKU B''Gx<%z+磌$0Zh\\us # 8^v)A,!YY*:VL&3 Hzu-g@8HMJӿڇV4$d?ƌQUߗ!l$~^6-"a H2,B#G(d({ ]( x s .Ѩ=v} aIJt?yrw]^壶VT0RnkegsBdTUgv%:'CT8}\~?a\A5T0\aʟ2Vx9տYqeX)"N*WJ a޲E3g*\_O(*Glz%mAc( A\N&wz:a,۶i)e aPkֹ( 33ߗğkwʓg*;wz,6m"/y}ƛ H[,^־ͦVьrM-DU;k# xny 6w 72,8ѫO__h!ԤY@NfL~|m|䛄}MR NKSᴩF9j^0|deh yR[QYzF0:ɛ.CIbGZIG ta`C!yD}F^>23UtF+ iSOKQY#G|{9k_ƌesʿeR "#Qkײe^0mmصt,z;2.d{@d$VEΏt҆ ##պ?]BI_}*V bkTsday6W+W.\F\5KVM7)cᄱWd!OMU!JӪU{xl(DPi7Gq ˇ˥NRGFHcрoRpfZ YT4c5tЏ~( Nx@QW*cɢM/#d?EGMgR1c,#5?cOT.qMMȘF)Ȣ-/Q[2Y˥a T3s" Y7\NQI־aNHO8 Z[~˃1[ mܨޫp}=atb7q˛z<̀8E r;O9gAl;)ɢ֭9Sm\?ǣNR( u^)yD+;k /0cgRh,ԫ} qzud ZiXHKVwvg ~׭#飢lIWN.#[5E 8FR]bL'Yr{A.=KZ a)QQ~JqJD#d~p܇ie{ H0\OTK.&VjzH_FsGdgw|Lj!jG6pH/'8Mʕ{՝WYr/ Z`P>AG[o+%S{0!5zTp>MZ(FnjQ}mkݣA7wX J1\ )[xBZ5)*}iiBh>Vwv!C?y2_ZmxY\,:(5`ҤUռpA2,› [z[r!*6ٿϫȢzeOFGS@$jV''[E3˓E-G}gThfHr"N'%M/#>4^ye2$VK @–>}4;ۗ0ZlP3\0//OӧɝNl~:~vTYg8qX@LM.oѲ|cxss5;k7ԖWУzx^tQL^ʎ8pNKSiF CwބʶMAtPX/`y]A6- @œ>zRD-;;|deh .=lC AGIzKFGR@d{%! !N> nԡCVwvPT˗G쨬_=#YK6| ng4v,i @"< F F-G4u?9;;Kra/QQL5d)8+)L|\pݵ=0ZO=a$wuj OSʠAʮKUē~Z.je) N3bٲX@]ʛt2>,ƶsQYI~*ra.j#gÓr+*S@=&qcr/LɢM}HCрn64ZȆBё򑙩gȓrc( N+ n7;&NP /^[!I_>nt2FN֬Q*FG-WLD˰( {^|I@{E>th]>^Ƥu]. tҏ<0ZjUϜHc#ath2ʻ*+ ę#a9眭$V A8`{;,Z ߠYih _>;^/kn?q; 9$h[VwvD2eYڸQkWz蠌1V΍۽?Lq_$2ONSƕ%D+;˵gX`M'@nU̙lN2hLU@dO8̐U! =!c^ud aаh,93kcUϜЦ̈́A,L,o4kmҏ) _kQG)d\[駪{֜ϩ9D+ ~׭#v}>2EDxBGQ@ݯIb@̤Ah|,[9I'Dبٳ%2Fy?AB-biI˰kIZLb!uO,F MVn#,J @@=/F'2=&޳5J) m2,.CT8mj"\SͫWflXs1cwq}Sp`P> Jķ~NmcX@pTRR@ujf?hs3a${ྦྷ6pX}L Ndk &Գ mbbI\p [rU8}— EIQ>">,!N0.^̌[3wM诓_S,h֜#mpO}OG4u?v} atR߉:dHbivѢ{s.VьrM-sz nE.0tXmxYodIGSOIgS@v.HIy[!򑙩ח0ZXs Q }OmWEgϳ99ʛtM,꒒2, >^d# NKSF a5Gq>lz%mwAtxT0yrRcd \s'YOުAehlT Z.{js+ :(>?ۋ;x! *> nԡCh T_oRS)Jȝzamll}77I}8h0g#!ʘ$]'W[S&+chkRhEAk]{-HNIIl4%]Pݥˆ#_fEq.6{6Fw+c 4˸2nwK Ͼ,anW^ vɸ{ [vI{~ܞ=%yݒ13`0| hI(꫕1f YߗB{~~贬q1I9mT?&UKoRχp@}UVJmV5,^OBF x9䩡˓ꋅoo0QHz$|.RiZTuO<)KQW92G1?8m?2, 眳s`9{s҉JskMqpuI!/þ\@Ҵj#bUE9񣧆zu-' *+UK.!{ Yv-]Mx#B $Ŋ|kh4/GTd'{ ߠYih .Qι`jܹghG( 23Y$}[*e BKhF^ ]vY^zmnVck/~e9Y\8^ʡ.^/aRxVUϜ2@E>y>ojx͇ w‘$ CY8d}$gh3" _F̞`m-at_AO=G^{׵z!l'궥aN*}hwȓC TCjb atc{2kͷ%kJ޽vNak_% 33T4}G0TS.JJ6<{'߼G<\. v280]>^@,eA<昘fʕ}U362y`0E8}^y2=,eK/i"N(ފh uObM|xӔo/NmM頝MMȘF_NTl~em1pvXL_sksڰC?D ϡ$&Y.I*^񦶼ghԥ^ӗlַ/076P@ )(^Wm"FzPl{Vc( Ir*ɒxzp_r1AK #UϏkmS{fqg.$7|Ŋ:I *)Qe쨬_='"t<991}-yM`s{م s) Iâ@w$?_iXXzZF #VPO}8= ӿw?@Ip GP kR=DZ"fzɓiCLy)$6jժ$m )Sb.8/˖90atRek޸.J}Č5 ☿HS&^ִj<" FeuU!qWTu/x;`)d/!p*>M4ًX5kTzb0lR@$`@x yW壺Z3guɽh?A)ungu{@d]R@؈e$' GffLķ 5[!}N<1chTMUU]ǛQ_lCIb\щ-5UӦ7`aRhF^ Ҕy115]:`IRjĢ־J @|>zR " _ oݪ3پ0zPbnc^~%)h$QUU%}F@1nt҆ # _;T=sB6F=~|n`muoD~xԣVEzSѣ";T} [G=,+(RW׵Л8kJYcnҵ zHqeبٳ%8Ы^;~}>wjj%o'yzS@漼[}/@}N9 |)ˆR1GX^\~b<+$5’$ v|r9 |U>A>VFH5dѵ猌Vq&+>aҫT/ |5 ˆuqmjN" .X0\\IaWƑG*WK#Qcaˆ#UQ=W@.}>!\2 HlVI I>ioA)lϰQjϟҮ?!x;g!WJJP>_߾).+|{wP˰nr!*D1 ZmxYCCGճg.^4Г$<A@n+(Pzd]q\>^@qȸ\8Ȥ* =\d$˗/9I]ǓS?dK/i"N*wfϞS 'p\J9. :;tW2,G^*1]l/s_'86rdϏ<.[_P wZZ"o7]iS# _ƛ "ΥA>%!Ӱ( ̓$N~zDj~GqΝEq^qFnwg҅5}~^GF&CV Hz$tR! _?__x @ڈR=.=ӕ2hP>76D=: Bέ} @ǎKV' _QQzF};,[&]#飾\4^LIR.5Bo+Pǐ/5,^OBF #Aw_P@2~x4{i^][ FP@a˗$oeO>#Ay23 "-1,m()_ ߠY) ӧ#q TV~$%mI$VԩrIRhF^ #BqY) 10zɒ]Vz$*>Ml I o٪3پ0Uĸ T0e|`wرCճf)i3a$P̨$!w8*)8KVCIRdg_u#Irs !d}:b$4~Q$ -vp#P+.'$n5~0OBHPP&JIo"eAʿzDTcڵta$)wV!$(cL $Y7.a!<}[ l4u?J>0Ǩa$.)DHfTNuهՆg?$d?S@EIRcV$=ʿ&X w:pOLBH\Ev޼ H2,$]#$iK/i!6Pg$IYA{9=~ntԪU$}DH$"x@Դj<" $I`[w( =]4wςqVPɬt @ZY 0D HUё˥o_?^>B5g+L؋mbHx~XIkH.s6|8A\^>Hc#ak"ķf .Ya9,.aWzB;v( @rANءYڴ0"̐%Kq Nj8:draAуɝ ~$X $Nx]W%Y@\~<]}\>U3{/ 7F",IXQ'$x 'jzH_|Ah5UhfHPF6&7zQ@5E R=T}N9 'TSJ@ׯ#2⸍pzxw\z8{(ֺSg+e{ |*&7|1ʈ#VH@O9 v^d#=|JϿ a5GxSyN/Ѩ)5| a;߈d˰#MH. F]"y;wD@ &7Q@A ױՆ׎J@j^|3~|āF,[ i>I }7!߰ʦ_y\儐hgGm4Fq˰KiÇ)N9_|I[_Ct]IvvZJqb%pZxO2w.Ajj'bY@qQUUǠټJ= [+nZ5˰i-8#O={?'/ ;/&QeJK7R@( =~*-!!@@4~llDSHF.GźCߴg%S;@@KD"p1}9O{/,M@wu18@Zē(a veBD{eX?5Ui#Gv-]:zcEv6D|8`xJ ZGx$sXLϑ 5caXXI\?cǸF,[UB@WKţwdִj<" z\ !E# ˁeXZ(oZ5f!č@u?cy8hVʖQ@~vP,tW67ʶB<3CO.$΍^|I]%}HBPV߯Ȯ] D| ˘) h2,to ' Ʉ6lڙx◵\r#{8^tR$-9K qm… TWD|~cHd$ȝF@m۴ڼ0Qmzerif̘z iȪUI:+m0B|ء꙳ڴ00v}V$e-}'$QvAH<$٠W0p6bUK7o(5I$)" GcjfV' !A. /z|\˦H -_HH>>y# E=06em#22/KKHK: !E@D x+vC$&mɽa2 Gzǖ8d' &( s*ט=co4z}.JJ0Q{eI=JJKpku@K2'q㶑еee%DYU%|j$stlQ2n3  z|DtӠݘ%o08BVW'hYjy!܄8C*'9f=Q1(",+k3ኊ%dR}5رK( DS"'"{-Io5qKw%3ZHF LToh ߸qpa_$˵6bu|JiHold9U1?oFPr}FMYNΑ^bI@Llwc'Q.\+`qE؃1UrQL6I,:[%k1+PUN_%XN7]2R>gƎ!=;0W1ꥰ1X+I6 hr5d1&J_/ ۘ]N|L@#qo [5=WZ7 x!k-)ݦDY޲DR׮]'Ce5[V6(pY8QREe"VbIKD9ЅK(@o+V^/.{(`CetEMⲧ( HKIt r oq:U}%%P@i 6Бa[RvI@Q>VvH( @,hA󠿤l9@GX+)J@Ah#I};Vr  vJoqK@UmRY_^cP@tAo hz\j&N2E*޽HvI-ʇ،& ʁֈAk$fxz׌" +HzN0#F ( $.5q_Fp?017KfI8rn`t3T ؈ ( b^\YO۽(' f1Ǭ72.=1c( z@T)!Vx]S̱n! !@Vv=I YUyÑf =Ȍ6$Vo;nQ@DH|;֬ NY1( Dji#|wYA^N&O-.4 X0! lʜ2njßH%EH.-^r|Fgf%$d7f@. ֚Pe'EH@ ҥD$cr/I !ˇ̉H17fAx;6[cN|J= ?" $JP4zlAZ VU҉$8]Q{lQ@baYM%P>WZdMau ( LXJI#䊞+-Q@I+)DdN( q:}ֺB $FlN.&zx܇DdZzI!-@EipرKl@Ocul!Q|)%Cv9[ZZI@0f̘5+%5bR>=[R>YCK.@7k4ƞ-Q@rGZkIݰ2֜--, y1c/Tj@Φ|.!mS$z]g:[V6(_7$  )-}^2:a:WZ#[SsDh/+FҥStn hQZ('Z91dQ0S̘1a dUM8XG@Wh^p?02y}X91(%RƎ])N4І塨=`@ VT#ٿJ$ <Ō(̀RLԞ)ii@2z(/@w-7$ecgc) Fj|p+׌H @/%9i8~< ϧ| ~aN(~EFe*scKn3D f@tcxOH#y{`"+ncu;矤5@w+9IY[<=P@o pPWI#I#aB>Ɯ/.^N= zDʱ㪼`~C iڱ@{1**&'Ţެޓ͈AP@$ ]9IǓFn&Y] `u*+H$eH\}[Fe ?c\c"Q;J!mR>]}OUbKA+FDQ{l!Q 3 ▿%Oz0+ߒI$f6h7<j̀H_xեk٦l'q( /XQqla] B%׻$gw1HlY(-j k~ ]bzcst#{ݤy!&%{ ѿF'k~/)=@ ,X0BL0FJZc2/cK˹ @8`5ʣt1Y-ɝ':+WYWo$Wsqغ {!?O:{dJ$䊳T֚VL)-[@D/$  [{-*ljn~FI2ҿ2+eK|r3fLIn(s\Q)7jMoRc;jn9fI IQL%[z\;]Ƭ"A[eT,S6%tEXtdate:create2023-09-07T18:01:37+00:00uR%tEXtdate:modify2023-09-07T18:01:37+00:00v(tEXtdate:timestamp2023-09-07T18:01:37+00:00SW1tEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/svgrepo/dir-test-open.svg000066400000000000000000000027341476710620300226340ustar00rootroot00000000000000 folder_type_test_openedtreemacs-3.2/icons/default/svgrepo/house.png000066400000000000000000000031441476710620300212460ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDtIME) /hIDAT8˅ilUμy3k V$Ui${RI\@c `H$HPL\hhl]{q?vK~k}|l#B<$!d ˰}#CVJJ{n. mu ڻn|ry5#ii ڸ3&n;(o0tsjo(ݿJcY¡+##0Xy-~ 4ljۅ] :p=q|sCO=p;:#rkGó_nvPL X@ sc-Hxj|`Mm?\Η <&S鯜=PefGu /6vルr]P&h(iȓ/•I7Bɾ+Wp\ aH!JҜ]J FC2搜AJxwC|{ۖE oWLS}˗@N:K MvM$ʢP|3j7|CbڈU"u^1kUw TFZ I4SP)PaփGܩ3;iA(QC J*ڐ%"~n!Z"Zҳ?%YWԁ+|ap7HFTYitxa|v_?`X1蚉d4hҬu| `jz`J,7I3>v|T je!T DEA?fN;Wkf@]%jd䙞*CgRSj[ưb! QuxT͈Ph/0l8֥/ij9",d| !%@C%CSPNAOL2 \~ŭKqԭShmʷT j=_+,eUKT ~58Q yP54Z_*1!Ǽ"@IdPZ#smT:9p)ȟe7B 498rR 춹cz3{&ߧmJX Q4[u[nqd1lSn3D*aTrKzHej'PASOnδh#| ̪=ykpKܸ_삡$/xA$bUd@g`BVROKkڇ9-xWl=s7O%tEXtdate:create2020-04-30T11:29:57+00:00ɪ%tEXtdate:modify2020-04-29T21:18:12+00:00(zIENDB`treemacs-3.2/icons/default/svgrepo/inbox.png000066400000000000000000000115311476710620300212410ustar00rootroot00000000000000PNG  IHDR,,NB cHRMz&u0`:pQ<bKGD X pHYs``kBtIME S$IDAThy|N׺7d $5S"*TQbk(mԐzP "j !B BcBouH{SsO?~{z׳q,嵈Rp1b)DR^,/d{r$'AAbAbA"ȥr\ 0aO> Ab=Ft1&^T%;$;$;iCƇ㾏>b#2Bhtտ5rU|+.&1@IGSvJi)P~51#$'a8@؝*u@gp_.^'W4W^S 1 4.@)Q@dgH}@o 6f26NVg\ GBįtf9氍?vo :sg.) B+Oahr |dmfج6& U4r~=b]VEG*CNvdY@ ܸѳnaHp mt=HxmʴaobԤ,+.2H h/(/UDm@d1wWw`WaτԸ;@%+7ȵ^{oUޭ6RWx̣A?[a8y1)HǑx:2Eр*8%&C:-? 6'KUQ5hq8إ%*4y.uv,̸ll:ǩi#/ؗ7plq7x` 2XK? |98Hku2QM[ab v h۫gUT:2 SC.|6PT#gǒpsh۪ th: @R@PLSK 8ij@$ E?#0u;Ds{wHisl*@\iPhh7nƙɫfWPKUvнuG o"Z?l)&@i`j Rmtwĭ} }c;&e g]hDT>~ zo%3$ʣ1@ݜygfnJn!Piw[߬ 3{Wu}~Hd>E ¤X?PN"*&N9C}j*ͮ^զ}phhHsRc]f&xKebz#T~ A' PR*R_3%:J8/Z0`p4q5`Zv؁ /'W IF.µx0lX_eA/]?j]a;@vt}{>&~@7ٌXmF?i VD y-oe N}Ě#'o0\5jx8'} rQўp|1.q Jd2Ȼ\(fYpMplq@qoS!zؐKOo}kP}wAO=gubFA W H;9uMc=̻9c( 8-[-9@&i>_]. -G2%$`x`)mwn7+߂;A~34diYP  1V߃eZMpz[L^cM­F'Mh/'p](ztfӓ*P,׶dk(]<_JpmG:x Ɋ6bW@)L@e%@ M#c)k'4X8xnT%JR)a\((Npuz!|gwp@}'z}="vpFJ5Xj Mm% GzKچO~P |M n}n]HU}V*+fPgߨɁ#Gt %o?>:0,,Xl 2 0 Ɇ rᴇ}!kU[9B~rf?<0nlݲ6oJo+ lDc:PAx@8:8nҰX%f҂s.q,ygq|a}ȍ }I B/M#;=l? %Aɰ﹤g\h|N ;֚*V G@A@NTN#0wxg!.A@ xJ 6G"gPs Ԫe;W%vap br @:U`qgI+T#+nA$;ކf` ղN ^{s|m3ЪW}Ј k061ك/N #Ap`+{c#*y` -Y?  2@Z\U7ZN~yCpm٬IupVsapIH; <.{yE'v%<s@v5FV2n?ӨUBep\(~q^xehGm*޼2 $WJ ?L14j>c.[$ 8,>4EґI,l$& Lj-gdtg,4<9/㡁K-c3zJ?nc6Xr 8^'s~"d>*x#AxT>Mgd-[r:Z>v7~{p'BZuy:jUx1v8&W~UrU .M)[N2}ioQ5 9!ƈN2޻;e{[@rY#YeaOqDgzn1L-~u׭7[\9̢u4?MQz&{#uXn G0oSKw^Y\{l>Η+ QPMZِ zA>\גϋ~+6D=1@EUPR}Q$"̨-j<@I7Qx"a?!;=AD {jRي[ro⯌^s(FP p.U Z=~7%tEXtdate:create2024-08-12T15:28:50+00:00c%tEXtdate:modify2024-08-12T15:27:38+00:007(tEXtdate:timestamp2024-08-12T15:29:29+00:006IENDB`treemacs-3.2/icons/default/svgrepo/list.png000066400000000000000000000015161476710620300210770ustar00rootroot00000000000000PNG  IHDRj gAMA a cHRMz&u0`:pQ<PLTE씞/Bapao0B쓝遌Qa逋EV0Cbp앟遍P`逌얟+>aoYhTdRbP`YhapftXgRbXgesaoTdScWgbpapTdXgXhTdP_O_P`N^M^`ndrTccqhvVf~UeyeskxTdiwp}Q`Ve{ScCq0tRNS118و18LjjFbKGDntIME( IDATuWW@IY%*M#BbXE 6s|w.Iuôl2+W' ,2; EƦ %Ok32uɤB| "D8hX'#D}|9MVWm d;w~< <$>7y$ge8ߣq^fx%Ts$FaZccbhaq0-me2WVUlm+6t@ZfV %tEXtdate:create2020-08-25T17:38:14+00:00%tEXtdate:modify2020-08-25T17:38:14+00:00kLIENDB`treemacs-3.2/icons/default/svgrepo/mail-plus.png000066400000000000000000000060611476710620300220270ustar00rootroot00000000000000PNG  IHDR,,NB cHRMz&u0`:pQ<bKGD X pHYs``kBtIME -+˯# IDAThTSg $(AEK;cwYV֣vQ %#XEev*bTm*Z]2:3XGIhO;3Edgr<}}nH_pDu]].`W\.`CH/?W5{PPP 3f4%ST2! a 졇IeeeOxzfr3!pܦMsy}f3gmlI$VS -8N~OXj [jV:l- PtlŊZk111}A֖[[Qsԁadddp;>>u|iii{ 2FȘA2evlX0b#¤ AKgЖbjn-:-q(`R3q99ƍ7~x(//m6Z K{VkBaz a3ծM8H(??OAPGtO "U@tkM;xmSSSSN &lAIդ_߯i5ퟨGT#;t{2x`9j}нۖ.xtx;<~x֘G0tWՇzp`Ap,u,u,Kk绁j<@fA B뽉=uׂ@NOϜ Ά~`;ԗ"-ٳ4O; ->MM; 6ؙs\ 4i4O;>@=4I$i6l\A+=O<9*G(( J6۔)akǀg;t,ϙ;voMtO Y܀΂䴂gtfX7imf8H=r*PO f1;/Mtju*Jl08Hm6o\ry,G}"nL{ avnqoUjfJ[6ws~ g=zdyd-sqYџ^/ }pjF@exexe8լլ@YMYMY HDJ=] 1<>NI=+V/݊e[ dO_t7>ꋚ/?iZ̀6o)HJKJI^~7yD5QMujܝ;s"##A?Z?Z?z0lwR^^y!`(4,6KqU9Ҝ_MMFmrm,_zΞCa*~\ޭYLjmn&hdОממGQq'qOwJ5s]3777T| |Ndz>faš"&M, H H H1`ҩJNj<3c'WE KrDq{п]6&x'"}vm\% u!B;.ޑ#{K>^|lc#Yiɦ%~aw[-"'O(1z"GxXX~+2UreJᝍ0AzD:ۯOk5"i.]L>H-˖eZz-"㏍?6H"eeeykU_) 0Lļ@|||JĚeͲf "`ttt13cfƈDDDN:]SO_~Q(2{Xo̚Enr뀂@T',3,,Sx+RbU6td1zvzg g2 Fa_O *zgesjR.`F-M~z'Ov\Wľkp8[ uym;8z$"J%ʾ &` El `wPTNCF gOR(93=^ pIA)GZCTx5:4Φ['atM\ F5yEF̩AlyYU*U_ VsDͮ cwmb05VM<տxD*=Pu+cUO ->q4Wv!W؝༮s߂ҧ/sn@ym5@Ӆ;~<)}a"HjF#s;˥o%[Sn>G{Y_*tT5HM)?Lc gupt]Fg]A;m>y@~-s~;M3Ֆ5R j@bZhxs؀}i &[ .,vo)ԩ\r~f}0(.H "CނeisҺC[Aԇ٩Bo* Z';9 w|zܿsj8Zt}7|f [ #R?{`1k S@=AuҬ T>DwC ui:{!xk l'o:pwGwꬎVg!W@7TR-J*A"qÞs.ﰅ=NAQ' tPY0`.1@\A^ـczfFM׆C@PpĒ@:4b i>2T2_?F9F#?h K;۔C~a8뷸|"^D 䌧@B l2_[z:}L|L/:@t>A "PDd?K[/x027~zs?#['+a[n'AФii`Z`6l=m5 6Xl˵XJBH6(PaZ^1J ع~|K KݙMQke_*\~?- 28F\#?K@wMŽ!>e_F64ּO!vOs`9,ʘQS15(>Jۇ-EQ]gCWeo$AWG\2 #wh;eoA Fh.yI ☋0*EaZ'h~cĔ$xt a @rNyPt@1VO9\BT=+=p篷x"[/Wt[6  wtlguoڇZz|>x2'uSkٽb%a32|\7n;PCUOƆWAL=']lAC|J=`OF٭Q!3ÜЈ`uʺ: \S-0K0a~X[%2]a;(83be'}gH nsj\x!nw@X*u `VDȍ\֞S  ~"pegN_38Gwa/\} H٪m@Pںxj 2ʭ|7XG8Cfn@, Gʁ/Kjb #MAQnTm C/^kUm m@okt,/̨i 8Wη<s((5O͑-NWas9k>TsKPFR*PYiDn_-ooL/}C\{<ܽNx0?`V6JYl[l[D q?7KzϐZ}t\8oHز6\lmc?k\zӗ~,R)] M.ˡgjq㑎G:JY8pn\h1jޮ{n8;_w>Fޛ| NwTh4[p )jڢr\VVV ejՀWG5s %tEXtdate:create2024-08-12T15:59:58+00:00/%tEXtdate:modify2024-08-12T15:59:47+00:00dH[r(tEXtdate:timestamp2024-08-12T16:01:14+00:00,IENDB`treemacs-3.2/icons/default/svgrepo/repeat.png000066400000000000000000000022751476710620300214070ustar00rootroot00000000000000PNG  IHDRj gAMA a cHRMz&u0`:pQ<PLTEsɘA5k6lBqȗjŒܽ"]ۻiősȘܽSSۻrɘ6k@təݾRQܼsəkŒݾ!]ۼuʚ?rȘ5k+d&`#^5k>r+c"^"]*c?r4k&`&`4j$_$^>q%`"^#^7m,d,e&`$^6l%`5k3j4j=q#^5k+d!\!\ \[Y [cM|ZZΣ,dY"]8ma~@Pd`V:{ƼUb/BȞSADTA )l%$e`fm) L9yEgk7WU 5Ef&53'%tEXtdate:create2020-08-25T17:38:27+00:00FΎ%tEXtdate:modify2020-08-25T17:38:27+00:007v2IENDB`treemacs-3.2/icons/default/svgrepo/screen.png000066400000000000000000000022011476710620300213730ustar00rootroot00000000000000PNG  IHDRj gAMA a cHRMz&u0`:pQ<PLTE2Z[y3[OpNo@e@eNpNp3[3[2[@d\y[y3\[yUuQrPqNpb~TtOpOpTt`}[yQrZxZyPqa}ZxVuRrRrPqNoOpQrQra~[yUtMoNpQrOpLoVv۾\{LndxuuoKmLnURoWTeTQpbm]{yĮ{ưZzѽɼȻȺƺ\{Knx۽zù۸۹ܯӨyPqPrQr֣7FtRNS177710bKGDv>tIME(:aIDATc```dbVVQUSPWSUdfae6v-m7(f`30tCF< L&npfb$$lj fznA!P馧` qn:* n DH Y0Xbb&`NNI4H80=#3 sr@C 8=dȒҲr(([ t{Uu T׺274666577@wl;:;;{z޾H=;`PٷO0aɓ'M2JDa*L>}`$$ .n F| RBNzH3E+0m--TlQ۔Իk%tEXtdate:create2020-04-30T11:30:16+00:00o[%tEXtdate:modify2020-04-29T21:06:56+00:008IENDB`treemacs-3.2/icons/default/svgrepo/suitcase.png000066400000000000000000000022771476710620300217510ustar00rootroot00000000000000PNG  IHDRj gAMA a cHRMz&u0`:pQ<PLTEֆQR օA}5@Qׇ43և~׈QHDBIQYHAAPDDBXSDQRQOPCH@@?>>>>>>>>ݯ>xg>qb>sd>l_>>>>>>>i]>>Ş>p>u>>>w?m\?o]?o^?hY?`S?p^?q_?fW?bU?n]?xd?ӧ>>>XM?ZN?[O?ZO??p_?YN?>?teGSLBTK?WM?MG?IE>UL?SK@YQEBA}UxjWlaP`WJYQFVNCUNCWPE\THe\MrfTpX̤G@}Vr[sZrZpY{mW`XLXRHthT~oYqZ@~VnbQg]O~oXrZͥGqZrZr[=?QyWzWzW~UڮD=@BBAŐ3tRNS018111877DŽ5#bKGDntIME'%EIDATc```db56daecvNE%S00QVTQQ %Tx8U!ff`Z]OC"jaiie fj1H*;8:9(J2+{xzyY*k2șZGFFEǘ1hņ''&$gS-YprJăɄTgSYcS̬윸ܼgScyaQqIiYyFFEeUuMm] PXԼ (, Ҽz'12@w7LJ4 #MW948E@).")eb#`kK1120.*rY%tEXtdate:create2020-08-25T17:39:25+00:00>δ%tEXtdate:modify2020-08-25T17:39:25+00:00O %IENDB`treemacs-3.2/icons/default/systemd.png000066400000000000000000000101071476710620300201230ustar00rootroot00000000000000PNG  IHDRĴl; zTXtRaw profile type exifx[r8EYߏFfs@IY.UvOGJ+%...XF6'ZML斳'|CO;~ ϩ1\~_9~<ÍϛzmȽ O뭓yoCMqǕ7ܺD!J+yF}H\BspYiyڷ)'>O}>,ÇOpzEmvX{˵37Nc !̫\ΫIʗv9OVq-vrM\^|ᜫg/{+3orl{Fߧ0 슪-uwq!Yk9k|ً")XV B%&c9[7I10ReܦO`}]8xrT7ѼNss["YQn*5[^ KiwE2ǯ2!} ' u?8+x{F̮đx"l~Ⲃ4bFbFw{6OT>qWEVqpFzI3>KJe]zkRicx+=];uZX|d|{vqĹfC5Jeɘ[BjF/@3(?|`NW3sig 0K-同[bE9uhkkJI_sΥ@ƪ~65pa\H;CL7w/1eln?ʒ.˪y},>Zs 7ek1%9As[݉2c>e"m _[ ՑC ;*t:M40h(avPL\6kCKQ1s dp3"j4Uߡۙ|[Eq~0Eʬ33rzT1uwZr Ħxd"$Be -U?wTf֍. Q4`/Nsմ >Am jH~ke܅GRw~`o9a b5![tF1~V֘վYD5D̒Uzp2 c^ܡU7z[a85uجbinWl}gyv_2V@)/-rvÛ5&_W Htxn(<ǕɄ  @u<!-+ZsFQe?57~@a7 էa8LY7^f9`*m Y_Oӡt+E)osZN{W'T,FeBxOi/C{W@oM=Oz΀{C4mx9" bL9k#9hhNWW(gMP*75eF)hй+腶9edfWzx0ՂBVry;Mcd-E_ZD}]pwZBUUҐt#rЎPR'!<? l: ZB]VtDj'Xf)c:SUi-8-7`,eO>M͕7~TP"Lގ5=_]@2OagL],g=vǼ:Kѐn5Fc4&Z-[qK1/|ܺCC%t$E/yoE3}SyW@H8̧aaahe|l.DGUxxwDϦ8N{v.ͷ{͝ s:s5veq [SKZ"ǥ!n] X%={鄀Y$Oc@Rw]JthL(kD^p)р1YÂYcZ]nV,r mrC/\@Rmԫ&"'W~[-R-/(H=P+\.77:/tN]+c!Fx J%9]gys)y>xEAv T>I4г \\74e ٔ]OS3 { tzq pp ){Ż;{LkTrي.<bKGD pHYs.#.#x?vtIME IDAT81 0+-Z5{k8࢓t\PKHɔ9,NL2x ,zqAW ׳/|Q$Ex4e}(6@G'O3Q/8y5@gǡy,ocIENDB`treemacs-3.2/icons/default/tags-open.png000066400000000000000000000012261476710620300203320ustar00rootroot00000000000000PNG  IHDRĴl;iCCPICC profile(}=H@_jT ꐡ:Yq*BZu0 4$).kŪ "%/)=B4+0hmq1]!*3˘$:{zY9z՜H< & ޴ VUs1.Hu71өyXhcYԈSXY+WY᜾uH`K BA%a#FN;]D.\%0r, Z /)^c|;N?Wz_3ZZ.[\Olʮ)}SBk^o}>i*y^=7r\bKGD pHYs.#.#x?vtIME 2amdIDAT8퓹 0PWq-*-8T29@ ǀp"`qN{a"[ ! &<UI(pVb.3a0El-4nyy[|[˼UzȾ]ѥ|mcFm9+kIENDB`treemacs-3.2/icons/default/tex.png000066400000000000000000000015271476710620300172410ustar00rootroot00000000000000PNG  IHDRĴl;iCCPICC profile(}=HPOSRZ :Yq*BZu0y4iHR\ׂ?Ug]\AIEJ/)}w^f5hmq1]A>1,3˘$:=uRxV?+,DYf6mp'tAG+q.,̈NGB+m̊FF.Ш94N3p:0IzEm⺥){0dȦJ~ZB>7e[ ͭy MJh;}n4 r}/Bf pHYs.#.#x?vtIME >5eIDAT8ϋa{;WfPl&ފF)XԬPl$E)JMQ6,ܔͰf5Qȭcqr3>s2|x^s^X9Zv5jŰi^ _ 33%9P);»MSgBzA[p llœڨX~M\UUS0Ĺa(k|jʯ%]JYna op'U55V7̆C8^n~`'q@]/g/t3p[ ϚH.\S4;q߇<*>tdy,| o u܍6[:m8_DԔGl2<IENDB`treemacs-3.2/icons/default/ts.png000066400000000000000000000013711476710620300170640ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8MHTQ3#*h_Q*sQH` QjS UBE\)>a +ЅETi:f:o{[l{p\WV+\&2ʓJ6+(ikPu9IR)<u8ݚ,ϠB* 5֊DmU,`b>Ʊ;Hjp'*-r(C#0$;M)8Pv6tA\& Em,M/|Tg X<z,J^R}rIOZ6s@ d8KT xx7@Vk Gwڰ[}A&h ()3)'%s\"iLJkMk-eՑSӒΡ]~\ -5g<EQz` /Y~$<ԟ_c&#IENDB`treemacs-3.2/icons/default/vagrant.png000066400000000000000000000143301476710620300200770ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭi8tc^a9#/~ᮖ*dpfR&Rs_l΋j7_ox~yw_(=>7eש7> {^}/sܽ6\g{ ދw,c%o請VjH5Kcg^׫=O]sneםѿ{YLy7}ʼnPOOu?ʝ&Zds3k[=do_MJԏ;!G>L8}۽t;/Ǚq1'~1:9*]l*@o"1M7n?`al\b$sdO]YN,fsı}~_r׽Lq\sh!)dZNbLO)hJC9KFJ,RJ-jZj[R˭V[ksΥ;#8ȣ:qguٗ_a+bV]m6N;njO:SO;+koVgܿgͽYS=K\ NrF|td(Wlu1zeN9ɓ512鸯ܿͤ7"sF{3{/ ubj8aGaѥs}v=hNnFoΝ^\ϓy:k9u+`-!}ksjػtH@/s pVrP)%!nF{HV(ٹKk~wq),řJ`g!\=r(S:sl#,Glp{-Թ}6us1 {duN.#VoƱ}[c87ۄT.iܶۜ=4>C%rpIͭRI(e\Nt֍~ϢMd{x-s+@hetٱlV[$2cZ:츓*G+߻Rc6 Y]Qg{=;[O77DPݷY"I/`H޹Ef_Ej@eFG/n:7uU8%]rjtn xxs!t\5 ͸D%XJ2j,;&w{97҈@ЌMQ[Qٖ۱.uN.Vl^t†ݚCy|= |\@rT#$|\& PA}lwvP)bO"?2 ٙx|DO+W5Ehܽ(o0w(ќA;B)9K FL3Q5-Nh&A4xN.ϢŲh.)p@"v8`W+:MTӶP6e-f% 'l(>]ؼ l]M?ӗ|=:!= I՝h1z$7Ux7ZItECʸ4Ge.g! =mNPh;gX+p:LOc˦<7`R+4[N i\7 ZY+P.,|0aoԌ ?ow`oSEGn  ڕܮ~]=Pm!f*qVsܨ"K0XWR8?۩B؇b3d!О홥];\lRX)]2:"ج^G ؀}V0~Act?< 2DPpiD|7IG丹.A98ӏ'?'O-Q+ B'J}O84j0&|ȃ""T.[ud|F~%4nQ"VZ'J$  -`)NV&+ch<9`ArĔEv >7bU2|#w%߲ N;L5X1[kM9Xξtq ɱ?ؐ 硾y/)'npe?RgWTIhK#P΄EZz 1%!ݳxUWXwVN' `jJ8h/ud]$`Dk*he sє,`P9Ȳ {Vdg`ߵ+=-<%؆TȆT o4GJU>ڌ hvDC4|e1UD_Ƴ-2j$LݡJr)n$8.6y LЦW8PBuzD<5pM^͡杫/\gKZs{sXӨN}í2 ;kиEhE2V@#gXq }1 XJƂ☣ʔJz0q&И0@'n9kc,2Zb_mY#\*ɂ`/ ;eK$\4H2먤#Lщ:@ x@kI}sJ94W?=lOyҶ *wȚ6$JrfQ3@Ccwn̈́C,Ƃ9+FNE#a )Q2 ݵ=ϟ2,3uM,~sĨ%u}ȹxu\z:4,x6" QICdoY+R0T 1QcBH5,ͻ4S.s /IȞ|#O{x5 ;QV rmeHiuelSE,ހ 5yHyzBvOɊд:Z)̒^:ay|.V˹:*ݢ!c0R/J`bj-A.5IE>U\YPh9bF0d?SGl.)FZwSބ@ "}@!Hi8 zh8; j08e(܅L;&KY]t~4U?OcBT G)a`IPk쩨V=&e;`NNch>_"Su91R1 w(gW&M0 E `6ܙqb)"6j*i@VcωBB^v2P0 !<}0V0$V5BPXUK=)YՍuk"eǵ?BV,^ ,R#^ԘH5 gY Թc$rog(v8HqHak1uAJmQ3^qsiJ\.K'5"tScS#5y,%[o:2`G8a5WY|Q͟P4^B q 6aH*a͂.E@ y\zDDevh| 9~<(vzX"Z mԎ}۽D:v R&x}R_/ _K~1a?l9\BA<:El:^PThDiHY1fY+(pH'Ӓ"g[u3VP1͐ ][#x4'161oȯMhpTh{t"a\IV=c Z퐇BzLA*\i;'fPwGR4ѳ B\'f[lػ4*f;m-z)[_/x5B0\k6䬍g%fl WVsGem ErZ GcY a4O$m]l+ pBB>slx4*a@eUCmIO%{vFJ(#0cGz\;35{20+gmBt 5͝8=E# r}_H% ́`8jѿR}{&=wu'쉀i9Fӓx"p3bϷ' jEDoUK2mH%߀'O*D71, U]S:xS+NZ>[)+c`Ea'.v:HMc*bM@xY߅חQg9֎fPwN4›=9SH ,<b"V3<^r/X62_>iwFONT10>IENDB`treemacs-3.2/icons/default/video.png000066400000000000000000000120651476710620300175460ustar00rootroot00000000000000PNG  IHDRĴl; zTXtRaw profile type exifxڵirsl8,fswY,jcUYXbq,=,^'MO󡼮BT☞uo_#󮽮(?fEr>>C~ V_R^`ݧ+-aN!=+H77&ᾐ*S^0ȧ}@h|/g9BΧ4{E~YnE+0ܨ<ݯ^_}Ϋ'._~z5CrXa=0Yb;V1Θjq&SW8Vjop]Npw310X+__];goo[hq2spH8/5~]xP^!T·JωB1/!I(kرcQ@EƜRmnSý7J,NM8BR!8+g!~jnА$YDTiNJ.RJ@nTsZj:ZjI+z=J/{#DhԤYEVmuLg):s&VYumb-{bri˫?kx=eշ8j" x5|[9gGB"[< QNxߜ;9sݿ9~/ؓfS>6\lHmc)4OjsNzdaƑl_!^2,cW=;Hg3G!4=5i\[$nkniZ̶3WOis#1Z$d 2ݨܑkZ;5[m.m{Þ kn)]XaוduG'Њ_ t\Qr&%Q^sM2KFe?+Kq%2iУE,uv>we\jX:1](}6{<ޮ'Nj@̶sFKⷲ;<Xg y<.doOd>Hk*z&RL1ٌl|ޫd9 geϞB\CN#DyK6f)wYغB `j=f 0N$H35nɶV29Y$7 ~GՅu<~.X:Xfo^諶e O[^XGfb&tK#'`63z{\0 UNݵ2aaĂ  6?@]|KUvxO 0z88= ysކu]eW(MӻϞ#WQwksFCyHo60:rXg<CL} ΃76PuR[*ܧƦ`XA_Ck@!}!Wě:ez)"Cf ν~Rw9uƋOvYĻ; Nb]RSćmG8U$|Ҵ]1 1 U58z2)E-DEO͚ !t)ޱMlda]Rl]1+ƧIO+5N1{q <\K+͘_=@>Or$ViLf,OW[j_^$Ia XY9jtD$ofQ.W0f6c++"FX&̽6` 陘(idS70⺣͑!v[vqSl4D7 k37(2-HGH`Xn!#ew /$"Rb4-=jt+}S ~>" ;qJG]wJmd[yV!&>%^ Xʘg/[7kwY*d-TDp5\4V{l=hLMqak4uXrx^:_FGt".ҡZ ɠe"WCZAdClAfmK{;{4iݺ΅@P W ineVQo;Ӓ'N&[ج(C)䯰z#G&@j,2Q IQ J -ЉruNcPRpT*k4,dWcպcta$IC7!I.n|do @Hd3$XZ <Δtpr*Bw-]ֽmvy͚ԘADkzzllY'2Y9n ϔLM5 YSmԹ?}[۷׿6%&;d֫GI5JZArרЊ= V;lYc:#aXTس/y{xA`Os?ΞvۈSm {Z }A&_z#ʺ8}6AD] gkOe`BYX?O%7ҟ}:QVdRޞ½vޏjkw`iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAVoūpiufF!{J%Rk,N%ձ;:6avcu(Ti-GNUn#Ix֙ԏq7^&b~\Ľ 8%m!D5^]b1m!߶4/@ 8IENDB`treemacs-3.2/icons/default/vsc/000077500000000000000000000000001476710620300165215ustar00rootroot00000000000000treemacs-3.2/icons/default/vsc/README.txt000066400000000000000000000003501476710620300202150ustar00rootroot00000000000000The icons in this subdirectory are taken from vscode-icons (https://github.com/vscode-icons/vscode-icons) and are licensed under the Creative Commons - ShareAlike (CC BY-SA) license: https://creativecommons.org/licenses/by-sa/4.0/. treemacs-3.2/icons/default/vsc/access.png000066400000000000000000000232511476710620300204730ustar00rootroot00000000000000PNG  IHDRĴl; zTXtRaw profile type exifxڭkc9s`?Ȭ;]mSQRJG<$8AUr[l_G~|y)?K\y==uS?}| u^w3PIn 4?ީ|~\V6?_]Zwp޿ o\(5<$6}=Zs~g~y=c.zy=#-|~YVcfGǣ} [2?r?v;1~kcc\tuwܾMGo~)_B +Tl66!m~Uz`{sW˯,\A- \ ͕v;#_%_9Sg{'&م䲳X1Pg>D?K/&cٛ׽LqZ|zl)dbbLO)RʩjRK=s9,%XRɥZZ5XS͵Z[ͷ[iֻ7u\yeFiQFm8̳:˯WYuշ3qwuv‰'|ʩmU>VR|[WM)_C8IͰY.F/fy"y&d, v>m_fR7rnc<7^jOm xnv;c{٘=_-9=ZY17(t=hk2P:frZ3gj, l9gnk3.9Ne!e0Fg*8-3MW0őm- Cx7%y{VO[rʳbH؁emvQs(X[a~3m0/R,|_9yLBs.5eL$̅R+3n$,:wyv:!2ov2wk* Rƺ6T?,E_cI5qg߿'P|r9#6F{VPx~F;dx`wddϮ'1ϕ,&rGqQ,l\#9ͬ1q;S8-*>:DM 9sqt#GV@ +x{Rdt^bێ6]=efs`p8!mD4{wpȝJbT2ƖImnݙ8K,~w@̬[++F {ěµýxg}p>wr#8U ^Wl m،76zo[z9lXg(le&c30 s, G3 ލmo$|:]1@4N`lF~lB-xM{iW޽>wax0w쩋 Qs~O+ #b8 Z*hGLzF'zҋ[l[EjȾyOscm!/eG"*ζFSq=^ĉ>,ƶ}xJ$] n4h6H`:ڭ8|*eȾ]ql:[G4Q .ْՄ:57ɤ]!*n<1a5;R;A}R;ˡy$lP y10b4RnP{I->lܺ4VU#0$Hm-t]$Hyo{ҍ7T]%eMp1EC2/FLȖZ2黑Fkt|I@l,T $ZY LX*_␩p61s’@bAv;-C7B?VC)gQ^%2W6L\Cwm.䗻iց;Vo Iwu, 3.l K93 3U BJ%M*r4YʦY[(,R`\b1;xtQ[ e"0@!`dLRˈUqݼ%"(]8v $0 0,Vq,{jry,}6`d)#zGV ^n--=H Sr WpB$ [FTd_70?x 5dqli&&ޔqnx{ F}ފgZ|ިؿ \` גCJO\95m I-+\&GŃX|nxCSi/1a˨bx-BbE~Ug ,6ѩpi0.n,ma$i='DQZrhMY2<ħbEK٨f&ε KZ"eۦb`oH1(# +`HE'ӗRPރi_eDAnפ†J+M@gtDwi:Ty>߫i9R&-X-BH5A5h:5ؤ3\P?թ#u@7/Y?_UVFaN hL3`7~nRk"jlM"rIDxwGj:@%$2-Wyr$s'U~sS*C\7 ?RN^yjA fnjΨ2CS#3X1w]t̨~2-7q*8XP&v:F:"P̉W)6<ߠb*fXǹ#E$ &2j딧cn*2Ut"!\E"\b]7s cO#ޤ>w`{?)X1Tݶ@ ]x9_SQgQ^Kũ U<\]x3JNVf7K F/D ƺfD 6tsbKjNY/"3[hp3G$ʝ0U A!בJLo~-\gtTЙ+Aémt[e:Gm4!(tR]Sٻs.Fix&`?(::9rk ک5^; M")yCr.~͗;8:\yyR T/viN*{7Ժ4k;`= d|+)joRCR w߷kc_Xuܸ_tO(v;r/bn!Zg_\4EDx9@[Xu_!a%c^{ļO~D#lBբ 8{0m S"/Cu`3H]X Cݜ1Lh WSshrOօuikA"QERXx_og=Jg9bUڀGR+8AFh-{9sԸ~ 6|G8Ampq55n3 G'j T-@V3+S7x[Ҁ"ARNOb?j4zy*]ۥ.$RPvBKg5h?~\]4fi5a??IU,ƁՈQOXv.c#,I舌B`rBQCQ3*I-ycs#VM;Ћ ADU&P 9wF}ȱR!-(_Zg6X(=E;Ym5 3=;ȁ5o$-’r ~mk,2RBqrH955it0 [#!V<0mZ#j][?[@@8gvE\DȈ iB;ICծŶ@R@5Tu}s@^;ְ8 7.GFw&8:@nܣ"Jt΅ZU=Ë=pΈ^?!J+;ص(To?>(T@,*wt@*n!xUe@5Dѩk*-<)+C ,K]*VU,P~emZ Dq:h=53*op:%uG}mjEAVUB߯ƷmLi6':F ؾ"fQ|vwy]h.Cn699(A#a:1-峷a" Amk됸!1yHf\ AM$䣾TwmX.e_̖<~pOhqm9N;rR -O66|=PHZVmC$Ip]v'N8%%l\ZeRzzz#VXt "jheϺɴWUs i}s'Oi-3F2Q1o:}# ߝԶ>ЯF|Oϼt7eFW#TB<`6TC*g7S %tH<T KMV8Oo*/7_Yƿ3}2$@E^MbBCz3 p:#UUΖq:})yxʏ^LgGh2B>?ۦ$O\[^1$̧} SWQϧ $!Rox#`|U ;:)"2PZfӓiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAHv) ;ݙϋ]CMbo 6E[U#Hp[RK]l0:vaRJB8iPHk޵3@)@>~p @P{,Dһ ڪZf u}POznJ+F2n,F{ U>/=r=}=ʶ)8P @)R9Yxʭ+ޙt{U>B)+AL~^J? z1쉬ݷi8Y e%ã~Pp41#O?ʶgqr 3gRfWb~>#!%sDQ'){؅N@WBى` j"R%(Y;@t#]:BJ`-$ 3e~㊕/)Ʒ?oPXW1<,LLڎ˗R`$ P ޷IX) jUUy53ݹ,< jPv$ S \ْ]_Q(J)vj!(݇7G)p5ؒqR˛“GAM}F:z'>BLԍXۣK356ڦW?}@ٖHƍI32{d219tm +2Y);Y[Uh>7`!ZSѺ48phGۜhW@g3"o^?9IENDB`treemacs-3.2/icons/default/vsc/ai.png000066400000000000000000000176111476710620300176260ustar00rootroot00000000000000PNG  IHDRĴl;(zTXtRaw profile type exifxYr$l^a9Ezo}b2*[$p̠jkZSkv;}?kwO\v7_|} | ^Fw5Pϋjyox 4_ݼ#7 cAxuE 徶!`8s+^}p_ex\~vE?y;gs33ͯ;w.W_u_j|i_51.;nߟML~Oo~)_B +Tb66,wy9>9.eΙr+1Cw>E@y-]}oJuseݎg?nK|3eE;a Dfs>D?K/1M\SO>{ 62NbLO)RʩjRK=s9,%XRɥZZ5XS͵Z[ͷ[iֻ7u|#8ȣ:qguٗ_a+jog6HN;nrO:SO;[^Q^Q7R\55 'I1#b>:"^+f"YcdRlr!tܷߊI9'"gݏq$jKunވ=P>շ0v ˬկiR|rqTZL`S>cWs5r;L7 P{2yZ;mQi挷ʣ݊ٯ5w%Sn̴R#2^^K-ɥwfkVf!T@w?F&vj#wJ۞18;FHmMkrR93y,L>VI~;/ܹٻ+ w#3νk&DŽHdk#a9F2hbY HbysZe/F]U}*1UcbU:K9094(> 7Cd-y֒gHQv/Uߓ}v4izɌvp>f++J`@q1 1ZsK;[:Dg3%K%;if8A *Pg͋XZׅ!.m>M=t.̇Rn9f^IQ chF؞'$+t{v.[ h aIWģbw4.SZ8'6%yVzsOJl]+])nMo*72nxz;;g]С胬 M2Dw(EԎͮ+0< ,l> `&ώ N9"diE^W<&}~dV3 x,bC*?QѾ͵sp;Mh_G^2_^2gd^k/g%9+B(TfZ" Z؀hAod7[(Є;tAfْwwP{zo3rܟ*/Y9>bOZ+"<B&cDzѝ bq4Ʌm:1½u ;.8`3P:8ψmR'Yr[a?tVM)i 9ѣ!lwK825?pP x|dLՉ;MD|g BDC@ʜ'Jc  FwVY10(-S(2,;o>. /XS j*in<IBpO%I9JZa9@7t5D3VP$B r`>b \jTL AaЊ w`LnbJ-~ɳԔ['R fi qH*ZF8-o5qRoqm29B|]c\Et1|"{坒0IxVk9uِ&R6A門GA×S^ּ'B5<Ztj<,m<@au(F]T {z9N}D}< |(gԺ+2PŎHpDkLj'E (͚7<*v<@.S'ySNȖTٓڂ:QS~nٽ¤Jvv(9@cw)g?rn K+ Dm ߄MT  Ϝihy]y+-l%+5 ^zm80"*Ⱦ]S6Lc`Z}\D"`آ|̂7]o`:FfX|1_ Yd3&RFD6䥢tiTm(d$UlEufI 5CYE4ſA4b@Y|s'x(ZL4i=U@)wKiU rD}Ps\>f7`X_.D +?(l T8 vٞhaFM ^jid4* Ԏ0y`9 б|P_Ô; <9~G3ޑ."+TN$#8RW<ZXtBiXPm`HȘ6𢏐$^$pɴ.Y@2k1]DO 8Xڋc>L fw\]F[D_ V ;nT(@G}ˀOp$L.wvvb{څ#r@a[A4P~FS@J!z6,tڶ[R2 *Ѵܵvc0ue0  &*' ҄&e=^9@9Vr}5ĵ< j-U>z`r%4ugiO<~:{PBYZ$@ BgPPUїHY]F~WB|/7P2ރ҅$>&PI Òy 3XuT{P%Wa~K_k9 >Y_zF>W_2|HÇDIH)qQڨ,Z~ȩn;F|&k:]|luqE2P`r v:b[r!a6qd䤪7pmLA4eƇavXyiwV 2}c( ܳǑDjEf0([a=hrs_} ~:$,Q{p&dP ֭J`0UhVxL;~4I%ٔ]pm\<:3֖ހ5_^e;Xya_gw&^ umIe ̈́JpD`DI9%RA~@ ujP ZH]'MJòճ'j IqSz~WT,L,&?[ځ޷;PێL,jf5"Y:GdcXPaNӈz}!`>!.o1oD+`Oߛk:(>6ѸPu\03_Ѻ4:غ{eJ 7Cj38sYQ̧299[""/QcdJǔKS )*! %^dwsI\lT-,c"P%nag_DgCt>4uoԬ@خ.!e=jno׽JeoͭuT/ ڨl+vWN sa3:s8Ҡə+ՁHNCc,͟㚪 Sy ^X&ؿhvݢ}V흡$"q|%5_6F&9 }(̋gO!StI=C1E}&fM&]O6?n05 ̅9aԈ04gǨ X/eWcx!yd MD.p[*<(:C$OTOEh{]-5zH;3/{Rm:Fܨ<_g<& }nnk=EC]({^<}ls[@#A2_:Z Fl텠0v2qcjKAՔ% &Irϋ1>!@EK){G|Թfڧ%fc"E#KC)ݹ)Xݽ#4wϰhQN׹C@gJ<̮ eř„Ԭwi՞%.ҤJ41oS1ZU;L0dIԉYz:Ԫs-/RGo.^VC.~Bipav+p #!&mE)Lz6 M'&NOY B4hĺ oR{Ck:t:8&5P5@AruRG cXpgw"7#E:Gh* {{*~%bd\&)cz~8YWdNO|չCrMMSɠv[bڪjv ~%P|6ɵcsȎ}NY]/g4mT˓i(4y/=%3#&w<H=+mPyqvӖo u:-nNud`UVozrJW^QP-(鴛_$ETm]gx0;g5K[_5jgb ԑSt2*B3cyt<)xUHqÂ?WעZ,Z:}twi`uцVq'L kffN]x~kցc={$v"KyKЁ :jkcR׳2U'h%N}uc};Qhg=JL:$;Q{mx6>J| V^/R k iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA8ܝYV)F<>9șgV˫oE;kU;6`'z}c`toZ"ChFî}.ɘ®yb#t*A[#e׌\NrG*l-4&4-Ţ03Q+£y&fT+ީ]͆QORGD S\ӗrgu {+L̔E_X"8ѰGs˂_d3Zw7r^S@GSBSls9Q*,ζV,Ó,i;t69-x{9p=?!/Qb|:\l&RhN7b L,Jeal: Kby7[bo]-ÓKT,QBT";?|Xp^=N2 ,MlͽuzWF;=ߟ@'r! ?IENDB`treemacs-3.2/icons/default/vsc/alaw.png000066400000000000000000000071121476710620300201540ustar00rootroot00000000000000PNG  IHDRĴl; zTXtRaw profile type exifxY8Dy97p9W(ETVU3V8@f7QrI5%_E_=}H=:,ګlq1zVSg1ө0a\vOܷf|n,gt hO65΍c S>Ҍ/MZk %ġ9f=3³ξWQ۶{bD&ua<:Pa_bu"ߛ]D8G;++ǎ} ڄj~4[5vT7{b&5VUz\w]Zm w;M9z0!w2 KAlKy'_34r68-zzo)5C;vbK%[` ͛زp3bbrĆkwe騟!7/1yƴ1۳fWJ\JOxxג2зeD&3ù+ݺ\7戴lLH0y:3s[M0[Nj"wҬЗģpf7ٱH 8!.9$G7gbh"(!H-y_R4LhP:5K7UT'"Ȝx vk]Ѭ 3Fiq9; x 4sЅd(1(xgIȆ`*MZk׀E%ķc*R+oIdߏL9Xi#«0aZ"bjYzS'z!}b_X1JlF' 7w˵PqҚ}AW'[$bY!q'M [`{p~ц03itSwaw֬U=-sQ1^[6ܢ8[@P"ޣT'*k9ᒑl}` RO"ñAmge^swo/|x5=E$XzH9W9]dَȊVHYY"R-l!pZ~.sR^m4,"eX`ql?`?#-Q,#>R0( S^@ɀoͯ@ B XKvNjM;(2&F3sآ[@4Ԉy8 @>kTV'o,#/f5yiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA|8mAy:q-SO p :OqpI:^ |MŠ?Z^R t70wkj {OKAp:^U{nz]":k(;;U9$p(@^^/JB}/G:KlW{W{ˇSIIL:goT60_8?5NcM>F1V XfB,Z#o-LBt["ZbrBꮦFOs/%1)n71dIENDB`treemacs-3.2/icons/default/vsc/angular.png000066400000000000000000000203211476710620300206560ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭir$r:8Xt_EN7{=3MV13+=6+ML斳+|M? ϡkxs*O^KfNnoN')9[mŸasU8ĝ5!Tq[fLn1+sK!g`\6\vx_ÎuFCb>)z=wg`H!Ouc"~JPO!ŔRN%UZ9Sιd\/Ē WjiPcM5Rkm7ZnZtԹWΑGqGu'3L32l/&V^eVlbǝvev? 't)v>^?x_O5Rn'I>c>:<^g<'dA&,'¸O}/[~3[~\9xm뱗 dw׮ֿ^y?1ȹXm{Z:Vڇ[T;+:6 c70ջ Y.5_'7 lPr:TwSq5883싉_369̐!QEdrKuP'f݃ה1h1d:T|fLIH*^?G[\ʭS|;,Ly]<(d~|e!NmEDmm >kM3o/,IW9!9!ℑvAlUMb#ߺt~~k`=K~+f,;:a.%G"Ǚsgu>w'Rn\+ǍY28qS50`@rg\j>-xpo;O?Vn믳ɀk ʽeZk.28K]LZʉ'ug5hL~-3?1_`'lgsP֚kRf/o:JZOŊ>ĖÒ~$32Abgx%IAlu5 nE0WO^Acҗ7ֶ׊M?-3|`~$ȧ% "ž#a_@+6؈HLi}ysHe,;|ߘ~vg.Bup%Wi"Ck-3<#oFQ!_d=RIݴw% Z0{0YAE 81BD\ףQ?oR~X3,>e1SLA7G)P:I7LgobM>e@J(Hj($Q0zP#JҢ~Rl9s(Al~KG8,?p3I-kA2ؖQ]؂0u͞9#s>u>sY;p8 Q[Z$`g// i՞hqJbr+w Qؔ:J߹ĠQ͊t["f5C}ƽxk8Ze:J3X&" T24I)P9h 3 hKa;{b@'H}0NB næMqct_;U"a9D@0 o|Q,nv)NjfA8t]%;.EPԩ W}3rZ1eԵWNEfwԘMƙcu}c܇ {@R'Kbӟ* DO1 䍌9%3 <ђH+NJ|#!#0о$E۾ B@! mMmZ$I@*A% 2-?c\7l\jSt նb"j$8s$BS2qD!%XbgaD?@GdPg,bvd J%AIZ0pە܌d(]x *6mWm ̘qʈ9GxP)&S '{* G%EF6g-5XGyFH'D[=/;^!ni-?K q s]*kϸvV\.C$PqbH ]*9c!*`?ۚ}Ehބ)n522 ya(Pd+At1tķ.\, ؒA#: FD!M/SvE8=F, K|Ak)^$h !q75\UN|Δ@X>5MD_# * Bp*j 5j"G_pE&Cطze) o@ JooB8*G 5$W<7 TvMLBJ "VmZf-!j42Ua QxijzBngn6'Iᭂ~74>xb$*puImĚKHowKFLB֖e)iK>::=4?JJٚ3̍Z5zoD':Pt6ĪK<Ƥc⋓!b͌/)25> ES~ pJdU a|RXM5ޏ\Цp%J!MkuQ! %0B{^3EOkb#.׳ܟRi yvp!]S_̤ݚ`/J~>NTb(?~xLkÓQk88KNjftSGOC[!)jPB4X{ݸn'0>)H!o d]׍ 4xB.mqIN48LA`TvʹJD rpNyՕڟU' ~C,UgE%%ncGy mmy.j)[yM ijߝGWmc FDfuxr ~Ї7<(Pj$h29jz-T'ӁA&$tK?{)x6 FZPgϠ$ux d1+0TkKeOJ6yUXEͤJv)QNb.DjөtXQ*ÊR|Z3n⣒tͺyۈKyC d5EǒZx;P$O|mG{[Nq6c杕0HQ.;0ߚ#Q{Po6K+ۮ,(>tiAi_"n Xj֝e#Is=Q]U4V:2u'ubRobDe[yj (HWT_EKo8+(R. Xi'H2; >"t cuX&F _y!QkaAݠs )gcp1a3.H$!}d+x صu}٫o!!WMYr@kHy-9}Kxw8usvMreG .UUACk亜}W:DYd\XRk@Tj+<RWby1=IL[vͩo $;*@ZN5|3Ѻ]-kf# y<$o%9<[܌O\hP`[TuC4@5o˩;n|n&>2:N5hS6 K-!uzcU/㺇kN#I!}ܭ\ާAyp`G2L~Wp1')a.AJDqQZDVz $WN(i( 0=ԆBBΜ &J՚`foQZFz;31NR.֌6`Eь6T 1 =Ƨg%4gT]`ȥp=&֋|,HUW6jw;#)О e 7hNkq[| Iջz,S ʣə2:=W3O }D Pj"C;TLy!?6"`! `^=&R>EM=ÆD+ z O * B4$3lZJIu"oCZ8e*`lL:)\M Tirm>JF ɠ[*ZX>"N폱z<.I _jq`HhK#)j}j;N89ɀTQxtᅮtk WDƾpiih$` CR=xHmm_эȃsͣ!Shɣ|]!*N~qb 07lĚV/$[Nj&)e.ԍ7tj qC,hB͈{r-hAj%^3,2ݒe-CbJ6)'o JZv-TY>OJ0uĒFjVoӛo^C 4:L?;گV{2-v$F9Bٯ^-Vcऍ.bVSO٣ `" A4R*#`$c˂p_>`h'Xl\/Xԑ;jŀn@rkO_ ߞML DNO~V2S0̹-yϓ'<GԄ-!+NKpȕ/=31 vqH_ݵ)׷54ې̯AyBN%<_N= -:c͢e=jԲ Sk6\ɴu5PM\LG5fi5ͅQ]X;YtU@(-FqҢ|5ma$|>KX8"?w*19ɼ1oI{4i7H|FIU] a&S ʊ~i'.`/zK)pԒl@*$3m0>~-%ى8y GNF es!1qtfbvbpMU,#%4DPVBQؿuog_KˊU!f-k狶OWE9hmP Zx$;UɈռ9T:d('xh{pLu^G,wU$$N*fGuR+]!PL+UQ*g&sW[M*cd6^==u2m$,n{hklzZy btq#DҮ[4TVHлWi巖GFmckuLKSC$G4V%̋^)Lt-Sy-Pӧ)Zm{mm1bo~c5w m6m UѪ7ɹ(jEZ"5.9)}j9@V"(ChMW; l V,#W|ԓ_fy_$eiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAn83(A-˴ㄥ 6#>ʺ~ŌS᷊8" |C &k = 9=$1,ՠrḎZ@\VcxU9zE# ?B+x6&P]sajr.`ͣs*he-ʭ-TԺ[!0#J~> 3ׯT^|w~0ua 8=/Jک#m[7ɚc o*\<.Ʃ6аz_.W/7{UǵXww)bE"9c y6CNbt~ndPh,pJg[h2rKyWiZ>u8`Pvê#wC5h~adlJo,JJluZ`#8aYݏ^ J߬5ef>B b1β鵺?ks=IZ|Y'[tKm3nE(q+Ohyj>!>L<V/>'>tT.'=omtF Bo2QmU9 +J湼'ceA&H%.ڥo^Z̺oIMĞT =vg!AF1Ȣu{JevU W{J=/HO26^mB@m*DeA5l&@sͫ:|&=֫ v*qXp^h<pHKV=0YӣHr%|sJIfӟuY"SxO\PVЗULe͛zPz|N!T}`EݍlKw-%IENDB`treemacs-3.2/icons/default/vsc/ansible.png000066400000000000000000000012511476710620300206430ustar00rootroot00000000000000PNG  IHDRngAMA a cHRMz&u0`:pQ<bKGD#2 pHYs"tIME / hIDAT(ϕAKTQ S0Z JED!@FZ&b;C75`1q(A{߹-;N#={?4{U*~ ߨFtBo[`CNx?%]ω95ڑ|q2UNn~ǭvF.5Nd6Ypa鮨, bd8IEX yul3qP5<-=s<}='rAr?]|/&Zx/4P~gQ~]__\(71%>^>@?w_{<|,Û~җ6/TW29h~+ʚ;8y_%ޗIʗv3]s[}n2/z?}j(w| -Pۄa9wy9N9W?wsTb\^u09,Λt~W?*L7̕ v;KVyx}Zș " dfsı}~_ 7W{>ul")dNbLO)RʩjRK=s9,%XRɥZZ5XS͵Z[ͷ[iֻ7u9sdFiQFmI8̳:˯WYuշ3qwuv‰'|ʩ7Yso͔+Y)Np32#Erf+sʙmHA&,¸O}[(o&?ʛ9CdmӅ tڍ]֟αvwgq]ckbl xEb-Xa3i f6#M >punK']zIaAu:K\nqsψPZ;&|=W|r\(ObH(k?`VgN.m1wMDIsB\}LUϕ$dC(u^g |WרL d1 Pp>pnNO&ž'mg#Y:4< |W<~Eo;3SOma@p L*C`dO`=\Z iici͜N/#(tHyAq:?VXI"_\l'w(d/'/L=﹉5_؉aQQ!V NZȟg͈.P/f &E Bm¹=c~ h5gQ#"'D7^&|##vI `s]vClY]Vbot"kzؕ:2={3 ^ZI 6 BgB|eƒG,kc'i8Fnla `[\~&R1!òr+s@cY``_ ^F!zؽ3 SD p@Hi`$RԯA þ<Ԥ16(>ķ=@Bcʟi*X 2%p;} ͨ7XKczܸxglhYh"A-D$~ O@P@GC E$!'SAŠ SC#8g@C!bh"`"ݣvƊE$(b˛D[3ĂTp@CHj(q&1$*v$$LօD$8b\S$kZ9a4Rr Q5.LC@QdC0yTLDd}*xps^wTTB<P~bqEzdlz{feWKIyocG5x7A£zoOpZ:dx"Y*,k& #"|smp\O8@m;π.[OO-?8[(BQT !3Az*})F] \h0R9"<Cy!:sk%I_ӒrXpTn#w­R e+9{g/l) a #L?<%0,4VIRv!$м?.aJٹ{ZwTm xz5W9r@Nf?]#ih*륋 M:#rUj,I$ڡʁr1Fj -y:Չ[`,F o`oB(F=PU2Ӛڝa , U 50o8DNH d垂Y?ʠ .TIįe&.p~WjJ`d,8  eeZu?+7pS%z#,6 FHvd)-KzFEAw8@룏}kP$.k=Zi*t* rr-|0Kp1/7I؀E 桾ҭ4_5H8]=r&i,e*#⣩yv? L% fw8m*AgPMť7$ ‹S'|9Wj9\>.H'*qOl>?MmjG[-&-RH,M4P~r; )JQVp96yGzshVNH0K AOܳ򚀻SHg3,(_1mSZnM\mbg./#!1 # ClFk6mOisiwSnLixo6 5$phk n*il_˪#x/]k[5> xArjߠt)1Zf]ͻ98*IZ{n*mIˋ aWxbFV0+bIs=G]O-ft2\?dEHĈtPe؄u}Ev/GP 3$82DY;a LN^`2 k #Bdḭ |uRIKbDߓ=/[֬U{xƗ>[9~$/>CH%m{HYww*@Cۭs7]ncV=Y+x'Oq>4o6M-PsAm$O>]Ua ~K00X0RAPcX5d{zdZX%/H r_8xK9M/fAyƽzc!}-6mCgK/^W6owBzΥtyMjȡƣdQ[[Hfʢx$X8DTujzJoZc"ND=Y$a@OJ-k+b~nߜPB D:̓h<G>At(6EmC+X*7$2j>6@wS\Tn'' ,积orB"=b#ý6|iVWt7l0$.4)bSZl:ASeB\Z1eҒD!1g9Z:K[:@yXjI_{&5[B!4]hIM:ރh6hSQڨ#O$o5JЬ(e{&إcWЬ}N <u0ECf7K⴩@ʦ4ᴛokyJ Iuf8":vԸU7zCs|j8ʰjUf<13vBhQ~*<;) 9W%=$CmKrX]u7 B[QKRFnL "iv 1kNTDAOCM+sV Ei13gUnT[:& DChs'N)д`X=7A>e<9ˀz̲j)˨)|޽CKٰ#ܸd$=Vo3v˖I?ES!:O9iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAXb&wtzԯրAPD_Ԭq=JN}mpNS{o57D nh)Ilw-6?ˍ^^. +N[ Ht~VTScIЋ$c-J { ae13[޸&ZڂXFw`A4SGFӝ*Uf@^yIإL3.&{_vE-@my Mg g EcU_)Û0 td9Kڵuvaxȅƭrf@wޔ;sӓ!R]I X $p~}AC3d} ~sl(/<Rj `^T68X!wXВBB(pM'bB Uq1`x5#XKOE \b@Ll?xXkƴ\#?|L M+cg+P0ĩx̦PzTNp{ Wϼ/90JFE{IENDB`treemacs-3.2/icons/default/vsc/any.png000066400000000000000000000107071476710620300200230ustar00rootroot00000000000000PNG  IHDRĴl; GzTXtRaw profile type exifxݘ[ E9 pH\+3A.sۖZH88Y6/ML斳/|믝_g{y\ n_7={N|H뺋Dm]'j'{1zGcB,xi& ޯ= \7Cb OC޶8Z7'?g?>9z,ɷ7\t=< E/۹{Ϻvcƣ(kg8py8e>o⼜OSmӊ|5AetmQ`bދZ 7/Aqqۗ /wmg=qcwL?_[E֧kda"oqso_Pt\`b$[8^)LƸ6\vx_Ï:cٛ׵y3'^"L>Uc"~JPO!ŔRN%UZ9Sιd%^B%\J^C5\K| p`jV[k{Y3Wg|#8ȣ:BH$YTiҧaB32l/gLJ+jobmwy]wڍnAJǕ'j\5ڍ]Zۋ 7?p$}6ڳu۫@%';ʞ{L}1̞s6^{ԷgY裏:j"i-Tpi-{`.Kcr$}*""j┑<]LSGgUs̩1W5Ch;vh>3)ԅ.=v6I` _'ߤՀ#&m=ˠ)Ǟg^pSGsnPTk spc~!J8 jK} ̟kߖ%вqQԫ\lYLQ!![F _|uW I٤{+uX+{x+F.Vֵ_mC{G-pN;ǽ+췮;]LUc3exvt|u^Xh+F;YGI(Gŵ!Q`pJɥMZ3~f*L>g"u\ rdم+e0נJ>J8dA<P33<Z8̨l=A}m_rld7bV y;^:%v'|NGph͐I eo4 XGM%QyP-EV":\TM5'sc%o-/d> cǯ $@!z+}ˑ@x-4^fSQ#WB`)3lg.mPmøg06JuMyzeHBBk3 BqT 0e^^#XhڳSdy1LDNt "k &| E(;w=NsMhcN;OIYֳz7暝ؐ sg$C-}iA]S}9 YJac모<Gy0.f kյTxsyXC.LEfq(mXݜKzcVYM '[ wt ܣPPic(A7d FkFrEڼ1iS1U19٥kz,y|mZB=4$q0$c_54)\z(}4 N@zsZEl nJft4VhTW㫆SС}X:IɭEg%Wxӥ@zɇRVIbbxH[[i6GR`SJJAֹ$. 4pL4K'kNYPd.Tu=M_|f&t8nw9dV'!Ќe3EG- +kיV^QF:݈("8Y+JF-J!L {R@]SP5k{Gee 2D+{rLreNoF^V%*W 0׆)}+VhՏ)j E@1 :3/Rb Դ}=l a/CHu'>:jRuTJ|$8Ll}LSoUm/*tU6S5;L4jx?ehD\8ꈤ`J'#JF RtZAyc4to=ܒъBz_P5GTOiB^CN t"n8;VΫu5c^6Y7k8^?汲fx0_Xec O7^5Ϧfi/i>u -_!k͓zpzcQo 8A1/\-1h:gS9XP 0j3TEt-/UF_EBJ%9]gys)y>xEAO:ߊC-?yrϮׄ0!^ߋ*b J^ !q`W, )A, @pa5, qF~0V?.>ޒFj!Lc?p$hݒ Geekxc•6R̥ށy"|g&çXs+BݳWN|\r_lx=m]=bn۸uZk೬HVp*ǗqvX }k/i5ºi) XoF)B}x 5!T)c=!u:UeyBg|zۛ n 'IENDB`treemacs-3.2/icons/default/vsc/apache.png000066400000000000000000000135411476710620300204540ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭY$)EYE/Az}5*uހz' hև./y|_g_y{!lJ|Wo'|#Ο#s}/8H˻=υ~ǡυ;ϏQcㆬD 7J"; ?̻q1O|S_lO?/m;|~αv~g7r%SQOÁ{Z}u^"gZG!+'-x⾟+.e)$m-tYhR#YKvH=xVl"JbSj?ys(>;VK< 3EB>~J 3Kt8P j "]LLd1X"#ql$h0rIY&1H)U *Mޜ+EfDTFʹP?54J*RJ/kju4kѪMZnզFkzcHhp-SfyY6YyU& jjͺ)ve׭ǡN:SvYdwɚLq5կKD9#c#W-Ŝ39{:h1 =c0(PʛOG} kcn#HNj~v9D`zv3^;ZѺ6dtTOcɾr)E']Fo+WL)U-ݙ ᭻>y 921rI2h޻d2ާG,͸ hiGYjN0YMa-_Ub mJ}O\D橛?č/~uJyUKerƚ.e2Aqǩf4"iU䞧(5uM g'(\Dr3|zJb/FIRL%y7gQĥ0n+Vͱd4oPK·*MÒΘ-*#JodܜPIV1FGLF9:Wjw_jÞh>TOa ( 0W $p(/Sʁ[`#2*,#3C!z|ɅJk F.(s?cמ.7gaCHTh6\Z0 4 V9vz( "tNf2`چ8b$fJ-K5s:AlǞ ,*̍4[ѫ9h+FyvWqt9RiP;,=ٴT5؞k\d)HL-(Vzxlw,mUY50MA}(|u8 h0Vs?&t4lHyLO=+d\zF, 052%ԍ}MKZ:,=snwHqYSiZdU0ݳuQ:(ºnifz J+̆_H[-qswQ(Aji2@/ %ԎCx>ï"YJtrI2'0WH7Nnͬj5=#@<%ea\q͖h%sR訝eP YR€.$oּAe Ivlm񕭴Rez @eMp]hZaH9:@/-oرhnmLvl9N tҺGq@j޾;RPH)GP{mpۙ'UfJA6^P!{ I@Q\oȄI2N>DYBMtFwCK͘9YJ2 n?~LʎQ%1 K,u!6-2h)$` Iց} _E+uвVMPDJJ'( q+"&0G/ !,"BBSRrNC-''wf41l- vg. Jt6K<>E х k&8%ra>J国5s"X JhSG5GNR iGEg& CjN@<"9-0+ NM(uh9`d&-Oy (b>@#8?hR]r 0 Y r02`\}&¯#q( #vKH(VH%:?\% a)-ԔV:tJ*URjNNisMt o;hpBV&J~P0!Oju>b BϪi.njvV$NNĭn ]Sgu?DS`GIJ.:F ݺ1)ׇjA-[& |׾zc logW!mꓑvY\Hx%C f߄l }s,zőw(+~9MŞڎ`=f B8J8#v=aFw]2 akdDTEvpweD3胋05 ׫#yWa|ŜVIQ5b`"<pcwuKC:! m}1"XP㭖}7P[kIьD Ő.9=#|dlRX/:DǕ| \3XS2Fx4F(w*~7x܂ 4Z58Ti_)L46Ԧmr7A0wxTr xiO6߭0x.ity9Չ[ҽQajJ]\#iiWS>DCmQː3p35[}V´yWxkq H WG M 0 ]*sČZP)i.,ErCDo:R'=Ɉa&4 /aUB(y#PWցqs=H66Gi9hH51>h|hs"94; Wgo0-[ ~e[!^"{Y !є]&h '6}H휏alL)~HN_!ƶ^ l\&ː]XϘZ4qy>D+bY/MQk6tG`+.FA*|u Y*Amd{C!W.:^cdj/OVwD:®uӒO| /% Tj/v`xi]T f20DDH_}͙E︵DZ*hnE"qнWT<4: nyH  b-`,hlA fED/vl#NgGX/].1w<{p7y0{ǀ1b$vas4>e¨@<}ȮOkET mR]N͛@rWN슍(I9~F;iá$ XA G_(.n.2\ ~R@rRڐ/ĵ%5.꟞cնRR*6| s 7s2;@%;c..❷h}ô1#p=7zO{Pt Ddu$wDt[q]^_:%ER߁|p)HK|#&fϚ9qhau[՟/@ͽsi Jݍ\n NȰWr[!p'ޱyH?oo$_v#C=HO.AHʷ ԘVGw6<~ILӁx,q0@&wZx(G Xg5  ZM! )^j^@NS`1$JN{tnS~̰Py7 ˠr/IK=. =Ղ,Dߐϵއ/j{HglmEJ";;T j1_H564|ep)z?p 7CzZy~/T?/""gKq#Y7W*ܧNd ﶎD)ï4S)'8G *B%i<t&_ 2RZ過/gtE;CZ5iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAt3*)2jSM^2Qٮ=rm .'PFәjPXwvc)Ʊiyx=h9JZ}\7^ Sx2*cJ\S$b6MӦOU<5嬧prSf'O>)HI8;BbVY%vOkQvϐ_ͱ?G:1)חz2~Uu0%AHIENDB`treemacs-3.2/icons/default/vsc/apple.png000066400000000000000000000101031476710620300203230ustar00rootroot00000000000000PNG  IHDRĴl; zTXtRaw profile type exifxڭiv:c0/9^~Rl+NH@ (p-ƬwKN&\RMj8)p>/> 误7kqܔ{"6󺲞g#k܅{TK~6cqu߫@xiF";og,׻||>pޓ{}v'?g￝}r{, .~o"xaG|:yY^ZHx4e;nܟ%^wIGEh~BFei {"nP/J&#T<'q_L9L (Z6orYo.*ӌ5@L2υĵ3ER0U^ƭjT "s4qs25`װKg-o%_2A Vl~pm1gSusP)t-ޒF-1/V99q&/_wA磹N0*E"?UR\v~#:g&6,U @j1ǩ?Ԥ\@4c %b{[Q]ZaMf* oU;K d6K$bL٤c3oORh@Mp]JJz1Pc]41;HmV`GYsiq-5~phx3 jCwHŽG.1IEBSlR;9OB;9dִd[@Iχeh,*`rͳ8 -9급OjM?O G|s4?tp:]*|ͪ"pH꛿+ !Wt D9׷~ȈvM}@_MvVC4b o0D@DXz2;V-1ս2{]kU?}H檓D&n%6Y9ȌfL-8`{kE[.fԊ>(Ѡi|NW}PbdkZ.>5UeWǗ$?{TrJQP=fmɷS[gm*UʴtrEtКKI J^%F=ulv-M΂zs eŭDҨɛI- D8ǏGU?o_DI>7'ӗW6JuԈ?Miڇn4zmz<@E7:,A9rTГA5{(w#W)WQˌ6ˮ}7M}}[p4Wk2G~Z3Y^qeӵ %t >ެ x$4 w˳w`9aK9桗`HLcPn_"pјxy-hM ʲ1>N #xOĞ!ZfPOFCF@4i[҉)튇l)|bI5OmeU}Xic̤Q&pt6QӅ-N_yu= ݞF TNQK_%g5_2.(iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA>|NNӔRόF%*ٹE] pJں7֠A.T/BԌ .S"JNb˔]+)*%tEXtdate:create2020-04-16T11:54:18+00:00%tEXtdate:modify2020-04-16T11:54:18+00:00 9IENDB`treemacs-3.2/icons/default/vsc/arduino.png000066400000000000000000000031041476710620300206660ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDC pHYs"tIME 7s<3IDAT8m]Uk}>޹ xKԡ H@+lkbڇM[!6RX~D_4M/}iiŀ!P a>;{>t%ZYY뿄/:3.Q@$"QdEl(: q_eX T-,iwKD\-v7_iv,kW_",+yL/h?jU,Zӵ$922VSփ`3(>K.zY~ZYۍEl{?N$pP{ʲ$s:r,WR~V&lQZ4ZoVJཱི]ν=E}"ժ8&60!n:9 "~~?|.{Ư[Ճ_[8c' &%tEXtdate:create2020-04-16T11:55:12+00:00%tEXtdate:modify2020-04-16T11:55:12+00:00L?IIENDB`treemacs-3.2/icons/default/vsc/ascript.png000066400000000000000000000101561476710620300206770ustar00rootroot00000000000000PNG  IHDRĴl; zTXtRaw profile type exifxڭYv+;D9I۵joLɝtֳlg*o/~`B%Ք,?'^?w6חts_ %( 9\zݔ/@9Yg#.uZgS=и<~OwBxiF&8,%̹j8{0eyɏ3ϳo.|yp߮sybyZvX,{ku-$6;v>U6.np_>s~x9׊d_SЏ>K) 1 ⟶3o= Wy:?{-O_aW\cFNq[<~|OD07l}`KN"+1w'D&'%g9XPr/w"b#} 5ɾxw;&%O5B?90ԢcL1bb-I )r"ײcN9knEJ(K)+Eƚjښ7c5o\K=s/6#4(6IiYfm9+ʫk[vqwugE5"gԸjr~ ᴜD^cf k4fz"z3F|*n&_ G QsDB4KSRkl{PMmH^~,niCSwTXڶRȭ:BHUrso߫)y<Yw^o^c U3<ӊAG ߖ.vÚ<ž=WGn>-Aճ_ÙM3Y#90u&' cE=2Aw\+$$;8ހ}5cܚq[ze^K -)e:HU{ uG:`zΕ(q^.W9R+0M'hN˞sj÷#itĒJaRC W"ş{AsM:"Fud߄!21z'R5n'*uzTVG?F7_`v5'|nx?Kf_2VI\(-dWwmհ-dY[2 *m*H`1| bDSrӲ\lխ5k,[dpA=XS} 3\iJOP`2hyԹpJ5]e"nʘ$㻵jiW&1loX =rFzǪV7\yV0ciť.eE?fuEt؇5Ew(0ybeբe$LRl@hkNѰ V҂PFrYT)hW,~,p#E2Wq=[I@I[:b꠪pfR x`7/L2Xd; Xy eϜtt˾Jeupj~rq0ej,3Ԟ~sd1#`&D)>6<|YMa{nokG*lȗ%Yf)XB.\b"  ~ ~( D_Gz:B|n^B_B ͨIwQ8:WvJE J~IK4d0G%d=ꋖ s41;~>~~^ ([r#I3@h hRiꩾ okmvY-*7!*Oi%lʒ=2-#\$EJs>"haѰ%SQɫUȓE:Q@zTpAMeyvpV?vO>RH@8S.((CFr)- ^i<͜yLOSCr[Kk#/Hߗjk=r1G 1W+&ԕȦ{iQة9=N=DÃ?(z~D'm%s_?Tt`տ4mp ƒiĸjrIr4R2(UbtRG@E zڤZQnE }IA xe"vY4m Aݗ)쮬k_fv p 8 ^~9}UU=j*5-O};=Z۩>9ֽvJ֋j\խῲl| N-]qP" uD*ҝtxyfZ( tfI1ʠ&x"gAص4ٝܪ㭪=Nɩ!bN@ChN?Oij$j#If^V+N}zk ү7?U>Ԩ̂ǽqn0|fނrg9tZ!P}P34O@3D40h:[>QBc>~q@`~2 )[ iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA\rXtF:x ovZSxoFTə܅GpB\0,7I\(; 39gU Y|aR6l Zȶw=Tj8 GjƙJxs^h|iR?16SY!9Ykr*% 7O]TҎ у^EXM1i6="5 E'|J9gDZ3c'%%c{!C$ jf'vBcbVo ڋ|#}x@Z\}!QǷx!yiѨTba42Np+v}h~ ~- Uj0g1S,7Kɳ[ZOѼ Tz|Oҩ-ӮA_ոm[MY úަlX-6̗"=g9>Es.,F4;_~$Nw8mc I'؀\/IENDB`treemacs-3.2/icons/default/vsc/asm.png000066400000000000000000000125161476710620300200140ustar00rootroot00000000000000PNG  IHDRĴl;HzTXtRaw profile type exifxڭir$)Fs9q)JVMҔ |Kq/'.i=8{?_Xy{?ٕئ竌o(|>d|CM>Nu׉w*^wqG 7J1Az $svlrO{z1@?OkW~y OmşϗYnJD뫢{]É{Y%>}u^|y"Y9.'ՠL1mג5Y‰zZ3ۥ>p44`K~ruO^cż5Ӱ;gp^y+7oWT`an,p 1KQ[9q^aPp^"]LHdאJKql$h0s!N2JIƜRNbvopύ%h&QR$+BHn(RJ-R+j*@nH,E42ZjVz=^{#c qgulϡf-ZUiױJ Xuj λe8I'rN?=k~yA+kfΓ׉  N匌ȸX(h9--s3#MQ",eb9=w?2ҾwsG_dmӅS>6\lHmvV[%MDJ$Jcثjfd_krVrngro^霰 clĹgY}uP,$h0cs)Im~;3E ՑDIv?cSwd])%.!!(sW= JqTSZG]0D$UǠÏ:4m*dKN,DVB.uuBi3eQ Wꄔ<~衤jCڦ'z&9q+4sIy1ryD{J7J0-@^:7=LMLZ$}gr~W$DdKfR\3I/.{ͮԇ8ͫ2͔GGV="u6JUHi}BϠHh@Y(O}ۃ" ]AAR1`@\w]F7^ؔC]ʜk;kvsVH׶YD6sȨr%ZCnzN]>as[Yk=:h&s}yKdtT3cu⩑2MnlC-_ ^Ě>Ë[7Ӝd=JZ-FLβCJV[@Jn֫?q_Dqn8hho.7zF!ғ>x[pl.l gR.mh&=:Mw@9셥|`v0VA# h),ug? Ym{ؐk"zJXJܬ(pksE xAduf(58smféZSYDab12Z˦2%-HV΃Kc5*qf/nF[,C% hPښmgh,[XYK.߃RĎFKW# 3=E,:j=|Y܅.`TZ PJ3 0eJGF}=w޵iM9"pXx ,=BJXSB@7*?5E2Uj@"‰<%9/-M);+[L;Blf<\)l`qP8eYYF e%1nt&XV"ۦ@P{[;p(a ԑ|DlOzՎt׎;L,k@1iъ}Q!`&&id= LL0JFm7=rٲ+zoBX&l3rɄnFA+F@0s讆 J#KHM=g"_RϬ!ABTD"D zc2Q5=Z IS\x>)AhW>3K$ a4b7D4U F0Se*Xj Z?IGIV%QhRsY>.K{Zc] U(B4BW,"*sDPEȎO< ~e i_Gzꧽ( T=$15yx#mEP#hxnD2(a8ǮPh PpW+'!B#ddJ!`ya|EyT1Q7E]/o#f$Ԛ=i N廊PApyvT 78Iָ.4!Fݧ|Hl" nlt3ݙ8y nSj yb.#ov-_}V)0ڌu8@m՞ )i!7Kh)eMƂ=<7#jmP1,.j,n߸49eAT%UA6ey0\lV c\ܫˈocESZFڝ1+F +Vym7"Exl"MpS&?R%.UI+j$, RqR9E *r@blq˺1.[$n($3G6'8o4#8ߟn88+N}0/S*8vOUmlsymH㩑>"`݊;#2-3n$zF6@:JRSMpSOFD܎Ց\=X_GB249{_Pkx'cM:'0r4aɴ4@QԺ]GUGJLڴ[ mݷNL>MF3{I{*ARKqP8, G!Y%ϒ6JfIf@r}X_@~d˳2R+?J5hEݧ0L|:0p6/] u-G%t9E>`[2huKR_"Z<Ğ'm U3o*~IL!FYV28O_! y`\6uA*r1m .oC6\/jtqiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA{8@tb3]$hpy,Ht?`0Ȼ]蝑/OOlDJY` *V PYzE(Y@c-w{n.&]ץ'jEY3ť=) ߺC=O<s }`+F)Gt gz4 )zy 4ڂ$y؞(o-/ܱϡP=t!R"X{#f]C{!ڤu8 Zʲ2>ڛN_h +Zj;#mf (퐙n*Һ2Ff1n6@l]B\'#nq[GG\QQp j`MbW;C R"4꠷λȨ-Ip*^n6JԐ'磞h:Z6Z+od,`vs h {D`+x}hςg0̽r3- b/Y9H^2VZ/s"AA[C>I#?@ ѸӒ͇iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA#؈9w()d#6>K.D4!tzQ8i|G`+Ck~ B#[兀uX,.c&1؆utUETgY* 1> QI, ,ϣ[aΐYd _b7w$@2$N8P̣o{&t2{jIENDB`treemacs-3.2/icons/default/vsc/autohk.png000066400000000000000000000012361476710620300205240ustar00rootroot00000000000000PNG  IHDRngAMA a cHRMz&u0`:pQ<bKGD#2 pHYs"tIME :6ަjIDAT(ϕOKQ}ITrjSn ZPП7P-| zDj#\ABD3a{o ˈ=|/9q=N紷~T><W*EAΒ$}wq9d$E4h, 5Tsz\F3Q(>PP#>.?*qɹeYEARg^x:^Z[Dy@m۔bͬ͘%(Zװa۸]qӺNY)ee쉢y3&ntǔJIaWל *8#`N4rI图z%qoI N݁Yw-y1_nt_+bKxjW٘C<9kT2hk($-:ǝ0%tEXtdate:create2020-04-16T11:58:44+00:00c7%tEXtdate:modify2020-04-16T11:58:44+00:00IENDB`treemacs-3.2/icons/default/vsc/babel.png000066400000000000000000000126111476710620300202750ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭYvܰE,dY~nlYIܖ"PnIR-o_(5{89Oi^cJA_|?I·Oσߔ~yxnÍKɼj W5|l瓟9?b +FF 5hyJ;HqF%g#,#\WF[Y`to^na!Ŋyk ;EB~O_'׻T`>aVخ~?gsn!d> Dd*>f_%!QIPc!ɀ9L&R%8 ll>#r(NM$"B?)j$+LPVS1sɒ[%\Jb $J,EDT44kQQժ\Kւk xVƙz^tA4(C: 3N`b)Sgmy@V^eUWڎ;˖'^5d-L}5:#I<,gerv@S$Mo#iݯQ\?[OsG/6݅+}\_\f־;ζ5RKiݮt,",8Z+-mKΆW׵h+9d>tE8J3ʺ}dRχu2IEefj4)ߛ$/M\WXZ$. v,Э1YB E$\Uɢ\JOMlqZ^ۮW O(lw {"A ]%;ygJngmν-^ZK%LL.FL M+P~I),V$艰Q5l4Rd22w/N*iE$Y=WLe̅7 uU {{9ӚqDik@;tJmIIbݽEʁByC [3[&@\źt[.vYz8^Ӳ3,UeF^LmRF]Lq l~V2+fϝ#Ƅrg᾿VCvKtDkR*]5?.:;ꬅ%T]:Kߚ&kʭ{ƌkL+!L-!- A zJ} p&;!AY;;R\!.N HyygUc$aH5e Wa]0U@6~XaKCN;}`רsuqI!Gب 2PW$n_zXR4*@a¦e gDHp_ L Eo"A?ɪ9Y4+LЉq-sxh< V~X:ժҧݯ*kvUܤGx|l4JYѪ7"A`d&FРí90T'P.Gt@)1hu63LB+M 6A3[H*[:B:FcAFMa,30twi'z=)Js :I$44rgv&F6=_/ >.T?"1VF{ҰD&O֡^ )~4M)5bQJ0m: pٵMFQ TBIjNs(c8 plu<~tKWG4:m9nD4YwW ؽL\1qrRY[ r&c ?PS)<8S'JBnLܪ( 43B; 7n،al;`g|6dV3;hn.[H=Pan>(w=S}=zN1n;DSTP ~E(Bxc,j&c|S o H,2xr ~ }mU4⑇ua _ˣa~%nB&5W*qܥl}P4cgݡa>HǽEaB` }#}](+y|~>b?EPv;C{=u>,|ٕڡ2ɓSݦR}b#j5gк}Gk-C~$\&r _ ۺE.\Io5f́eCi'vsܨ+d!emw2iSRNFa|gM5s\ň߂7 oDIh8V86983k4:PibB#F^ -E tGw+naĢ!w-tq$2r0€U,8T ?! T\%rنidPwZl1*e%9zʅv=׀ŶsyNvǹq"h{Ւ*Gv\5 I}ךlӶ?r5\Co#1-  `rNq-6_[6췏%ՑĦ2w%Æ7"&|s,ޔt$O{1Gs#laK|}<g 3p"Iܲg٘Ũ䄓3~Lz>WA{pp o"EMuGBoM2膣Ze1:(dDi_JBmBK'~,}H%N\P%[E!JF ⎎Nw+ihs Gz aC#l6AT9]u[M<~O. D k$2}aT-Hf-> $mRV:*8boqh}xޯ>69k({ŸdH&D~R+Q87jʃPr{`ނT}ȚcIM nY:;0ludgۚYM!0Faas^M1@D?@X6usC.pv#-̻j]G#1}&,mV ц iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA&${b~# Yl\c_?ȉ6n͸ [;N(.4$Y:7өHÎfesm#V@#Y,N[z@w*<{"v9/E 8 L%n06a}==x {10V#xW`W~7q>v18kngBe~N< {;'p,7oNƝ:.UPR<6;ʺq[bG8E*6MX\Ğ| #,\$]q6q /8Y;6)+J˱/_7ju &@47b9QE3qgN(3C%WAPo0LX('Ϲd:xլTØ*ihkxOVϝ %WqkL1|/Xi>NE\nSL Ӓ+GC~8IK{PӵQV-3ީ_ڞJq q!6؂f2uDZs}S.7'֟;O%IENDB`treemacs-3.2/icons/default/vsc/bat.png000066400000000000000000000152661476710620300200070ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭYr9E^a9j>RRJe֤zÁ7N__)hb*5-_;o}_t6ޟz|9x ?w|Í_@{tg_?Ow3PMn<h~NSs\n~> QZwpޟ >$sw{ey__5|?_bI?p/m73~Л -Uou=f"?eWtt 'Berv;Iksc\tuwܾMWX 7?/*9~8}۽t;/ǩ1mۜ3"gwW]3 eN?9[T?*L7̕v;#n%^_ 9SgBĽq Br}q8Vԙ2RIBuo)^&B*$+DXB)J&s1s^B%\J^C5\K| ``jV[k{ӹQg#Ï0H#2hOgƙfef_~Lʪ Ŏ;ˮ~N:2^ +g2idRnr)tw~dͤSR9C~sfubjv+g|κtt(u.fM5F 2@ dq uKk+"Id8{&SG.qt0W;~z31]f{Fsvy1˱ha+>4>hIϸE">;Y ;cUr ]!n։v}rs#u(^\>{/d>qbzzI?KfW׎-#E*siwMgr.bx_߲֚n B3nhSi\%|QڮFw4)h olU kBwFPjWOGAk%30ĖF:siV~ ]38TŇm an>U:grH:Jnf9B.]lnzYGNDrbZbliz5G>iBr[S8 G&-O};fC&[.8RE1$䇕p=-:B庙aޔh1b(Ғ70kݦG(v8;@IcbLjPm>W?]`Le> .Aŵ}&%mQVN>mw \IqVV&s'> CA頝BW̔=: IO 0[wUovmjr_APub͡Ll#W(ZnCB0>YN0P Fnj $٭VMx/{  MyE?Fg򝢤iGa@=S!iCdZ4LD>xn@уeFD2q腖rM GhbZ:?Ԑ<7C8Wr&"zkBnMB>ktс5|Qh-4t5!A7Ң@A h^ DprHh=HkJvH -D|kNA-;dG~"@UU~{h@1:G G z,YŊDvYSB"*m\ceZCU!ꄩ@%W}%T'4?֋h.|V=D& U9y:h<(d&ŢcC0":=kͺ949:oLABp2Ke&P#Cd~ @I2:ta @zq;!&Wl .sd-pn)$bӘ(asP TQ Vpd ?́@Dd7z̡-VO<6Cf )n2ӹ4n%j2횑Ћwj^5mLr_iktGB~t A?+'G<~O Пm񸤝؎S L`eZ3Q{,ߒh[`SaVm}w$ ik^"*r%K`[ąL4hUEcS -nEjR4wKKk+eI$SWs}r0;T%qy=-> % ]TXr\ծx0*f@2'us oT-P\D:E {<Ր܆3; #02`Cqy)3¦5 .7\^΁;#P[' yaXAS!-1)ZnOaIi}4 BڷҨ#R#.죆۝rj*I3_fZ: lkJ1Yzw]l{AS 2 DKû$H!ŚY11g̻Aj_ڕp}8AJxo6v%+w z&p^ gNݔzCh6ḱ]zYڠ9"-zY^ڌFPt\YQ|(ݨ5PelIj ̦3v04l{U]E"6$P̀cV) 2`j&&D;cc2\M6 m*hX7]oov961ef& ~y~#_0_ n겞/Y*OqW! %єf"kiv3uU Ֆ#Iϓ1S;0Xݭ+qvLQ+Jxf"#MBA|F{0Bq7 =׼RE5]=psz뵚)%O)T=v"ڕ&A;vhZCb!~E!p⡖V%>wEQlh'w*2I+p&|h"fq%"-Q/*TWkS(%!FPg:zކ|(4\ JxV>MzLJ=AБz1J_ .ӠR寇*ь Fe=(;\sZHUeN 3( XMC(o5 iEImR 53,=AHgqI}] Zm|Dݶah'-ɽ7D rOwVəg뇏|tkrDN3!~fO 8>&tf `ԩE:ZC AG;vHPuOfL#J])ꮂ8-{e &eȯ9Qb-4 FU |M_4C=q5ҚKس*щ՞cS+3bXJ!|RhZ^N @Xzt.^-TqshA0592_ ;ȕVXÛZ=TuX. L1S}A #" (Ne 3۾KnzMӟEڡz 1BR^e-9 1o *=tW&QA$v%5'V3 +f@j':#u)юA!}΅g$c/\`A5xio!uD'վ:لr 7uK Bt̩چH0-qbFdbQ6 Jo+"shL  0KYfZiτnB]Ԫqm!0 1~wS:m&OA^ICjDS{ ou۱1{9z_3K6ͿK}!?<l=jV; omgq2k@4znUOlTJAJ.s#!NC].nB1}"!~g,(EIn=Y=;|Aa NGq_ndk Aڄ*\iOju% 0K|Иk2iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA55# ߥx˖-d5MJZ Ryy[XKd%J rWOX)TOk`veu?$I E)W{ZWRT"R=vMu+ (>nNXk7qZ akEb7bZT'jkXkI^ U̅NuIENDB`treemacs-3.2/icons/default/vsc/bazel.png000066400000000000000000000163041476710620300203300ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭir:cr0Vzv$uUDZ%Q ϿR-Tjn9[<_g{qP1q77}B_Н|}$sBm?OrP{xXJ(x !q ynx{1mz~ з <3?GO=~,Ó߾Omo/yY̮LD[Q|DGAXx^On')_vtyrnq߾gP~%B%goCbcqoʝT︘#cǜ3"ggW]3 eN9-_R%醹2ns܏ 7ρO 9S{BĽq Br}q8V2RABuo>S='M$"L?U2IV)RC=SJ9TMjcN9rK*RK+kZkr+zsε:w ?ˆ#<ʨ>)gyYg}0*vf;.N8O9?f!k͚y3k5|\ NrF|td(Wlu1zeN93Ȥܘ1R?ʛI)sFdΐ_-ܼ{P1](=V&eعܗmy(ae,e[:jarv]22l-brMFr&gN7tcg6DۧPt> wF.I(xú[q*9gm PDo|x&:N h!Tݹ.v*Lؖ;&Dq8p:={]6Ԑy/"$`DHJ5R"%ĒFALWF}r"kf)⃩8bʕW;ӻFws|]._@?H<{7#9Ϡ [<\^@kI PBț7c u Q>sBE7H:1q͑+0G7Uj˿h:mzH gc_q\!@.B"H Ì-^a[\nDzR#mT8٩ڷܠp+͙vd=Msiw[!@BuD8I@7)3ToѮ 8Pn! [e\b^1J³ R9 Ix+7ל;z*%СY5}z3M!I9+AVGbi~mp$Ĺ(xg{dT]&t4G9L^x -<԰G`~ݺPۓ/E{M9id@mB@ CN.w1~2wflK%|nmgq8?L$}#AI- U]}b eP)i2x n(_RR%.]"ͨ+>Wq,xy- 48~b(}  Ѐ86F&$1>Y(qwI(`B<^C.41pAŀ f.:k,8$PbRlc.E=R]@n!8.t ˡ |׼ JUzX8FE ?.xt3* LHr9**tmƢ=#\VS,ڙEC2#}5;*qQbL'~P6{)oE"G݌{4d$JL7 [ ` ,lyHG@VrDANx$GiNf=huFuRLKUѬP(8ϓ܄֒uRbGJc.lS9x{^J{{QxId1[Fza1!J o}QT)D}[` .y D,'y3͆#h1(EvknZD46-,3RK g9 *˛nwϨM@8pz;݀^_m$=% ҹlL#%@\!KjٗNI]mPQ1 ,A@hL]RNR S`sh/)c[2fRVTpV~.bױ R=CSxte>抠0E.5L+U*:+u0qE1Pѣ >irz](-)*ɮ'G\V8րIqm'\ Ԅ(-QٝzNGPN(sH?Zʓu^;]R>[0),5 mQ;f`)>urQ(6f=wOGVa%dH;tiCt 7 {1`EUӣ̳BBzR<(b  M^\Lt*6Ɔ U4iT=Vv:ہO~%  I pMJs+vgQf!⸏wR xZSQpu+,I%E Ḵ'S:- e+\I#;m (cKئD#SD~Qx&EbKnKq~cQ:HK>ױXr(,$0-wސ &KX/PτhGթ5մq~O/g"˅-w־GGM{ 4)o,v?˳^RS~ Z"ѯkK[`'D 00Dw5E{1䶘8Sp.|C\vR]ۅ[5F OJIuHv{X@D=f"7܁n5 lDzȀ@@ d ,O]{^8vPuJ('B#;d !kcvDED5LM:J%QM!+oU -s!c{wL#>9lM;Y$nVr5F;s~|ti6^G{ڪ X H^s#Smy^t[0b*X}֩y=/Jech-dZAx-y{v$V>e{W<Jn% -:##'!WHAU#K6MDin} j4JָՄiG/B?_jA ];Pbv2hDžEp33I_xuWsUfj%M(]ileO?MH[ g/_0L%E#hxv',.SN46%m~t-%ioS"X> ڗKTBDh<(ҎZZkCr gi}켼(h<(Ite ޶kifbں k5 TU£[AKbvDg[05їAd+kchQ vyN60/ P=0 mI jTXd GAc*~ 0PҎ?;G-ӯ;ϝ[IyvWÏ2O_ w̘6{ah$C+-B @9f ZӢSKe=:n-F{.w=JjW#ibªmlk]HR6yӣ\0K{q%إk航д^(.E#Q!'FRmy%IDA9ukS_[Bi^*Y#3s"iHZHNi8n)lMױ F4!Xg'R>"t#@/-ᩕ0dL<(*A"|Yv"izӷO|?"HS X2"d .hc޳%,hGО+2 *uheyKfXz\^ZK bGMVoO^*`nҡslA=)ʶހ#4<'fkۈW6TW%sѷj}_:X.Lѐ+%`i;,37B:xG1GY1H\ N&("g,nfl! dMAiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAP:bD l=& -V \| <>Ec{."40^Ls=rE2ĉITO9?kQQ.[BFDE4[K("*YrS)_ޠjoA0MNt{;A`loz#Z7(_\^J)e!>l^o]Fe4}*ISTk}rҌ:gp #O Zku(덖>o,6 H!.mtRoֺI:Am~B`&&sqoYVjhGkM\W9"k%y8HN.#4ܱGsˢ@%mgiZkQ@Z 'Ԁ[ ƣ9~1w_)/^ZJbE!AxA"tOUo䢦ڷ{ײO?~D79iz0»#XNc <VWϯX=E}ΡlIg|%pX@݁ի"=#IENDB`treemacs-3.2/icons/default/vsc/binary.png000066400000000000000000000014601476710620300205140ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8Aheov6jMC)VA$ȊE-ɂZ7B)APPpK$9Vet[AE"ЋV44mu3P4N >{?~c>B:3I꾃x]&,O^\+q6t܌Cfe,2(u\ڦ!-lS4_(`j.wrq#t1'`}oL%5Ws0譭|&'ۃO;Ks"Ht騚˝Q|> +qdcs}$f8:D( @fy3-Pࡉ/`\Db/ ֜w`\.;LH~ u3xu^%d^ T*3pM89tg_JLdFl+n~bcն.؞v<tN'R;p\.JN4ߝ5ϏAxDK 8P;v,XY{վfW_$'n`pM<:Ozx赳]KMVl93wHbXR(6ۆh|1k/ ^x+=-nSf|ʮ%}/ ~ 0e-.)?pn_;oz`s_pFcX;R"mVѳ}mE~;vV-ѴloU{wCh+~IENDB`treemacs-3.2/icons/default/vsc/bower.png000066400000000000000000000026061476710620300203510ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDC pHYs"tIME 3uIDAT8ˍYh]UϹ&m!MĶ!C-MKu("4jXA_DT|OB_ĂP:4>(HATڤNPҤC̹n=C_6{Ϳ_]F}=ZZ;_ȭ]6,:VAoZmgf!PMag} uCN9(ʛ:BsC bmbkX5UPs#YŮy"fcܬU:Hg6<< 2#kR}nXYH.]L~b.-Th5p@u{ۗݝ$6幦"P9lx9;(ѧzyƦckO~Yҿ? VPrVk9R.I=}ɡѾJV>I!ZEq]Th#k潝E*&F پ*~lx@lπ.("RbȦ 1-΢"{$V+aN'H%ͭXGei_g Ws"1Ǫ<$v7v+,1ӷ_&#oY63tLDhn-|[Q1ذ@nv +|0!W dE2^q9s5a0UmqP>H适*hA8<{FA>S0垙 T2VV$LݺqF|_~;8hJp^_WwM|"'4Vߐ*4qB%tEXtdate:create2020-04-16T12:30:47+00:00%tEXtdate:modify2020-04-16T12:30:47+00:00esCIENDB`treemacs-3.2/icons/default/vsc/bundler.png000066400000000000000000000032251476710620300206640ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDC pHYs"tIME /IDAT8˕klSuƟ?=]kuېKCQ^L1&& ĨL4x!!11^P&LQc"8 lcWv^9==|3'Osfx&s4xдX1}_4EEPA|QP  5*} [k8g}a"Fz_?XE3{p3Z}W}j{0u^<5^?~ WBh԰2P|77nGwO?9$@ O|^>G_ cl0Wi*5x@`l~uGf۟1-4Cȱ'_,zcHrA!W$( ВMEq_?oAo=S͖$OZV<*֤4<tN/OvĩCvN-Aaa!"(geU"V,uJ˽~!pNJ)(Wk0=|E2kMfY.%`P)Xo7aR D:Ȱɰijd+.@)`9KjGġOohD^QքvN8R[g/#-><}eS-pYbIp3~@k h5+@j19Fs-t#Dcߤ"8#<s8 1`7e+CCUcuLQ8Q &q`2I{'E"Yo]hH3v(y/YdKӊiO9bvkY٬CN`{e=Z[Lq~1E7 `"@ EPgRb{#n[ ] 1 QtfЫl;qڍF5h%Nbp~1@YaX+\7!b䶂`Gs ̘׫^~tiџ;wL4k劗ML]%ȋ Vsd& 9 &Bk@O8Fa7b/,Ŏ==QS&Go0k_;rDyޛq\s4~|,ԮVHrP: ^j R'F>Kgݳ~Xyzy˿#r"i7_xv Vk>|wL꯬umnIE;RXhAycB> >NЧI~3_gݗw,Û?uGim8Ͽg{ݣk!1ɨ˼fGΔO_}>?rky3llcvu~;bpe~;7?׊Ϯ]O_pxe{[-QO5B$r(P>c9klɧbJ)'\>s9\s+K*RKz00Ts-֜ĭ6^13˅Gݮj>Ru8ئ1roD X1:jeS[rn#2 ^ol{%53=>rcTNLtOSkݒ g5 udJK`6J]lB<8@ )XEw.L\nw Ϳ.Ui٧僲G -~k)BoN71i~F ِ높ǎbo.R,o.yo[ߔsn[-0-M#A;<7CpՅkY˰-+2CI&֊ s[^ ˁ+U$vBrKe6J6\kh]bϵTrHшWi_/R(hfI>А|&DD +h*%Ss)=;ϕtQқaS=6C ^:sVA.&hFT/TsQ7zAeb1A$U4[K#[h?~U ?inI>NO)RC7o9=/)΁S3 k^L>T~*@MV:Vjm[(1q53+SoQqP@i=vN`Y.Q*'%!2n[6-'\4Sh0CA3-Ԓᐠ)<&MJZBߜܙ?a1}~rw<w<~fg<;l/[9]gc|GWQZXm;pQDvY۟@oWfĬʐiLnˏ ѯ `)33!QY=1GJ*ڳU*h1SYL$`*d>ʧ ?HL8!NwoYezA7">bOSv?'yZ&#ZU|}PWȀ '5pKLRz1cA&:zA'qbq)0 B\҄C4lv#21cHsݣ UR!#Qz=귧]3Pe5 рkP(#<PzṊ) F+AO[L1ڹ]8Ne΅N ^YU~!O/āAƴ=!rb(ȅ:oݔu.-D(d ID.bו3X#6`FK"ϵ!Ts"y6 0͸R*VҸ{o&$fB2WI\H* b7.O]K&r$-59{ h>cK3]t$ة:5Ս" Ǔx\Mk;8!ESLi",ԲEp7,'ς{ѿحyU䴋^,atP*u/1\Y%g6.bl\d Ӆb(󪥏[k)5uf`*>Wŏ ϔjۏL@O<e7YWd)]3eMZyUª{;F @-bW3 X8_S/c~%!6$D4}LZA f솛nnGc@)F2o1`a&]q+n3Xh)bZZ1T\-~B!-K[<}4p6([EL,ga #'zt7b[gcɅPHYQEڹWUme )gǑaq`'MٴSRP pMZ^Sg&+n贸F.;Bk13%8YC;d1\ Du%o5_rdr E;E 3(\ĤUgSw?isQFpsZ&0|vhv @OIQE cӟ†8v u-IdV B\x.鬿.Ɠ f[_hM9 { D¥Fa )n$ 0W0|_G{1?/w-DiaXQ/ g~_ڒ:,FW4G8i1H!1Lݕ5&#@>V;*UM,I;qWq<B`8Kh-Ja$YRbO%MnxCAwi@uY졆-DŽx/HBw4W^fq"ff&T3HK QuPVP-"sAhkPȁඥJiAqX&$A^bTj=9JVh2H6ae/}#:8ρ,-)DTJXm !|cqQ1^(2@~iPyiB޺4FdzujA:ϘȝuYY{f0O7чP'>KA5f4 lQEFN\y9; A3La}lmC[hԪ$u9^8b:2aBib,}nbH:\YjD$H랜1+ E[`mS+>Bc3T9Q(ߗʥerAwQ[H/EZ4ֽT /p:ш[3y=_ ϼ'?TaiVwr'biYPתֈ9&5us@K2r5ZgN bݼQBH`9[a5EGhھcͷv[*ޖ$z?|k~@J 8\+5\/cvzv_Aau= DEbR2Blڜ#ߥ.?܇ e/KXQK=91HU4Zs ,U<ACWN ÂNh:$i# 6U5wΉ%f07x >VRi\AGǝC+k+&uZ DQIsQ; l1qWb,%S( bBe=}nX膙҉0e&odW"O]QG߈(3j&9{ERhnln@d`;)+'δXLkFdmn' r:>Vk]g:mm>9Gq O8j17wU{*!-ݞZ!萜_7Af̱Awpw 똶IKJ:"yzSY=@Zu+q_ Z ξJt[/% hz{F/eg R78m5)*%kp )?n%&ta!Nălp/EgϘ֔֠alutL@ܳr/ fms|&_(Բ#1;7 Sn)2D^$O彵6ЧNߍLm7RAx8i0V,f-ݕ&(XGb bO;{A#r26CPe*蠷- *)̩#E jts@iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEALRf9VVĥBKs  Z[?0Tp{zE F(Jxܷf[W^h9Xl l7ؘ<$a mwWjF7Cri]d#`8"d%ۦ֪@# 0(?S aT`c QF#jKz%z9qs!߿XĵicqOi^l'>nvNDC$lX"!Q=ǖZL hudu/.Ibd qrWJ8ukZ#aaHO: j}`p}=1?yĒgszf'QuL&G6=$BVl1X_Kn>>4XTLOח?P+Y_d/\|ݻ }k,cuIENDB`treemacs-3.2/icons/default/vsc/cfscript.png000066400000000000000000000072061476710620300210510ustar00rootroot00000000000000PNG  IHDRĴl; zTXtRaw profile type exifx՘Yr:E^gvJNr 利)Y@Yg&&)l5V8)x~}Ͻn7<p+߸xw| tf=亿x:ɵRmhR{o^/DK31Q~- m|# \ p!8ZwN~}po7XOozxN_'7@e,{kw-f<}X#|r>O L Wm\t5:K~y\+A|#(NQ?n{ 5Ple,\;3pcws<|[lyuyk/tۗ!TA076lLb++yE̝X ` eg{q?j܇;d>_3XMy 7D |* +DH,PK!ŔRNI5r),YII(IJ(RjiRkm͛D [+cO=w3H#eѦaB3Oeٖ3 XqjXaǝv޲ˮ=QQ5qDFa)$ |t .3[\^Sl$E,2)6f:E r>m _ͤK3 ݿqunĮ,T@qf|iZY4Xnk, k^N᷶"{eњ4ynχjb%oyW+zڛ-,U驈}côv NR Q$r;I,Db-3/]AΦvC3w߉=^~e\Zζr`f o]%nKn͉?4C;f2?SJlxϾf]2wBTw4!L63ߠbz(?Џh ÉrHDz$UlhPvdٕZRC'[*enaûN7c ]wTʵv8:y)6baCYEqc83OXYwax;ߛ\$l\>6/qslʱn]V/X8p@!RcqaL pۂ؍s$Q]89[̟1u +ͲY5+-j@׊يSEh?Nٗq4X$vR1" 87\&O&'bK|jrۨ. Q(ښ1(sD.W2Y}ۑEҒ3=ۨ5=6Cw\UZ?@;:8p 1.s *am.0ǘPqsPʣ!F7*vXފ: ed <Ԅ$4J%9]gys)y>xEAysBzڋ9FSˑo}ohj9keșG?^3$Teq<.~14I܎T=MQ^̙;>y>")q..:U|kQmR[yovD=!Va0^՞kʮf\|_p'p$gR+X%rZEEJd ]yUi:XM7 YZ)ZGC v8 >a=x9sn}]6:_bwp38& @?ѓϠl{z z P"v8ʦFn!yHmB? 7tcL9&ex'jO4i@ c/15KCpwh*?)fyc!ueR5 bz3c}˿ پ2}wy\7z1e|#ΝaBGٝR_?J*CwsdIENDB`treemacs-3.2/icons/default/vsc/class.png000066400000000000000000000117261476710620300203430ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭir#;snrs9|`dcնR LPf1EkjJ/x~_=yxן7s);_Й|]$u{~4R?{oz!f4+`r \?o\u2i{gk_)ȏW?_|X2N׉sE۹euӍ(kpc'|,yT6;HvU6.nK~̳ÇsAϡ ~kqgz0t9>a{79[b]^q24sHwo_Tɠ06l>N W 9=!bna1.\gc!A`P''1M|&s^HD=2HV~r,`I("I#UZ )&I)$r1KN9kn%XK)kkMcXW.=K 3␑FeѦaB3<ˬ-gL⒕V^e6Xa-;ˮ=vgYswɔޗY1S:ё^sfk4gzB<͍N3F r^{#s?ʛʜ?2gH׼%kSun]U1U񥩨_=w2)\~ZzuID\+%N&yJ*!T}+Yۭ b0ҦmP`^ߵ`x|d-錾/6ۨuuEN9|.Qj.Ud"QT5wԉ /GZg懲;z|ok[JP=II 8v2Vf)Qmq/Ō;]NՑQiC>0۝, gZz9(J#j5vKy# ,A:$Tǰ+@WK=)5pјs|Gl? SkK5kscxL :8MC zms_dN 5=ag[I3\j P2;''ިnƦ[0eؙeeb>κPttZYԡi-;+p07[Z־y|l٪ƅt V#@ZLyj}_&Eֈ˵bxF꤮))`Y7\Z1ptr&@A+KOY 70S>,X<2X4#fQ5SeV.~}S4kQ `&S8"qM/IU.դRst|b; V߸.+pQJ7N`2m՗\3^A?=SoIsit}fKeD钁K߭JÑ1iRR^VHʓOd|.[J|#efő>S3pRKP\t!k;h.%60,>uyhMWu @FxMSYIr7c`<4l{M8|J$>TZ$!u%`7ê]|!#[~ASno/`XRyA%{ leW45WR!g;eH466xTjh)mh 4YΦqQ.ϓ#hhm`ܥhZ^6eaSEq(X<,[Z9 4Ҍ8sդ[ur3 t7 T9 *=DEd6(;;^M%(%gSUȱk5b<۱"6wU)[PáZzn"HX4ȋ! 3}5L%$UKAƫF5y`zw9N)n+gHiu{:[FZ!Nq @}>n|YDZ֑k.;bZmc3ε{Z8 U[p]'^PU1 3D׼ gs4S_EB[psڴ-UwjLjıY 8=h,z!V;#8 gɺ%:h.|UWW64ą@2SWlnuF7A>K"7c@[v-]uBQM Qi@hVR`Fr7MϢMVAǠfNytdc6?:?Z>W,-zPs0o,L z+$jԷֆ#%UhmDW 1lyH|41ҍdF1bw?'TI74=!Mё0&m(ͮ4a="W ipʡcEy5rhlT~ '7 7 |JîqDi ޷ H==Wˎ#|W{}!Fq،ic1iJ)p["e&gƗ}XJgH A^I)#)>tzDf2<0cFcZ)36\ 9Iٱ~m/O4X(QXRlz]/1#D:uL= }DJkz(^uw=]zڳl9jJt;ZF `yM3YK7M{N/ a5?BډۄЧEYz,SL0~5:R9Z$UGO(5W]s NϠL)K>(Ҁҭ*te?*)z1hb$p3){8l Hw?{櫧saT>ݲ6CAӤһeu߶A{u|}"bnbPY4U{"tG8pSt2&Dи ~Ï.[9{ggc~a*B>H1ocfg̒theʉzFXQŗ(U7W S|G]#롌62F[jIqXNyQL4ӊCվV}Y-Z] ړoYpIIrCcS Z՝$OlizHw=eGxQYJV>^ùaaG=%Me}Nާ\'ClZ []v*l^\G>(j-zmaA+5FUq%5:/z>}@VopFc"HpMd@$ c=' w 1(R' _ު5V-އ*z~Vu&AiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAyHSEd;1 2=8ގx9ޠ;WwLi< a3 Yf C'.*?`Bq|)/xp Nj9MO6#Z{+!Ft8`wU>/x9A Dq8%π[A{&7'Fq9Nځ9vWBńduz4XbժNCșpǻ<7,#}^"4I?GƜ,!/aY IIENDB`treemacs-3.2/icons/default/vsc/cmake.png000066400000000000000000000025251476710620300203130ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDC pHYs"tIME '1fIPDIDAT8˥oTUke̙Nv&%`[!`EA#`&& &&X#!Vp C"v m3羷Jp%+;}YYY)3ƺqrԬh:r7Ybܸ}'<ΗzP>[;KW7 aHk(͛qԒk|!CuJ?q>ބO'鈍4].Etpb!5G|DsP);qЦi=_.]~(hͮo &;h9L#m߶;C3G14 %Kz C<%*eyJ#A@c Yb vR}LGI {KCdpNżh1qOvVr zuKIb $ 5ptν~DMʇ-k%Mې;:-kipTPR!2F9^^?,H&ła O˒1\kE8D u*c,\ƯUv43$.B8s~_JT;`!V7C7v 5c">o*X:4YoEfˊ1Gpd[{.)bZj24cV֐Fs$t9ϟnkm pTl9QCEKke_6sK=e\axzq 8Jc qOV7;kQׂʯ4b{kƚyep?aMNft9g?;ߨxըF!@1N]LFo`G)\.,]/.H&^/})1$tewme !@ Pt+@AQ%ѱ97OOU%&RViS[`#\hT؄·~)\ |O@?1>2G+,/A P3 (i\Ǩ㩊z~*Fҭk_7ʃP Iʀ uc j{3T%%tEXtdate:create2020-04-16T12:39:39+00:00pq%tEXtdate:modify2020-04-16T12:39:39+00:00-*IENDB`treemacs-3.2/icons/default/vsc/cobol.png000066400000000000000000000106401476710620300203260ustar00rootroot00000000000000PNG  IHDRĴl; szTXtRaw profile type exifxڭYv8D^G\sji;=sW9mK$Bm?|EW)"Xcbz~;y387={N|󽑌k{%7c}}mČfb .\C>un8x%Gk;胓gϳv_`Nxx./?{ϲޮErG53qy8 Of.r<}]^39][:~|n!TA07^~Mѓ{ppܗ8^)LƸV\HNgc>DA'Fx}6dwɋa RPc!Z )$TLI(ID(ɵr)Kι[ %TRJ-TZjyX1WH=S{鵷A8ҐGugĔgû)V\iʫ&vq-;nOnT?}~Q)/?Qc)$ |t +f"IDؘ1 779Ms ve4KӢ9^$0rBg]װy %Fb.HZ7x' iCܮFH׊Ҋ/mUV"nL9J3OksSsa׼] g,1w97l;ٗAi//s;gҐ5] wjz3&Fl9 +z=_ܓ n yd 'Uxu\r,:&G&{~:5rŽB8OZyJ)TC!u7#.='ގu8~ UyʻToKkk2xxmҲ!=(n[h&j#s,ԉ6c-꿒=F3~ )s't|iݡeqz%'@ΑfێLzNhɞX;>Zh^MBˁx3Upކ;.ޤz _ EI3I!'){\e`cxSU RjU}a EϏ1L3Lby4=փJHÕ9@<gL ©r1hZ:e#:Ey\,Sf%yW-./tӝ vRX2ȬɅh?FE(=-wSzt5I9xGv'WqRܶ$E/5T6jO%& XFbXJքFޑt(Z씽nTWդc"N#@6lHYTL̚Ȓ|laЁ[Ti"YhuޯiRڟ}Գng?QSqO$C.3u0VhmzpC2O֭tg+C):Q#!>)k{D v}1õ& dwG*KcQf:TD7u[i!f)(d;)9^6l*h(ގ#X ˄@]46 A14of鏗zU49 PJ+7S~N@MF>b/LDGF_ԝd-HBl'Ptlcھ-CxNtn;zG{"=|cSZ_ ߭*E݉,W_W%4$.*c7uD(Ȱ;4Rq҆V1@8p-[Wam ܡN1amAv c9|~n>@7, ?aGlt}WĸE]69T&+^ltųڵe_dyT{eTv-4 *PAUKЉ5 -R4zyV:{Ad>EOmqoNGC}|567m wֽjOНѫkkv"LjfEV"Ed/"+^.A#ҖnEXI̥;`=чIgcjSx:ܠ։$tU+A@W*@ ѯEwGsݢPhvZ_Y-UU;>!T34Mo+@$f_Ib˅0#F 4vӽ0=źNp2Of|k*puZiMX1ɯiZ]qݒfg'uFߛ{]?wvmȿ8:Q#5tWkP@3~3lAD%DY>_@B[ҍV Gk+ʰiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA!´*wV*I$ֹ :- |9c@_2^߷{>v sqxjF{u3wDY>Žy,r>O\>pyn[gnb Ç3WGP?E%0Cg/;ֳpcwsf&rDKO1uowi GɧΊ1? 1RH1bRM-s9KVkI,"EJ,"ZZ5*Z[QCVc}cz. |Fi!:3L`b):rf+UV]mk;[vun5<5fCS8I3< Wϩl$E(7f:.w^f!b&{ڐ#`侙K5m*k=,qUTս~P"D M~IKAMIŒ}َkUeX]ORWDޚYV1I8"_QUE\=sѱDټ-uoٿKFs!L=P}}z|H<.>"oQ/.n2:Ɩ>Xac.3Ͼ.a.A\r/ 'uj><*]Z"[_'C:eV>dM$ksڎ-pA^z5:P@BȇS&quت }F(S샎Ymso)VP.PxNt7}FGFZWg8n9oBȔc@/{a@׬6hNdxi4&YkXF]5)CNLvFc#` y盝tGy-7|AUWz]Ay 0^d(A [Idf{VoWAdVPKJoRonY.+)څ^(H$DxU2TFm>i6kڟz-h}ڻtle5 ҟL3s5=)ʩ]ǽ2a=dr#Mo^R~In2[Jtȯlf_k,LuF$Q$m׊sϕHDl(11rvr7`0()gp q2B)-<] 0k2î@0 Eb?5bL9.@j$) 5Ut9j74.X!iFZw3ʞ9`1Z/]F^Ur_h%j'H*:&rhQ*Ҽ|eJ<V&rC,5kp%z4KPiQx^k'H ZHCt ц\ xipI~v%ϦZNȧXhB[+}y&Ԇ5]3 =R2J*dՉqš 92Lޱ*|NbRrIO*mJk/-)Ԯ׸@6"v GV HU5rgv  zl'֠i81 ^c,Uh*d-WG鸠dx/ϧ0J,lGq=Ҫx#A4 %සĜ(FKg[ \ cƖ|D%]LV\"w}l> ˠafsgA_AC9pٔD?|xOGXpE"{(Yn%* z+"}iuod[M} (jRt$ity ËMGix(~jVF  .L5l庁f,T^\hMj١ dP׫TLiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAR+a;6 0G؊cNelmMLbLmRIQWq/0>D!(ksv ǥMxW.4pDJy|yۊ,:Ezr0V)(1!sE DKx~^?!$RT$}8R9-Y-@7dDj"eBiXP#Q98*BMŞL!-ua-.fAAGcᚖztb2w"&:&PO_p-XEQ[*Ҷ.ލV$縟QVy}8yX2y=ά(F.srq/k+TyN\[H>we>R;/ZxOpw{PLVAۥTsCVIENDB`treemacs-3.2/icons/default/vsc/cpph.png000066400000000000000000000062531476710620300201670ustar00rootroot00000000000000PNG  IHDRĴl; zTXtRaw profile type exifxX]r+-}gğ`9DշYAq;ɝIn Xu#Nr_,ٻV_jAwiZ0q#k|~ ^+^.xE;Qİ3O J\Ƶqr¸v]{{H +͌b)^:^ !f{n/ yxzg}}_-/O(cQx F^kֵ<]O-Gyw}&k1}5\w?ākPTD:-}4b F{F-h8%h-XbtBܶTq$l aWr| zka;vZnyv]\!|+n#eOy pv2/3uhb (0dH18`g;L{oȡ7 RN>s)\2r˽ĒJ.p19q̕kʵV{ -s+[m\A:wH(IaҤH#2xFa eͮLIeڴ/ڊ+UW[څP }|G &NaB" Ά:fRJ3| d6l$C &ݱ{CG\[9gr} joҋ7B>k.nIUJq5a$6jųۧu@ܳM2Vm]MJ<[B*K|D kO0L5+,T@KtSoA:B[%KM.-QȘC75/%m[Mt)oJ}ޥ'F7Mˎ$]gM"7_e9 iN^怦 C:gҊ"*8s:oj9#Xo9~{ ְe8c$ayDa*Z>A ؓ٪ZeD}. Ҋe%N@;cdj8<5P#L5Ue&*Qp;" 5wc6ߣj#p;lU8Dm$~!fLjbDARJ5G?zrI(fzLl{ s[|eo.n>Jg$cG?@x!B T"G:#Ņczg3yM:X5/Yg@}L\gWWˏt5n&iqW?v t UжLav:-^Ve|;Na;}o=ӄmrh4GU0;m/]&GEzS1Ӹ'+տZAda^d 8B5hEFE7d豠 RM rMPq7Iw<,nѢAi& u3 ʘ@ǻHy +"^yH셀Q[eNw$i u -vF/5(P=BhW iuiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA/2*gC$)Gkደe؀N%E^a +X8칀N;*)╅!ࣘx)ʼILN4-iǴx.y>n4NIzûbKJ 6u s`šhwOe<*:‡RW~}<|ΎR׸ I% ,MG?y^4 Ixߐ3 u4r'[W5xpwS>egR\IENDB`treemacs-3.2/icons/default/vsc/cucumber.png000066400000000000000000000204041476710620300210340ustar00rootroot00000000000000PNG  IHDRĴl;{zTXtRaw profile type exifxڭir%rc^a9#/A٤)K/TCx}~{ KZ>M}tg=__yBm?OrP{~|}!Vi%n{7ϹPbXox}[g毫/zZ2<.ysDɹt޿z~fcfEQ|K2?4~veLל'*Ǹ} 1 Ok5 Sԏ;VkmBe9wy9>s|wos9[?׊qy5P/" qKw?~/Ct2nsܯ 7΁%r,N "` eg9ֱ}~_ 7W{g}e@J:1?%VrbJ)I-r)\@PbI%RjiPcM5Rkm7ZnZtnԹVWađFeFό3<ˬ; XyUW[};Awy]wk'xɧzQ{Ͽ{o5^5|\ NbF|tD($Wlu1zEN1S3Ȥؘ1B?I_3 G =n 6P}k7vZ|35F>mLe f;Z-[ͮM.5ce=^J{9+F=%圜 br l. 05wmyb1ױֻy2Ʉ}>z3/)0EXB|h_r x0_cs04Κ!^<H\t`AL-APL Б ㎙%V Qe427 uAV.۹mNZS|*Gkn, ܚpeSh N !.wC%q @-ȮpUΞD]CLDy0R'xW4 fp84IPzf4'jE%"A9)Kc*rvjfB=6śpI+h՘̡J`b*ZAcH.;,XH$7aGGΨ>.XQsy;ndp[T m( ueKq7eY #V,Y4cx,0I3o62lͻɀ. o7FW[lxKwTlJRS 1*4;Nʷ*[˿p#>=iAtO6TQ* wGE|6ptQy1i>S|+/zu:q~'b$JhiA$]NXxP)j8"\!%pgَr C{MG0`r(6MV ,H*qu{{l还`W(t@@5={o(xM9%qD]&ނ@!YW<r9OU DޱrUKvdR AA6 RAݹ[lp_aXMbVip 8 iЉQ -p)H X05\,V2;"Dmch9dh KnpWzRi!:z5{RHQD,ȣ^wVP!P]H;JzP eۓtŢҝ/U{js:t#p};u#„t힑TGU$֨z!fپ?Xyu%.eWVhJdZAZD~Ĥe?;G~OoV9ѵj#D;1}~r=Rr"!b)ueSAL=}#<٫ H-hv +^Q?5)cAQ=tRcZ' c:\v2AL~ J

#=>ꕤ` л`pRBPWUߌ L #vQIV=3.=%GNG Eu:~{| po&^ca![fLS?ՖS yJfIw@H=xA屨X+uh̯5iB6J vxքh2sf%*?n6&{䁑 =}$b.A\ݺ6Bl}ʨds.3%HJRgB]dƘRhohooY$/2CHcѮjۨ) R]J'R|zdz}K%O"X{g 1ĤgP ]|*bBEC+ VzG}{H*bX#"x*C{iWEZF\3(X}\~s!1{GN6lP\ r-#SnaKT'66xXaw%\ꂸK,zp ʰ"uAEE`.`)}qYw65Bf-FVO+nlUdzg]tRWLTs!B;k?=|v.q\CJ .>N Y~e{i RSԜw<:jl.,c}Fȶ_(z]ϖ¨+KyX.`o|uS2:hD[AݩZ2jctltjM%JW|[sjf,b )|bvH:5 nEa'+I54@55 OJSv=|d2DǗB+j* ]s((Hn0xQ)B=+yt A!Hkǐf- uwdg:#f٥:ux djg4:|[SLJ KT I3j7r廒Tᱺ՝^#XwȞNvdr.{P,}|n9S9 Yhϫ:Bc  *Oڋ]|3Cb7:>1S}eѦ͓0^{rب(Dic)J' Ѯԍ:պ?6 }mYamaRvn#߷o^V"9b"l3'\c@F3 ):6ԝn Nůn+$=0mIߑoo${*cH,7 L#jmnVKZ[^>ڏ8~V-L. L45cB-.U@OO7 ]eCw LU ɑô&_BP%?- -.~OC3qcm Ĉ=*GSo;\Q=G*Ugjܺ9ʷm(#E9*]Mo+hCp HIDD6y$n;<ש"HG_3 0jr(:0l1:Zqm:J24'Nyv>JM7ثFUlmZH aW":oX)"j6źt :RCZ?A?jv"=!_pERpĝlRh+|R9 &fa~k@G@5Y!URߘ0:vHOR:A5֑"EwI+F#AV`|NMH :,(AwܸX4#!V:PEVdVZ^!14v4{"r0\N5%a:Z΄2H{dS;iꒁjC$u5ڈM0> +ݍ K[2/r~PEFyU7^L=#*vIcP:*K}HE叅XE:zPX*Fȥ&w~l(" Zi/ټjUx-0=w>F=+YmL,81ńO!>o~fp,.NGkbz_$Bh[y1u _,xupEw*tOmۧ.`RN:>z[UQSmo#s2dn+vH>L-^n/U'*)xFő5%SOT|j!J%9]gys)y>xEA`g""9BLXY>UdһЀ .<՘!qbneÀoA>FIb$L7 B$~p;!J kx!B[)MM&{yn$!S:=bma{3;3dja3^)y'Mh!6r)ulKDtaJRJG<|Zi!վwpJ7˖eq`H  [! kIENDB`treemacs-3.2/icons/default/vsc/cython.png000066400000000000000000000024041476710620300205330ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDC pHYs"tIME 0&HIDAT8˅mhVeyܦNi)R>՗"0'"jEIT䗈R"biߋJ Q5m͹u>xN{|Tp8\.rc 9|g] Z `QK5@ xX,_'9zzz.lقyۀM@k6~Bhx"t >pO=1NROƧ,qx~l(VAj'=> GRok[ڊ~fprk{;jߜm3@$IT4^ f.=\N߂jmKlΦ?(J7VeKA*GSXۢ*M*vH"bk}׏k͍iʝ! Tw? .{6QmkZZ"DUӲi %mΗtdt oʳLkp AŢ"b-VRmkg]ظ~{r,pԿZ^^wfh$'fh侎VIh]HZԈSk^|xpsAc7 ;<] rU*/9UkιC7 V: Ehx#8=Q97 #LK%~J>DH  (@oꈲ2_25N~ؽ?8Rth Q@*=OsxxQ^fg@W)<2 dr @HX$1.1|e+S_|u_Ty|ټ) _ח Fcx6s:潔9m l$>;[Qy@ H@jF_Vޘ'('s/OLDuuu111Q{YUIumliJݻl$IBXb_lH%tEXtdate:create2020-04-16T12:48:33+00:00%tEXtdate:modify2020-04-16T12:48:33+00:00 >IENDB`treemacs-3.2/icons/default/vsc/delphi.png000066400000000000000000000031221476710620300204720ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDC pHYs"tIME 15}l8AIDAT8eۋ_W?ks~~3dH[23$H0ƆRԊ4҆RC|D桂}`Q>q6d&9sˇ iZw%|!:i}o"L!f`<\$ cUϐILBkIK0l@8$$ pѢ9(zw>鐦vjX z6^c=U%?Z?Zr ѹpWz$"3yo-S`׿ (80|JeI%s_hLrxVܽr)N,7Ct8cfdTnCw.ĸq§|te%F(GrݖՏyraoTv7捥+?zK"Xx>+U*//G+3F+s?ۉZU.u@7'Wo5DC#ǍqkuZ;r=1?z} vKQUBux~6: %tEXtdate:create2020-04-16T12:49:46+00:00g%tEXtdate:modify2020-04-16T12:49:46+00:00FIENDB`treemacs-3.2/icons/default/vsc/deps.png000066400000000000000000000012441476710620300201630ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d[IDAT8=Q~]d)FDATTB#YFS$(D#vG(%B5̈vg滯 ڙ]q{99\Oќ+.[&ꚋ = B0ۅgdκ@ᶪ з{Zi[+/~Նgh[ Yv޹Zh,95eɐc\.mmӛVB>U4i6 15jxZR]m1~ tcк`}u#7v:f`zYCrx#h9ɗ0 ũK*b,l'H0hz _٩OmuJB=A@/)!^& |Ag롑5|nշ=vKOu5te'/JO"u_`~9pߕʀ]~&O1 T6!Zc͆Ӹ+ι%ɗ& M^V*啶ONPjNi*]{?na!jkf_眇cW(VyIENDB`treemacs-3.2/icons/default/vsc/diff.png000066400000000000000000000067541476710620300201530ustar00rootroot00000000000000PNG  IHDRĴl; dzTXtRaw profile type exifxڭkv:sA.sf@ĝN'7:"*(جwm&&)l5V߸(x̽o<p+߸~XMrO+|k$u{\5{1q(4 WprYO!19b8p @޹8[w ?+ϫ},o >p~x..|{]DQ#4QFm&ib):rf)V\i%&vqnOnV;5wS:Nq׈:eʙ-.F)gz6E32q9{r/fRoO`@}:7c.TLm`|f|iZ9F-{iF={ZݲV 3]9Dz~Jq{Qv|gc<Q[mMQ,}q50lrWRt;=Vl- 1]Lї0y|WHw1y|0&b .&[|WHw1y|Urm˘M/|i }wY")!:I~P AѦ[Iǘ6(4xSۣ{ @IcͺP(K|rF_xchI}"7b;s*aRUaPDsI /"LT8Dzw(ebD dBE]-:$JQ =r;KzAVr _/1eڢYR\=٪6 B_ԩ ٧-c$5K3HmVA)IsJ.y@("V|3N /HlW|#\>PB8i4~3eYq<:&RW6W0Ii3JGJ-DMrhT2xN^[8S]8.ncYf*K>t j\nw-dLZ&dGuyIBfG!j;Rќ0ݒ}쏂*lΝݙF0pN;۵Kȯf>?iW\mYCpsFE] bN푆y&2q|ݤo(Ԥ`O~Ys(3Gd +4Gl*2O7R-qUqjN1iպ,|rؠE͖ax43hZtmBv&@ M}o6}zip^=ǞRVt@hEK=ْ-^$Vl+ͻ햴 "ё)NZ)-X20lc!%]^ICrpή$QTY񥎬%U8́8B1Nu|N'z-TK%<}QH }[;x%F T0ιc[%]-]R: (E)ob&L7}efO5vvEj.NiԾƏfʇ<{7sr% ~RxsnĖU3h<=/ƿ޽ w|g5aC͓ ɇهY:›y?❭&Xct/%J,Ʌ֚@2;q+l4vVPtedK_4=-!\=ʢ*ܚGEQ*H :FH[_5\I_ʡ&r@!iPj\I{l)vm(ɱ/q[&Nprg}Bc~Sl>/y@c~SlИb;F)6hOy@c[1!6hOy@c~͟ȗ{SlИ/`CL4čIty$dr 5JՙUJL*tm䭒vE=‡RU(R`(DQQMMr@!Lկz/K i? [nbn(~tiBJG^jB ?էyOm8qo&i'{ c6x"xGZ"(5 ]'cmWph'v&L^/ee*W\ҎN-袘ܗxvI@&7tx3{ Ӽ,AK׫wQ1/fK_R5,єFׯmhvjKkݕ*7WgSe>Jk9|_Jr6?鮀y/6\k፟GiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAA8Y0U]b : ܎cmpϼ𥘒c?UM(|o?r&%sWqhIENDB`treemacs-3.2/icons/default/vsc/dir-binary-closed.png000066400000000000000000000017511476710620300225420ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<MPLTESUTVQUSVSWSUTVSVTVMMTVUUTWQSNPPTQRPSSVLPBFAECFBFTWSVGJBFBFBFBESVQTJMBFMPZ^z|^b|CGҦfiŌUXϻy|knϡÉ޾UY˘̚޿ױmpċhk`ceh֭ܺ۹ŎȒadnq‡լΟϠTWТfjװʖ}ɕ!tRNSowHM˷ 3UblմfNRʎ{:bKGDH pHYsodtIME /?*hIDAT8c`X)`UD6l+*r'V@!L^>(TRa>6*H@U5uT :*xUbSo`62Ǣ\[ ZSGm'IL.nxXz8xSC2@#HRj ¡ : &6.>@IZy"HIC PAzdFvVl>B"Ml +A р&`u %tEXtdate:create2023-09-06T05:47:29+00:00 %tEXtdate:modify2023-09-06T05:47:29+00:00Qq(tEXtdate:timestamp2023-09-06T05:47:29+00:00?tEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/vsc/dir-binary-closed.svg000066400000000000000000000030431476710620300225510ustar00rootroot00000000000000folder_type_binarytreemacs-3.2/icons/default/vsc/dir-binary-open.png000066400000000000000000000021751476710620300222330ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<PLTEz|z|{{{~z~z~y|z}z}z~z}y}{~prjjrtpqnq{}z}X[BFehBF||{}NR`cz~BFAEffz}CFz}BFy~yyz}z}z|w}z~z~qqy|{~z~X[BFBFBEz}su[^BFBFfiZ^z|^b|gjCGҦfiŌUXϻy|knϡÉ޾UY˘̚޿ױmpċhk`ceh֭ܺ۹ŎȒadnq‡լΟϠTWТfjװʖ}ɕPd6tRNSowGde.#+ppnq? <=/!PWZ;OHkl/o#3,< %tEXtdate:create2023-09-06T05:47:39+00:00 S%tEXtdate:modify2023-09-06T05:47:39+00:00V(tEXtdate:timestamp2023-09-06T05:47:39+00:00C?0tEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/vsc/dir-binary-open.svg000066400000000000000000000032331476710620300222420ustar00rootroot00000000000000folder_type_binary_openedtreemacs-3.2/icons/default/vsc/dir-closed.png000066400000000000000000000054671476710620300212700ustar00rootroot00000000000000PNG  IHDRĴl;NzTXtRaw profile type exifxڽYY$!) ;8Ddvt۫ " Vwh'A9SͩK,\WݻǗtt} (Uپ^t}= s x5zEzρ8Rzvφ{)lmETd>} D9~.s݁|yGOs='Y/<ԇ4|;q_H jL@4ꃆ -R|Ϻ+:(7]} V&W?eKcfhyty{ѧ?hξ ._ºx5[w!~rA0glv yh'( yR;D[K>O)z3X9 x6,c >~eīijRpSBY1 Gc U E$J&)RSH1IJIrrUFMh!,9e9\ (%-R+SDcUiBMZjr+vO]zs/[0 KX<ňCF:(N 3Ni̳zedkd7S^YC-^˝ q`\0h^c(HYܐ(óLs$79Z =5[qo.L]~J jo灚$fsxlBzAh.urmaNm4!lʢe'έՙ#_VMKpSMYH-C"FUe>[Ϋ,d ^7SЮ< х15\LؚYl>vkmkvun^+-[Qbf8=1[tXjr:yۇ;al00&Mb0{NMD5 ]}]Y=L9Y,MB?7#Z*Ssoӌ2˕a2"tCPאI,0@!h e!EN㊘CCg 81t}QOM "il`WӞN ԉWp8-KjzϬj l5t:568jzﻣnj{6zhLsy?B 6k0uZ`0d~TO;ܔf"虉$þMWmVJ[{E^3mÞ*Ց~腜[LJz}i _$5'ūrZjRMI?;2bBI{|{;)NKߋ -?^DoB#= DoB?TM !Cn:# ?NB)QJCk}Y 1dwM,Haٙrw]]G?xl-ȑ'M%H LtK,In zjGc$ _P yE)J8]K;qOJưrHG DN@pE&csl߂H1<}D=^r݅F~$@qsH@v|Ghଟӗ~#Lvv.}I<%0O2Oߛ'=/͓>ٓy#MAV4>+BԤ7iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA)|?IENDB`treemacs-3.2/icons/default/vsc/dir-docs-closed.png000066400000000000000000000017261476710620300222100ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<>PLTEUUTTUUSSSSTTTTTTTTMMTTUUTTTTTTTTYYűŪTTTT[[ŰTTÝÔUUWWĽÞùžõö^+tRNSowHM˷ 3Uϩ Rƿ 9bKGDH pHYsodtIME1 mIDAT8c`X)`F6lkks'V@!L^>2 !C]#c803Pgfnaiemckg,,?@OT SAugpHh`XxD(ظXOOOIL aMA`S )H FV"@2YVY @6ѮM=+@FO 98Гwst Xd@SVJ*JhiZSKhih2wynm %tEXtdate:create2023-08-30T18:49:13+00:00]%tEXtdate:modify2023-08-30T18:49:13+00:00hE_(tEXtdate:timestamp2023-08-30T18:49:13+00:00?dtEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/vsc/dir-docs-closed.svg000066400000000000000000000052441476710620300222220ustar00rootroot00000000000000folder_type_docstreemacs-3.2/icons/default/vsc/dir-docs-open.png000066400000000000000000000021521476710620300216720ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<zPLTEzzzz{{{{zzzzyyzzzzzzzzyy{{zzzz{{zz~~ľɺ||{{ڂžŪzz·ffzzzzyyyyzzzzzzwwzzzzqqyy{{||Űzzͫϥ{{ǻ||@HtRNSows]ReEb3P"J.(rn r8@E%JŀA Wg5@#6r`^h@9< 擖VX;Y퀝Z _\^]n`w5|| ﴨrbx_L*Bh84"Ȅy L  0)N|2LYMdC,Fk<ٹ& "\&)`Ip%&>)x7H[_o>t#(2%tEXtdate:create2023-08-30T18:47:22+00:00/l%tEXtdate:modify2023-08-30T18:47:22+00:00^1y(tEXtdate:timestamp2023-08-30T18:47:22+00:00 $XdtEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/vsc/dir-docs-open.svg000066400000000000000000000054451476710620300217150ustar00rootroot00000000000000folder_type_docs_openedtreemacs-3.2/icons/default/vsc/dir-git-closed.svg000066400000000000000000000014311476710620300220470ustar00rootroot00000000000000folder_type_gittreemacs-3.2/icons/default/vsc/dir-git-open.svg000066400000000000000000000016211476710620300215400ustar00rootroot00000000000000folder_type_git_openedtreemacs-3.2/icons/default/vsc/dir-github-closed.png000066400000000000000000000015631476710620300225410ustar00rootroot00000000000000PNG  IHDR s cHRMz&u0`:pQ<bKGD#2 pHYsodtIME 7{kIDATHOHTA>EuI%ZQT|AyXR(1uSNEW!=Aa润6͝ۍ}Vc{7 oD)R$RU.CEy.qH`Ej*C\>M*$LugڃJ*D'졁P܈ ,aL#pFTޱnpo%:]tu08D8 \l "! \AdRC)A kvH&-%DeHdu5تQL VHx 5JةX 3%V]9tͧl {14-aJp^ 4v%6?tM!-!2b_F&ޞ-]*<ćpgEIa[9g][Yv3r6fI;F98+<8lqtjb{9*ǤI)5L.sM٠X*ŧيX%tEXtdate:create2023-09-07T18:02:55+00:00m%tEXtdate:modify2023-09-07T18:02:55+00:00"C(tEXtdate:timestamp2023-09-07T18:02:55+00:007tEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/vsc/dir-github-closed.svg000066400000000000000000000016721476710620300225550ustar00rootroot00000000000000folder_type_githubtreemacs-3.2/icons/default/vsc/dir-github-open.png000066400000000000000000000017211476710620300222250ustar00rootroot00000000000000PNG  IHDR s cHRMz&u0`:pQ<bKGD#2 pHYsodtIME /{IDATHMHTQˏhB&}ih#I ]mTbBhs.}/Z$bZHeEH0E4'ǩԙ-އo|Te-9 _7>DKdq}Fzڅ.6B E٦٣_ φzj*[S-Etʦtݡv,,_3b>暣L2J1# #x\wf9=,F g㕖凸%:Q#6HeB`8@8Qex0TsML#Ƹ8OP)ˡٺ:zis A1OV %=jItE{.M ƛT@Su!5ݠSI!jiTT@H[S̵A0)Gd6fJ~;`,Z\N AJ"g72;6c]En)eeYlE5x^k-ޚ+ܢ7ܶg+Qe=]LZV29)zF}͝ Ŗ^"x4d HNXR>Yl?k:E#74M'M?|׎%tEXtdate:create2023-09-07T18:02:47+00:00J|H%tEXtdate:modify2023-09-07T18:02:47+00:00(tEXtdate:timestamp2023-09-07T18:02:47+00:00+tEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/vsc/dir-github-open.svg000066400000000000000000000017431476710620300222440ustar00rootroot00000000000000folder_type_github_openedtreemacs-3.2/icons/default/vsc/dir-images-closed.png000066400000000000000000000014751476710620300225260ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<PLTEUVUVUUUUUMVUTUTVJġ-͠TTUM -̟:ϥQհ>Чjۻ0͡7ΤΙИ6Σ_ضcٷ<ЦDҪNԮ޻/̠4΢~đ͢MԮY׳lۼ1͡}AѨԲ.̟VֲWֲ7Ϥ_αtRNSowHM˷ 3Uϩ3RشcbKGDH pHYsodtIME)0IDAT80atC)rpwwwaFơ_g闦tLo0*0`&jv eCxF\n5!^y)@ _=x"Q>!IiidsyPP䪼 qhp^!H``:10_,Vk(l>'y?qf;!|+folder_type_imagestreemacs-3.2/icons/default/vsc/dir-images-open.png000066400000000000000000000017471476710620300222200ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<5PLTE|z{ݿ{|ۿ{{ۿ{{{{yܾ{{zۿ{{|ؾ{ۿ{y۾zݾ{f{R֯d׷b׶-͠{{y{|z}پzzھqzۿ{|{kغ-̟:ϥQհ>Чjۻ0͡7ΤΙИ6Σ_ضcٷ<ЦDҪNԮ޻/̠4΢~đ͢MԮY׳lۼ1͡}AѨԲ.̟VֲWֲ7Ϥ^!-tRNSow|r56"J)^E0=Cd`$X!s|66 [`{'EvWwHmdgB_\4XJjpf[^i$o+ W5P k>Ư |U?8K.@?+>iY_@%tEXtdate:create2023-08-30T18:45:50+00:00 %tEXtdate:modify2023-08-30T18:45:50+00:00Ǟ(tEXtdate:timestamp2023-08-30T18:45:50+00:00itEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/vsc/dir-images-open.svg000066400000000000000000000012661476710620300222270ustar00rootroot00000000000000folder_type_images_openedtreemacs-3.2/icons/default/vsc/dir-open.png000066400000000000000000000053171476710620300207520ustar00rootroot00000000000000PNG  IHDRĴl;XzTXtRaw profile type exifxWYg0FYSVݬuaCbwcEќJJXbNǯgq??|ގ s~Ÿ,ʧpl;[Vtx *褒ω[~:z *41~?w$ Џ, s9 o>jm7FzowƧz;[`9tno}9F^k_WcEQ]ֱ5`r.- |`,bn{P1$EKԉXfB hWX\xp~fK_; ,`ɧw.6o^d~ 5 9{b M߿*m"3c=B(8{ | ,!DPđ"4$EDN)5\JdME&6+Q?3| K$*I8$)%M䪲FMh͜cK #JIEK.Jb Y+F5nIKM[nKO]{AHCGeDqLSge_[⒕ʪ7NT?\@-F 5:KDt"ph2|1!gB !()qnؽ nNCџs3s#nwPVFBgD\jE? j+NزR}V<>/RhOF!PzXVDe4JYSfݯm C~XXK2AEsKt%b=ؿ0^9ԗ#@m8Қ1 تk 0yJJPϸk"ˁ: ۄQѡUF >7n/j] }mPN&/*ؽSO*?*} v5%ȗ`w_lcpg֝TPI! \YFC~Z-L:9s9tf4!U jCcs!$+n?x:EtT aFDR-8T\S4ڍf [ 6i2GHѺ+&ZP CЍy"wB"#-0.9žM(/RM.\ y ,zgrE}@{9Gj E~$[S]/`>Waq)մڻzqyi鍱`Pi)KKry!&y>kBO 63HqJ!Mf w)EASS%uIXSzNtjZ /]Qwiu{Wmh nV18K0kϠ 鬫\\vbA֨'ըQY`ϊpX.tz8kOЊT~f e)'̰FGA)C[(ˤ,|Ӄ x.-թfO컂HCg52$o"j޼E zӺ0#Нq|TDql;x$  GG5䒢رrsH棃kSW8@DH5Y, EAt)n7FnnWM.R#w ED{jD5Ds_>>E@Z{E=ËgxрE-xQL9^䓻f =G'>,΃1l iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAVC+UN>M@N?O>N>N=N?N>N3M>NN>N>N6I3'''('''&',2>N>O)A( ;5)0E&'')%''(('(''&'''('''%('''(&(>N0E7 /*'+0 ;5H2F'(58J%>(,140)*0F%>21E=N+B)1F(/D=M9(8,C;54G*B, -;M/9K829`ժ;-7&;3bKGDH pHYsodtIME (AEIDAT8W[0`\uoܢV;ZQ{7'%]4yڷIzS_&%5-t`(2RdK_ 'w2VdL@!.-+N{u!0$`C6;|KA : ѱ Bvb)*,&X(9 "ZF%pŨ)-PAeG%#x^(^QMĻ+B>A|:D_Lt~J4Xd7jj6S̮n7!{C#|tJZvlfolder_type_privatetreemacs-3.2/icons/default/vsc/dir-private-open.png000066400000000000000000000024341476710620300224170ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<PLTEeqerfscqfrdqerfqeqeqdqcpfreqfreqeqM_6 ?Yh&'''''''DZboerfq!A' 09Qdo0I-)gr-HWfffeq2:eqap .''fqfp6O'ameqam(dqeq'frdq'gr'&dp'fp,qq=dqeqK](5M0J-Sd&&((('((''&''('''%('''(&(eqN`+F6,( /84MVf'(PbPa(H\dp*$A7P$BVg 03an%B5]k9ao46)WgAW%CFZCXptRNSowP gťLXBArJqCeʎj֣?Bޣz< hdO(6xzE Zŧ8zSw>|́_2A)ͮn.=O !8<ªѱq`b@NMyѣa^edʼnZZ67+kͭ~hv%tEXtdate:create2023-09-07T18:03:45+00:00_%tEXtdate:modify2023-09-07T18:03:45+00:00J(tEXtdate:timestamp2023-09-07T18:03:45+00:00_<tEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/vsc/dir-private-open.svg000066400000000000000000000010511476710620300224240ustar00rootroot00000000000000folder_type_private_openedtreemacs-3.2/icons/default/vsc/dir-public-closed.png000066400000000000000000000021321476710620300225260ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<PLTE<<<<<<<<<3<<<<<@OlcwJGghz=舛HF+V\t>adx&Spo~Ac{冏/XGfE7]Uot> D1ZbvsMkq=`;_QmSnEfr=JiF[rk|M2Z%S!PG'S$QCdvc?\2tRNSowHM˷ 3Uϩ6RȱAxUv+TΌ-p|bKGDH pHYsodtIME "f5IDAT8c`X)`5B6lq'V@!L^>722 ،p(06153,,M1ed9:+p)pq@,[wt QOk/o3_]?H4 Hta@G :&6.< !1.U}r P7 H (H&eݐ b )yH B"e&`D!)Ru "ۜZ€]B$HIdd 䁄rbSTRVQU+PWLH uTtl hĀuƈ%tEXtdate:create2023-09-07T20:05:24+00:00s%tEXtdate:modify2023-09-07T20:05:24+00:00.:!(tEXtdate:timestamp2023-09-07T20:05:24+00:00;tEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/vsc/dir-public-closed.svg000066400000000000000000000015211476710620300225420ustar00rootroot00000000000000folder_type_publictreemacs-3.2/icons/default/vsc/dir-public-open.png000066400000000000000000000024131476710620300222200ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<PLTE3c3c3b2c4d4c3d4b3c3c4c4c3c3c4b3c3c4b3c4bkր5eBk뒠Mp1c3f3c3c3c1a3c4c_z4dr܄1b3c3c9U3c3dAj莉둔w3cUuw߇4dCl=iTtDl[ys܄`{Mq莂c}i׀Aj\xf~7dBk_{c|l؂{e};g4cqۄYwXv@jvކ|Fl]y>hOr둒?jStk؀v߆AVtRNSowfolder_type_public_openedtreemacs-3.2/icons/default/vsc/dir-services-closed.png000066400000000000000000000026201476710620300230750ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<pPLTEUVUVUUUUUMVUTUTVȍTT_ÿĿUvuxieoawu`}jypi{y|{myv]a[`Ygzear}r|\t~{s}cc}V{cdxwbdz~s~|uq|u :tRNSowHM˷ 3UϩRޣgf]8bKGDH pHYsodtIME gqުyIDAT8c`X)`B6l[Yq'V@!L^>ෲ2 ZZaqT.^>6~P]MRrJUZzM&vY9qyn8PT\RZ\^QYeYmUQ֦>Ѧ%][GgMKOo_ 'a Sf:O>csy,\hDD(Z>aU׬]>ASڍ 6oںmq ,&9a=VV{ )͊ +غp+ePRVTO:}침iZS0tpf }C#cS5 $,,͈hSؾ0%tEXtdate:create2023-09-07T18:02:16+00:00zy%tEXtdate:modify2023-09-07T18:02:16+00:00 $(tEXtdate:timestamp2023-09-07T18:02:16+00:00\tEXtSoftwarewww.inkscape.org<IENDB`treemacs-3.2/icons/default/vsc/dir-services-closed.svg000066400000000000000000000102761476710620300231160ustar00rootroot00000000000000folder_type_servicestreemacs-3.2/icons/default/vsc/dir-services-open.png000066400000000000000000000031241476710620300225650ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<PLTE|z{{|{{{{{{y{{z{{ەЭȊԫȼȇשɏ|{ܐ״yz{ۀf{{{{܂نy{۹|ۧzܻ}ٸȢz۸zڸq{{|ۂطĶÿĿ{ېӨwuЮǪ}ПyˌԻБɀÈ֠ͭyȠ{ɋԲyvڃ٭ǫȬȲ͸ñƲƘь՛~ڟͅפʇקʶѶÆׂاɲr}r|ɰŵt~{s}ωԂԠ}|۲{ԃԔxwՄz~s~|uq|ufMetRNSowOM2 xgbqO KHJI BN%#+-+P[SY%'7/@U u E%eU DLAzMm]}jCcSz3Q S 6!U@nG_j'O:-uTC#cgN3w^ @i SpK.[bիV1*0G oh޸){۶aa R`U{}folder_type_services_openedtreemacs-3.2/icons/default/vsc/dir-src-closed.svg000066400000000000000000000020061476710620300220520ustar00rootroot00000000000000folder_type_srctreemacs-3.2/icons/default/vsc/dir-src-open.svg000066400000000000000000000021761476710620300215520ustar00rootroot00000000000000folder_type_src_openedtreemacs-3.2/icons/default/vsc/dir-temp-closed.png000066400000000000000000000020731476710620300222210ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<PPLTE5ul3vk5uj5tj4uk4uk4uk5vl4uk3f4vl2si3ul4uk3vk5ukG[m_`^_\_Z_]_^³_²[f5vj5tkI\;w{?~]X_\ZZ>|Ofolder_type_temptreemacs-3.2/icons/default/vsc/dir-temp-open.png000066400000000000000000000024361476710620300217140ustar00rootroot00000000000000PNG  IHDR D cHRMz&u0`:pQ<PLTE.-/...//...0-./../CQY^^YPA_²_____^³.-./V_³VD/2Z/Y_8^@MMO9:^.]W^\4]WYYO:9?L qtRNSowfolder_type_temp_openedtreemacs-3.2/icons/default/vsc/dir-test-closed.svg000066400000000000000000000023201476710620300222410ustar00rootroot00000000000000folder_type_testtreemacs-3.2/icons/default/vsc/dir-test-open.svg000066400000000000000000000025101476710620300217320ustar00rootroot00000000000000folder_type_test_openedtreemacs-3.2/icons/default/vsc/django.png000066400000000000000000000101271476710620300204720ustar00rootroot00000000000000PNG  IHDRĴl; MzTXtRaw profile type exifxڭiv#;sNfJ]r޶,D29@ m6'M\RMk맞><;\s1#ݓaO{\}5'#?>~b|Ŗ v8ׅsGsۿ~=:] ;yXGa`ܖxe|^W\>pyn[:`/z?|8m%d_ꧨ/}5P˄@ŝuYo1;&so^f&r.aoxpr_D`qWX;h%|2s'3/7̗dMh2aL=4 N&Vg ߪ^?"Mph_l1!7,Wl2w\C7 əs{m(㹊괯WM̞AĵJ*"g$f`\; ͷ+~w5 $%oY/cTk.g7͆Ӗ{v ҷ;M_¨`?ee$&j4dvbJ7f_.63ΆpsM-R8c]԰ҏH\aTZۥ~ X},>.l?ݧ[+g>׺~*$g"= k,%zƍ:97)V%l:F-hrj1XmɸDQAYЄz4F j=`UX{,6\?HXo7L?MC|E+:7˷V,+сQIrNu-*hs( }F5Kg@?5f.LE90MsBK\K^{Hm5QS9#n, JVRڨLdLCGv0G R&V ;E#WnI7Zb爫*iԞ>O?>}y0Ҡ$9. څ >샘^۟hl~\,W")ZJZV2}΂w[p9b#G-b5nw*^mC,̛@}={5p>h )R1e*%qVTgs=-mLqaHNZWivGߑ ͱX-;{o$jA,gߤ׌|OE\ dp0뀻[3j[5O->;j—[ѪPvW1oP1?~G5j}|F=\5hQ,ߙi[ʜfdGGfr` Y>Yżcr59DJD H8Sm` Yw )ibii &H ?AZ :m?o旎+iz/W _e\9>Z;[q2(J\_cBPªn{s϶d5g.s ڥgqrkqBc۫ jV^&/ t31Y9s=mbwT*Fa-Tx4)DvUBF=FaeTL5'S&t.uڕzDw7S6t;0v5 d1\R-j~(dS}N/>bT:|ZKL~.*oaG'z,j&LN%=jF& zPl398aV}p?GBd9IC\s`ehӽc3C{.{fc6}`Ҷ;G6q5BdVVrEuU݇U7Op\AQ A dA ; :pJT*6E=AҝA+d%AgPƝ0W5+ɚ0n8Z'k?oӓSd:ύ'}P^DK_. |U2(MuذP<4Чڔ*lkJdnFN3.a!>gGΖKLd/өc1۳vu䴸y2$|bf)yP'QgFHꇥi^&VsXkTݰ^&"|/'gQ|?v+JaGEnk_ݳ}eΉfGmiԣv0fɨpԿ+3sP(3|ݶ]=;S*1\W3"uxk=77d&LM5Ny '"ۋ qR>#T nj]`22R||F2ѩ|AF iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEACÚKnyCWGT eAO@Τ4qukqߒ>Q194t q Syzv\1jLG7srR~$G >y#h0=S 8ss NNa@ &SnݶƵej,ƺ $b &_|~Hᓧ"Œ74FZ?fO>ER.cۋfH"!ߴ/,n]&\^6b&80Y~d&zׂEeLӍRcܞCAwQ)T;Ʀn,]Io^6i'@7&B҆e6.;o%#ݱB`lpVr=h(w[T4Ia ޱ'Q,8zr `!ti IS@eɝ<' (\n8yE}EApw>X~7]y(w @i9pŁ(`&01FT 4mZ%tEXtdate:create2020-04-16T12:51:58+00:00) %tEXtdate:modify2020-04-16T12:51:58+00:00XWIIENDB`treemacs-3.2/icons/default/vsc/editorcfg.png000066400000000000000000000245161476710620300212050ustar00rootroot00000000000000PNG  IHDRĴl;"szTXtRaw profile type exifxڭg$rchs. xVWGͰ;3*;3€0?ß71[Ζ?;}l?? g;ϧ?>s7+~r.|YywPAn>]h~oC{^D,J(x o?Ӈ\(/9gj֊qy5Pw/ 1/!U`\`]b$Gn_ 9Sw{'م䲳X Pg>D?K+W| !{S|7)'D zDSb%z )r*R!ǜr% z %Tr)Vz 5Ts-V{-VZmMFkuyfFiQFmI8̳:˯WYuշ3qwuv‰'|ʩ+j_T߈o+jĒzyrpWXL};t8^sj2hkfP3Ti7q1Vn1-e[8?hǒ V*m>vъ 3̹HZ< 'YG N|j^z9I.a"lۏ|X{&"+4WT`O.,̜^l2+ֲl pwrp!{9"ӝ$.ܹϟ49 )l%1Ŵg_k4"SiiڶM {Y~)ɾd!ErQ9*qWAb]&:LBܳY ,EoۛwH$ǤHXx7c9OEGfN3:?kXOܝz%>=)Oo^Bp5 4puc3v+hQJ<$VlԂE&.;yd2쁨QrUN7Fߋ*6퉞b/7vZMbS{y?{w24pwƲ'Y}*47k'g03( X%G SyٝP 15ln\r֖3:[ ͖X~$y?_f Yz| E0m5Xw@o HR؝!]`GunȂ1nu{FG5d]<}@:k2Pv0:WJdsEBGU =nIȑo $!cJ[RD0llAMo Z@)ݖn+!4k܀/ E)D (1 B5dM2\^vp)Dn&\^5"y'jQ\!ȨA&E$%Fl"B8Fe;p>A9[!'%T$ZfY˗wk%q r`_&]@򋇚0'o=u5vU \v+3Q8 l!쩑1˰}\[Y D 1\KqYdY \zV fߨ1dw='0F ނc^Pʟ%#ztZC01*q<'7|Uz9񇠷ht,C)ǯ@!`vA! >-GP&,63Zi+{oƪ]R8Ϋ;!^G3d5z{GwA=a,yy!N,EHg&Q(\ k!9q6Z oU4: B'G#L8q #pL򳸆^Y`$@b;i RmxH6 HGDL iqhp&4͂.1]`6Vȓ<#1sm̺ 'Uђs,tGyRd$vE 1^1AVXFrm{/ז9I[pQ Yj!Ե2` .m5@"OP$E5/"[W+5PL.rx⋞̒5@ 5s2J2wUR΂İ[~<%u0$xN7]߾cBp8kwp#"Au&$ZbES)#ASbbAN' (rFJY4jO\<Gޯo737!R2(5{ ؠH*KI4\'GN{ET$6Z>{I]Q$ΩF5 Ad[5*Oj]NQ,ANė9fh$dة~sq0;qܝx= $&pB6?"uCA%O;[8H>lH\g@3(;xZQ.OAb)+Ot,ݎnA(A ~G$KȞ5ZerVRĩFC/Rěg6Ine l$˹5}"YX؃aOuKJ8g6kL]5C׹̃* V<3$p cFNBP)hX$$~6b&X,L ՈCɭ!ҵg뙴Y(Qߘ$ P2o('|Fجr&_XYP@p -xEx3|$=3<kHFE.\Yݣ>oGq/'+#b: *|O9P&ON̻ uN51@'rx %Ѹ̒~Z2܃H@vUDCXH}$PǙ%QUSH^pc|j,uĭ׍5@%l0!s` <=7*da4US=e4@b x"()$7n>FV),_;S41FDf^JKV1Z*aSL5&> ~9ᳩprn^c~S/X;b0)V5Lxj me<"HDB: (eׯDU7I}y_ mi`X}0Ѯwޗ2?K Aş8_1J tj c?c@2Xs&:WQ 6!ki ,;}62,|JRiA=7E,K.Ӟ_Pq"9I|>Jޝzel-hU*EK=g͔Y\=˜>oPeIt|,P%oWGF%q\dMR@O9ĵz$—3)Cª=nd2:U֍I)湴D NM?a%s @P橱TSX.ГP܉ Ӭx5=ꐞ:Z@D5ԫAF4H5zj Gz5?)F;2r*y*qqJDXKi`}^eF|;Av͓REEGofmY Owj*ٰaΓh+2*N? sYMUБ.:bmQȘ]O<5j(t \CH]xhJӇdU$H'QD4֬ctT~~v,G9 ?. RzKQ~HI$&C y|xnD+ygʤB}kMUss 7į#M*YC4~6, ,"xhԌ^q3B {z~pA# v!Ɩ1iF$;Spujih 9hG`DИaP: R&:%r f/h'Tɖ ]dxw n6JٝU|buԢ,oPb%Zj(v3ʹa-(t( &wBݩFh-x#s Sc8)fPh79;4tJ;j 8SZ%go"Rm4JcLYkU݇!Ca nil5Y3EzhK}9N(˶p0"6I%=׮@}X4\;)\D85y :=G5m41Np_/`/Vmjg,:\ uo~2%i-]+C͡3`ET '05ed6@g׏a-ji@ `=<*ut{# z$ks^' kN!ܻvȎ,#ã7yvj%Մ؞;Gx !(PJiGSmkGoώb{ =Gxmnm}oAC:+-:6=f*uԂ:!Fm@6zwڬ-}"A^ umuV;ef\g(-5t =I-Ii-(}D\o3ؙ6UF^} sIGp.s'I85DFRRZ 8ygM WZJ֖ẜs?F;Lio\e:j0GA|r2,%ڗ &={\sgV?S2b@LR ldͪ$oS:FNvHl dҁC#ee[bv{FvtyQ6M_%;J$(ƻb(HXB:mdYf$cebACaB+%Z~ԀN4W' nz"^b -þHet Q/i6 `\f3Qmj\X4njZC}Z%/:^ísXZ2;,S?6lEMڄ{;̟]]%5ՂAj|jPАY Л: ޙl ;b(*~qp] 34tr92N0u-x:5_^[~6ZC2zmOgRsZwx{g o!ә`HQ;̉sW@r%YԨ' irC>Orvc;j^Z:WaQ rct Ғ6 T=o"`tt޽-M߭ `^]F"Ũٚ$&':~[GGIo)Pdqap:k#﻾ZX^+AR2B۪iTua&tM#mhM*4R]qد++!MRlFʥxuA:|uɛ]k8^-+w{cO{ v|ěU83oOTo(ؘS߽|=i".,]pnGavWm#>:@/10 pFGzf3_b{S %Ex=kWX̿g+2r7\K :vm2wuԒrN^)){&Gt@ %cn^s||!h590ݐTNBy8wk~=BO91=/ᅬ><iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEANHX`ԧ-H% ԠT@ 鵴9gR6rߗs5 *|>D5 e ](c=k2ư{N躞#8* KL"%9{vwe1 ?ʕӂ p+dddݽ{qgk]MMkVC0hsgN>zsb'KoZZZ•k׈sWS\.i*aOXk`1!v:7{KKJLRFWwݻ]~1y3D"Q{\ xB߭[K#>:x`,TUD͆Ņv$C[u4MF{{{ȑ#N%ka7lg>?zD$l6$I躎---_WUUIB@ %I477?=y7njj(UU0L`P Lr9Ts>66fTNz۩Ԕ7aH J`0bk__|^^^Faa(ʊ9`r UUU;veN)!VTdYyol߾ 9W^oNc!θiF4]uQJ9!,$_AvuwU !}.ݧYY6 .tMu]!9ffJNutuwO7 _LO3 fc@q&7t:MrYD;w.yHfC2YGŋ? B7pQ!-GsSee(;M].ߟ_ 633n<44tc>P`DQBvv6TU-*--E✣,sǎ&L4M3rssEEQ'$Bϑ`p8lbi =K:XZj^z4?R䭭w;,p8Z>>|xړO uGQ+}ˡZRcc#E1x$ܼy󷎎 rrrh4Pfeemd2T,0`fX,BAg@"N"łl8篵DtƟIENDB`treemacs-3.2/icons/default/vsc/elm.png000066400000000000000000000015721476710620300200110ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d1IDAT8]HTisFm'>r@h b_Ma]EYuW- EX !.. 3bIJu$IOљsq?y_^ Y" dS"Y{FEHJS]:H )= ^n@~N)gZQ.*ldXI29x;O4_}L$ݙ#OA~/nqCnLprYE;ݍ.1%3. If=,/I@H\;5:$r5Ÿjېl"4M0бl-o!"I73W'BaQ}=]͙7^fBhr]!v_.^Bނ~w97pP[8#4Vۃt£g^ldT6\RhrGkd"mkW^8"LVyN=o'b1q+KXdc%O@_ nw5 c..b R hn;UTb3:4({~lo0?oh^֖sU?;LP3W>6y0 cQ#>6Ⱦ%~%{m$ʑr 0uԩNOߴ a(!n_eTyff*7'"/rɀm9ȖK{NX9; 5R,0u_[!i`]T*S՞ofxiy=$ֹub:Cp)f%n Xbzf[ Ro^,&xKsAs01d^0|ߺy GwήKw] P%}QȝH8hw ӗj#.E}{պ#?>c o GmSEδ| o6K*$x~PgU'w2[:~N)U/ 0a ~VӰo-p[y66_z2<'G=TU^(UvN={;6UGʡƙZ~N~)G !0@xBpQ +=}NEwN+BG3ݭ9 r@s׋{]UAqq.[2VNLr$W82a!c 8pG |@x =tP"l-E:fUd(7M5Zq6/ <{\ *._uq鈲v&r @<+#8 ` $2$I/WJ2-xʍX"OkFڅb~n[P`W_Z'*dU6/gcY);9@sX',bpi^.,wq; f۠jjZ@MKz_ ֖]ǽQ*g(Uy#Z7q؋:HG$@F!"ZDZ,|Bl(`Ϥ~0‚~~dL@@Cʑb_>CY-5sl ͢( 4P,@g@3JM@Ȋ{r)`s,u\$T~fX07L+l.ga;fUtr=t@!fRȇ}Dh=Et('XFfOR.AȉBzgՏ #>7 m:V?+V/k㥍9Hl"&/4 P )T %HuPtpG-s3d)mRt[@L%X?ěݳg[6NS z ި?:x~DZꥎPcL,v%0٬RC.@V¾ FaW"|5i=0ǰH ހ{==_؇}nZØaxD?R!7QBeEc4r)]DIxb'(vq_W,>xJUtxϧɯE,6RG]dI0fIr0I/>9T|ZUOi)a]Av !iw>U#ͱl]K8T#{gkAłLXgWب$Ok8m2p5鶯J)gmKZN)Q,ʋ!VebWCq)Vܨ1F3+W{z}:eeSBlpNr?opGw`œ%tEXtdate:create2018-08-15T17:34:32+02:00 %tEXtdate:modify2018-08-15T07:30:10+02:00 bIENDB`treemacs-3.2/icons/default/vsc/erb.png000066400000000000000000000062021476710620300177770ustar00rootroot00000000000000PNG  IHDRĴl; 1zTXtRaw profile type exifx]vc+E?kvRIRt߇~s@hom ᅫjtYV[nQx|ߏy-w"C6=~3.?xY#NW>' Wx|G4oMωk۽/-aN! dc ޾d8^Z:蝓_z_{s<},G|Oķ W qvsdw/ޱgIrޕЯx~"rXmg㎕6Tc3NĚZZIkRb87 ~w;ow4®h Cξ @y&/' *uc!9q>B(" | IB XC @cq@ #cNDWF[gjF%0 +g?5+$H*I/"ZLzM5W֪ծIڴ(ڴ{t:su8CFuhO3Yf:+UV];Re]k'|Sv+jOTzD-^֗)ɉf sj@hy 9GC0-1R !y('b/D[rΠ;s@3n@mYGO}"ݒZ};α9|Kg.gM3]ϯ>>螚1/깞RLyz 1qFtoCJJPq}4@ D皕MeYNTXu0cڭhrbM$U̘=+0 @q ȮPM6Qxc݊?13W_q<}j͹&5_$3B%.> 8P)G}TV*}#~,Dqך11 gŲyP=Ѥ1nqUuUJ+a|YF@URK2/:6fkH14"ڻ-hKYcSw[QIȧLq_ڗ垮Ff5zΑ%ăjP-:L95 M#H 8!-+"[d݉+wqs>W.(^_҃ɎCv:?ZCsNZ7 1?lAYb1r/m{?; EUCYd$QED6d)4"bLR" i[V:ɑxH7%j+/v7V C="3p {iTaiW.Π\Lr |?b*P+)5(q/TscP=]"0 b LGÓٺ墁ga:vPfI)s\nX"ܖSg(aC|[yCuJ9sC>#+FշJrkC1JMd9"B <-鬉Lc0]C}O#$MAJky./G!)._:QGtx!N~槧ʮ{'2[/hvq/v*`u24XZ\!By\[ ( uQ,XLJfMi4ىL'H+(7^uro&ALi&w3̘կ~%_KOn:Z8=i|MFx!g\X9ۡ(QRs 'r\0 cklxS}S`*urH $9v B39)g5(Vx^ȟTBǒ̩xJpjF$GIVCJPE5̳(dRduy0@GQNJb5I:׎zƎ0ad5(>w1D_l7J\j> TrP`kP8 :۶s3Vw- yIکΏP[Amd-Vzr g,F R"tO};e]] i^{Rb?b'r"<։ħY.Љ,y+u+e( emQc'Wy8H0YXE+›E)*ȚU)VonEjRQ8O l"..W;ǍxZH?}%\v_O>)5s4k93ȁMS\ {[V$ Gge10UMŹ <,P١dJ%9]gys)y>xEAޱv~YNnV4ta>>/jN?P*ܔhG<bh ɏTnsa ^,z~GqvY"_P#о6/<j-aAY1"w8/-_+X,gf'v}U}ᛲ_,%XR|OG,31IENDB`treemacs-3.2/icons/default/vsc/eslint.png000066400000000000000000000162171476710620300205340ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭirȵ*rcw$@vE,P@g1ǿTS51[Ζ;/}x>=}|ó);<ٞ~}n|n¢3Hg~^Vץ@.Wb!J+q.>+w;Ӈ~.~߃oگWg?_#o /K?'+ӥ.>gssu=f"ߊ#: ;B2_r_v;IkΓc\tuwܾ,1 >m5 Sԗ;VlmB`\m|Uμz/wo7_朩9[?cźe(s^$ĝ7oMR?*L7̕ v<p/i!gz@8wb1.]H.;[/J:+!A\J~HC_gfD@S%CdŘ+5SH1SRK=s9,%XRɥZZ5Zj[S˭ZݛΉ:2#4(6|fiYfmWXʫۙ RλZ;ēN>Nڛ߾7kfJϬՔq'8Iё P^996OS$"rcSHaΧ>s+sQ SRȜ!uY[y3tbjvk~̱=eF;#X+sMfkeMoi9jc;ʯ^`Acw3U1w ǥ׽:[ݸnkq1\qwknAH[6,$Z4?D=3Z ^,.URI HO$CpՌTjmYݬ+iq&e?=0K-s]5*EV/h{sC)Өi!r8#3.soQDu7k܋mcBр¤lӖF9OKK;= ʇ9\&] -3jިCGKϼI-NpbwT 5VH Uts+E\U[heߨ?vy>0g=}3J* \Fg=nccv9S^^!L|`'.IEuҺmr"z/u (^5H|/Hd5iz&HşCbeqOtqpN4^{b=> gPu jߛNi+.-QXSkҩJ&mj$B\W kъֶnK/q2=jhei)sg؇Td= +Til_"^Vej7%k brη=(u'{y ٕ{}N8df{l /2z p=Dm[N1Y&Ҝ: =,W/;m鶇z_5džZxwOO]a_T(m2ZM;1̓b͵*LQA$,+rFf#\yLJ5HGS41$^Le -!4͖&)􃠷ā8{1Z=Zh_eiR d;p)ǁ&h nE⠕eIքe9>"TB^] SMI B~h"`z|8wRY0qw}~Y%tE׳ہFRR9Eӻw{|BvXPE+7UýSi'IKR4!FSl Xu2-B9ZayP^\VWjd@t@4>Пz6?H5{%[WF2 * j7o?8Qi/G2musJÊ(#5Ez1U-jM҆Gm*x@ 8DNq$kchDL4Gpx}:S,7gu{͋j /7:jBG0*1j.%ƖSXpoW*Y޲?HIe>#*4 R;hXCwѐD ͽ%CQU<0y ,RLW:ֻM\q^fp8:tp$ݖE#>G⋼G9+zbw:ޚ'Z{C 7ў]G2%i_!H{WHVlӋ {5"D)6aNi'@S=ɑ3reۼ奩څS׵{-Fw^+VT+utֆ!Vj?I(eP,tb43g*a}J,z4EB(UStvX]hrƊK` "kP$y5Xp\13F/rfIUF-1~JXÄ4GHDupj~}!|p H)IDw|j^rN UBB, auTQctzk=8t| Pujy>E`p:Qu,Jʮ_jC>aq|FQ9!ToOvꔳM.J!wkH0H5*4Y;\Ä譪j9T-(sF:i8jhjIAeZ,Jje$Pk'jj/l4ܐ8.Mo2r S&tM+$F @"Y U.}u ޱǨ~漒, >D4J>nd8(&G3EvHVx , x+ 4lq$$Tkc䘎EeiK/> J "`-sH;ACBKQ`A53.tD#Ʒ("-r! S͎C^YY:8<)Ag 1Dz[BC]ҹ&ଽQԥ u_rs@O.wzĔ* ^$^7[hQxm-﫯8@.h$f*^w )}^NA0@2퐔`UbsQ~< 5= nf {AP0 0c='A굫L ^WBxR-ә%QЗ߽i`i8KK(不op/R.QK3;4q,G j/x®-G6Oai*`\GPa"oDt%Iq"% VKIoiy6`EZ-,z!ҕ^Y߃*` !/6~N6-$w@d"PLFg QӌM3Ǩi!6MмcP.zdG좆?M6Ll4yh/}fu )gzoxipv|m_0d [rG oD oʔtc~{k6eZ@{+Y u`戹+?҈Gj'cM$8:c"s! C f$uKo-(C6BtkЏyz¹,*A =rp؜Ɍ!;Ѩy+uЌs\#-ZA죹t>k!!op&U?p >|yMQ.5F:܉n bxX2$;\׬y0+0)KCx2dà4FשY Lp+M\3 P:W1_^bՆMG5XЬf̳T6}GIfXkaC {ށ"pj㹭Vͽ6t_ 8uN: ipQߪ{|>۷s?Y9_X5WAC;hX*qOITzIHWB, |R,VPU3݉h(G\^ udUHBi!Vw1H\`4P1XM33VmAeiڰc?W| FtVhM955a<R<'\:R6Od6:^W~{z@Ϩq B39y(נpz[l~hJniX#FݬZ+IkAIX]1@!Ki soĮWN~IMss-Dxa>: 65o>[h;XZHuU 880ԞvDV4<4lO<"xz/o$ %\Y5( MwN"ɄVt+ens 9&ɂlKBTӓB8ZѓBju;;QBz$;:># :hM) sʁg*y3 b~M2gMל2aYP7iN3y3 5vjr٠+ݏ Pф>s'֟y&Ð'E{Wz4'N4^@4?6z(~Zȩ^.σhK@jQwҽiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAblP&FM|$nܸp1%6h,&ƅVbKF-08 0< t`Yw󝗰=3-%a<_ru|><`7oHXTb堈< <@ 5}j"o.: QUq,|7H@/PG7U/rG{0Е7ίV#o6b>mOXkHtKD*Տ_ٵםV SlXcxrX@KDP \mM(OxK/VU&m(=XϢ:"|i={8N.Jit PߏUn`OpK3Z>1Xkb>PbxWKU!^԰Qioc8C9^_*##aFFTJ HUh2о/NS(Jx;iC6#BRU d:5amo,RvZDt/f-_! FG!Ziղ[|T2;A8>at4W|xd\!/Ff Feu@z.C..>9.% 22KS_-f9ڄ\~gavbSCj-&pFDV3YAyj^ee!Ki l~zc?`JYfzh=wϦ}6jp"fFVXƁ)e8h 2<8@P@{xI`\UQ_glͪM} Ʈe4U`I p=[U}4mZ(%_ܱ-BIENDB`treemacs-3.2/icons/default/vsc/excel.png000066400000000000000000000107601476710620300203330ustar00rootroot00000000000000PNG  IHDRĴl; zTXtRaw profile type exifxYr#Dq [` ||BSi&RKfy?KUEkixr-vn >Ky>"Mkzj˗s_b} fqǧ=@m?7Uh:ޥqzw!+VZD)ƝB>+Hϻ|$ I}s\Bz owk}e_+[AjOď?7yYE+{=Cǁ}R½WU}/?5C rX0Yb;*gL&-d~ 'jjif.%Zf̼]c`#?|'/w4_mź50'pH8/5~!~U<(̕ v?!/Bz [XLHx$5F ;VYyL9<Db1TX3n(DkpB>U:1p5Ar <+ !3v0-E23πLjaD̓B~)&>_H+6>~wW w˪&YϦRuW~:C\<&ihID.{Sdž:ϧ4IŽILU>16Rxa@l1/#~qG&"3ξj/\. e *)7S"GX?:}5"dϸuk3v>%)1@:R[9i`ֵ*ŦxV&ÍIiPV3Ȝ-xu+ee;WghZq9 @(퀈s2&P>B'(Hs| KZd򂪽F+e܋EKyW~ JP4KFO@b.EN4L!X){FA+ pǁ}!UzCN<*a16.gk$B0XP{z.?إs*5r^71kQ?Z3V3 \3+Huz`jLeh SlMBP 4%SQ஝H^6 9#xm_,/ "Q]I.FyVDz R'_d)tAfDL[3S0VvE-i"=eOc a;ؒJ'"f[qkXH6[O 0*XտcnՇB6A_ak~`^ 5 ( 􃋸+Z#F :|!ljaԘ6o09ȭ P­ 8 $)TQ5Z|" ݎRRe$iU ^ݯ:k L*ԈrEJi'ʡafdMw*pOܸG"*;d1K p*aDSF,'2ۂ8gd!Ctx 5sv>a%*pԶ3!J *\"B s /s!Q)QY.tNQQ p@ R,&}KؠP17<y%N2 (-$)3lPDY)[griXPЩcڅT MFZXluT >e*RJ%9]gys)y>xEAaӋ b* wQ0&HPL_kqы͡FC;nHrjU<6" 9\YVȪq4\jM'Z)JcEӓP=Gmui흺:3> I2D|_5׵7tJۻcWWɩgU |]7Νlc[Й`[QAjg s|23&-TjMm|XLTOk<8'IfKΞJj܏ww0$CUB8^X*Ǔ4\pђjsw]IY1V!o}]q>Y>έQ<tc)ޜJjgʶteS-S)rF]O,(zw^}æ,73eFW{ ;h1IENDB`treemacs-3.2/icons/default/vsc/font.png000066400000000000000000000012371476710620300202000ustar00rootroot00000000000000PNG  IHDRngAMA a cHRMz&u0`:pQ<bKGD#2 pHYs"tIME 5r*IDAT(һkaK1HK-(-BZ2TBQ-]"t2,UzAQ;A Ֆ6yD3G=}/*n!"TND%2EźpR͉sJut%DM^Cf_*0%U&9aۘwBa0" λhRN;q~wv%hv=U-ҋN=@`BBVQhQ-t5)iJ1 6xュndo˺BLb$yf2AQ&΄HTUlkMPk_tzZHY%tEXtdate:create2020-04-16T13:08:45+00:00ԣ%%tEXtdate:modify2020-04-16T13:08:45+00:00IENDB`treemacs-3.2/icons/default/vsc/fortran.png000066400000000000000000000215601476710620300207060ustar00rootroot00000000000000PNG  IHDRĴl;SzTXtRaw profile type exifxڭYv8D^8szAyά)$q)o?WLW Gzϟ d\u,1ru,`ctA}r&7du%& }" j+P} 1s,&ؒO!ŔRN}9s.V| %Tr)V]``Zj9V'uC=K gGyQGn L4,ζY +*vktnoV{X>VsR/YOMί&$fXų,C;*6'fWuEt 26fZY e]-fb[vse9# Ln?Xm*ύmZ}܃MNB>}1f~wնzn&r[;\b5Jعu{w;;m28Lͷ{Zԁsƻ~wͻL)4q0[G;|ޣgka Vg,W@]&{/瞋161vbqEc`ի9}H2_wtbϵH.]أ>74V{4M:cvVKZ]kkޢE\,=5q{_}i_W?Ԏ7?/N0f<џό?3㹧3fx1'gp'}\ =/h{ƑwPTRSD%hBӅZWlᦐLI^E_; 8}N]{`b4 N9Zy ,7^o3.M 5m[WO-mnoU^w^5p~ L/GЖ̲j!6 fq&$m<{&FvoEFV_ Jc; b$ ӕ9nf<\@Rw, -&D d_q+#yG]}ei*3\_s++hْlg}Yk{o\|mڐ=į,Td|ʗ[=D;:ĴK|\<=~ϼwˏޞ陏]O g>wg^3毧Ǘ ZMcE_o,V\@K.TP|W0LЗmyՖwTI%OЈ$}AQ4{1p>6:GW\[mvY0ddrw mX JYfY9 +Dp!;J;;,bh=מ']&#XƲ!AoЗARmI^=io# /$dp-a.3a5JBr84n 3|17_\75HC |Q}ȕ͝son6/7;A>]nfƊ3G?Ev n ʜq8Bܷs,2fW`WFL2\z>n:J!V;Es+n\IzmmSN%%~ c+O4]1lOD7N*m"]1#rQ3@&Ǜ1ʄ&PH-)|> w.8ȩhVK5,I R iBmHz4YvGDucgi`vꋙ(Bl+:E>/Ȏ_dBYX\nm᫘R!E 2~~q\ͬcDpam뷼j?$4,LOk7 S΀K] !$Scsv\?h׃%kteo8\yp֮5Y 'ck;±j(ZTHSP ' !H@6F7x>0 ._m2QIP,iXka?̚#YԔhjUK@]`05(WA$QdauY.eFKwq,Ay DwiDPTm gYHbבq1 ,)XHp/ Pϑ _||Z:,E]fXfL QX'˯SJN6oM{A)[Yc>V x,?2dq//ߋY4 !w@rTJٙmF:r穀)qervs W { 醌i`mbyɇ@ڠ,\7gC6uj$oφ|jSu@Ya!XmGfWVB|WEz%nျ qm! 5th0Ҙ -&UX+rw!&R ;9_֧|vŊUr[NvN*!d"%PW#N:FAA@D.&I;rjo]Ϟ)#1ݟ_,(l8u<* Y_ݼ4?aF E2mYz!5 s!ϑ: 6z));w~uvh9t$l:%f>0iS1.9$RU[*XsUwr&h2ק)ܥ-k[EHaagQ4K\`]p$I qaU( *xDa υ@k5.j^U pE` nkVEIv~ڧe@"kwxV@Ceh\d 4yd54[_a{{4_ԩ}]Og,W[5lYݺ6[@*娊ANq,}4ԟ_܇,N$Zmi& J[% 7\?)LNiXm?T( 5tE2gO|Nm|C#cG:M'輫NKFwTEZ" e yąkQW:TX,> oB We}wXJ t TQU8װ1{3a5v?b3+Lu>ᙁyL͗/s1h{}0=ٶD -*!LĢxzDxPHSFNb+JzPc}ʵe8kp@JTRиhU/"^/J9}IPl̝ vr1@oT~n/ͿaIhz'IbDΖϤkcr8ݢ+(MVI$~>vy U&cu Ž!8HJ˫&D60>9MgGz98!+_ޟY iQ>E:=̡3!dldԉN|Nkjpgٕf޺{:tc\d^.v333lg^3;S 7pufwq_mR%+!j4&NhϦAn],E2ۇD~`כb]_H~A(U,RL@!~tq:ԍϮz$c,1`+ڀϫy"6Ԯko9k]Uj2yJ7t꾼++f+d^՛EE0םQTd)Ugox~/*$k~eæEgns0X~4 iNi8bE y#ü1ZR :6] Uސ00"ɑg1e}^r[lg\.W[}zۖT.k,3J[[qg.;Լ='lRxqZчB)YyiK>?/>t9אָ.uE/9, q;[ +$3ԆNpi7~iQ!ۢ m}nsYSd!]~7;@K~&_iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA0O9߳u k!Kr[ÁsVsT+0ڔr#]t 56w k5RD?Zk5E|f;n/<>wW?JRf`!KLO=<|iҙl kLN1~"BuZF)/cHɽx@Ac%f+560Y (u+8IkMԱp2DUDD4X@)I#SU/)6A.1VjC/^E荱*_jz]j^cZIENDB`treemacs-3.2/icons/default/vsc/fsharp.png000066400000000000000000000132071476710620300205150ustar00rootroot00000000000000PNG  IHDRĴl;!zTXtRaw profile type exifxڭir캎s$8,cA/?P|vKeH$2)9I5erZ|i]|N>lg ~WoB}/$?lA?<%j[-_: ;7X}ݑ QZʍb;J>#o7rr?7&C 7z5@> ~],d9> ۄ7# ~1yY̮LD(>cp y~껟|)MY9N,rdSء axXB 3Z[\s,rTCp1_7/wδb\p0,sQ$DΛ7x_Tɠ0W&x.1TVylW{BĽH$>KTKE8Vy) 2 a1ȐbPݛscl7D"4f꩒NRRSFMhuڴS֜sFrĒ\J^cMUkjoE8P[nZunԹVΞFiȣ:4uYfmV\ʫ[܆)vں.k'tSN=ϬY/&o͔W>^W%D-gd,$!2WI)X,gBTˍ[b#iK#'s79gȜ#u?'Y[SS>ߵP5B pc)PU!%f`triKlf N X +MjD0L95s"'s GȃNj:I$gMm%LQv(-T>/eO]: $VN_9/md2KfeLDVX Ǟkh-;19k[ȶ iko'zB8ľ1HޮD X~z;0VdQzV9;V)]吱wNg]v"jdWneΌqv'չ5$¾Z u0y/Tvwq-tkg}mm2:3l.S{}B}l\&+J揼@-} [F4JcJ`jh|MľF}vZ2k#0h!Qn/ C$wf\trd̅VXiڄUΐP-KYYeHf klxMAC\pr`?װ  PWJؠ蛑k&D[T?'$b\6;dBީu݉zIV9Ф[(CE&8e^r4 /uE]58z^ J*X]`q wG#MC ߧoŒ֢p|v \OCBgs&cz ܡ_'0ZuvD C5!c3hHg ?P C皺CZ$k 8*h6 x(GrEHx ? biJq2Crx"ugfW\IĠզsY1:H ,w|8=bTHц:8a耡PTt*.tJJPXZVI 8ƬBɐRtԓ荖C CV#B( -H? f*00m4/6vű4DɅ[Ҧ0S8L?EOs "V=fV _ub P )_УdBpHZZ\_t*C CKnBI0kdAIІ2,pFAI<2 L{Л73|ژ_^Qtcؤ0r(ݝawwkφ Qdt/3,S h0HWO0ZlH?T<lS,%X*(%fbl m蚡0@dFIB"d3-װ-iЅjDj ѧ 9dݗ2# 3LsZnL+ %No'42@A1ŝ.PC1n*<ۼ,mЊ7So 3#M`"uza %}UFv\VT<[ CD%HPG$b%Y=rQ ~79AcMMx5TLQ3-ʈ֌(&!UCXܯ:-ǞYs Kܲ)*I>1舴2q 6Tecd%lERmR|WhEk}-RJ, MZ1LXKu_vі\T(V;UB@``,!xDBE@Cyh-Ԇe1V9!XJ7#Ȝ/hx;z@>Χ=qJ(YaAm!ґ"ȍX\}nv(F cYAГkt:"=㖊y1z+?nr Q|1`(<-wBߊ!5O n( .TBO* O6CGS)ˌUa/Ĭ4w (Y236o*ۏn@Ga\7:jhbh 6'¡jKE/AE-Zf=1TIN[CѲf&Ş9W}l?:4q%; t9iŞyui:2vcO[bk3Ry^E lQ*/>C-,m>z]˛mj#6OnÆ̟E`qn|psnFO:cT e?>klJGPXWF#m#M:{ܑ-^#$àhWuV3Fp#j%Q*Eۃ te+V"F23y[>V5`o׭lDKuuͺsu +ggٺsdkZKϧ#'I.mZ7wi`cK[!10IM`τ]l; bz=2)lfA-,F,]wa۲1 laׇw,pTbie~ZՌ`ْ=gP_%[7Qt?\ > Hg_BoBڟfClh*$,1d6# ҈Hi̔9!GmY d '1H=aLT:3T1wGͫTCZsmAZr#ALGf%< y ԞMs7[NMȷLϫٓTtgOl/aLCAOilȠ̋cF&3*{2ݠx\g!;| $e3NN9A: GS'aJh=Ͳ6o ]bO"x#>T[P{I68+G VCU=1e.ےDv uӐ2@Itr4dv07=)ibi+=3:szCOOcOx~#hK*%_Lϒ珶4^pNiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA훷B509 fҔ 9+,LQu$@9ngז(UpIBR],-]P(*7(AP-|?Xe ucׁZgÛp~]o @:Ԉ`n EbjBaB=Tw"^AԀ^>\U9 lb'&E/a!Z W"ͤC|w9|PU/,pXr)`w ubc^[wj'/'rO^N8~QbU6J!6l sPXW4W}™W?s,n`0vȯU e|{ѢˤK$d=žiK{& cZ{:V> cNea7xI}HN죒xE1$\C;C*jB,[y)? iIe*#V>091Bc£:P{Do/p h_lG4;T|יfO[>W~c ga6м-021}L U6PRʨjb|9Co`y0tMI{7)n W:W_X4z̴>ܭј3 bAMùvU|Ѣ+}0zmGY{}Q#;%oϸw]CYadAAD r{| ζc˫]hznW0"RW* S, fW=wLO׎%tEXtdate:create2020-04-16T13:26:47+00:00%tEXtdate:modify2020-04-16T13:26:47+00:00tAIENDB`treemacs-3.2/icons/default/vsc/godot.png000066400000000000000000000134601476710620300203470ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭk8s@󜻃@evgW)KH ÿ,ZK+/bMϿv~?>?Jy{yWOb} lIr>>C~jySZկS@Nv_Od%JKQq]p]Hz7ARy# -}w!|x|Mz959Y]υQ}DǾÅK}5^w?I^3q!z8a )渣rqtդř,O^DM-Tٌۥ9pfy._ۗՇΙgW4\3 ˜*Λ7x_Tɠ0Wxa+<'O qoa2!_BP5XIPg18@IƜRNcvo=ٵQbvn"TP'Y9 \P$YDT'MzI%)h14hQժM{M5WjbKpҴZuns}̈#3Oeꬳ;J Xe骫0[vٺnvGN9zifOf-Lu5:Տ!щXX́e@G˙!h) LR,7n);D93w2GysR(owsE9oe}nތ=Uh1][S>'):#ӤkŹ 4T^k{I :,}+?WDvIWJgku}`$n8拺ʀQ]lvҮؤ,Aak#S_c!Єd2f;bz eڇiٗkwQ'Ӿ'fO+hUJ;G`"3)H]rd7_Xy޾p@ qL)(-)QꙑiKM-K E- &I}y'R#/yzY%CJikصރ;p+#-&A ]:;0+ GD>JFaΑ\>sLǸst˝$1+2CZlIK|@?㷴S+k ~'CI-8-͹|`3SuY)}d4:[KVK Fk.(g(u NWvg-[b^AyOriKz;'+й$,@2QRPլqSMvc-New.៾;` k ;Oeו~__F+BvˢIASbJI$7v_CI U'/Z dU-b 6ȎjXI?7܁vU5"GJ J @*)9E 4ᇶ$s'`eqDpbI٧Ĉ*-$o0G5jo{|뒙;#P޿9?PH}H_OotW jb־_;|G /+ {V1g?2fړf d1Έ8za7QEsG_vy >K6,=:?MJ7܆&agˌUwwE;CpCcHF̌}F&m#tЄ_YPEDE;QҫR0>V`å.Ahw7;U< J|nIjH9"\1d%rh\}B! CQ{Sy|:Zm[==:1P ;6Km; J"!v\F3Aٽrȇ@眖nR+JTPgB',M2 ZnfӺm5j&i0M=26hۥKW%n sF;w>/32h rcӚυ.i LUV@ۮ S/Ѯ{#_ \/{WC鉊y$on݋ ftH 7>) bbY 27OJ .Zx@t>ȺGԽ,5|ЧmPad;8:%iKgABna`_'o٦05-eָ[Ca ,ĝJKv/J'nJR`u0fu3}GF: tG NY{iM@p 3+HqA7rh.`i}&~W>lMc+"A64/AUe.ٟBn?ugDV@t~h`R_Χ\mѧ+{@[Eu _Ox+m8ȟFwT-XDlNXH63A>e d/+|#%XoVSzD6tW`/Y@͸GS#Q ѧ |r,dΰ]\{4SLB?bca)׿6a #-ac(GRPWLK7cȇYoW.z +斶jwWB-hBꇻChuAxHD)]Вg; M'G)I6![rΖzB+\v.J>~kr[/C^f|L`#1K5Mx,5}o3=∨{Fo$!uAAK JB2DmuFZ5\ JcR`0 A|\DDd̵͘!D~%w\ʤFyhXsIlwwc?M :l}x.""= ~v.IZ0D1, O0o6/,(|v~q@ Ҁ٣ 9Pw„;vۥ'7b >5wJye3$%@Gtzmoaj]1y +6z۪ pɻڜ&Qk@$0ForqVM2RTeblSw@M5afrƽγmai\R21F}1iܐyԘ3UK4ZE8̥e?ڡdmPEKdR2*A7Ud6hP&ӢUZ+~ـ}XX!DGRԋOaPF"c`< 3D7wO;IENv4!{<%6>I׋,F/Z(cJ$i rqS4GM]kc$5&e*F} =N9w?3,ͳ|$[6kcѮ0-dU3w=;0vsP,}yo~FrH(r>lɝi0?܂L#.a\)W>6l"VJs#EW##T%؃l+șw\EmїOH4.ft[=%mBeT!k/5 ְ_c`1@@mH2%ԥ4 +DMog8*%MiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAjR  1^L|pMWcBx)Qcb Ȩ/eC\LN${u^Dv"'KeבjrҔa,j urPUnM B;XvI@{b ܬ",[)'|\=Wsy/?G+",}w(VHJ kgb$RTnM RG>~ꮉ8mA1*B\+nwcT%<'i5FCxv*ڰ,TN|ޜKQL;Њa`ѳ.RafMh0뎑󜜿)ĕ;H#xiNLcJd⨡fWN̯;wN3|LVSHka}lłd /6c6S *(d%ňDD8gpxK/WX_AJI! ,u_2{#ou;JP"R9qغ}=N_g;-dϠwt _tyYeJDJbs[ON,9"N8{` l Ih'%?To6,7"g [ fMV_a\=6]x9O,i|N\YI'OnNlOR󰶲.,E!/5p y> \1}㾼uxMr3~}ޤZ{q7s~p}#(NQ_nj\;3pw |o^f&rm9o|n4@ַpe6$ξ셫΀8z5iA24p@"DBOm0dRE8mV_zC똳ݒ0GaAB6Im\5t GαCkW^{t|T$ׄy+L佘j";nT{L(_hDkxVʐ'?1 2 Jq*<㞦%}Okn?9LnpVx2M5wg?j^%6 ېڴ}Ȥ1N̲!}_{uHqOcozTmEQ   mD6ں-SD8kM6Q͙칎>4xWMw:Y(~MMt:ԉ𙣢%7YWݩ aSg"=!a̼,b7m} ܪ"Dm%WBu43\}\͍JE{-X~$Ba;QH)F=K/دF  ߂aBެo\}a<+O>ӀȾ,KvG&, XQd=BN$7BK3"eÔ}2dAmw'1}Ů$ rl2򫆽[d"*ku-VqLeؚUQ)t/ێ QqP{ɀ^Nٛ.-צ[d{__ͫTfbi-`m?+H7GOMpAl_GgMvAWuIHBmۗW =w3(AF)uT\->Bi%{Lw`yͿӠ9l+ɀH6vn6ؽP[-$?cwU|[{Dh_c 2ޢ̔QTq] J~ltӹIRVR3S ;8)PFFʕ-?y;H$3XaAESlϑ"'c  )?,U3ӱaiwD6BJ#y&{3z@R#-W6 ^8:ȜD0.Zcemm[7aC[GPՠEhL-Z?'i܆4?;~cPfQ^mz,:6=%|զ|kQDn]aNVƇjLـ8Iͳ5CL{*H9EJGJHwkk`lizMRQ;)L9B6 ԃC/$H2A.ҞI$V&orb7pb8u03:F5b&l FcMp;kL |zD_Hx۬nJBE4SDYʭPZCTCY'tѺri HBvN32:jbg+ȍ[- טu\?{Uwʞuв< 9w@hn_ɐŻtVNũ\i;ũWqz(NEO /r)xKRA)D;gqGTeUlzJ6̠!I+Wz~CzIkzRQu>' j,zRwH@g#ץxeãj=}F),!a^R򺬈r 9kx*kM_TAy@Ȗohfa/Ҍv[>աbԦ&4 PDNYh֯/չ J%9]gys)y>xEAb\yz``J3dħ;I&*Vkb#y̐X89y$VNv-y^A;IENDB`treemacs-3.2/icons/default/vsc/helm.png000066400000000000000000000076441476710620300201670ustar00rootroot00000000000000PNG  IHDRĴl; zTXtRaw profile type exifxڭY[vc+g=pxug-q8]Iv\9!FʭKI.qYrI^??b'>/|nwBS3?K7DŽnwz wue}JN{H Y%K-Kи*/k5Vv JP$Z1Dohoo7EƸ cΚ|>枭{2>=>eGx_wsP_s=쮥 Qݬs0Ѧe| ~>O@>$P.0C ;,{0bEOAj,$46(q -R.[o J?ujVЋPCo a_U +6|?":nE9byPpe^`"P&D sr;VԠ9DfPR\J6`c)67Rb 59sXSsZ%.RVcMk* IdRHkj0S=u^6@<ʨCF4ㄛyY̶[+-^yUwڼ.nڅ/P jdHrG 3 F)ФR"EN1B8LP7" ;ܱ@G9?C)t ԦƹaS66GiPk`ccH 3 dBh)k`YpGaungmϔN#_=R[Ʀ TdY ǹ&_W~jK/ @cEݴ^>]5&qߺSzny-|;v ܲMŞӃKu]t\^, >KoA7`-J0V24 "jT^C¿sNӥcOjfn X߻H [ۃnd Nk$q cԞꦆpg:JufA`0;m!~E ζ`Bj[-v֬#ƹQ7cmU\ǂ݀'jK#| .p?0hfs*gr V6gH`^y#Sn/5;,#}G[+!J^e^G5k f8j|pV3+UPt}T$,p=@lG[W3:I 2RH~̞&"f'I=A|Yͪ5NN'uS(}0YaE#+7"-:-0W #W_8SNMueU<'* T%o#|s\gUkg:kKifoBg:㛃~+H#*tWoDv3qlG5:ΑA 82Pk-2]tOxuk%آuyv2N7腬=>U:GbߑD{2 $:[+yN/'iIu*اwu?>gH^!?Cj~@"@jGx`&䑌JO6t?Az6h7࿂i\)kDdQSׇ,}M3gmaĉuW-$Ǿz~ͰO}ZȰ_gOOc:'o2ɕ%K)LRiU AS,SZ0% 5B_aBVY0 jH]){{leC.z.Ũ̙]k9ZeR&)e\_|佭TIe[v)q ^fF\nQqx<֝#ۅ@G2"(-(hi7@fHn|OV!&v࢖X K5rBN v'8FXKr2`/! Cd^~V$*&M|h1Uh5\G#GbyUVd1ro*%ZӴCVklCJsX]$Ȼ;cb(Bʧf:@5|%3g-ix7 C>"݇O",&*G;XqC&3uUEXGoFpq_n'=aPFMooRzݥ6[4m9h}z({&?x_iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAG9ޙO 5Br(P>c9klɧbJ)'%}9s.V| %Tr)Vz80Ts-4&j<1qK=SϽ}FqGu)Ohbgû)VXqWYumÎ;ˮ=v[VsXJոkr~<)DxV Т6Ņ j9BPDaQmcSa°ힶ{܏fbo3jLn_XmjbW*}ҌIS3y4:u3@`eJt>k[sm=U0_۱W+W 93E> Sj#9ݒI Bkͥ?iOB;M ݽ}2Is06Nn ٘m:{A{dk8WafMϱb_}%(͗sw_`}9 %yu\S 볋ڎͬRI\[D!\!xU2qn 91[eZZ̞̥mY!DN(ɽ#aL{44,?Li`=/ĿdS QW%4$xBԃwU9E 6J! bݡ; dv(zUwQ?kK>ԯVo@3VZbp--R$NXwޤ xZAcIff%AD=O֛K_np6hvG*TTac:QE `GG˞/g;PUcPeIknj &ZJj"`C§v~Raqe-\ax?Jewڈ>eHjǘN8]Za  }%Q31auM(dPfK;dEU WwUi:nڝd?\ۺrLz9>܀ ` B<ř$%'=$ f`y {[{`>rm 7l\!2\n:OXJ WZ0;+CR.vcE NSxc]; _qamU&g*GDO 4JUaŜ  -"V)Uc@ h̃+'pe1lU'iuc`[kJ Np+gzSػ='0˷rˏS5K5ɗG|bLȚVnK1ySuY%dgsu=c+g- (GæcyBko1p :>=6}cTu$1I쑊< e#Mz2ER3o8LPٶ$+sN:_i ^@SyjJ`J,d#vb]Mq$!iL㍚ b$B=u42gi|cU">Ԓp險~VDBZZt{|Ʊ>9>Ѕ4ojdCB85zZf~y.c'1"rۣ5NLDϑ\;͵B,͗Wm(A2 V*pdX Jֵ"=7∊Zÿ =ؼ 1QGJYMCUW0qeĴ]kxG+EO"ꊬIIHQ"uIx2M=GD҆^"N[WVF|ĩJ0߁f_p3jJ3'f C.?r4v)56e |zө$MT72o% ׃|q=&cM3G$;"#3+sȐ͘Db2-Z6Րވ*ۯ{]IsB}hwk~Uzgt@#cL0@}S& &iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAwd|S-}TZl$>"cR!F-o`T0 `a"A ;g[:љ78od`-!c]2Kr{=j6ԓg3tS5;&5\;5p[iiЭwrnż2 \l)Sjv˹ 9qC؅2x7OytRΫ O-~Es1WVT IEErRҍóh]VhH>nYF49v8tt0 @\*<P( &LfQ&1ʆ3:cJo>;;;b(-/OLW~a^R)a=J IQJnײ;;}^ ;\ͷw+rGݳaBU~psV7\EUVfc)iczPc3GC)Tm=o? Y I,qvdk3#$!x{e=J.գ ;}zҔm;-H5 fh4͍bqAMe !@AðّtWmZ´²w9;[ d0]@>)7~5MEy#فVi01^' *I*%8=е翝N ޖ9-SԷ 2Q@U#W,E]ka]?$3?ALmCqZec/~GH@5RV->!U*OpZ^J&i)fi\B}n9U 6S݅եuy+9j%dho7-)QZX[M A>8KufA(P2 2őW@`x<yt>ٜ{p`..'x~Ư*a ᆄ%tEXtdate:create2020-04-16T13:36:12+00:00C%tEXtdate:modify2020-04-16T13:36:12+00:00BIENDB`treemacs-3.2/icons/default/vsc/jupyter.png000066400000000000000000000160771476710620300207440ustar00rootroot00000000000000PNG  IHDRĴl;&zTXtRaw profile type exifxڭivcr0;(J`ki2###?}'ǚML斳OlΓj?v6=ucx[M}k >tg=_'y@m?OrTkNUkXJ(x /ۇu. ϥ ȧ=Z1@|/zW O~K_^og?ᎫߖwΪgu=f"_-: B2?4~veLל'+Ǹc&S~£ӇZ 7?/*~Rm~E.z`c1L+k7WE%╷tJJ seݎg/luǧ)5!މɸ@lv!l8G+ ܇p)$} !{S|7)^^/M$"L=U2IV XPO!ŔRN%UZ9Sιd\/ĒJ.Jƚjjo80J޽ܨ3V+Ï0H#2hO3L32l/‚&V^eVlbǝvev?`O:SO;=k~Ys)]W޳ƫ!$)gdGGƋ2rf+sʙmHI&,¸OǽW*o&տʛ#s}oS Tڍ]M,oHiO}{ZssrVdSI䕜u$9T.r_-?|_?g]g6I?qV}l>Bv!Q;Ņ ?GaKs+R27ԧm|G-'ȊGz]YB`57e ݹN`?].&I=6 )_>RCgzٕ0cIۈw8?j-Y:ÆisT$(MptЧ&!Qb#|]k)m"\ǯ}$gOr;Hb_=>)~~ 's]ŝ1pv{טMhȻnGGi}AgXs%؄W ,=$#uU!017tgʽi&A{Rjw#}܄SoOJ;g h!p~XƝ 8DU뤣թ@79 ?ַ}<_Bz/ SwZ`:9QL=%vT"z-2vhЋ~^J &Kij[EHzj [5O8#in7fgA@Y;iy+Zh{TR_|&8FbRItDk_oj(N`$;뛦6f+\™ bI2&t,o@G"ʛŀkpџ2鯐fj4P[Erh$':!)yvBT4YLgpUx)37˩ ''6_3]q1_y&GpOQ/V 1qD"yђh._Z+mj!snܩČ `br"M;Aahp ZhVEYxɐJI)7^ $Plt;(!Kv[2QR(u"@6U0JMS7-.Zz#]x<&xMUL&0@xBi*7s\6Q;4,Se-RV=ة? ebg#V%y{ X$2 bYO5 eۊ%!S_ڀbQn7Tb}o}F7C/KX9M>7K#WF-b@mΖ9)=V8z1e(NP" J浝[ Fȁr!K ZGg?aemds;(dܴ3wzaPx": g}  bD@xV0${ Ğn*vMH(6DuyM r33޷Pva5lA78AE+6u;w 0)sMt _>`0~vwZVGu!`HSh!F -K9VBSqۏj.বvl,Vֲ\y?$^!SH6y)!%aQCjR|u %|b‘Oh!`&*YYČԲ)11X03sJ7uX G1/5OK< E"Xb~^*?BT~+WG_CUuH~ZE,S!mcMsøī{}G9Ћo?&`rbtܞ8{=sb7BE(DQ7?FBE  !D5ڵMB Px/;M)#E]I"{T:IvFP{i`%S*Ym! D9Fh Lc=ⅴn)9jH( KnW>uq\ GPjvs%S8[E;# -4*W`e/{xȒu`iO&Z]Qi.u#X䈪^sD"Y|115Ua!B>1dL3qbfA[5Aџh& av^\6@}BLuRLjs#m=Swń~+i G)_}HD\ ͙v %c;y8fMND/m*V2D{Y= bT9z]x#.^1,P;V->#pY<6 3t ڹ ettMKdÍ7p+LMM6}ؠ?ɉ";0DaJ!8\tHK-<D쥯G|6o{crk:L@jmͻ| ݁a6!#:&i[[Oj~M9is!hk64sN28όBSpPW$fmc܌ EDB D͆=yK)byn%{pbw;Go),;Kx`p:tvC(ceLq|Up/T-z!2)Ҳf%@hf)0@eA\I&ZP#;]s4y6s\L]m/=b杻ѫH3lYf84O,?/쐪u+V{|PS+~s0 ;>J੃_K jSp7vs7EEuضلp͎:b@s~/!;DN=*4[#K*l0tmm4إǂI,;Hl9م.lѼxh @o/q4b\r ٺ9Ҵm%D'~ K%~>?*F# 50ڪE1%3w%XPE:Ev9Zl B/·o@/ݘQ})cx!- DIn<7pL5Q6䰖ys7TN@D/ P:u=:2p;i6%@XQ\sҦUK(G#ׇp<׼C4Hi*w GL=a))o1wf^p9 U7He]v d#^vHgX1Focy 9uֳ6 ⼛pK$)4ج/T5hͨM)2r@ Y,Rv:nX[p#MmbpH~JOO Mn~؄5K{4ORW"BoRjr}(N;(vkLRu@ ­LlQ58@mF#|Fߒ!}O@}[+wOlYPTo#氖 ̂SOVN ].' V$=vJJ_#Yy.(uU&<0ֽ "Gt"57 ANо` -<c_ mG &cQ(6AҎ>g </M)$OKLu87Uۭ̝>ngS2ujgur zIrDУ+, bz^#oW*}?SZ,y|-d^ j> j~kPHʪtp/|&e:EZvKkMwHQ_P;@|]/6Xv9CmNX-%䍲Cy˱d<"[3<0|`+[u?_a^Q-e73<ߕ 54>ȭg#Cʫ6,kVFOQ 4ڗRiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAvc=^-U1^F;:cb'N35pQlUkC63aZgωfmx/ˑe}nlteHg0}[ybz_<ѧ.pC"œMx)op_cdu^CwOLLhkk;1;IENDB`treemacs-3.2/icons/default/vsc/key.png000066400000000000000000000211261476710620300200210ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭgr9cv?jM(4k@sM&\RMOyO8?y绿u|넷{}S^}ug9]q7d{u%&} j$+HP} 1s,&ؒO!ŔRN}9s.V| %Tr)V]``Zj9ӸQZt}=s/6(FiQFm'01̳:۲f+ʫڦֶaǝve޳귯Ț}e͝L559] NrF\d<+SΞbCpʜrTGSD rcUHaXms+s*o&7Ȝ!uM8]>է)}{ys͹=˚DV I ~@xf3QK{|`k+Ugkm, 9Ƴ'uh="%|3I S(mym)ouj-շnc3P\s,;ԾHd@CHajmr5LJ3T9t3liO< zQ!tx '#} B9jܬ]tNڳТ'i}Q.؅iWH}V 5Qϖ%S-TvOf-wSmjx8FJ)l5{$\*Byq JZ@0 2"h)f}DsA u{4+xW⅋8GHb .-=#CQz A8LMi )XDU64phG2k:UOYk萴,$I  ҙP&W=!#4lڠd!4KzMXr8 +ظ2l F%XF(!ؗ.SgWxZl4\9{YVvSbF-ck$BC|R Wt!d:Bi9k;p%+`Yâ7Ge,S箂B='Me\G_VPrb_ AKʱtA>h q Y2D4,P2#.9)wj4pO$x4h5<43OXXYPʹ(uU)R|՝;^w|?)X$!&>#PHjH"wOAM.taT wF݆w14`-&#(=ᠿo|5: x skhzElቆ.ɛtl7,BĄMPhwjy59l=.nwJJ/3Й\9UN~51<# /q,"߁'tUcm_IgG4F񃲝\ 蓯,{މY;Nekt8!oC3Ӎ?⿞2?R}߶##Ԑ[G>{|oƃ` '%d oKۈ 2:f:6G%!lJh ?5ߵaܴ8ڦGT_z! R AT 'am-&@pe[SU 9sișfHy/`*_,n>ܔGl>"IG|`p61 Ъi qm]I&Yh"y/ZNJUZok 5b Vs˵Sұԉ !T^&Yt[!?M4 K1ޒkY'`bGѲr5nQU6+y`D"'@8$.AiƖbZٵًDmtm$'(3F5gqx ֭ D[Mqpde86!nMYI#}V?s`#O%qّ@-fR xBFTs˵65 1GaM7@ʣlⳌghX % ^Qj+&TcסBu0J_~UhlB}]9S*d6݁C#J/]xOݪٻŌ[, 61Ã듬dtvj(n:4K˶{ j/S?1M)D1P>Fk?Fi9WK; ŭ2˞CAvXC;`OU ªugFHMHF- uYnxFA:Fl,Gܥ3}Oh , aVu _;%A)y y PnPPnᵨ/ֺS Шk\3Dbej6I$b<ހ;OShᰞmtg|^c4TM@ dRQAR%Ag=`!JBڒ!MNmf$Kb-ʏh4 )•0թ)ቩaiZ" COP^CC8ZCl4Zz)IUNJ>'MMP0 lI Qʫj 38$q YCB858y0;]$;K5ao$( }QimydM0&9̇Y6!r< 44U:Π4^,58O=5Wb4Y@w k ԽN3é;&a=ԱޚLA!YVDFgAM.xjz#ig=].30xs;MkuWk~sb,h9X"X:M?+݃P< )np$zMf.KC#M~d{Tohժ 2cVxޒ1,-x<Rj.y"{)&jE?,)2c!;jB.9wf:Y `(NskR? ]beZ8+CzQE˱2yY.EGl̔RG-jѼְR~No ? لKO|_WK_$@%LqrfX7xrXH ph/AFyy9KiZZ⎋؁s OAm-I8A4o}4Q7Xkͭ:RFYuP]AS S`|5ֶhq #ӣd?:q¡,[nF-U%aejB$Ǒ?b Z9`*FD4f 0SV;OsՏz ڏ8t*4(pE5IDCF90!iM-3hѯ3];R"*"~\3{HZBo4+ \z1#b{yEyhR;-:9V+0/[V%Zbxy!QQ]xmjagMN~-H)+O0o\!w%zuQoh6ᄿY0 e=NiҜ}9Mxo-8JL&F"ֿ)O8nKyb%mQQ\ \`rզ'MGW^Z NT]Ga+gVeG,<@Zyw塃 ?JvZ.g\OŚ@W6'8鐭!ƉU4\.St P>C< ļ٠r.6VzV8%rY$3ʬR̨ uQ/ a6:&ŻqY-OOlžMEyoKeT(ΕSGbOgj;ŕ 0/:k=fAu[i qew!`WMO56Vt^TuhD+PĩT#@?Zc:EJ1ϊvxӀ `HC ,^Ye6Ѵ0kYit%&T P'97NR2,pA!o4k?3h2!]w&/A4dќn -0v~&Z qdd&@hӝOIEfo]˖[(H6X+Ib;}PGkPR6E7Z&{Odztlb4Oeiۚ Gم*UTwv%=)(9^w*C{DY\ K{tI=TUv:,g#,#|q_$r TqL/U\=:q]lA}&+gad:J",uAg*Bvd(XkMtG \Q_~Wpԣ^'#䴽Gq{4EMu aJgSWen0G9.\o7y`dYZ4ӇwԇNq9"WƂ{Mhc/ӄ'4</%Phڼ ya֟#yN_h|S]'~5jִ8FFݞ%t@QnLګV.;z;I#s6;Ws^l`jz.~E[R.sigM{.5Kkj`yxPT%>쪃Nz63փ "b $*<l#GU{}m"eBnk.'d{R&w61_Ԫ 88Z>QK'1$?es~hpbgw  t("jhr8U 9e.ڶA|tqOm10c©u, ez'Cν%(@f1AhXaZ,*Ω='MdSz:Sq} 2<7.WGZ]kDZӗ˒ $Jam!Ws_ y?4ef /eާT]ֻ?* wߛ]w9Phsh]Uת|!oLɰ-I4IY,E{X(F5aQUe-!4]Lnz- jVU 12.w:7M;|bkVYtyd"p'lU(U+ז m'Ss>jY{ W^q 8֤f4%vm9Fpg)l34 {Y!G66m:[ƐgJo-GD|!_M%NMl)h&1t?yE[b`eGcIٟɆs^[uh 1ƨYeB\5[ƽ:F$DȄH|CCn4݆ML1'GƃvTU @RgJZ`>m/TP5Fh ZiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA@D*֦={?J @X*_ȿ#O䉻$ÀGYD&pZk=41`%%Ξ;si~i_kkuժu^[F8rp mb-C I_v9|p400ow^ ӜXqICBL=%]땟nnYp3.+]sǎXW]yUT8 wFp@ds?⨛(<_an|~,kƐ"EV(E\F^#Xxt6^Q'8fkkA-6D .s4JqS)lh;tQg#$I(ᕫ4V؂ZQ&K/e4C7ߠo#{+ǂ1KK`{ZVBX:CŃt-k1@uI$ۏqoK-F]ז^d"#_ 94{z{j?x Up`6t|0o|{f~lT5,n>zzƉXt(&w8}M]]m/EmL.+?|4`j ݟYGOz;t0L~ ˟~P+.V-\ːyg>Xᣏ_~X7aHEIENDB`treemacs-3.2/icons/default/vsc/less.png000066400000000000000000000221751476710620300202040ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxIr]vE#%2GᆥI>S4Oi5J-g˟b}l_9 C;o 7~}3~./|}~^?/{υ~?VK R>Z@,Di%>(x ~o|!: ? \p_n뻵? d|??,Kx<|OowΪww=f"?eWtE<ܷe%~.ooNR촃51.;nMOc5 S_w| -PېZv?o'/Kb_wO;9S!r~NJuy5PWw>yK7_??J s#nK|-LY ">;*=:]H.;[/J:+!A\J~HC_>w_^M$"L?U2IV)RC=SJ9TMjcN9rK*RK+kZkr[k{ε:<2#4(6|fiYfmWXʫۙ RλZ;ēN>N'7>Y7Sz]R.'I9#c>:2^ +g2iYdRnr)tw~d7(o_e(u3I֖xnތ.TLm8³k7vZBBc7 = sce.´s%vey0i1/#e!X})^f8aq8z;n궳WJy$YSF{+ǚMԤ6-8˱sK~unf;#N36+>+:rGVЃcTGttJyy^6(tWKN{2kPAδZ`LZ;JF;]YحjDy~6wۓٽn;Kɏe7`4)󗗫BpUe2 wtMfwtVt=bz`i)nY9oe.E}t,. 1--诖[Z?yHZ{ZB|0{xm*]U+r|T\Ɉ _ }3KNr(vjq;0hK7w3| =7]IxSh~+T _@b$ꭔ3ͣa>dꤟa2\[G8޸ kf-=Q?#I7tGKڃҠX?!)&4E!tx;*psr|jGwA.{-Қ}AC:!O LTpfGxhqiҿXrY< 9 B#-F/EDъ%•Pu ;J5ks8tK@nܻyuHdԒhLzJ{ˡ-(G.tv6zU<@8@ `!{ lRTj[Io 36 h{ހ4)mN( uʄ0A.+a-4ݓΩpZ#4H4 kw yGsjF`~=Czɞ_A$/`6>iB?a^}&B ] N Ҽ>.g娏^-綉UFHA$@¹SL^V"HS)ϠNă4ZE> I4;fCra"Rc遠#8".5]:(xˆӠa hQ[Zzʟ`5OtlA\3yr+I] E3S*@) Ή|O%@/qΤjƝ(kk.l=!elsQ[X<%R[0D<AyCBDU!ڒ@Jpv?fȎ2 j '!yhy$h Zs \j_2a~>gY;4sP',H5;ܣ&N6ʓ:@djk&:Ql::{ dZ7/o=<% MCFa$oYіÂ{b3bbP>l:Ҟǁ#Gl0Ҫq 7 ~Tny< Z>;8(kt%_dY۵4Xz68!jM*ŏ&(|G0vzq Bޠ5*oBR//7́r<1?yK9-'oEYV@Fۼۏ(BuI&P"q W X_޺ Kd w$AX; tRg2+B@X!)|p!ht1$`IIVX"տοIƎ[Z\Cs'4? ۡX|PAs4dPa=7xZO4і>'t *H8,Y ciAՙ/[WLWDDA‚ͪ(_\y7oZM""jk' 3IC@>>NŏYrPW:bdbfli50`AD(Ȟˠg溼-3нpn;j噱SXQ;l(M!qGj Ut-,#!kZ͆4g/&ID憮yX^uxsQءJ/Kmh52Z+tܧpgҎ j=2/y+y97'R@ ,o[l3WE{Lĭyi쮚+|{w^H.>Z,(oA.ȇnSv%\yCCd]B"u ]/I4}\)J. 1PW@YM6ypCY=ۡ33zGAt KZݷ$ tI0,hAbq,l>E':L`m(Z3t`I2ۂNIb#c'օlA[/ -h M^p!iK4<"QEu6U(aQݬCaLFId{juU};ZנT5`|8'Ÿ"D2;w 8R"de6gyf5Q3jwS&/ DsڰuD0$Sx]24YD:%""Κ) ˦;E| ' !O.dAڼY!+"ic.{J#rϲiGRI_hJ;iz@Q.qBUTRYxSbّy3,"D o?'FL!r[I[lIxm.YvoŒ)4KY:l< u?^Ag*ryF7[g8 1GdfdLWD }?Ir:*@| p9\Y.m1JBokK7M[=-a-U7)UK_ںvroR:TukKqKU#o\)u?|$r-x  pO6U#Q-cO;,NrB9[Q.RXG`F BmA Ԯ":X3OF)ֲ9$~K&$S,Ͱ6s>Ӡ1 qKb.&Qt԰j2Vi,t{ܭj)Jm)PtBȮm( h]_J[X7Yaa6N0k3].O i<~^8=bhrǮ$ ocYhonՆ>pMi۪?~P愷בi4FW[k2FΒߓ@JA/4x!]Du-MQ|N`*"G;Pl&XdI $-\ Ջ.(j j N.މοID1w";1GT Η4;uvyd$Ӹm|owguɲföcIGG*pIqf~rhνr^B/RҎ 0-[I۹h2WW?[E,Ǵ"=ataxO9>%:C7/maBȎ5l:Bkh=eTӜLxk5_ۉ~AL#TY$%D3@xJ SE,xa .(?^s; pT^Ⱥyhh8#? h_c(x.$,0Dor;L jl&6=I}:'Y~OJ:HKa}?̿wX&/һq׿__1?G{2q j L[E $bQqIۂ# FRyVϫWr*m`I_Efn'YM?p"l7VD.MQiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA;9 ;HM6]LF<&JFO˭^)eh"-33 `v###\ciy'M]eؔ;Y l[qhmiT_ߗpM)B쯯?5KnR#e2P)U@>nO*H>f|D"RJMŢF&ka;BJEc]9/9jym~mcMG&ki\.xhhD{dzsUA)(6u04z)6 'B}omݷN=Am ;w3ghBQUUٕ?@9t(-k؎MRU[biyCWaY[۵DžB…n띹|FW^lgz6}l3LDo39}ͭ Vn繳JKexy᳽YmbbH$RnxL|𐆬\zwxUţ\bʑōڠo‰z^Ԧ|ցSsvp+SmO]=deh8QK6GWO{?\[[nF`6hGX0ƳYѦmZYFP_g v)bJ3-3yY7?LJFD(1[̀"ՍL? nzR=IP-0)bFώYn'رK y"g&QQ_f[yMK_]W '6A\mKtcX-qad c`Z+x]xH =O\E~z.{p >]}^u쳣C2(%$2rxEI C5PpޡeFWB&R_ϻM!00>zKMv1SC~ no6™XĈ:bphv@c,MAh לz*K(k( ؀prjDsV&)5N( zhPX&'t_݀YXk3Tf/Ty<ho#ݕA1o7/y*v>O,Y 4<hUFJ%VC޵ɯsP5<-u}x33n>n|=YAr?]|ݨMn|xh.Cyuo>(ă;`Ax~;}H\B}ܗO{Z9@?wK,_2 ~9>??8||NL{Ϊgv=f"_e;: B2?r?v;I~kΓc\tuwܾMWX 7?/*~rmyUzǜ3"gGW]3 eNr q畷ty~J -Fr?j+<K>-LY" dfsı}~_ 7Wg>ul")dNbLO)RʩjRK=s9,%XRɥZZ5XS͵Z[ͷ[iֻ7uչsdFiQFmI8̳:˯WYuշ3qwuv‰'|ʩWVW͔+Y)} '8Iё P^996OS$ rcSHaΧ>r#s7_9/2gH׼&kK<7oƞ.TLmZWϨaxu_ep6 }Nspx~l,kiG*%־./I2/&.&]}O|j܉>w_nt;F // u|n)~8`I$uv6lPEBlJ/Fe1{# BeV8e7YvH(ijS iYq9|^kU;S&@\3؋yvgs9վiJ DY0s=uQ\̓CtaSb m6 lgI nFvv)Rntkv[TBFXsF-P`U¢q@yrb{a':'pa S{$J'R6r2sϞu;$ 2lń;u n/NJ1k }c>7A vTZZ^qm1ne=QAhP}݉LH}c)Ł%c R۔<( Skȉ<:3q|0N2 FÏ49)(."@ZA /5(p5\qc\:zKRUsS />F_"Crs lLrF -<~#E lkŶWBQ2$T|&6bT=<8暔D8A: H 8oLi9D !VZmH}$;ZPwYBYh}(ͅN[LOKyIT@ c%/qqP*^Wy</T#+D 0Hny꘴#մTFXtXB) nroIJWLO8Ex1L g2TDT! B`skJ;xCOPyS0i,-3@VU7Ъ|AP-5mP^y%A0hac=O"VMkToM5Zhl G'̈́Ahd d Vp-9bS()r,rbBcQt`oi<ˈX)9xҀؑW!"9fıpPg|JՂb eEՓrѭ`vĮpv>Đr}+zԄ}e Uwh2q:[0ŦtS 2L_ְ}geu3/bMEB 2#k#/7Hw@b [p VABf:XG{=4|o;og,a({ 1Sm1BA(ZreHh~=0TZ}@t[K(化gL PiU^*,6%=ʑ#i4N ,P#AK!<IC[w$<`Ug(cBq=H΄siBBݫCt v1LuKna:Q~҃yQ푝 4BD&&>/*8>!(mj{j3U GY {F!W(X XoZVL P XaO@,>c#=J qNX׻qLZC2x[?sĉO!&XЃ)٩'$CP-1qrBk\<#H@9Eft_OϪe3 z/ElC n"QM_˦8Yi\,o-is+ U4G[D<6TR"fxwu^((w\cEnJK_5A"QWPxŖlq9+`'gFS)&@q;o)ȸ@AYom5݌xxAh51]T~9ɍgb׀H~E$wlҝXo\f^;xsLagD Aa+ǐNF_ωӺK6]7(+}7 X#*FVۼY>b8vB߅3%4œ7<$ۗӳ٬opM`I6LY+>rUߕs$h Z|4@\8>oh0 P˶q-Je\[#"$[4*wߕ!ʳ8]K J./T$uECZ M9/%1-}c!JYcvp1Pa-"ӈS: _(q$\ezrha8!UkǩdJuD'96 $syWNdXe *eJ|6+(vq&AZk"tWi+KՠXPP|Sb,rh$20.!;~Q߾t=G|aCilH\es^1kK@r8hdyN;FI-EWxB۸}ht\]ge~]~:Ue G{WA2w5OlA3φI45 =v8ޯE;2,`T+>i#pНZQ!0m̝j74}OaKFA]C/b.wdx$-Sb@!'=4ܡ3^V:/iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAJo?{wa*Fw~03]*@x0URԋx *Oe1,&]+z`EÂ*Ddq yRy<O(\բX3p6b qlfP.8.WT}5R +|WTx )e,&l>e9'Ÿ&e%_FzJSN)!u03USIn`z"E0 j} 8̆`*uAPli,OL+-wqtA|zO˖f82jzWi = @n_-¡Z1Z0yd(tv4e\Oj4Ͼa {Z-VWtK#5 IENDB`treemacs-3.2/icons/default/vsc/log.png000066400000000000000000000012021476710620300200030ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d9IDAT8k\UϹo  tQԕKEtkPlhtQU(%?4i3wihY]9|s.<}(R#tVLzAK!C!>y NFu z; }SЩ FQfWt*qVNv?{ VƏ&5(uU(uՊ ?kSypH#Y2ź#Fnjj3W#5NČdޤbxUθ)YX +?o\ud e픪 [ )%⌬|gƛ:NZq08=\~yn8Lwشbsg('}ЫCoeΘxS(]ksaȳF=;;0jhQz{"%W^4wlY,%' %6;SVSuݤ(YP jgp:Www7݉Zt󢽙/[uAÃNH.}a^?Y O]lIENDB`treemacs-3.2/icons/default/vsc/lua.png000066400000000000000000000021751476710620300200150ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d4IDAT8QhSW{s4Im2,-:c0AeS4!"i70tQdOo CŽidS ֔i&317][܏?9ǁuRJ(zXh۶L$FRI["xaXX,]!r̂}¶mG[BXU9uTm)̰aԵ1q F=j5600ldd S]|V(`yD i6꺮8IAૠ#vmXXrm1bn;d2j1999?_0֭u]nVk| @Vm0 $@\]-IΜO4ӷojo x|{Dq_$ CJA}((6oL8v#:@(!@J%LkQZZ<Erq,˪®뺣N~`iRY'\%\x\n@+ٚFPT*B,=~d_|.Tx۶8mNJi.ؽ}eD! vx+WQ6VX:VR\mM̃)R"v_1;[x P5钰BVf& xtucYa4MbY&==16v|zݣu ?!#br?uu#G>~?.28>,07HOOe0P(D""`@΁ȣ8ԯjGJRbM|_!04u) ߯~"m/q| ͪa|2=*}ͦjT7򿅩mFq`[n{epp37+o@05PK`N¹m)ǫQ"R"NqF| [Mµk״wG"ӧB /E& jLkT̆h4rllZ>M.F:P5 t]xoXW_ 1"SIENDB`treemacs-3.2/icons/default/vsc/make.png000066400000000000000000000024711476710620300201500ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8oLSW{m-" (Q&J Κ36M4}0* f А%,YiHq!fCHZT'kiI_K)},۲o{~99'QKÇ3Vk(hhttbbn__۷k4J2 mii>qD9˲~Zj^'ɾ=VUU͂ |q\j<g Pt5qunnE}-Z4NQԴ(/;::4X0Ln2BR2bzzbϚPQQi0\Kteڦ?>a04,6D"k$]:rHq~~a*U*ՋFNKIIB6``Ŋ`4MQ8}6Cww*^а9++jkkC(2UVV=zm*?f#* ,Z[[7ζ9UÁn:h?D"BV*P(sssOX۷l6[ǏW\p333Į]x,ZZZgϞ2Len{MII Ax'Z>sFAra2bBefpgϞaÆ (--Uvvv1 VPP0>>>3088v۽{7BdY!<@QQF#0::2@P$vy7YWW7o9v'O~dB".B(y<E\zU|=ׯ_ݻå,f9uŋSj5D8VZV Avv6 7ottt\JII---R߿3˲U^OOOn/5籸I H[,ϟ;5+ر#| -ZVp8B,O!$HD"A)z{{y^p:M&Z՚ʲ,n7(B,|>_u rXMfV FχH$h4Ν;'bSQ ]ff&^| FCCC0 z֭{8# 7n:dr@R>OSvuu]S*]=0HPQQL&}nZ?44iq.!X,y$(n?Cf!IENDB`treemacs-3.2/icons/default/vsc/manifest.png000066400000000000000000000136111476710620300210370ustar00rootroot00000000000000PNG  IHDRĴl;=zTXtRaw profile type exifxڭi#F^r)P\)ppGEKZjn9{~RKM:/~}>?Y{@x+rKy_5O ߟhW$y_Cz "Z>NuT^2_gεoBr(c>g&%*Xx͏b~ F@>-} +5ﯾ_%d9^A/ Bu9sV=g?)(ޢcAZQU^h<~!_DJı%&d bbTkHL?U2IVJJTQf-695\\/%RjiXS՚kڛj˭Z]\B:w2HCGeFLSgef_&V^eVmb;njē|ʩWV=A+kr3e+m`p32&)brkHI,s3߄Pajq+XHaA?ʛGy˜72He<7oƞ.Hձa3g9:v}WL_vA |rR}wo/kX!TaNaAOgY{uF $y֚E!n.N{&#s82}0IJg+V;E<[йc%-c{߇#過Bo@YۘLo2WH=Q9}Sr9['=d^N?i[&t'%|v).Ι&P WR {Z\ĥQ3XX{m~d"įT rj 1`AGZ,_Sߏ ̱S>!ʋ2.*M#kRL=Pר2􍡯9 UJ٧2+g]šS-ǐ[#s+ @;GZA'5$[nuQ^pT)̎vYOܮxo L'{c `V mk07F>q,ΔN?)PmBұ<oq0hD3k)s2f]Ӏmٮ]2gBGX\-ݺTNonwwҤ{fq:rܦ)M7~LdIj JoȚj;/'+S M~`Hxi]}RĹȹY' }کdNTyy_n4!Ó96O FF+iLԑbM.]?R5 @aw9"r=E{z@=}cuRHJj&=jĈOoxrH`̊گpZC)32tDJTn‚JEu$PxMǧ^]|{hdYrujmn.ڹa}CPy@4׌T`H Omv)M/lHӰ0:a<P36j7"Y̠'aiM>oTIgvg%7 y[VhqðXۘ?烓J+#|vfGϺ|设@rPj9Y' Ufu=n-&eISSwaf4_@0y9|5d`.2h3PHո4jXE.hriwEL''0Nӡ2 7ZEC8S(q <ƻOA/[ǝ cDꞪ6Yrj4E2Pitm #4`1`Q܂ic@~)LEw~> 9 j*&z9z|MySl۬!.v,B0R96@>B۞^n H{\YS|\WCM0L!P aW>݈أZb՟1$'zg1$n_y*64َEl;zv;gU?L\- H1HI%z2vo0tޜ]]5B6H.HAHiTQ)s* g MώY9 ,z,&GU:Aڥu.zh\Rt+CxSudYoN $ݕ_25Mx745~;=+LV꣡~mcqlj v hYV1۳_lWW4S}0^i؝MOّґXYL&@Ty>HTi4BG2( >OkweeBTUzB4I†/ې]k;HXfE@`I+{b?Pj[ OBvk"?N>i=h Cgm >j{dsyk:*ŽGu,GD)3VuEwرfky:iӂ`!@?Q?bb]. ia26u2>!K/'.|Ϝi+EKm*k$p7)'Nh'ZvͫX(f%*إҘvoȵeJy:l+Z",6ƨ) [b<&p1f`>*᜿u鍩g Y mXfYNH# w/W 9TBAe*U˳ W6{Er`k`=mwQBΟʶ"'/ǚ^lɚ/xW@TW'%t ^+\/Fa>$:Ԭ jIvrٖ>@en~ڞL܅]-wu*B݁$ o+([* Sm =(eWmFk 5DE+MrzO1HJ1PAMuo۩z2G [jЎ(uWX:rT!mE)B %scr,;my$ +H @qQfǾE̳Y^a(j8 r8tiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAHbPF VhJ il.tf{l۝UI&s{=??F$x8jg/3.@O2CbP{EDcp'DWm~z ""U[A4NB{GjVu"_UB6QҲw-eᏧEjN~խ~myuUe|թ߮ ,}߹نiݖmk*i`KK, lr5,D2E_}rǸE98z4D:8S@eY\w& $S{\#"wQ(c^iZ`- $\lHcv6jҏyC[ ۆǍo{gCo:k&:3Dܜ+Ws:4jBv`L跱>p'AՃ:QV'@TTMyig@'XT/O[*OKy'$]=4D[գKf`P{RcmŶU˨? %+LaRSYz"Hdk񊌾7N.k0H1"(fam6m)d<-H՚H&5?.)* 8!1Ŕ<+]aU ;˷>ӷ₂g?́U@N76q7kRu)gS.*<7`#ou&>Gm6q<mMΦD)!91U{δ6J4<,lLy"qu;}lYG>'@m G2Bגb,ZMfD+39!F\/vpYlUmXMۀT~~kMF\z?ߝ6\ yĒӽZ_(k5W7!6Mo)?oya{M}q_w^ KYVmwIM? 5Z<] DeQBGabr\pUQяm,centֹ>W=r?|FM΂w7Y޷<,Se1#/?Z]!Ga\N1Ts,bץ7];TѠl3G;hbmo={ B֤q-D-c=8b=sZp("54`E@H$3N\t 7hI!cCU$)R!J1E%| IRL)TR>,9s.W<(%Tr)Vg*U֪̯4| MZlVZO]z^znM8ȣ:0 SfiYf]+,YqWYK/h^Zs[S:/ݴFIk t"34EI5A;ّmN5:;)!n̰1TuMwߚތNsFUOhΠW8׷N/TL1>s5.W j5GK+Nmt2+aeBFv6e=J5$9ՄN(3GrK8٬ ơcG5,v+J{ڞjmoE,DAkabV0:YYψ=e(^9 |φ(c v1УGqf>*`rZA.ݰ~Ēp>Vfa\JbeG$!ރo*m:`O(CI͍%G(bBeyBޠq#kޠ}b}P.M6λ߼ <`\2||B !0? jo_[1d͆VVVs-'m3#dfܣFA8^؄- Gt ~WIr Xh`2x]É QVǻ[۟ ub'rz2+>v26cG? ȹpPt0o(%A[3nߚ|0T5Z؄^PZ*?rSlov3?'B?km?7~m~}R}]T5(Zߚe$26Rsש=( /1ލ4JlDvDZRP&Fbu|P9vxoZR,qVn@-$:ɐ^Ũ׳-M 5z߿Xۍ3BpGlX󌬾|V_ A{ g.:îKT䋶ˋgqM,#(TyY>ckglͯV_C-tۧy >iߦ{ZV.r5^^wX|ۈv-؋l6;5Rn*[Qnjj5"t5MS@a_fr;iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA’\A,O떘/+0K"]ȺSϩCHۍQ#);(I &~Zmcxt{@;2"Ye$>&C5{Y3z?i$6CF5wˋr =B_PQMNa[q:އqE- L5~KNa S]oEN* 8iG}wXIp>A/ C_M8IC?_oຌde*~8>{mɳcXn{ Gp:ٔSE@9s$CYq%LA$^qCKȳfoy8[E8ʎo;s,1·;V=qjvSew%c?$^咠磈&eKƸ Fwbv(2Qs%Kc/Bu#Zor9b*KoORJsIENDB`treemacs-3.2/icons/default/vsc/nginx.png000066400000000000000000000173321476710620300203600ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭgr涚cĪY<jYmVMHo8?){Sl[l_$_7ox^ ӯ/|\Í_7}D_Еx}$u<ȭC;Sg|}! 3v~#}H|΅cHo8Z5@G߂z7Y?ҷe տL=gs33oEY}B2?r?v;I~kΓc\tuwܾ&C~}⛟AyqǗ dM {=Mrw?{1L+U C_>EByn?~/Ct\`9HWmǧ)=!ډ@lv!l8G+ ꌜF b>_wg&B*$+DXB)J&s˹d\/ĒJ.Jƚjjo00J޽\s; ?ˆ#<ʨ>)gyYg}0*vf;.N8O9?f/?Eܛ53ϕϬ)Np32#Erf+sʙmHA&,¸O}WUL*o2gR׼%7cO*6}k7vZqtBqˤ|O\cy)MO(vy+Ƕ}i!6gf`t<;+ƢgSOWRhxN 'm4W i)a6`"?z'.%t>[S2 gh笷&_,y.Jg9W6e71("%(BM˺M6Au1Bϣ|!Ř[ya)a'|>y)a&g{Rxte2l؛YSuu*<F;նCqcΟJf,;up9<PZ(0[ `5O]X4{ Ū3@ QAA  y;RN:M 䔲"bH`̇.;ޕZd! ^uSMAÝrRcm F32awzy`@ç}ia*aee?1pn\DiT--Ъ Tk%ޢ|/\(<עvKsf% m7N)0!* T\77Еgs сi[q ,ن~`jjf2Dm.j3ntx9P5s(U`HtPZ*!oÙ;_9ޮkA[!",_+0S;Oyz)}[/Ao6Δb34A@ VGm㌫‰_#wWsP6Pb%-QBKv艹 qaw[ Ckʊ9Q &-wGɮ ;Y 6AH͍`>saBEQDbrhVZsC(1aH#Fw̞Z'x+~0#_߱T~G2:yhQvWvDll <_F,^T{hdfH8zof9n\>;灬2m$EhQj>$J  NBS蟓"'N *b*\FDnag[+nOFi49݋ʧ@V)7NBhs}! t7j"@6ɳEf4x/+ b"(.\Zc ڃa@F"~DQ3+j v nG-%*KR {jW1JZK0 ~:Y@u)H!]rJ~[MXQ̗9Q@iNvŒD Ğ iB luYk,Tthibb3E,|^44x:j!;82c0[0Q(!0Ui6Z : "^AjDmwMmaJU O!hO@iM589CR9CRQRN<\Q!:#7S Af@0O@$@#\sGs1q, {FDCSDEAxmV֕N/ߠ)p,dicr">R-SdVw]D$hiOL^X@2mdjABJ`˔U#SKyI ƪxH/,O@kIA^e)j(xY2j6ըHO@ީMCa +m(@)B=E9Cy ORFeߙ!:]{$1LHù+M SX2/f$|٥3c>l,R~6\7H|`qCL*P7pɷ Y ?PA#LĽ\_q27{i/^6ʜ\fhP)f컟43?vdTNXk)n4]_wQ֔~*{EbT"Te?Д4.0FA"c5VJJV}Y=1+;L oM` %Qʡ0$m1/VΖ`0-HoCi^Z bAbב[_iM4?`[G<`.<ZB˚ea* eRĐk")Bk G&T.`3Gf/}6[\WisBcpd%b⿤JC&ğV0C~s{蕒Mb 1k%=X^diZXF` Z <"hi[5/܈s֩SPʅrkDoas -g6NJv֬g:݂ k_y]nRL2 b³],rxPdT0 LNj Z(ctZԪ\X$4&/3&[]bi*)A({k"m Qᣟ/0j?HRU_ Ob>i8]}r""r0*V[f@Tֵ*LOZb8-P3W?UiB9nj\FBaT 4<,b.|Q<[W3f>MT9D&;^a)3EO8e޵D`6 .-_cniQ&Y\d+/ ܅Uqm;򶝧cf"Y,qy֩V֒>(N#y u0HZ!sꪬ V/A 9w*qH &[&mi5z/oK@L/ӥ4N]` ĉ*T>Uo%x:i-VW)2AõY8wMY7jv$Ԩh|a _z{/;e54Pv@D fAù 1u2r$3ZhZ4WCB@L}x}Cu"ٝVD,5DCS7#hIsAZ3sVoP$nN=:.;'$k,/K_aA+hB/ymuWx*Lt5G֡ryCLcjN0rmYEme6gZpl+U;F%yi8qG}疜 >> `=7zڌGS$!1) 9B9%iDŽ<W}>ZCw_ (% rAc4 nns#FczGW-£r-Z9Ԓ%v%&"Ni־okުNBtKF>kه66ɤ<ٸ"R },#v,^O T=4K\A3%WoSw5"34sXa^Z*ian@Odm11,Uf#iwnU ۅnb-a׻?9*f^H!zGDӨ&>rIZwӊFRةI֜`(^qi^[ ˽{OOcuסڙBzYeu|m0b4LƢۛzooRah'0e,*j Ds#qo%o3:梺j䢡z2Vq[HupYtAJB77}9JƫR3gB*cCL_hqhYaРhVH<"iAlkႅ)w zK"ť; 8,tORp3;eJ~Ҧ_1a]O.V=FWhDZ $䝐k#hO1PwLjv3*uΛ֭$x.jj]Vh sZ8RU:جYViTV 7V-{mI?oe^C.%FA;onިZ5M׼7ns/[NߛID  o3Ȏk ސARj TP4𱂇j*}18j&ְ}B9#{7KgU{$+jLiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA>{,+(@#6`gdC.|V!- !L.'b-NaLuw aȪjl7=% ˿b S[xoV3]<wϚH Yx7[1g_ !!F+.UZ><~Hqt\6.4 д9<о\i)^ p#q1\3|$Nhc-#MWSw}3-m[h}jh8UJ)p:8#xš;;m9MӴ\W 8=-?_^֦Ek'͛9=z Ǽ޻paĒϏN2lBH|vm}{c~nB4rt4YB~*衎{;}p|1E'  OȒ$BEOQ$Ֆ;GfHb(= EQ|(6IG]k6cp%b~fk\[͙7NgcBc(FRTϼ%^PGmP#H EH* GE Q;!_݌}ir~Oצg=^!^a'.א(ۺcdFT=Oc̕B6Hhr9QiVUdԆⓟck6 B Quv/DVlzsv6<pףA㹎3N?xnd%vs0 C{p'́g:(H Z~sַ[(@')] ѿ_RE&[( ) l`)w+Ap0,{bcIENDB`treemacs-3.2/icons/default/vsc/npm.png000066400000000000000000000045471476710620300200330ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxX[( *f !y`?vI PUBM'g j)~!_W¾7|$(帵r/h׷9|ot>t+ɚy-I Q9-zr^guO `HxqrgEϋ.˻ ww)5Н/5z`|.g<PׇvN÷˕?wss48ޮӣ]Ơ#@aTmGr5H]ÄLw_c7P ^-\f, eԥ uaxڽ)n);hI{k[c.: q*V @3`utBDu9$l̹m3Ae,IrM|F)p5ߺ0k.6ń{Gb:Qݣboeg}E'l+?aKE>WȖ^5#[zոlU>"ӫ}dK-jGloK&:[l.fAZ:<[%% HCI:,Лױjk#ZtУkJSri{zKH|yHc#%7 ;pdunX r22S@ M +' &͝J+ݺ].oKf/>!<_|kŸ]RG#fFsj 2FanEǕv.e8=,/Wϖ*=BݿxiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAB"N,cg:m_^"c P 4o<kṫ~~P\'!IENDB`treemacs-3.2/icons/default/vsc/org.png000066400000000000000000000016751476710620300200270ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dtIDAT8oEgvY{xw8qmGQCRF* 'D!EPU H#*q'TT Z Rb47ϙMA8I#i.pHcEdžƒeVU;._95{uc4'mRX\ɇT21xqa &{lT!{=ux{*sw;& 7J2%o )&eHs詮-t#|Fsx%W.' 'i]~Pb 8׀1<;Zߪql1sZ96R5LTHǔ:2P)a i!B/F>{1 `ɒ,zٿ`Ю :QWx 3PmEȑR}:xU шEN|7cSj,ߵlo@[ j*B8eq!憺ܸ{˯ K5-x rl)$M4gMbmR4hG0Ub4%8gmX6zR `\m|_}]946<b3)< Ba(̇X9CɕPh$tFhڀ$`~˶fGi-ݣ:y:r4m"PEAE*ޣZ;?x /ZΦ}\|)1r愬!ɻe(Bٮ$zZ`vi TS=9"I`q؞BDԞDDP{~~O/|\<7v\Kֶl|Q1= ] E=ZǙ#{bBTfscz'8_(ox8iIENDB`treemacs-3.2/icons/default/vsc/patch.png000066400000000000000000000212031476710620300203240ustar00rootroot00000000000000PNG  IHDRĴl;TzTXtRaw profile type exifxڭir%)^3rf^~RLV-YHOop;翏/J+ť\[<|z_<?|{}^ s!}ug=^?O >(՟:?P>}yv??*QZv?;K 1>+cLez_G?-a|,ǃϿ=o~qQn1ϿsV;g}EGፓw_qߝHz|s[q>?~!Cw}z<%}jqF,l=7z|sL!O k'"!|o?~J 3KVy/m!\q`|$O1B864y)L2sAc to>S}oȡ= 6 Y)eꧦF s9\ssQbI%RjȍkZk[jV[kzs/{# 34,6FXlŪ56VXqkl6Hλ{jēN>N?;k?Y 7Sz_ϺZ.'Y9#c!y2^ :(gO)eN9{z)r`Yq+c0m߹+o.+o2町9RgE֖xn.TLHnÅ6Dj?}ݏEH#>{duVkuD[W%sgJAȔ̌-Rlia\9W}zmڎ㊧癥z.>j֛xI?+qJmT ̨gчqwD}z,V͸GOfuY=9w;xR~6Z;kO:N2RjҒ󎭝+͔Di7a9;ks}3*Li0Cz*׷r2'TM)4r4ZV")߼(S05K(12E: ƨ,e I˸ 6a> K3,n3 #ѣT[[?=t圓?-w:kR;`0mR<|NݴP3s7Wjyz_/5.J;r(l[0@nL15g<1y-1.`t+ЊѰ&Uܮ: Zeg9S*{Z&!T <=nu=!WqfjA@f!E/ְleZx>dq= fmi5BOc8  dSBl Z0]CS^Bv#PW=Cehyk=Fw{:Pl+=ȃF iF8UW6j 9eIՆdNl݊>nڡNksF9?15QٹLHH0Uxlx5[out9fTc8AR^,i'P}v?:՘1Cyz̙# e40~+UI&lBfпSƀ}𵷁զ+#g7U(DMWUu V:=!`cLl_ ׸fF9H <a_6ls?@ɯ c2 B *hZ'ZoB|3['j,=1񍬣ZI*+mOlŃԞ8E,kQ8 tڠ`S[ Oj UBKԶ[Oɝ f(`ZbNª3@ @΀,)*F$f")<(8W+u?L*"Sl#";"hYt j DX#n9r )X7rp 0Wt{H;"{0gjŶSx  }G&j^<*Mfjb>eEt "E:"[t@6>^ҳg)ZAqe xf(V:EWRZB?Od)**t82BI Q5AW{' `wR}<J(U&E PK"Zr% ކ 4I-sQ#8gM F! JqwJJ[]6Ж% pi^.CuHp-G鱢_47z_'0$9;Ӂ.ÖVN8_m-kdD>Qb$ BzLO~ޱOy=vi6yZp0 JN,t-:׵l>i1_'&F%6Qe-QvM6 1* "Q))nrYrIi W-nk7|kiq]L1B씻'f'a͋_APMV,GӍT5QF@q5Mp9um]_71Z7OX: )0P'h(e1{LAړRG|C/E!́&ֺ\@MP+uoTLEνe VD712ŒM; NVT ψqo65 ăt2iE}>u/ jE^F藒:B@8JHJ/۵\7_.?UE%2Rْ_5^š,J  BhQBAcH3meQiL Yt)MyojO@{Gwm,g i3Bu{'赧iJ" Qx=.G4_ y6`׎w̪D P)ꌪѬiC±+ hV;T_eP2Ep4%y?lQ@ڼE􂲆ʞA0$(S~WK@<ŪxH:jr,)}r r4 ͓kvQחGhS5%!e9 Eas3yZk]6D- =@W3 :ZlwV.6ȫV8Nao0N~$`-6s%i5N@~j~ظәhyZ'ƭ4MƖ>ԥ5p$Op? K{B3| #[?h;3ʎ̸%& bȶX*"CIPทַ$"pvt8.([(H,`^{58z.Wj swC ZķWˑ֊͢bV60BF􌑉ɷWhD+Zr UK@H4>PSkx;ޙ$ Y"*wϐ[^pmؒ/xZ,05iӀ$iKxӫ!أT-TtEZ{v\3%Th|S`1'@ Auu 1t[Cp#hqU8h#%c;+mbGK:#L&m^=)-/ iazԶэcwnabQIЊ8mrx I@" =;J mo+XE"!^J%3l._ B`v풎v]7"""q.d*dn6 TCVNjaJ[fTwe7_UڷBd8ԑU:NÃy|V"Qkk;Bi"c SeX&PimjTɵ6zJoJL(¼5JPr&^ F>gwYL;\w#K5s m{ дP<0* o& "qFCr ɵ8Y{3DQ[p{N2_$xBi ^v͏7o\>I=M{X@lL9TCj%4{7PVB>VYpw蛡|O:WBa 10P AN.9{2pD!hK:5E~ _H͕2W *H7hϚiEJu`î] kR0 gBZfIjMWHFI'qU5W±|Kr#j)ZyHavxHjJMXnPD uX ȅg;pMkLԦ5B%ߟtsF!K@krmz|Dswa"AoCJaPuc Y Ҡ<=1DQ;aqT8)*I43ﱢs-knkL lH4M+JlXQFTf+1  jw2H/.[w_nΈ>/ K8*^B8Nhbz)ᾎ[#ce qGM&$6usˆۗoo2?Z~WܵBkmf ­Cph9ԝ>(YtfN-sdhɬ>}A(߿98_g t%XU/=Rm5a:,U`ww,(g7`p&un %sfhRYpOm( s)b<'Xb97˝(㖓AZی>iw.Rt졦 '^6pJaN+ 0 kƱmmVzZZv6HSHY-hpU@MM/MT;KysPm.5}E f],PVZ!ZPHǷ*etH榔Vs85m#[Ri*II)_VmsST;R:nm$ kVh-.TU)i]{tP@,="\(_Hصz:P̄&iBZjtbF&](%aEy>uĩZXȒQ W/C@>毼wuByn܍2Ӄ"Lm;:K}*qGBwmưkS=:*⒎Iܣ /m&ytQ &2G+'IߦQ[ҕN ^'ep[nGS 1=%ei#EԴǾN5R2Ni C_|&2V=uٸR]N}?+hUDZšh1 C(q#% Nzʍ@(8 0vBF A+āVQ|f3J̹i']Q׶p#ZGE2Ϲ;ctn᤬m&՗ã պnFRF]Hסңn L ve/`?bRJ_m4-HN +N-h -vFװxRehotHP]%cZ~6Bl,DPe nwiwtU|356Jg dKE‚+C@Œr{2F?1MgO}>}[ѯ HXL"!B=eSn@(5z<"箲N2ZۘlJ؅H ]Y %v:ݣX}׉mh/:!\QrXO1!?J%9]gys)y>xEAw8ӣ~ܳ,#I7ŌY {y՘%ӌ1G&{4xb7ĤH8kox$J;yBʁ*i,4~'tiͨŽL1GsH)bx s8}9\Miahȩ[ƈDm&VWuT$ n}LiSpEȶL#"D$D3o΅YYlv,k"R7"D"mtNw*v,xF"8L3jaı׳rbJ-NW}!V|y4LAquEٺmo #La!)7pرT'g0,+E%0RDwT'`Qý5#;P^ ehcjt\LOJD;K0;- (kc]Yrִ]3֘_n\A8vV 8ݪLٶtfkWզK =ױdׁ[ա ~:N~=0ެW Pm1bV(dpf7vt\YZž~,YY~Ϙ2~eȶ_ m1b)eۖ7X*㮛:~ܷדlkuM6CknR>D@p.|su0$yi<\9 ?*/"@nXSeѐz8('TE,Lp6⦳=}@Y"6{_34?60,mMg.]Zfn'`i!]CUc ?'(Xm̥t[;c.w]6RObE[h[mg0VqU,cQ۱gx'ZaǂCk%;' dIENDB`treemacs-3.2/icons/default/vsc/perl.png000066400000000000000000000021171476710620300201720ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8[oTega:0 vJtZLiPA CĀo?5F &&j T,@;@;@i{Eӊ wxz?xJ%vFP'\\S2"jϟrTxM3,}LLLbyOΜ9ro9ó|=~HPFq3R021bͅʊRFq à6Ⱥ@E75G*zHDjPuY,"_PlH`G9SUu]jk7c6ٹ3ϗ,7iv醪bYwB%TJYMIF;畖}dҸ Qz7ٽf <+6NO21< WRkضm+oui̲B5u֖^mϿŶ8C'U 4ǟĉNoo$u9Yfk@29韻ym+CC# R^r->_/_g[VL3{$Y ed2STTp}DBRnLRTXCŎEzUŶm LӃ+!֯/ҥ؀P۸Kcp9Ofػg\%z@C$LVpU_ԩ_CP|-(OOV/OhouLC&3EWW`1G<[w0DLC>MgzӡPͩho=WQ\>C% pl} Gۈ59yy GڣrF(* 8""x,Qlg_yb.V[ey<"m;LOH O5NÈ_V@}ZRnIENDB`treemacs-3.2/icons/default/vsc/perl6.png000066400000000000000000000026441476710620300202650ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d[IDAT8oTerΙ3vڙΙJߋTTp &4"Ʈ&f%v7n7Ƹ!+6Y֗Xjk)bi;2P:sy}_0~7䋑‰0*ᜓ>?tjCJC161z?_6 2 ؞Ke78ӧjl,Lqg W.4G:Ǒ~vߍ++\bhk׶i j71)STAʣqs~A4ݬWꀦ_f͊^f=:F3/}VXX o[}x #֣> 4^ALM \U/ܤjkjzeb ^98~ @ X"sϖ.,m-Lz؀kJ#k*bmm'7_n0Vքt6F@G(:UyX)zsx"AzO|m||^9 ELz00]6>߾G~ ,BJ.%DJ֝D*5Yg&hhJ Ɋe zU(I3<ڝd^JX%842FFG?z.fD|Łxh>|A8k(wf{d]w|rGRE}egJ;OӔ6LtK,w8ݧpxy4-29u5\aU,VK.@0F1@>8 >V4fO|^O6{jB *`|IbB:WX3}S/8$߹m0٪drǡ?U MI L׾ǎ֫& 1|ՈTu3}{oW6Y[e:tB@(ߞ:v{Hdi/ӘHS/wmvv{:%޹@(<26?E*UY\a@o sUK$0[m[%`$LXRHM.Iqpi/WfĈF1)%iHiAмD(%ZחIB<~wIEQB๥Vhpg#ܚeh~Lh`o͇`: :zung@@wAV,9J>g( @bҵ%^~C *0w^587u|ū$ 7' M5 k+]kiQot ,Tt!7К=UŅvZ˦y!]C)(LCbtU`6.@Եle===}w5wkEȗk xk6JU| `-.|md_8wJ֖:;;t:Mz}c20`ObJ.rx^PMgR.XRwȑ#/`Ph6s_{?Z%jA,HP} >ɽ} Ri/~_9={!OQ{;{ןEA#}>1Nֳ9wͥzK||t[?mX,oC_V*~gzX|{,JIpw}ik˯z:{Ihnutt`۶PJ)!vO~W4RM'ü_Ll.v/ضmu(*2^X~ Wl6.Jb455͖9Hܷw+iXw{loԪ{F~4oR~~Z| ?Rn]PJJ{x%tEXtdate:create2020-04-16T13:50:47+00:00!9%tEXtdate:modify2020-04-16T13:50:47+00:00P`IENDB`treemacs-3.2/icons/default/vsc/phpunit.png000066400000000000000000000224151476710620300207220ustar00rootroot00000000000000PNG  IHDRĴl;zTXtRaw profile type exifxڭqd=aŘ-́- ɒOw)Glhc%hb*5-bw~k|ɟܯϛu7~}+~|Y/{ρ~Vϗ:>7K|yXJ(x |G~x gxH}F@~Gk/A~ o$__pi'W}G79hT5_gx ~,UN^Wn')_vtyrnq%F}}⛟AyrǗ M _m|Uμo9>__|s[lU\2[T?*L7̕vC~Vy/Zș> D;q1.]H.;[/J:WC "} !{S|:7)'HD ~dSbz )r*R!ǜr% z %Tr)Vz 5Ts-V{-VZmMDcuyfFiQFmI8̳:˯WYuշ3qwuv‰'|ʩOV>Y7Sz_ϚR'I9#c./3[]^Sl4E\dRnr)tw~dʛIʛ2gRg%7c S>^ߵ_Hqp8 :IsN+ԹCe:ys[I%&܊Ԭ}+͕~'V"ɭӠ㸢J> $Tqψ\#Wkdb3™.JikPSvuH4c"iy uIM\;z컬J]!݈%X2œ[mP$慚7@fVgUNVvgr|+9w 5E ԡ>A;m {A%) ϻeHMv#=fX69QB'-)Q=&e5=m<::~$wS{x ЧC1ZJxO<_鎪rhr֨RqtmYpMG(V!uD)1Qş5Ke)iݸ8_TsyW4), fHv\Xzr)$~!qO,'Dt[*PNe][kV*c4YR Eě?wn!޷)Q*pip#- І#cx, P%0ڝI$oKKӜe92rwh1st;waZh]i1R9t_- MF*,q3΀*.؟ ђYA6Z۪nRDs#=l-;l)8*$앸B?RyCΨ C$m1pi arN>56-a [26ݲ!|~firRt66=2t6ty Wi $ЩA (ft O4Q}HQMaNIӽ pݧHy\$4IQ`0r^!F-hY{ބґkXRn5$<<4S4o{nb(Md}̾ӵ\G[M~zpᘝ`z@jN%!aI9 Sǖ*M)h]5ҽ\mNgA &i!l(G`a7JNFN5ҕ|6p +JwJ t j(_F:^7f:@$:9Wƫ74. & MFpu%1"5MGo 9YDÀ2`r2xh o@8')** +XREX@"( ^3 i_衏qȓXMR0HHmhT G="H] apg$z@EP2)) >6{E4H;ʦNѳ'Y7| .0TӲAU(6(kIy#ssɳDe ;T2&A֪AK `&|#]^+ڄK$( &*46uQcJF֋ŎZ\GؖD⢷ KK1w3, +0e9˪P^%;S8y .f/LIpeNKK:`3|9%i %ꦥP;QI[:Qjf}}ῚH6BWl^C֟/kpw2 !+Â$nžr,K"qRo+']3Y&l )aTZ g3QV4NX͓.ω: ͢S4DxF3P<YNз!]a< y,c~x@䏡P+NࣅX#= =C 7዗ۈ\K 1Sq(R0+Y[؄˗ 1(I+_c#ݒ4[3RnM@sjt) FhVP(w!^D}qV쒴ChFv,j3=]O  xYPxD FT嗿o pZa30 ?+i-pXnGbƜ |tZ `x:)!މ`$z^[V]Q38~N8$Ě.a $e΁rǠ,`feLH N "y\Lv~H=$JoRRVV`c䆼:7*9G~(\WQj栜dA#6un3t_d! c_RJ+%wf svĉQvUF*MeH8G80`qI.賫$DN}K1Bs(PGuRzt'o>h[CR);Np6KYAC[FYTɢ~m[?vp0}X%Mu(thigII_}r(߂a5ŬRx0$2zp5dK_7l #CRTYFʒ0jhh5K[oM T#+t92އ%{ff#Is FKQHElj I7Z$/#U''ɧ|jlvVʑ2c+.h3~C1k\jg?;>W.#GaN˳Ԉױb0}=xES}@W% z}k674?c{t_((2N)']zv8cSuj#F,Z<%IylC/Ҟ](´Ar8)" >c,H! $‰SyBָn0;Gpqk;2*״ݕv'}p4DJ{@+ZoEhZ40[dNxK|qwwt׀LZAdW!$GBpIGLxGt}jxԲ@4׮S*ΝVpI;x$&"S*ڎf-Lp!!J'\wf5c6BAU !/y? ֧! J@x WYlmHt߰Mv3p?$B=׶adL8v $Wtnr l 4O*EiӉ)Lj5?uSq.;аGj)='1;I|s;(]5\O* cM@$'Bkx*X:=Nb 9BDZ.=P7"\EZtf52 F-jK 1# _3CsnTW)7jE(ӊI;k>WVt{=t%čDwMԽ&89gã_2ߪȅ7wWt#&Җ|}Em-@:i]G{Ip[B1h6Ҁ٫m o a~a$DJ>-yGXd$`P MӖz k7@K||`^B)vg8;|>BmP30= #7@%斠֠e\ۀtƵX9i{Te'd}hBKv>O}RM?mPLٺ~miLh.eDnӭCKMUqg'ȧNMq(7h#/,un v Hmwxv]ڴVRI mX=:2Ԝ0er|X9 C R_UgWG)?B8_:^%8b* `AMDg`hSS"2[m( ՙf5)-U3P##Z7Ģkg{q]#T0s+Ӻ! ģ%\ թF#eKWz6{WtuZ? ?%uƍYP!2/mh9ќ2i(>K=PD)#[M4 ]x>?]\*-wx+eOIPbMSm&o+Bv19jDsCZڮf@&{dK-- 8.iQs G @[0XTi~d+HkckoZIKb6~hkԏ)*=IַˤF1!Ʈ ,azȥ3b2nz7Aewoܾy,qM`wGETcjc[\ڌWݡ׌:B >!vBh11M zn[m4 ͤ5ÖK^`iŽW86/훿GhoHI>MaJj*Q+B`RK/?ՖL Ȗ䆊ߒ Ꮾ[8LR,aɤȵ@*Έ)DSM& 9=*Bd}V9x2Le9#T2<̝+[2p@}jA!W(y4&A5V$&=-}{kc0}-ubu)ژ9V hʦ]`_JP§">0-yh??e64yG4+0] 5/޵朢c|w|jĔ;n.0`E?RB-i^6hYFn3'&jngk>!X}!@8] PC](WP˲`̣U wmvT*eRynvQ~wq䫦5ۯIO }YI(H3p &#E]-[x?}I1?JiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA(^`1}!!d/< 1B)Ve(R2-39>T@.C q%ekH@"~k(Q X7뺶揣߿>8НV-x4a3!ĒE\pcE^ӕW%(E ]ע>ǛvZJaq w\SۓhcѾK\:뙿.1rtpj|OhE`쵛T  !+w t@eEfN*UuTt_9M'}+뛍ⅹ^NH-jY6pec-(|`ތ YQd2qRC=:3)*E6#t[(7+Crrb`A,]YܙCu',O+ fgF;mǫp*mWU{J02245~x H%_K8 (fA2(,Dǀ)`rUݘ6aH#7Zu(2TOrteN pޏ C1"2!]L]WH[{O8GiIh7KIY9Efq_c!;ws͒$뺦HoDfV|ZL`5!hJK(˖=ٗ_bOb܎\s "-ᖃ yǓ,aߺA_ @ܞ=$Gmzoo[p].tZP MwҢBLX_gf6Ģ ! w\lsSok;)G4jz\8'PqA9.?7w 9/zO9;Pϛj>4T~g~ 7 3!q !$Ë Wk 3?GO=~,Û~OmÅ_;gs3oEY]É{Y/ܟONR촃rt)F}=VCϠ{HE?U2IV)RC=SJ9TMjcN9rK*RK+kZkr+zsX;GađFeFό3<ˬ; XyUW[};Awy]wPk'xɧzY{Ͽ5fL5R>p1/3[]^Sl3$rcSHaΧ>s*o&*oe(uRk~%7cO*6}|k7vZ4ȿz/gِ>3/RQT2@IMyd>S=9ǘXۏAKDD{})휲>h"==}zYݯI􏔙4JɕIZL}\ح־ {gb;+SY1.^|Y-Ԥ.V`?~7PpK{zJX՛\ #%bكCR-v4UfY -U#XH (2 Te$UN򈩃h7&X "~B'HMTXe.JH|j3'"Wt4YsoAO9 IVflM=QjZiCg7_D;3[Gh}a /xEL}R䖸(MaQӪS$dk@+~`J[QAQmx`]2qHqnͦҢR7 [|JEc0K7. Vh eu\V dVEm ++7>"}r?oKbɗy^"{2mr#T^:-­Ys"blO_|ZgfC.Z)I>b樰EϹC..^\=6Eo+IYx3FThJٔKFI* ˖õ04WavU0:.3kh H\~V=,)?ҦVL+M99a}z J j)zk`"J$B@/c3~&–%6<]m m]V(+L?̪vQ6;SD&Tcy?0nB9_}8[Cp2S(nұ*zKBwHC5cV Z\Gr+tfdI)`H/=`|3P$q@#gl"rQ|2tlBx4a!(A InkŒ 9? 2m\Ӹw{tK*1 :54hOۧk2$DګWfAR*B++@{k`|Kt&b`h5=aWހFQH9IS$™K>nr", &z6 7o1R`|$IgcḦ@SI"'|]ؽfL׼AuG̓QΒlߗ/fT%Ngjyni2ѽ `lA-Ol}(|BC#a9qI]݁D+裏S=N"Ho ' {G? 3s7$M&IY*7[lXBγ\L$ A~i^G8,<Oz(H /(aa2l[ …-4N˯zŐXhH{z>i "<"``:Lts4Fjs$) BaQȣ>nj7 ^JT|Ax51u'&1䌠VO{qa6%+ϴǭQh䍴T+"|sg5V[P fѕ֛jS-p((n;׃n>&ZǧE?=(t'6>F,pqa qvʅ khk(-9 kV>!?0b=1b15e]p:H8{Lw@k-S 1u֫L.:X :صĚ9)FYw{E.m[e{dX%a 뢧'v3q$b]x>MO[vHw 3Yȡ{ީ0|+ *#@fZ @mJLEȤA9V>&:)f0td}}LwRnGsuW'xߧHc,l^-o,۔PHxp4RUa4H7uJc| _TU2ADM84~q:ah`uVV=9³o3^?V7L:)jAǒv509PpPQȚ(Xĝ֔_ˈJk4W o깏Dc *H1x{ԅF~se{Ii3b~ZbUF@+K yzrc^p' ~ ɮ=~c2kEn17}b. uq7,>wd>qWQs0ULki^gV/|Y4|+6zRXig#=s3B&3"fsڤm'CpژyU%{9d/DړZPpqj Jmjs BIBER /?g=&Ŝ9_)LjpL[zqE j7HhW$Y1@ !iP1m=6P˸ASYmgÂj%bC*<8;!-71PmaI5JG$0n-t]&D{\Y4bE]qOM?=#;װ6+YA (Qvߣjg }feCtLz&P.%)wcGO(4& ˴Sr]lٺ6ދÅg;5V-e۪[,5quc>c#,r~7F[^z)}G)-<Ȕva3tdv) eFT#(*EW{y s9:l__eUR?A2sLo&1KxK:ЯG=zZU"n 4\CV>5=LɥFl6].ӶEdE.MmȈAJ)ydt걞*̕gFTh᪬RufQOhҐ8ZC;u(9q"7' \N!H0TNN`$30 ܻ.yi=ZH~]gϽ_4[3DM=ȁ|{zMDx}&;@14v #$Ipᢓ”ajے6QpmB7D# R.ĩ \)06?%60Xei?T`=i_>T?]a4SwwUW |iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA v.1VC@Pɏ<)"a.ȏM -~N #o8.;6&?=o{__)7X~I!+'/=zx Ru(H{>ܷ! {!c(NdN67X: Ϩw1"Q9w!"xmL;gFxtǶz[bJ؟$*3vr&e\8$= O[[ bD8"pkSǚ޴ZĞú}m] 95M6y/ۧ!PU&dX~a 6kZ8{U_ g{x.=>!v7ӵF<] ~BrXu@C:OFX8U  t=HbuX\_^:}ZiK!T{:KD,a;85kEk5]=Z o= wTK<0qpƭ_`Uc~IENDB`treemacs-3.2/icons/default/vsc/pkg.png000066400000000000000000000107451476710620300200170ustar00rootroot00000000000000PNG  IHDRĴl; zTXtRaw profile type exifxڭir:sNU^~dInr;XD pp m_(/X}믞og~|xw|'rω_Е|u]w񞨮$Ւ_MDxLGcy3^B\\ABO vgb+ByOX[0q}v?jXCcɛ׵y&3֋O^/M!!O`(Oj$H,HBIRJ9)ɵr̒Sι[ %)RJ-@ZjyX1Wc|J=إ{鵷A8dGugL32l˙SdWYuM㖝veݞݨ~jFt\~Uc t"@<+Wlq1zEN10R3"q9/=@W)QԦֹqP}jUiQk}:6'-W_Ƀfb)y/Ea/6-o?V)J1g\#ƹ?8r`+u>CyXje+n3fԶh#΁s4s IxS*DZWw|vÐ^%KخM|X~.ѷ!qG*>o {KlQjdfSvNEu5rFryM@r܉_Wīpq2S (l.mduǫ}ϥ^"^iĝA  }pS9?3Q3o g@eiH6=OenT ]0zJ9Y*ZssI= ݐS= S6[Ʋ{ vXU W=vGv4WeVUbƻ=h(}2ԗgL4vXHXl*#~ɑ $!e2k= So(|mj3u5;ƜCs|& e1)]*\ܶ^hRIe} YCxm3HRWaVޑ16:44wl ,AeY*]  mXF#bpZՅe"q)4#e/0!tK{"Jgd Jd̈́@Km{{2l]~@OԘPd5#5m=b$P-K٠.'\v>bMZ&cz⭭Aܹ5EzNаx~`D 2σ(5)U\ij-S4Y[JҎ(ukmef'MjʨpRM3+rhدktkݠt'.8L<ȕF ʐ3 G,S'v;4xq v!w*(} ;JB,ʦ29%5&$XqR  <_SaLT6afյ-m dnz TA'&D -M xfh);d`PU+{ :ΎevBZ|p}0xXZ&y( 0^8M7K85&j{!v_?êe=jVH!)J_ծw#*Hk ڙۈQe(R`h4v#UxINxF,aV֤'I{stꗙ^V,yp կG tу)njNT('͋vb0ԛOAjۑĴ.p;6SDzK"CӰ iξ/ՃEA6' g&O$gӒӺQNMUWjZ]ޣ_rCi !-$ ZQh=rqLv%VCBQ,W[h7꟮±띄s` m%`mlН t*6  PtYUkkrhQj'3b+(hy' c֓wNnГVqߏK}@H W55 lQ]Nrr!y>%ha9tk؎ގBAG'}]扮{- kvcS.s֜">Z#*}`0@r 8>/Yp;gҽZZ*y2RBV폿b=O6+"<+A3¤ЮFm(2 .r$!utG`bWNɨv wg`.#X6o`!#7N蘮7s>s47ǢA̳XiihOMuD0bZt>l5ƭЩqW˕I =]EWmI Xqޏ@ y${3z_t `=Q 4ymw&q!ؕj@Zsmv65Ԫn$QD" h0=-rT>ȣ*O j^eCus#Fw\/fE9R)ἷ#-^j:f/ ;K07i蛖L]&Ft&cZb$$r24"EGvm WC wchvUߒ$-| ɛy7Z-%'Zیf_7s:lt1~ԟzB/GoֈnܚXQ 6ΞiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAoFIQ ,bu@pq;~cdwAB]hWJu4݃Quo>q痈mO#A«/CSѷOm֣R3Y/Ď$I͐ DmHUœbG;)p$,5׳68̙s#[ň`6SeΎkD+'"~.P`5qLv?*C ĂX! h?XS};B?h&藴XǻajeY}ulq69C-?/V#IENDB`treemacs-3.2/icons/default/vsc/plsql.png000066400000000000000000000050561476710620300203700ustar00rootroot00000000000000PNG  IHDRĴl;BzTXtRaw profile type exifxX[( *f F , ӝNc,*!♂XԤRHQK궰v>`4y~|h.c!]#zUpJ}hvj9գR8n&3wqgpe/缡*.&O]mȗ}EZ> P/: Izgq}.zxFt;X_)):孂 c2\vUVWbΆ_m'~O*weUMk"Fn]A++1unWOyE/,/Av?pU0( VvE܇oųG?AO!Gc q l8u1s1 .`pW&slcneaٌ"+SCd  >KH$נ3eLL,Z} QF1'(IRʙ)c Y3Z _BJ, Jj5TsDf-rw)zҵ[=<1<!* V˜ڽ ?攍C~=BF4zmp1o ,d]S O$@k hJ.wj馽5{عRAP~9G EΆv.14 0 GvO Ud4a[&݄\`PL\RX{0MhZ0,VlC a; ^u bˤK 9# r '\C k+`֘- ,/g׈h觱 "Bd ?L6iŲkSn}XZ  Y 27HK0Bߍ~S}81׋K2CYݓŊBiE'6@@}pgAFлHHѭSBw#ENRt?!E\I=8OsHѣ@*R(PG:= T"E?瑢Cx.RsH)zf{)zf;#E,~ Eo~F&Gg ?#En!EnNģאW7TW7Ts[Y):G٤GF٤"Elo?gNģ?gvϙ~?^&ŷ6s.%ZUs]b|uI&-)A8`PhJ2w- V564I^bf:g+|L7f3r?'=$ASi!pԔۣ|MJ%9]gys)y>xEA<8y>aMyϸ~dqwި&Ւ7g(?7ޫk~ d4#-os~;5~;{%`_< ?ޙ|[2 q?G~=QM,{;MoD=: vL?T~Ӟ3ϰ: vf]u[.p+>ꆗ~vW?}-wcCig,@n_vѻAڸ[J5trMH{ Y;ݛɟXnbɹ ا =5j_+c-LrfLE(~.}Rm >m]a"w#7{ |#)!D<W$~u$~M0kD܋8[NiS r!۵Z}[Ն2p/m4.T/3 w[-mF&f=>~``c'N>1w!:gfBDp}6y-zm`%I\3`%ch5!RcԜ.͐AcȋdW$p?)5|vbiU$OgwZJ߭0Ngvc)ɣ& Z RU7"sr2R-ew$iاsL-L$> Nlawvjm?vs'̿ __&|c9%*W C͖&ș6T^jHqT g`RQ0Co2ؖuG^}p:mXjY=<\]}>+q'0֧e>`yebv`rcľBi~ԏ/>9ʻ(218g̏S 斩1{\\őw {XOŦ8o@Ƚ03ۼ,h ?N/(OȃÃ^$q~'Hw;JH%;\(2n9'@E4 s+Nqq-l㫆Tyr2%J=)*&Q5J{p7MK)q߽o4;7N}T{$q`Ym1v0Œ[9Ҡ@'à>[a{)Bf,&(PǏi ̜Jd`JY|([ir395"3Yyx6P=rU(Q8"z PZz~-(%EGz#Vܭ`d~AMT*^i"r12ۇ(cbUج9?peAxp$yF ٸ4y5.R/,udaD֪YĀ1˭+GΓӌ5 psƩ B!+ ;πJL-$>4wA!v6yC}hFLmȰ:o= l.[2@-AA!fy2lÂx 0AE$'h*}rm"0C;kZѧFWi";X.[z !: $%u &蹴O)F P=`-*P:<q fM~"%؈Mr6Q߉L M)ZZ[E4ꎔp$yp`WGF;E7nwcЬ ȥv9pAHAKug5j* <,[E(kJt)\(wqp{0 /Ua*/8U-9Kޓw1.EI3-jjd- [An2IMB70#`ӱ-Qf5)jy>UNAb9psVaݨ&Iϛ6^rrT [8G5"7N=ryVNI5SӤx$DzIG,Ã0  Fhw6S n,.U T C/ 1e|D!$@xm<e3JHA [n*p]*-w_*EdHmFM Bu<v& B^- -\e|] jJb}Jvc @/( ,RZ08m+ >Ҩ#O-'oS'jRO4LjM9B1 'rA醌h. \C$ *\#1v+6pao+Qr4rD8"˃*/Y[E$5D F8 *u8m̑DVd!OfJ (MTgH1@*Yֺ Äri !{;} [OA/IKzm1^j_ GBH.9pSủ'%ﵥݟ( }ܟCS+wB+7|xdAk7F #▟m2O&TֵM$% ce/YMl{.pusk; T`: Zx zI 6p_}MBH81Y ?'<$_2x|/x!<|Zvgj=:*/dҜ7 =NygAq$v]_-\j?5"t&=SI> [`ܞ9n%nZw<0g@F}O\oŗK=˞SDfu2qGLT"W O঺J[ 20}vhjgIeIȍ6Rʜ9mh X괪FTϠa'>n/D})5R,8`|bhh`6ٳԚUv; &c^CtݽE.k9ß#]{~[r0 [lgb*_`aEDEC^*fV"@Bξ!5իצ,.+=/?GyD8=u} "%E3]?;VIh,\>MWc*p ":2}LrS([A;eu/N@alºH;<`-Z8k:xFdUK)giQn8{ RQyFf(򤚝);Nd4/,£z8Fɤ)k iZG!nwUͫj_xa}aC]!BҾIUSh ׎Yڇ\ D~/S4 grGY[U; /9u4Z?Solj w- ΅nHbnDJ/w:c~9m7 ߅AOow6Ae>Yؿ?v/p.h &N>HfG1c,QJ閻6JjQ)?϶ (X؋I;,}Th;m QD=+F֨+ȳLm#F"#|+'l)ӮʈIȣcIrH-[Z1ST+Եͯr<3+iji5]sZ\ z];j?$ 4zz:?֜EED}<[xU"?"s$5-8i#qq?q]һͷ8;^Ya+Nz]ڢTScD@Q)z%Qw9ZA$3)x;Q/uF50£xhVi7x;C&ank){-~yеJ%9]gys)y>xEAy@oCUA]@1g.UCvx GQOuݕi$ Vh."1s`vظ} Slx{~jY&W\3l7nm╟X1" =naמ0ՙ*6K$ܞ26񶰗6> ,AJ]oUWZR>4GyXnWk+$$[Ф" *ggXs같,ݧ7g\yu+'ywC>jNBD(7xZ;8K׮Vp乻]M/VuLKjp m/P.GF1UF/5jEF 0|ODכNyH#8S wL?;>AbMIENDB`treemacs-3.2/icons/default/vsc/prettier.png000066400000000000000000000024401476710620300210650ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDC pHYs"tIME 8q/IDAT8˽KlTe~ NNPQ .416qCb+Wn7ƍDŸ0hp AB<"TZJ̔y}Eoq…͗{8|_s@7廁a kH9.(0M5 ! ""yJ+_2͒7 DS-{0m.T$Q[gӗ >F HD\@4:zmK8~^X9JLYX,rO, wGuz" nD!-ZF*WRq"w~:=8msh'"3>Sxmh;pE,sNA+_g=>de^{>U ։~1.C(WZGeBՏuU&oEʹ(x_պYmT:a"V'ʴDf-tm@耨k[>ҤD ৭ũM;/^fADx7x#agd Bkl##c<+J- ĠŅǮhZ N˒J0Ey}zITDlҨkxkvQ^`ܭڠ=iא5=ڣ^Zx~oc\ℋ]~\D3RZ~׏tk׻=S.o|;VxP֪ef * (+鳅nILcL p~㧳ũ֙s_Ҿ5|={۹%>ÇV̢0^il֊ ˑL7Ck*Щs`+zhO?Eu0㉭VGm)=@PK"u 4rU )sFֈ"D[<8if?.z&(0s]K̶ 5 G&x+%tEXtdate:create2020-04-16T13:56:24+00:00%d%tEXtdate:modify2020-04-16T13:56:24+00:00xIENDB`treemacs-3.2/icons/default/vsc/prolog.png000066400000000000000000000031711476710620300205330ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDC pHYs"tIME :4hIDAT8ˍo\g;db;v]+jL IUA"AIjVUBa!X$XElRmhI%LeK$vf&3cϝ;!;:ҳ89OUVI30YFDm0 i $" ,4ekomta>$='('0&zEkQ*~ `nZ)8Lǭ~N?m*h^Q0!$‡A\JRt橰așw wkŻnߧhs3eߐ̞:<( o?nJ)_?r]ӴI SqO~hK_c(O%E87okٙm AqK%:#g~/tY⫲p:lk8]dMto}v B>g/]3,@[iKX*89^’6z*Ay)Fs/XWh\_|~lJ,AA]bL<#+NWQuץϱ^iwV!2%cɰe`NQ'/c|{qܩ1=dw0Nq{<G-vQ]D \G?g~h(<\v_.k qƴL0a94N'& 2ǡj}"5&J&8I/RDi:} tazBx8ߘ'z kx2d<~vwF)(= ٓgovd(](hXQa*V9v1U Y{noSܪic3e -'G\#W~ PwL- ;UX59K`%1N)bग़hi_.sR# "A\1uri،yg Qh 8!kd}p#Z0ďC$f%V4\8D>g]XeF! \ܗ'*K#P,YU0z"4'i[&+v}8>؍L"O&)y^?uzWM#yyk0x7_K_XGcek`S(8DQt,H£F{:n1=rG;2tn@tiпGii*8Z(eC;S,Ӡؔ2\ξ\jJ3ޗ 4]{@)E9PGPL HC5u)4˯|=0J)N?3ק˯2%%tEXtdate:create2020-04-16T13:58:18+00:00@%tEXtdate:modify2020-04-16T13:58:18+00:00^IENDB`treemacs-3.2/icons/default/vsc/protobuf.png000066400000000000000000000255341476710620300211000ustar00rootroot00000000000000PNG  IHDRĴl;%zTXtRaw profile type exifxڭiv;cr0;wE /++#pwfw0`r-6C~=n^Js^lYZ wp뻃uE!> ߇ _Rȟ1! WkO/;}9~b .v<|]p# np>YFcfF'1; oLy-K|_j,NלgUq-q~nro_g:EuǗ ~.u/^MWr;N?5_s9[knC+y gҝ?o ;͕v;)Fr?c+u/3e}Nq͸ Br}qy,P}~.%IC_gg` AO,V)C=SJ9TMjcN9rK*RK+kZkr+zsι:~GyQG}>34,6+,`bUV]m)vi]vmCpI'rigU?X5Y5WJ+_QSʏS8IҚb>:Vhh5rZ3ۼsIkcӊq;Z+oIZ7߭oa\ͻb/ 56}k7vZk_1d>c?;И:$qsn3/' I/Iz]GGժ\̦˶ϽνL'SjemsGSgZq3, \zɽph∳l :#e,ɏ 3n>)q6͗}zkD˄Kz>&"f=5׺Oi73C,y0ZdO(;bc΋[#X!%{_qx*#/}م .&p@AeVf%Ax˶}[5N2ET&x9v"3)D6A$l$.G5S-Dxޛm?d_f>;H;`p̤M[9"NJ>3!^&:=Jeg][Z8+c[~n-e&9 @2Aix59-w(kYYNqMLLqK/DQJ\.y&>-^;RyH 8g}gTO tEwZͷ MfY6-"PQ$ FYĄV"HPRWfCum}I6W)U5?] "R@DT6Ey=ps ~nT Ь{s&oؘ89g]YH77}7!Xz, ̷'\Ǝ[;<o״X?@i֮#5,ܒsb_9UBf67V3'Oկ#k;Gn 1OEd]MqH&O^䑴m$5/NtvR-i]qpfh0k5̆)s;eUkw3 -]Y`&:xtYpkw/ޡ7ݻy h{69S[gnP֬8i=" 9@?ޛ4.uCߐZugP -Ny!î9L?l5H P7`SGA&?b$KݹD@M9t:o dwҹ捦yUKv;CvDIpdx~57`n%5$06z9ʍt Xh B+`ߑeviwuڗX = 4漸 ܈z@cN pa|㴾q a{^u# pTig&$Xκ5515@~L|0%(wqH)vY :Vf:of ܜH*3XH:cŞWF!d-%L?#!{ ѡ+DAsXi-tD6`tPkC&m!45OrDJn/& R QYT6QNiHxĴW;`4s01f鈡ŹO":+?\+jx68sdrł*R;@B +nIf:Y7t\'y=gs.g{fpi\xpG7:Ϲ0]rrl49! j q3v n0hvRrW3Yl'Nڂ!*= &d9 轑0P\հ"H`Pݬ14@rK3{p/"ysr.-QR).=5@\k +~B-ȩ(ҰYmF+H:KǔÀ{$ \Ua<#HT `7/AP7zh`rxAԒm";4Ѱ &ǜ ٘6abU 3LPMH!lyXa(@)bfx0h5tnr~2&l|z,Wd1!q7Mh2 D:#UB0x\y.̻1qE'& ׂӃ32 nG" ޖVyyMedlN*FbE`O{wvv*}`MnʪEa / 2Ǎ.h=y˃{0pcxLDF ߏ{0z c{I\X[9 -ˈqgtt tK! ƊUL#I 3|Ā2Ib6()#2SdpJ)9S)kѫwH 7@Spbƫ$bX-e(@7WB]㒜=iBҔ!1E,y7n"|| 1@p3x<.(ą/$|UC!H!e*. .6"= $0$ -2XNaGj`0|@&{=D$Ns5:x Qp\ rg [`Qǎ{ɐLA, 8u HѶ4z(v׊G{c 'i *{pJ t0j Xy.t/n=g2 4UsF1Xݎwu Е\$G ,PҪTa1nUM42"51<94 H[m ū/d-z>Y~`&zҵaP.OUT-pC{NihwWtU&y\6Sk; *NT j+:CV[W^h3ڊTɰ[ omi>eKŸ;W>ψ0 jL kM];yR&T̎g:on04G baxŦ6G`O25y\/L>h Z%mӁOhn0v Ǫ2Me"4 ݪX[6^ #$|*A~ VRF. )Na$.wMb/|jZh`H^c9R[w+d@8۱*NP *I[am\{B8m /O#H;0Pܳ:,w'6 ܩ0W$$)ORP Ydp:9K"3čB`atHLFx|ulc~Gy&=ɼ7 g+%BU&P76띡/4`u ⒼF"c5q%Ӻ#O2ey 9_!?`e4(a hY '#ty'c@.+"Ģ{Y5jpٿ]]s FQ(Ϋ: O8|&Gت2J|o?O> K6A'~UAa Ӫy? "SKE[ H!@\zķ2w)Rj>4d>`$R}a|VPl%A?^$*-&B\8?άvTi*~%w} =u @IEtl.=UnOn{c#~ Ph (Bp5cjk$kmLDٳdF 9 xrǝ>W䂑;VVJpNK>G3&v>o5WP-N2ڒ cg҅J |1lӝg{F|L~y4Ar^u|Y HrJG|M}0;5Wj͜5>~gӶ5zv"Ѕ)qU5bjsjAO)YC/_o \)N'<ΟFBz-@W"\AlTUeSԖ)ϜzҤ+MĎ-Y G)o^P}Yd(Ye@1%ZQ؆Yk;lmwP13&V1:-/j\%m39 SUK;}ne^5ݍ?rq~yQCGV+F۩U1Iٹe&=`&=`&=`&=`&?$I./-Ԗ @NUHV]$徲^UT(p+?/9xsDoz5fDY \y0BY'v \?iYfG~?#glы'rk8Ib4*ɱ1 OX.H,F3{1F%1. GUӬ,Dc_ I5Tyj#YDA+_P1N&,I 兵‡~- =)L{$Z8T5lڵ*;8<I@hcYN|n62rn'{ ϸgN"P ͱv֨֙"48ߝ֭~uA$<ݫlo&tCp)]+n:B$=7GM;{Ӧ^r_OE&ToߖYIwwiKLȬph?RV,f ,7>s#I}1λ4̽]pՀ^@gkφO2,~?<˞3܌JC4eE?-rwQCݯ}}'`%&n?8}BP<`tXQ,jt1K~p>Uس*<p0mG&b/&j[=h܌vԴEOj j\h-k@U' `+xOOn)gAzQ??o/zۚEޝh k?7X~Ύ̔'ymFoV7( u tlĒUt/_fơYr.n"8H`TSo38t@#wXzicf֒ڈ=ЩIu(R{EGS!^t!0N淇EX m`ڽVo7Åu64Q7#i`Tzia952{REQ>d)3 Kzq$oxu5X`!6POxXT9j.dm)ܛ!UdӬΰȶCzVz=ayru fim;ш-lW☙j8 \M~URMO _y3Nf{FI 5Z,\ oύu#ہڦJ_6O|H( RIzbrUmuidFFZ?%ߚ^^>ؕ$OL#"fTg'7RE-] `肞:AEkGAGz5יSB-FNP 57[P5s5`U=~&ڴX ;Yf٘5bAhI5 2;[bAݷO'6n~ #aڙ6ewD tpkz3p8E~PKŋ0Eė"Q{e3bta' s&,,MO4B>{Pڰvz>C=ZZfom}n, BM&q>jρJࢪDG\A/LlWd=P Zn9 Ɨ59u2HX||i3yߧPGZSAԭfKV1$g\ Z=uț!Blv\$ 63>nZ^>-2"kҍilVp(ΈRZ#fJJKMI0 ~QMI4sj*/A 64! [Ocg29rt#Gh0[][ T?DELJ|wndW/z-W%/ Bs:iqˢOR|9X$'AITڠ:Ph=p@< ^0e(MM<1s ,P s.X|jr8*=I]OͤK)X>:e&mzfPf"gF!}R^ՄtUK'#DzNj΀y˻n(b?g4ĸb6G٣ԓbڨ{0}|nQjcϲiBǐ3j2}&U<#6.\5=\ӨݶAFP@ӮwuUe%DSV@k՗E dz?ߛ"*hjoউ,#/|{ x.g=83bZ 7LоN>LIiTȾ߫Ek5$ YPp<3Dd;@K%׾\V+)3۰׾&89}y|A*g?K{8'] @m![\<_/>0#_N+TVhAS56)\X=k4^7칏zmNeXX; 5~XKG$"ܼT赨 ob3+64ܺ8^Dp.#8/ P oů Tg!}(]Hf!"G{BO,zP1-w8;i`19j|.bZ) ubꑁ(kU0D:gQfdXI=FȚwׂ?A%iCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEAf B!Mjf8h޹cG?ݚW^HMB4Rc鯽M\`T5 Mٍ K-7o^u} :AcT EOR0ipE$xբi͚ON/Li"vz@-I0Ce 0v>(fHw=7&I2FI.qy8$߲i紎RQ<V>~ ÍbIz:C LӁgP LI5e1Ef˒%e`!@JPfYo*sA3B+WǽMѰ !/aC# O!Y ŋa!ht+(" ^U6±hZ-e(,&(J[M/~K}GH&屣.]>}~L r7"Š]tt@$;y*ZkR=dWCMI,KT!׵kjW#_dN^J]]n bwy@) ~'֭n嗶 ߟ8E,>TRt2)4^f4Bfz.Tpa蚳w$¥JIENDB`treemacs-3.2/icons/default/vsc/r.png000066400000000000000000000016511476710620300174730ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d`IDAT8OlTUy3RI*h0h#AԊI&OGQd .˹QfArA$4cR;EQGn5Xur 2h *id(1GdbfC2vvO^n'if5Q#]8Z-&k~0纟id%& qL}/ι;$4g 277zHdcww!MZD5jƮ5cܒQ$A IO䎯lŮ<z@4) $x7&((ʮ%0oΌ0kL'__pn0ѽ‹}>6lx ~{IN] .wW^͇DzElyj9΂ :!=idW]a7P8wjEǢ6_3Yhr''r_; 5 NU]dcݙ /8[ $6@zi3K-( vzXށ(P=?_Y9>Mw2Sɾ8lqt-qK?ZBMIENDB`treemacs-3.2/icons/default/vsc/rake.png000066400000000000000000000030651476710620300201550ustar00rootroot00000000000000PNG  IHDRĴl;gAMA a cHRMz&u0`:pQ<bKGDC pHYs"tIME68$IDAT8}MlT3<Ʊ14:PҴUHUVɢR*SE*UٔMUUʆn(T!,T)AIP0`;3x޻Q^l99~8c&P)!"h9u#se30mm7#Gr g^R#/6:;@xSkާcӿJnX}xMc \t8fJB*wݽXRB2+ɖ?| [l٩X[O=?ػEb 7Fx\ 7ǂޘ3~>j %y>ws߄{t"ƦPF~3*61kz{*M-*6el墄rܘ/ɕ4(čGFFgvEym\ץ=*h#aX]GŲ,؎CfvCl }}{SX^ΟXL:swikzūUZc  N<>ٳp$---8C44ڜ'~ JsKӷ,uΞ7?ǚv72Lt:p9y sssC*j ?vZ( PPA8b _]]LMM144"zԱDf~xQ+gԮi,5>]e^z2͑(%B(&P(T*KP\.!Ǖ[|<5t*[yXczot4omAa H 1AN s\,k!n 륪.` _tKu1un%e,^g,$ZA' {Gl{/KAqUa%-QUQ-E, >ʗ_Ӑ/bhvCsi8jm1kFȄv'A],ۦT KrJi'śOZQmӐ:]_9W۵[*Bб ZPax'וQ蚵 /dza?7xin!h8j8ucr[sLyg@xaFl߇GXsAwT"G,]$5慅W FՑx*O~Xv='O~AFgEu5xǡVcB8Dʉ'7F=f%tEXtdate:create2020-04-16T14:01:48+00:004i%tEXtdate:modify2020-04-16T14:01:48+00:00EOHIENDB`treemacs-3.2/icons/default/vsc/reason.png000066400000000000000000000010551476710620300205170ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYs & &Q3tEXtSoftwarewww.inkscape.org<IDAT8?H[Q7$Zjy(E"ЩZBG'G7Q\ tW EBE\5:$Av)."iB?$yQuPZeH99?>p?IiՋޢ 7~L8+\!t:CSۉ-s~\t ٛp3XqWς_~lCp'+If%nk'>'h>J cw@]*<7_yZh_V}]za:ߤ~ .Ubs흄o'|q>Ҩ&{iYg C'lٶ GBi<-^ttb#sY/Zi L$1w389|dcdҦg8d8cCn,C'ᓟBS EbQ5K2|]آFEkׅIENDB`treemacs-3.2/icons/default/vsc/root-closed.png000066400000000000000000000076671476710620300215010ustar00rootroot00000000000000PNG  IHDR Vό 0zTXtRaw profile type exifxڭir<sq[`?$ٱ䛉+"$wOh%$OjO;'s5^+ 5|IDx[:v?_ytOu[-{q{"ׯx11ΟO$Vw>d$m{q&-ɏ;9~)7_~\?.v߽g{]Ӕhu&!Iy# yQG:ÌyYg[8JKV^eՖnN[veݶ>QQZ8qO]))ىf b@`է 9hQH H1llo~ 7A@ݯ}4'b -GD}|PՊ'q/8D&-L"reD)6 A43>U|\}Hn<|-Cl)l-ױ{/EWOeV͠٫( Y.+ 81%k> m"e]YH&Yk{D*cMvKc\cQȱ[ӧs^\elO}ac j}Z-cU\x`vb#KٽA\KG\nX"{os6fV_b_&qrB;gR *rU\G=llpsy-DIzsʊ AoREnm@9PRGC u $c%z88:q Y?GTA cߌf6k U11$$!ELSPcU|tl}11Lׄ&! jlqPo{)d\:i570u ĕ#LKKK[[RF{ '+a3b DnHfr3IT1QV|5qnm1X=Xj>/bϮ{AV̬{.^*d); -33VQΥ}ݕ247hI2*XRJ)0D2q!IPөiӨ7³.Y}p&UAŵGV3 /u5J-WuC(@``y O,\,1 2lI>C?lz=h2?wXS R 7%Cenp '):50pX?ݳf2tU$9\ 9 UR`1~Wo|jꕥEMg*to򳺍_N:&-gºW i + C`uLlZ\IBRphec\(P/eyn$bDW"OcJ{4uTI skH 4K!9gih夰pDp{ԧ\N|Nً [v IhY. p\>U0!YZdo݆ [\+) gs*DaiCCPICC profilex}=H@_?E*vqP,MP Vh/hҐ8 ?.κ: "ƃ~{Uq@,#J zEc (9]gys)>xEAIotп \\w4ytɐ)@_,gMy`]s{kRW-Qǻݽ{"rU!bKGD pHYs  tIME:lxIDATHǵKlUs_'vIi(E(eADXdR(uQ "*(B<`G" PEy *═I8v'x<3Ӵ9ѝ;6Փ`!L1Dwסh/V_~>!`  `?X!`3mnW]=%V.tC$Ƭ˗K I2 e͹1X쨰 Xٴ;cĊd Ɲ-д~9.1<ݽnTc_?Sb;}`,  {wjrV+fHj./>3x^p#W?s!̙mN`A!|٩Ģpي9$e;\[إ9PtdKnݶvu+ "xݶ.] յ!IZ1hxDcVMHt F$@m:\0V]U$"#T-܋2*kܷ.)gAw@9)thyD3B]74L2T4R@M wq Te ͆Q>'}^QCb"|FW6;GD=B.)+7l bH}.P(/<: G/1F6`H\F뭏 J3 !\ÏyUQ5UQu5%bсTᏡ5Y$'Ls k6NqBXpXl?þd IENDB`treemacs-3.2/icons/default/vsc/root-open.png000066400000000000000000000025001476710620300211460ustar00rootroot00000000000000PNG  IHDRgAMA a cHRMz&u0`:pQ<PLTE޲wܷ{ܶz|ܵyܶyذyڸ|޵x۸}۵z͕˓ˆܷzōܹ}ܶzܶzܶzܶzܶzܶzܶzܶzܶzܶzܶzܶzܶzܶzܶzܶzܶzܶy۵y۶yܶzܶzܶzܶzܶzܶzܶzܶzܶzܶzܶzċɑƍߺ޸}ܶzܶzܶzܶzܶy༂̕ذsܶzܶzܶzܶzܶz۵xКٱtܶyܵyܵyܶzܶzܵyܵyدrȐܶzܶzܶzܶz۵yܵ̕yܶzݷ{ܶzܶz̔۵yݸ|ܶzܶzܶz۵yܶzܶzܶzܶzܶzܶzܶzܶzܶzܶzܶzܵy༂ڦܵyܨӞɑ߻֠֡Π^̕עעԞČܶzԟݸ}ުܵyōݷ{ڦܨ‰Ǐ֡޹~⿅˓Ҝ߻ܶy༂ϘΗགԼtRNS5t Hi6998A214<-..-7x  j  7hỊS k P̆Q#waRwuk bKGDH pHYs"tIME $FfoIDAT(c`%`dbF(RLb` )%",#''} )VJ*jZ)]=73426153K1[Y[ۀm_+3+['xyyyzO0׏? 0/8$#&M09h`TttLv4M4)>!(܇N0iRr ȅi(2g̜4iVz_(RL4anfHsvy&M 7/$UPk!PӢ}} 2#iZt٤)˧C8K4i>'^)Lb@b`.+i@&8RX* WYU TS JfnXlm4#56-4_=Ͱ nڼ]H#9utvuwBMsjz%tEXtdate:create2020-01-12T11:34:54+00:00Gu%tEXtdate:modify2020-01-12T11:30:17+00:00zSIENDB`treemacs-3.2/icons/default/vsc/ruby.png000066400000000000000000000023311476710620300202070ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8MU9/ngL@HX4Da" DL!ąąFI  &DC\4Š)Q@ALwf{ߏaq M0ٜ9$>ᅟ>\q)Οj;}+opM&lfugJ}i7eYw|w䳜)63T~WFg{t}CwxݥoN/q~u[iu+4Ո,QILRGɴ U1펳7~ke/g^tyI"3s` F9s/6k ]N OCsiG2ی6:w!J0! &$-J@Pf#-H .gIղZڛĢ˵ !))Nt[B۳uT XVobݒ# DYIR)K#6ҌڔRd( P!Nҋ]6D3NiVi% K6tKX=KÕ VUY!CK܎%^uKMu1m0 DUAHw"Ll;IENDB`treemacs-3.2/icons/default/vsc/scss.png000066400000000000000000000017251476710620300202070ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8OUX.VDZZPZ!$ԘhƅƐ4qaԥ@ٸPqą) uS Xk2- s.ҡr~ys9JQ_MЮhCvDYG+ VK=Th$#d6~.0 9W8b'担* lpx4էjx;Y2k*izMֿxش"2k`g5 9'A1Y>*FS925j휗HQZSIR":>>$# >ynU%t?Ύ쾥,N}K:׿lEz1JQ[מ)7Q9>jzjETWsIENDB`treemacs-3.2/icons/default/vsc/sql.png000066400000000000000000000015131476710620300200260ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8oTU?}02πH %)1FLJRhb[7D7HX%Dt)R$Z S4fΔybf ,[wss1- 2tØPcYUJn:8S}(ݚ.}=4?Cs|Xfd@Sf_{q]F F($]Sp)0A`+#=}ρ`{6Txn/=i,AVny,KR=Yqr%ʯ߻EhDk"GC#ȝY$~guË+WoW6:^x HcƏduFka't8ҶT@́Bfc{X' 05Ck_k`}rV24K5XY\zTXx& jh*~zf' ne zq[m~1x.ApO8{[N C&~1C, bg;_'|\ÍM}}k  I?]| [-:^ׁw*~zP~]\(l .|+r{~З lo} [,_2lKe /z 93/DYÁ{Z?]On')_vtyrns߾gP~%B%oCbﹸ{v7]qw 8?}O~9S!rcżp49(+o~ ?@  v;!Fra+<K|>%LYNL2`3w}q8Vԙ2RIHxS|6wgpH!SO uc?%V0SH1SIդz9s.Y$K(K)kkڛoL-jkwo:9gFiQFm |fiYfmWXʫۙ SλpI'ri/? k53;k5| D'I9#c>:2^3[]^SlEL2)7f9e|:2Gy3Qe(u3׼>7oƞ*TLm~a"٫sEmTVGNNiRc<;.sB(rq*}8}=wHC||/H{Qr\:v=ùv{6u=VJgsF9=A(]n[٧ϞuƠ1^{`'W{m'{fm.s`2ݮΩnGaNzIPBifq;PP-s ;ەt #^$*ڋjDx9ct5 {gο_Ɵ8%F_ ؿ 2>x:Š}o11}tݨi$˗iSm?ŜE;6yBBsOH=oÜGbHL(aiEMp gܑL?acn3ئ fo2w MyS7B9b#gqڒvV]H+ MLU*aQEʴL-P^xz˄ Btҍ31fu4vr3f gQǴCD"6bI1Q 1GGqYE{Eɣ9zBP[@S'@~g+ 9H0`%aUdv5O4#HŶ_mEd(q+B`cX;3MADy{H="䳷Ƣ5Ed(ܽwnfU a[W}UHQ,'8g9b~:C~EV29g.g^׋MV|^r߆(/1|gZWq ^m^Mt=ı575(@F9؂8C H#BuaCsЙn%BsQ%8m0V Cpu%|A`$5B3a=[W(ޖQ@fU(/ F [nI޼Ff'<l ºEsӉbn BxPcfC\/}4D8` {UvYz" }YHPfg"q) F!^,XMUqCIt%ѼRypdPU ms8siGAs""NeI4qLZ+hE:GcN#2iB Tȍ$C~k?8X{i قaLE+ Km^|m"7ZGxe5D!h]S#pjXɃn` l1cREt*8n[ ӠO5 :l~4@NA gpC}P9g&K+05~]O*3fL˕,J1J8j]ꄎ1B@#h PR=Ƀt.St=(Vv_\ d-fp{4QhӒGDۡ,e{>n <Svùe`P'-] .[L;25Uٶ`0XNɏT tWQ;k?vF`=:-EĀL[)e̒9揙-b kf¾և\B:S}9B_J` ]A{k ˵Tdh5jkMf|ei@hrIrI7A7tH;цD6YjGBX7^TN#:'`]܀ǝPw{ï 4=,(}Ն U~׶]י. k3tZaZA_ u34A~HfF~Rqͷ7hܤrHꚓMjوT2Ky@]ٿ%$EW Rɨfh]d2W5E: XEVT1NIXgZ~J SMWXO}QǠF+͂\( /t)m~x)IM'e5Ujё 2Q_JC&ſlX9bY" ~93LJxcg-tc"KtxqI±4QWGBq\ݬlr JLzuQ퍨Td^{Sltͯg ] v4RBcq1B#ae2>PAFćN>Vd0!p kMW.5GV=!MC m V_Mnί"}b#a{#;#SɄ*' hAZ4hQN2YzDgiF- zv0h2R>J=HdPR<< Jȁ'DF bQ5w苸^EIZ KEنotǣR1pS&%GklF!EiK!/:m;Vjѻ*tk ъj\qvַv!DR' p'Pk'lzMDwP..*+%N&G,ȩPe { f/ 4ӂz =jc"]ꂿl%>+K9B_SWl.$2 jCtMkOb-@l0O R5P=j{tx+xAchG 8K4$g~- TkaR%`^zI1Ş 2wO4w'*џD5ywT1`R~h}.NE{GY7۶Z烻qVK_N1"+oZ:CI.lmjaUdKčSs)&rvcyV:iZՃ8ރNu) C)4uo*j>n{~_mE;AB}r蕽NKw D#49:t6MEΆD-CcUK63TOKq)f>'VzD+B2Kx2<%]w㩨}";8)G$IDʵkݏCp/SE0͏ԇe2{l{2Ͽ؟}?E ezq4a#jPI^б'on.OU]wr>j Bs-kJIA/%y1@u`ϬG6k%L|, Ȅ~fn[NƋ۬iɒJp73YM^w} _aZb$\gM4:9@ךchzP'W*`EdU)3AsY'Ο+F.Z0 %AA<:3/G=A͏_AO5r2AݠFRDߙz^ w[0^7![ox"m G=[Bk K`(Hל2iQ8.OgawȠ ZqQ3a+{huz17Lz@dx-1|qAxif&fiٯJ%9]gys)y>xEA *02 EX `X4z('ʨ=.½g6H͙|zn7VFp7[ePuԁc,c(_N J熠 a{۳cVWTu;v$n "Y\V} <G7_/x~K}=^}]tg}/.j&Z/uR޿~z߫_ĂVF\ <;#x C >_nߌi0|e\6׊/_y9]7XGፃK̟iۉ˗vg<^9E\wu߾] 7?_B +T56.wy9s|ǜ3e"g뗭XW\ yN.A9yo5seݎ#_K|}Rș `"X xfsرI?K/#M|^|5؄#RSCgŘ+1SH1SIդz9s.Y K(K)kkڛo L-jkwo:7\oađFeFό3<ˬ; XyUW[};Awy]wk'xɧz_^{ןkʗ)s '8I"^>96OR$"|cpaΧ|s'TO~sFu-չy=dljvkWQ-1_l$&nyN}ac)Y$=,/@ȌygF)Y>TMgY~Ĺ80ivF){F ;q**TWj *R#][9{z3J:XC6ᰇv8#ӡcO '1^ {F(F3'X6z?V7+|Z4l>کf99 )X0,"28_ZW[}-*KKǂ1;xVmmpLZw0t%.erFZ#̆}'$mfVumeõ5Rhn0zMJʱS43٘wGꇯ&XinwmN*"w|HҬDn-y۹)lCuKhVX>F߻3SC}4O'`=b{_[M [q5iWe,qN\\~t@3`] K9"2Ɲ'"(Ga%t Y[YnkJ Yg*eHGjExl)(L>̾tu^%|D.7MIZr0c9>W]FϘ ys@$ds݉Y25w=E%l~~T@)}r|RJX d?ww\t Vxpvś!BuԵ@CK04*29XI>bxmk\z`+-4 cey7lj1p\AC2>cn`\(ha,gP)\Lm*l fPMXk^J 0,V?[ubF=e J5^y,rb#%.~s7IPЭSd+(pHd^#Vтy2KQ}PQ=BHbȪ,Rw%9H /i \zsѡ "$w,%/O(Bk69k-bcXjlP4Gp'2'w=T[kBAR*;BެASV#[EROYP DlnnQs ~mQ)wW;*;7`ٔ]O2@Dz% G65})\~Hr8$ DGaeeH0 t"ELY(:P:B@ rEB5h''CzWhIEJ H;!dĀ= !rki7X(܋x PMh@ JЍc7Jq :z")aN{ +f~u/ᥐSǪJI .qM2t7!%>E"|/r˜>:ģDx~P 'RD6djv+|ܯ:w F .X=(sC,&ժGQ\J۰@>.w,N|`\šddux.8WC }'HIHz{aMH"\ TAJ󕝻` Ua !xK}!yLF& (ؔNv'AkUIzrU9]SM qG@j%"DLiglӨD\e!]FT݃t]uY 'P@P)LX?bL;g* H4΢S(@ K#> Hs mkxAU|s@<4,l}P2Zƻ&R<|#xf+ Ͻ ƐST [ ojR7XT?)-@O%X^?"ۇ'D^=ucW^4@. XPN ?2AJP֨:`Ax]\qVՍ:j []"6 ."{Hs)H @~:qæ zO=(y:Hq#G'ގXWYX v{HA@d \ձk!)Q(P:h#nT(Addd,bkLWƃəBZ"՝ho/N+9c {h+z<=wT[bBa:(rx,qA,a@oZWF"дT wUK)wh-'S aHӲ0D a38p Al< y&uhpMuc;.-~-l;ܴv`,9 WEmLZ "G&lԲ^ R Pn<:S ~BEP~7,#e(Zkv^Q0$&R+  s+[m=7Ɋ); $Ħ6 ^,ꗤ,2jF[E!jRbChu F,==Kl0큉DR $9#'a$NRpgB ['.]2A2&@ Y\$a(iRkZΥW0op {lG9MKmBľ+*Uɵ~5f|SɦB[yQUհ #  Q)A[t=EX ^5#%5ʍTJ4;ɵF{5ذm1!y+HBo#)BϓF uaZKA ?6(+R=V |(v@dѩ-|:-,3C/m9U'-|PzP,ZI5A^jd ݞww M*|׹) c0K:yAuU۾Lp)[ o"[CPȝ S ׅ/*Ƴ!CteȮqg$6.ErG}"He׻VoBmyA+RUm39?$+BFLZcQ; W7Jʞߤ0W j@%&bD_aFtZ\DhY& pQn_^(#p ?voa=_]n8vh^v~"_X]׹h3-fXsjWTW % @YΓ :t)S*T!so%*w w}BU*h!8iQ;M'.e 9`c:FDCQMP()A H &!83~"䰋 aPCeHRvөe+lD< = wHToܖ]4"#)St-`'nÀ7*j2_x}j`a6dR>Z9JEuڵE#z@eN@e!XB2P$`6Mx CvAzp`ª{V|lUD'T~"+Ի99U5c`u{ ÇN(x\ܖóQyLD. nJ8З桷kRptv_maG!pFPQK>Xo?dDkf5?"܃oX e]ȇ5 QДq P,]ʧ1V("*jHuDSwjSU딝8&, k#KȪf 4Hoq(WQL舲;ij H%P=F5;RfOB8A>䔀B<}ȒL}ȦIe$EqۇTn3Rux apP߫ױ+\r$Rt!hGh n=G sLjI*5ۛVYYoS)Qn:D~(I*ÕtV_!i ٨m<9[K8Gn|{ Kϐ&܆]JQu"Hۛ:?:~0P ^G:$Pd7fhEhl8tPPtYUS&槚YjdA5&ʙJH=BT0b(EE6}bO N :IܑՐx'iET]Ɔ|\ ƅvڼ'J A3!%%eH%B9g5to_C7P` 8DMf"LdQGə;ҳ?]p-e=_㵚:w.E4_v7 {mY4E(:'@▵jlh@z&:ǢڤI@BO2 m'}չng 6=#W@YUHXrw>7iVX)֐#1-ΤMNRP TESuTBHɷYMPș"^!xkUL\RGCe ޻CN-0͠a&nh x%ԶWPWe=8̠uΝ_dAxgi} /@S#jj]"2ңٿ3meNE+iP'C"zpPb6tޮ.y8 Wn~z)(3"'t$D62rҧ2jQ^ ϸxw2]?{[V)0ңp@PY<7_͏O(j?iง:,Zkxif6QӇN2Ԗ)v5a6O(klu)BtdI/]׳^z믇_RPiCCPICC profilex}=H@_ӊ"U;8dZq*BZu0 4$).kŪ "%/)=BT30eq1[_0EDb>J%9]gys)y>xEA .kxj.E1<;Xq߁[@.^} (l>X@w |ܷEt.].NQv8P[p8L+SwέT5jfEC"T=\y{P[=`.b{~)?88I:NWY&obQ&޹Ig{:1J!.!`AjdfE7:t,p<ޙGZG>BHfHf.'xjNz\lL&.;SlVZj5DjrՈނѶvTk.ޡ(pZQ !`k!cSbbCqnSڽ6+\A#L;j4[ ' ] }!8n"b*&'\~  OIqbF4 ֬eoH]Ud' }ʸN SҏU/ NhN`0haB0nVsAm u:pF8 %uHs̏˲^QӇ1?Nug(mnμ<8N0֬Ypf]@oAY m.L!Ajp?GNN#?Pm_klA!!??;$W>Tx,NJӗ ה5V|P "WNϿ}gCȌ6&0%tEXtdate:create2020-04-16T14:06:42+00:00r-%tEXtdate:modify2020-04-16T14:06:42+00:00IENDB`treemacs-3.2/icons/default/vsc/terraform.png000066400000000000000000000020201476710620300212220ustar00rootroot00000000000000PNG  IHDRj cHRMz&u0`:pQ<JPLTE><=7=<<=F>=@<<<;~9:<;:8==::<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"geUltRNS>+uX )(1fS`@Z^جL v HbKGDhQ pHYs"tIME  %IDATmgSA {5r 6E#( Q,p;'ygW4KCpNF 8:&WD8"f-Ҵbf#:9]6_|;::[CD*b)+3,kYC0sodԝ-[B"yY"QZB {5NYLEqtt\N'g~T`^UNP_c9\WUY˫{aKpD2(|};Y{A%tEXtdate:create2024-05-11T17:08:50+00:002$%tEXtdate:modify2024-05-11T17:08:16+00:00jX(tEXtdate:timestamp2024-05-11T17:09:29+00:005IENDB`treemacs-3.2/icons/default/vsc/toml.png000066400000000000000000000012011476710620300201740ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d8IDAT8AHa\$6,($`tXCI:ZQPxեCХOb*L\wM}k$YٛwIw|{T!ePծIW|x1Wՠ^Z]0י3ϟ8:3؏T4B4;.dKqCx2gVwUed ɳs4[|0LZMKjbHWS.X^<~F2sQy?q!je$S%עa%7>&%cu֖s*Tjt"@ߊ!1A@K]zs{TWDMSIRcOjnEhulQdK9k IENDB`treemacs-3.2/icons/default/vsc/vim.png000066400000000000000000000023101476710620300200160ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8OWϽG< 6  ! *%Qԇ"%R.U7UHwM*R#d]U6!Q!%ihTҦj ?ogt6*jt;6-2:XDz I2A_hqC5:؛?1ZtLar MJzXCN]hX&+%P(v192@a R ]<&-c$AاBa o'xLlvyvv6hN£E,ܠN AQ!M!v5뽛M((U*Q06Aj$heLMNÇAj.7fVW> F<+7s5cg8gɓ`2As'˗AfmP1YBOAb7=Aw IJ ZQn=}P4 a DlA{Wߩ?Wbtj,  jqi:qFRD#L* BSn *cW5|Z驷Xf MM<LV(ǃ! mf%}>Xʢ7tc̴YdP/ZQXA)ғ'X|:T.jdejx~Hݬn1~]vmAZ"f`0F=$V!K(x`J2[n_Omm 㴵RT*ׯPC m F [@D@iX5ր IZIe29֮RL: ӉUчKヌ9u<>s~.bnmrgVF zF6 cg"Ǝyeuo^c[kI$r PPJįQ?Xg+ǠdtYZYQF,V%ttvxJ1XۭS=)gvo~~W)SxZ,#ΠR(~1tp8\gM#L 6GMB9 ?XR[;6SE #k)˥Rtnn^_FKt&##kzWvlRs/%wq ќgVCIENDB`treemacs-3.2/icons/default/vsc/wasm.png000066400000000000000000000017011476710620300201750ustar00rootroot00000000000000PNG  IHDRj gAMA a cHRMz&u0`:pQ<PLTEeOfOePgOeOeOeOeOePeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeNeOdNdMjTyeiTgRxdkVfPwcnYzgwdfQyfx}jq\mYucLżq]ºxecM{{~vcp\noZbLgQhRhSbK $tRNS=geJOf8&;>tk 9}bKGD pHYs"tIME8IDATc`@F$6 +s01prq<@a^0g`"b*a ([ERJ0EXTUT54ut ª&fV6ƪpa;{G'gW37wO/>~A!#"cbTaI)iY9I0a\¢⼒27fyJeUuMm]]mHX1F&<S +*aef({Kbx0%tEXtdate:create2020-04-16T14:08:52+00:00%tEXtdate:modify2020-04-16T14:08:52+00:00рRIENDB`treemacs-3.2/icons/default/vsc/xml.png000066400000000000000000000011001476710620300200170ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8=OaXA) u !`&Ɂ`ھuqb0Nn?Ѝ? !ď`]ےH ],Bi3Lwsrι^5菲aoWLCew\ F~WFy۞r y - lw\sztn}:6'di=TAevX8| vo0$Gi5Ј9V 4ߺqfjf*3F1[L<_)ظPY,ؚPʼ+)ܐoF^ilݛݥ:>7[Jyg6RʌJ653d;hˎ /B3A?:'bDьy\3H5ƣxD̉K%9IENDB`treemacs-3.2/icons/default/vsc/yarn.png000066400000000000000000000102361476710620300202020ustar00rootroot00000000000000PNG  IHDRĴl; [zTXtRaw profile type exifxՙYr<y9 5bn0ǟl^q-$2jO,9$Zr'TC\O=?_w7"xS|||m?_w3D">=uZuh<|7:KLa\+QC #Z}k#g)3o= _yz <_~uo>na!Wy ,a"#⳿48Xy)t2Ed!i(;ϳABvn"3TP#Y) TP(ID'UZ9e9k6k5hVբU[%)h)VCp\Zkk5&jxq{s^zm|-`jwK޺!;1680ati`j0)k]P|Q8!'s`s5~W l8զ–k -%2b_;Yf g(`6. Q[%ILm>Hֆ#_\*TlNA=\t,qEv8Q"$dUYRW8@XxO=Qwc͕A ,7<;\[ǟi'CW3ӮE #(\'8su@>@WhEr#c28>?4Ϩ3;'VQt 󃯙zPO'J.p;PO+~ʝH> @#HByhdk'EF72)vF9w^.[v~`~zDS ~%#)+u|[6XZ18iQibYA;24]fZtyLК_Eg{Pgil}*Q=V1w^j|o/}+S/VƧc;tmQ:z\K-D$v+Nܞ:DoZʰao|̺w'LƵUd_gF9 B=w!H;"7sFS +רTһE8ޝ>Q \аZ1uNq2K,84$ڏVbЍ{l;/F+}.]ZͶz pi J;kB!^vѓrGE к2JEz dB~諛Y^tۭ402:aVS;%;V ƽx5>iŪdO 6 7`q'51S6Be,iO +LrCf*!&7O1+6aGb68#[&&./7b;s+7dwiev nΆj}CfYޭ_8CN6h t"\EXHnMsbk d<3ŢXr&Qps֊OÝrTWs,YPniyR7p|6}ץ FZ rZBr}:< Xd.yyH^1.,M. u7#D2G\8̀ 3ˮvJT=U!AN$5I˚hnW|BO;/MaIxszvHPhodU1mv2ǀqۈ ߿ X"ml.0ctc|oԺ{=rs᷶d=_~:pO3%|g?ȧ̏V9>;dVfZuw`7Sd9gU2I3ym@PS^=4E(X"|vdLlyDT6m֫#BĢ nMk$馽cad>WU3'.A02lxE+%EViEOHtYpEdO0 ̴#b;B@{pvOf,&|EgI]ŭl?Z' Kͷ:a;*9{1iP|;cj^ح<:CAH@}$H-^%3mpZKl ᨴ*e*@mgWl,^![YJ%9]gys)y>xEAR7,1xkR-Lo\Y02" e*$>~;LٖW [T(vٌxLaylj7 Ӽ (Ԗ{= ?PFJMVVK|߆RK5P^k%EC^>ٞk?7mq2^̺/5wg:lׅP/rm1O`hX;RDS8QJ2K &EGwvT%%a1"B<޳؁ca9]8?K[5 ~lʴy]i>M<I%!>LŸɆK[q kZ]bMƍoYJp`za Zq_`.c)U-I'֟Nk=I?LæC4hIENDB`treemacs-3.2/icons/default/vsc/zip.png000066400000000000000000000023531476710620300200340ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8[lTU9st.wB[J["ZHR0D XyPTiǖVwYr950!6MTz5%pa\6[vS(UTg&<& xTZh޽[7lڴ4MtsIKWD 'ڄ110LIbxPM1{+8#0j@L2H bhw9ee3za#a, =E) D@VU״C\pNL&`l~f3 9YNψs4 E" .TKXXf#T(576Yn3Ȅ@$ S0pI0]JJ2=pt*dDÁotn~hisS0W{<wO]Z7j;5 )ϵ,Z錪iɄۧNq3COf<)ƕ4VUW(8(D"gNw+orulw7a#*+\-TPV$0"Pwi+f+ W8; g:YZnW;^6'vͺҹ{󖎍 IzzG ju8cb֡ϥV z|6gfkl2@Ӝ-F&)EgSh[/)OL35xG߶h̿ag{;IENDB`treemacs-3.2/icons/default/vue.png000066400000000000000000000010161476710620300172310ustar00rootroot00000000000000PNG  IHDRĴl;IDATx1FϣZ.Vk2[;<2k588CI^k|0tћUG֮x >z:yH ͽة 1fIPiǺ9o,Igĸ/5~NO/%o-\0y,SkY+Tgm}S'z"o{f aIﰞ>i?vakn7 T TjMu^P )cem;zjaGXR!Ӌk-.Zo3v{B=2k}de[R^孅 RaђlT=[[|1-Tn d1a47 *vFC1LM; Œ\y2 턄F螂vcExS V=qF1IENDB`treemacs-3.2/icons/default/warning.png000066400000000000000000000011231476710620300200760ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYsMMʍ/tEXtSoftwarewww.inkscape.org<IDAT81HQw  1HYJB3\\n;VSIЭsP)jhׯC5{M>88ߏ?,D$7W!=b >|yJǵZj=7% ONJZZ6:f2x>+Zf-" koV=0f-Z8*G#3_Y#D9߽BDž#Q݆'NogIJ?CM?%}c̲pƘjz<"IENDB`treemacs-3.2/icons/default/yaml.png000066400000000000000000000010671476710620300174020ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|dIDAT8ݒKqwʁ{%N7e!uOu-NGԡC$vCE5Fb D^fph.އ i X5Yq]/>.\kAiܝIm_A?D3HHv(m5jzN=Qot` [;t EhU7J+v 0 ay}:ӠEn^%DJ>/^f;`e} &{17|vH2By 7ss*+־%8B@{I0~l|obRyRTru wKօ"+ S*wsʷd1xޛ{Il6vCfJ|J,]5sgW6?_}x ᓷӈ^ajR95:IENDB`treemacs-3.2/screenshots/000077500000000000000000000000001476710620300155275ustar00rootroot00000000000000treemacs-3.2/screenshots/dired-icons.png000066400000000000000000006732661476710620300204610ustar00rootroot00000000000000PNG  IHDRU IDATxwt\yiA vRlI\kq/N$++M|_n;ۑ%[%*%R%"), zm0 g 3y>~;쳷#p:u-ݜkg8PȮHo j,J帳 Ǽ#wl!~>| .oK~ #t- Г]-5.ƭ4Mz1ToZrz5j_;Fߢ.P=/tkdnWt`~En_@ WO5ȏ,.XNiJ+o} BF{|8Dk 8B BeN?-T};14+΅m^4p{|`(P,b/=|D&k9^B\<8isIRn @ ݪ؞Эun^7"Łӹ]"T D&WT'TTx|w['xN&ٻr61 , _ϒZhɁ6y^.Lzq8d9bOe@Bu3#13uR#8ĕ)uO@ U=[# t)'i pK%˅&rĪEGw\,?1)Ƽm (NJ@3hK&%w3+ȈG9É~H|G/J-+vWmD'ߣ=EEBZ6W,!ߤ'g`"D(*XKJw|tտ2!dBWeih;/ '"o<YK^14܍XJEb!ݚ|6ZK9xmwv61C-l*#YbM~ ^=T󏬝:;x_o ^f G.Jolq e*8x]ڣ!{[c'tЭ؞%O/϶a*< |>8+/x4bJS |pq/# lnFcfJ]î$>9sq$JM$18Hso=!R3,CMww7<+,)XNMØ &-&3T6X4ցӼڸl35$zzhbo(f;cu _x|y4 PSQXCoa홊Y@efhDCRRJnخ^@EF<]UL|`'K`E~*㽭S74Vc•벩.3p6"s0 R(JkqpPB 5E0T9FH#]t a:TUkJC^ KYg7}5T=eYl4` &PWJzf-VJkuN@/0 .^IqanݍT/a oLŦ^$ NҙئR0[Kv2 `Ts?łsȋ/yþ@גnɧ,GkrW:8Y{cgZSI=\ y.>#ZZ;0R XOy9G> Sy/L :jVgkt Ev:;j!a jԭz Ru ߘn0qW *B *t,nUjEGC}y[3ii2z0ܔrtEi?R,p(m_)쿊RB?D܋ ʩbiBmN&C>&֖p/=xKMֱۑ?tE&$PՓ (4mFgJBҠhXbR>H4ֱ|ndtZB~CDoI*94 IzE:Hk祫7Jy/ʹ"$CCȀ{  r*5* eoQhHc/V.xU0n4>kSAT$'gbN`s9%^0{s r(obP"$3gS/11T/&ZmzUq\S6V۪+IT@ UV[gX=(m7Nj~88f}sB$^ 8T5,&Cp&RRAhz7j2r tpc6mb)i:蝺EANU&ƹ5yzs#UxPy9VP]!\}#(˥J'3^ ZɜOyv&ZIN}^8CY>%a HJ)8Ix7 .rKQ۰ -%a~qy..\2#^F|SR jm2EeOPLxbE< V'ePQ64򏏡1+qIfh$`mX|bS=))4^%ˌEBVƃT`kcRXFQ(,8=x-#uw"cSuu3QJyN yzF}L׌(:UKIt\Æ 4 >À3HJR'n.Cgfoqx{@V\E!cũM#/$W;g%z{/JH\0SzN7ʄ>%efpYh@qUHRg'㴴#Vힽ8fsB *tuzAƒ"ޠ$~9T܏A ?e7eʟ@]AU4$kXs[B^{EaZo]shptQgЖ'X>YqEO ?zonUVM.r`lJ+(j.ڝXS8bddP`qeQb@ ̋{~+t뽍Э,w:SOy]/w?8@ ܓB `1m_ @ T@ fMn@ @ @pO U@ @  fNЕE`/#{ٷo9r)'nS)xV/'O ^P?߭_p6>? ￳u :FѢ { ;;l6=/tGV݆ХwB hTd-gOO>lz//o9.qk<#7| R8b9t7bkRMzB> =]8>t t٬]dtA'CJ W;<2^qzԭ9>E1rB>kR=Ri];lYxԁqzz>hK/)V>C#׿lja礸T`Z%*>3üqg&Lbma)9>|ShE?@ 5&nZ"ti$.T ܗ,jf {9hY0=t!;6`(*R 5?<59N>ј˿HKj5r&)w;Vfʒ2tcgxގ:5r엜YR6?]WesbW:7P;uwxɀ!΍3?3ac3(#A s~dN%VWZ ٵf #}\ѓ8W_ƚ}]gԾxzvى׸V`3r6%;JaxlG:)CC-@֘5Ff*tid.Х>bqUw_Zlz V%Uӏ4 wsXJ/ʓ7Ry50> 2R, gF>y>w,79jCXO`ea*z>z&oR| ;~͕vzoO=%yxɇX͞L?WҔz šk'sVIkQa"4Go»ME,QG? y|r 58Ġ~i5yl+KHԅ_op3Ħ?oVqs}J>HzQ*OD岝<p <&6ﮢ~q[->C'T!N؏-yc jO2PUQr7C3r(.g *H: X:~EݨFOX$rfn**n&_'ocKOKgV{[n5nTRKwPu$?]!թ>tT~lsƕS\/enˣ*/lw7!hDs%cP}W\RcL3>U6x㧿eLGLO]KṢ>AIۃmd߮DP蟭3䓉vӲ݁S] .Nz={}aoiVA?A]}2{&aοeهXR?RX1~/ECMޖy7w[Y |.N$6d+gqbXƂIY;U%5\Nz 9e^>l[#z 'ʈ:?99c꛾H]->d$"7I[ǿW|SCS`AlNs6p[UQEW]6٩&Md&opIk)OLG`49;[3iauLFU~:mnJƟ@ +*tЭtХB ]*YAx3>|Z6?+@C%|g;e':'?C@ vE\[@ PE) KN$MRGOKݵYZϕ {sZj u|&@Zk+=> xhzyG?+vZٿ)Q+ E[lQ܏%`DkX=~\Tp?rP$%(Yd:yprmZЇM%[]l}c>FSɩT ؔnDό3PbIշM֋B3|ܱ8xs2ϔCVlQW=3ƁN בu؏?s]U6T8@t#9z1}K竕:>[#N LT.M~ݹkӱ?CpG+س4K󫜳װ ]5r IDATKYdCmh@%'B *tk*tХ#t@ ?Y5U s06AE}8RIUCw0?~dAN1o)ӂO06 *\o-Swkf<LVκBZ*ĥ`14㓎`xaإ54*\?$,]t\H?sF07"l[kYq9PKou>,,8_dwq1ƚfl'|{K^x3m`$QC+mkV0vMة=Pz'!Ȫ(u@,/sO;4CIY;=E[Fg,l.X2u+[g|~$c?ʯNbԛ5<5{RI "+eԞ=XN7J9kشj=#}9mEz&휼p12XArK=wP{ [n"VK.T r U ιVB% (W?ڋ~\dOiv›|%!!Gw>S(^} &jyz}<^2,b J@Bss#G}3HMh??g\.WdysϠu uA"LN+gWsgpz=+]\syx^ʅE)? h}j?kFkcd~2v+#L>>IFinO9ifa s*qm#.d^Xr%mGG&Sg@yfm`0})x|5{N2(g `uK=L9? z ЭB  K.T f龿 ~008&ihq|)Yd];yh!9eTykgi駷9$2ZHܔa?" V~0?yښe0t= aڙHNmKJ#ж3[b~GpS0*,LSm2R0gQӬ+vWxgo!j|IuMOGؙn7dNϞ‘0JRulEg2Z,_QN]l4rU@}=FõMO#cŦ`[h񧘄L4]!&i/%ifҔLɽP8ЌГϸrR>܎?ѓg&?1s۱qGedQS@po!tЭuХBF/t@ _YnF׳}s9A'>MrG|&ٽ^fHmÌYΞ5$+iF.2vEӢ!;0YWiYа?J)aL"3H߬nQ %l(Ky3 0jZ1.^(~k;<Ȳ99J^ц&lLVV>̰b?@ UְURK#T ܯfwÝ4矃`vbǶM<u{zJk86ufV< htW[*Hu7spټ%\~{(۰˅lٻ[R]BC[(p~Fwd~No^Eio>`}B;;n#f` R\Wx67u"fێmlY]JC51nmJs$7ُZQ^Yc Y1jk&GO5]PPCldx7|J (*sqxR?8iP>ȃV$K㡗8pv@P_%i-h7`$h) 4ڦa YxI]Śe',e氼r ^ˀ^&4,-IuPL2[*8WFסxiTBkk}FZ"u2v`"4܁Zl3?w iHZEn3=m 5T1w[ ?J ^>ykgc,dMֶN&7 bBe+LO7z-א@ (p80a *tЭS,nTHg#t@ GOw@B^|*FZ$x3nwY;7/\Dy~GnQWe{ {^pz?;VGmp_U Ed)-ߤ0[ߝudC+Po3^J*@ 7Эwn*@ [Q@pt6%k_b<:p!gw@ m@V@ n=@ mG|/@ OLU@ @ @ 1*@ @ 1 U@ @  njO/w3@ b@V@ A84:CqZVg~KXʖ+(NGcݎuHU|gyt+Ha<10B}{v"U*:̹\tl\uA*!z9]Gb+"= #lKXӌ:2ݗOVߋqcJmkIQLj3ZnM_2K]FƫmPw 7ֳ=tt#q[5+6LJ]Э]6km:=]9>҂5 ]0;T%++)J_+լ A]. Ox]:*LkퟛDQԥt@ [>S5(ˠR]XRKKFs $A#Rp u>B>W:cOyrHj5kXeƼ q Rf'ՆJvn|  VTe$K%;yG˨NҒߐNi@H7(6 ifߵ)t>E,Y!3jCd~̄sR ?KBmQTQHۜ_6zMbrHkN`}=Эٟzcm(ϿNSعu4ɤhIɿ%1E]. Kd]1f._y[FF@ X}!_Ŋl*MWՄHWʉk;Nі$]}4&"e쇴]g3)N9FY %3'7;DS*X.uWE?;k;S?׊99S.?(rxĮsآ/ʓ7Ry50d@6|~I[(T :cOPw&* tQI$qa9«p(!'Nu8i9hdgHQ?RۙMZV7l.ʧS@ϼjw34(p@'RVpƺ坑"7j],ˋG«୹UIN] } "F rOu5CZҷiTJb F;w#á _L$60Px77DM@ :IqAN,LTLIL:vI  gQLW}R_efSE|<G?2MV:2I֣ pu9 d$oj(9Gѥuab Z#x8#LzȺY TdϯϞ?}p $]J;xhzy_qv&TN΢3c@<PQM_j>b)5:?\hw+v۟/n+40$S!>4/̭׶_ExvG! qF# X3xO~Թ3(1O7_eSߣ/c/_f%F>ʧɷ?]kDZ=|% a 'gZcGJ'3EH$D#51t|=#\Ku1c6 `&/itF3koHѓ٘$`tm/r~ꯣU !orIJ24j>K&}ػ~M) ӵOy}{gl˩~$ng5@ܪbJ}@ bny㠯vVY+z)t+ɺu )U8,ԏ#U0]ڠF5 >SDgm_v*O+4TK°D40nb߬oWS9!Nau,gqg6_/1H^t.R1JM@%'$28 |ɩ}`@`Z"9Q_ǫ[6w5S“R/nǯ~tnyk,-}VJ@8n)85DSZe':qs {w @R;y'.9 4A{K=-uNgm`ka>WB*Z ̡k1E[lQ܏%`(y{`i~sV_/+#5aR6vpM =:S TECm8?h'qАxj̉j(N%h O :jĢ9-Ϗ潉)nȻӫxI-/Omf|t4~&&@KyS*K5h>'oW mAҍLhVK\MRRz{L|pLr-[ihj89omlJQwGnN֭SH)talcI)!C@&#if6z_J&Չ\v%/H02tLq:wO$gW9\9;S׭ui,Y  ƢSLmvg'9zYh&Z]Ђ_Ut}rI%A?v.0oaŦIF, g5ZC9=cxwF_Ĩ7'kxfkA8U`ЩS<&.N22*aCxd?^;9rP(Y$0L#QfzS{Pj$V\I}B]\syx^ʅ\N$]]G\bݏlA%EGR .~IG{ =1ķ7H@#llb Lf\gu2ښ9׍&nrFFz)iڴR.-ꯙӪ@ nt򕏳+Ź38=VQnu+*3RN"+*aw*Xe9R{R&q i儲܁u,]<{>yrRźY  ɢ:awM'ЭQÞ! >".12>[]21̷Ŭ  wm?2e^Rr0GVptU3Y{mom8Gd@3*SZʵEUElNca~95(a{b33S(zo=ǫ_᥏.uqK)kdef4'}x3@rcw͇gO|}%) :fG}qE.H"Q7cgmM7j?zoWax .azR?om@ bbL 5>R\^ 'G%T rIeEBggY N}?;h!SҙPEP nGؙn7$Unu+M$$v^l M\e/6M2%*}fkSiԼD63߿ȹ8/YFՅ11.]A"k Y{̭[R9*B A,,]oG],᳛`DM5GȯA^O)hs9Ae˫Т e]g.<nQ %l(KhcG3WvE!8)\=kRIVҌ](yLi,Y]Awg׶%H! YYjwxӌ]J O10 6lg?y&J=#NG׮(6 jl,d#U5NckKj(ikRƸx2KSf˜\?XxZ'=u= .B-*)ؑīhn wIL'g.?r=E_ uF[pj G p3R$wS9M!\YV7V[9d%3CE">>5˱I_p lg]r{t#mo?xj5[%9UeO mFg[Sxs_^F.p^"sT8w)6 J_E> ?[VA> OKXo=|ԺWygώ/| 3.Fy S_|lyǰW?>`{Evpדl1ZWQ+z_l䀥WH(x2mDr)C~`l{q5^k)NGǭ\~NV=ќXJg*x]AجlZp؈YiU7E)ǍD R@p_"tm&Rs3׋t_W IDAT7Эf1uȌӃ:Bڄ;@*ev /1R==-&^jcxPKhRWLѐƺ(M..Ct>F\J? N75y~F-f@ ,,RN}Iue{}]`B @rSغnqĺMr׉[qXd bu ! HB>sݙm>c9{g{>{'möɳE:C_p߾۟Ex{q;ߙBqm~FZZڸKn۟$Nhs_R>*~ֈ}&2[J̱>$C*B̼PtvGe)0jo~`:!) !+$uB[GN'.K)bPm>TsIiNZ*bn\B!Bv2{S. cu(?A_xBY EU!B!XO4uGB4s!B!B!HQU!B!B!&AB!B!B1 WnZ+a!B!&ArB!PRY'b88G, YWLk5($}/v{{h {= ŷqKf*I6а%lŐּ0!&+iwZhB0p=x0GFAx?*.`H;(?s)˭Yf3?Foc1䦑1 ?Lw:<8ζQW`R; *%u6(S(WG r[lc о-BQp-vjRI;l%wE$zwki<~,x8kk9^B?ݾBɺ#U  +Ze 1F2h \?1 J*C3 SoccvHY_0;͇5}$Ʋiuy^QZ TڜIfXǖ %+7<9kW͙0~i,d~X/URzJn1I%sM4pQ!e_< dgǧ~sU+ 7ơmh*jؐKZt$YHF8\JBy!ur퇦%&}w'{{2jyέ* .*,}{iW 8Fz'q4Ű4KU:^XIOI`no<gO_@Xn_!HUsZ_VT3*͜OZ _/$&"97kl .%q=SWzQIn>*2(;)?[fM]KTnW5߁+Tƚ7,%~*@;pOl2Aj7qEA|v8P(\}RCk/o[29vn`_< hsX!`wǡN*ylx.n,Nrf?܀6d|}gcu8j_}L)Zx#x'Hef[YȂ;M;nk$[H)0ptиo s[>618V灺V:WTj7js+eOÅ'q]"T8uB1fw.jܾǼd[.2ءe![#k)$cH+Eg$25 wVf_kypBVm,^LwS#s~H6S7x@ɀﻨࣤlr}FE(qm~_Wk5z>g]ݮ sѾB)ݑYg9id+?*9{kyJ?÷6_QoZJk?||R^+7ᇥԝ}J V P<ȿo>ivϪII_ 2{{B'\'`mjRfi ?qNۏ!62D]ueNYú3wRԠ;ig2ֶǟ/?8l0&r)[ G+֏[jtz@{=$LMyGub\T=xZ"Oe_59Rxu}^ ~|.>)jzF3%1͑ =m? iB%8^m3=DyC>9u77]L$<7QBq-:CqQ}]0]~wXi|[snP@U/PA=zⲌ'5}SAyhm!LtfȵӦw]M#ITH4GHf!dSA:tp{DAƦ8}iɭ3־B4EUS;QCc{h<8 Ռ$@/>Mzŋ+Qo>~y7O:Kˎ>Z c {pI!H/ĖHZNa%oA:z[ph\T>j裾{> b1iwBӀ|)Qv/dMKƏ]^/ @˹c)h=s&CҥpDvź>Ԅ0M AC-]::X4S֕K9tްsj!|a5h5 h R33ҥI20Vq rgW ۃуюװcijKD}sE7v Bq-zr+ ϰyr$ ʘ{Agա$1cYq,CXvzh2Z~q#X*[*3X Wi pyD5 Cc]m:c !IZTj42\zjEkEoB O5Z /|Ih4`}o'3@p#ң3?!+aS_Pk/O=h`D"w`9;޲ǒ{6rV NpJ:XO?8rbGAӸ~CZ>^s`p܂D GJDF߽!˖Q{-*3=jTS;cOpgO㜠a0Dct݇jUALxʘ@p4%Og75Q=̎vePV/P [La*hn.bz%rM:s^x hC v o'@P]j\;m7g YTFRKJz!¬!%)y4}9MlB1%:݅':[i Uz ht`JD ct^2~"Ki~ˣK \wn_!6&M^RPUn7\X>d3_D0vf-ug a*\t5!ń49^V$.x(EjG'D"wogk&6>SBGyext`#{?=LEK*&Lz'Yr>/`"):sm#Lyqa1 61F]t&+hFyD3$ I{f  cVuwz {u oý_Ac֡3k// UMק1Rd [ )wSiT5h VF8_!ĕ uۿdk~o'u>^LDqzPݸ&'nW1f 'N!+9uMf4$;ѡo)谦pv9/8tL;vnC*1s5rķ{Ž.9/]ZƝ"^>H qY}z2h"KXT,y?7WYO;kbI]u;8Dn#7/@k?Jd7d[h8]K8ת tuUKa0ټ2OEnCj VTt`/))Z9&]϶m®g"\]ILAB~e,'\\gX1;عuErBLUmZvr$ ưj.Z':K2pd;.0Ħ?~VKuǣy M+ y"{_=_/9@=?lZmA룩v'y#y-/-֘ZJΖuDݷ]U'=-<}ȼWC~I"Ɔ?8j*gvth by7 P64j)|:qq7P&Z:.NZAٚA} ~Ux.xvSB" jd_۳4@Oa>o"T 2qS#Z f\_ȒGΩǚqLv{B!7ɭs>L>7]DrfnU4 $S pqT(pOUfv q{ņ=FH'TpcW k'bt']ocxCzB1yJZZڸYآF z/8{圫IAQ԰;((w&B\zz:&f6['ɭ**Ꜫc` z۟$NHB1?HnO['$U!ؕ/ !B!B!ULB!B!B1 RTB!B!BIuZ͙B!,ڐs*@IBGRTBYt}xj'HaU!B.Pd4 (,V fE3sF/'W ) !,nAܺRXB!W T{w_,Ni^mtu |޶|wlMYܴp)Qh}47痴]|dbwQ^t:BN GHӡu@INLjw Mñaor X12.Mֶ Mhn6R{1s["IߚIJσlzp߀ 䮈Dun-MUKqoe/l#)NG<VMz7N@IG27B!>w$_ͭzRNVhegnFre\2O^HNQP`TVd =h rB0xQ!EUWO'Fl񗙿tw)M,/5)|ӆ OrޜUT9 ƾ d2"nĤdW<>E@`anO@oTp> ٴr]ml\}Iݟv<֖new8%c[҃<}1}F>zSa~pf5J5%EoU=nyEN %l@I9k7/7㋉'{Kme5LyH^^ne!\llXÂ*ͯTLO|<$Y0sfgυgT<&,QG<2 AjTj@pNޗB1[ Or|6 D%. {ӕ|4&ʭ:tp^w1 ?r\:OE^OK^O^OǃWUx.Ub ]ST E? lcߧ5PjEjn裾ƞQK3˧i3+ĵnnZ _/$&"97kl .%q=SWzjIn>*2(;)?~[SU~Dw i͛ɮxFnɌnbr" q߶FP75w{g ?V~LvKw4ǃMZνl`YvZ<6۾ܳq ٱ:į>] tx3Wb"{FH78\~F@7x$ƣ `(3)CͺEi1.p8 S)}Jۿ}[0=iz=S}iM$ޑORM|,Z'jm zhr4HG ҘϢ<_Ilukse I&?qJӌz|$K™ɗWh.3wBVkʻoÖ]w/(L;U'N}Wݣ'\_߾yٟϗeQ^>SM]B_{13"0\6Óo uz}K$ZxC|-OBLts#N~rZKr雙ܪ_GDK)d->#RޔLL ]Ћс?)Se%?x!s<8lS 3+$[.'̵!sԘ5  s Uਆ)nšqwFӇQ Lq{;Fm3w?Fw(j IDATu4#v<5nTJ텔`'y~woձz=?Y{/Ƒ'COa%~CZL W@ P^{;o\Xv n+wXyޮ>'T>F~Kogo_%2ءe![#k)$cH+`$25 wVf_kypBVm,^LwS#st=+^Ac/$ZGٷ/~ɯ^9Ȇ1?/߾ł0F˔z>]\IEɚ r&m;_^6Ur?O>[XNӧ1 ~ d`(hMi,N8@I$9ډwPZEK|t"!֎Ǐ;5L ^^,ST]Xn[ i|Tcggj\v{u#TL+ӈY碂8-vMtB'Gn█.W\Dmv^ya7x Ͳma/BpRۦRzfDWҗ_MznضZߕqEI)퇳>A30ɇR!.2:g3tIn:-3[uĕD8KWyJIQv.TnE=Կp:cmkP՛O JXWq)1*H+CPxz~ vl( ~FiIg;Hy_9|`7|ZƯwn5U&VFv(xr/;,%,P@X̣_+!8߻雍W̟Vnu.gլ:WU0 g~{-?vr|;w/?a_h&=یnxiec{jx\˦/d ' Uq*87#UEXgjUcotr =/WRStv8`|R1*_KZium_WnZK{;9bCEw4| çx5u)yM#?c?~ 1X!h.pweտI;(5q夶 8)'`d3LҤr}I>W)so{Ou=|XRƊU=}%0O Asn&J؇4/N񨲏(tһP:`s~ȿKs10| &3(ס|a<]v[xU%/v1Tz.Wr"KGI58w>&:mޒѝݨIѤ;]EsCU tv TUitj;g\T6iNt:oPo̐{){>|N.dR˿~5<t/5`lbkȩ=U ~jF]&%9jP?i\z,G/ͮ㵏9C܁yP';G}_ }b 05+a'**sէH+wox^G٧{صhI4-?Zvz$-{}=D3a?"VH[;5DRwmb1Y1C hK/E yܶ(GvѓsISQ0 W(pi}=([ۅ'){ Y{)IzEGhJG:2K%-flU3fWǿqdWVdl^ʋbvD~cJT:>և=* ]\^+Tew#o%Υ|`'WƧm g :=8s?bF.ϓg̭S2U[Gt{ .-:jE4QCVj!DiDEg]=S/[i.U=Wi`xGl0\t/r9A.{rϴZ@ݍ] l&C }OKXEIj CV#@ͭ`lBhىO@$w~.c/To1r&)c?ٗ, )G;Zŋ;NS5f==l_k,g1rɩscǧZ@ћP4Z@kp_h4ßQANǨH>Ac|Guo۟+y[zopcɽyWQP'QkxGUl?H={wOp8;C߇u{~q t?s f" c=}'@cЃ^<İt2jOE[%`F x!=k`s2-Zj_=I0$ӯt0ۨ|/$|Yӡ/T< FRKJz!¬!$/e!HN7S>6U Q=O׀7pkL ^4/A9qgΛkmc ضVO 碮]_!6۹5\8\9Oڟ+[gzĕDE/3.';rLJף#$ܣAխT27dmh2\;Q."P`4p=<͂|Tzfx_2rU#r7b=vv[)\K?&ȭ*o%GQs{d!xc}o]I;drC yTԠ@]u3EkGjRwLLr5kB܅I59^V$.x(EjG'D"wogk&6>̙B?c(vSwͺEܾd!1Kj>*aDsO{i^͂[c4If>7㌳t$E^Q?jgN?db[ )wS˃PM} M@5̀9F(đlT%R9Vh"p;Ɛ1jβ81$KXA'J2ȿhAHE^B1Y[ȅo ɑ:Ku[Goo/TQl%ϵ0%>ƒ>nn͈&F;@/sq ǔ&;7D3~ҟNTИu̗2׆Sѐ:NHxXh2nIA|GqL0= Jݵ&xDCބHpֺny3Ko^=F44:\̪0Al^W' ?!5+hluJ-؜hg۶wVaųxmtt3/{+ǿN}#Kl QvZ/F~Cl(s<X^5<}m`Uw.ee\'O]>K{[㠲d;rD;fq4f0&&, =&t|Vb<aM/(ꥥEl!q]"zgdj$Ypơ3cM=#oH!23>,'L8ϰbb|sTù`դ |ԹFl-|as*;:>um_Zi'k*wOfAlp$DSgIs=h x>l_R0vW_8 xlj7a c":䠃B̜U*ɭmzUSK{8T8զWMmsK@UAQ i- Bm$CfkɋΕ|o;5?|a1D +!Ua(fFE!]Ǩ(4:\]EO[p=F l}jU{q$'GKhćv"2qQ _{EIYli+㱞ۿCïrޫZC_4z߸[?BϝqruwJNodS-.;I[%B̲y_T xD-at|%K8bl?:xlQ |靊`۟֏xt߷Xc]{W/Qo۸OEϰRu' 꾍|¬:i)F Oy66IWS9<+t03D3jˮ惣fn)^l+ 5o{Tu~;͛y]T0/6p=-7Ȫo PO/DQpK>+:h{C 71ҏ} 6/fA7qɝq3ƩnjӐ1RF*v2# f\_ȒGΩǚqTE`1:7뱍ƿX!RS0zE{2x(cow^Ow._]5@g{y%`;v;';u1l?.;xmwVbCgk qK=FxFNhf_kZ])M!.1qnLr묛Nn̉DinfDŠ6qnmG-}VAC\r:9[6a{-;(.>T smx\|zOU1* ^/Z-aР s–֓hvv`iՀ$<3FZWq5Vq54FlQF.\+DwK9vӇfQQbL n\ ,20) nz<VT` ˅ hŮAB(hTu.b 6u3|&ԥystNg 17By>R5.H^OL7Uq>GU@ BpUb> lN{j`!B|uSܛrYC vR=ЫQG nU:9WwI+/ͨ]ג")Nc('Bs_+T@jz*9_!fٓWc>VRo.//q3+!B!.g1X(N'`l{>b-1dĤhiiuE)Eܘَj:}su!xQ5kebb++q!Bn7=:s kSnKge84=_Ռw~#ᑻ%Ч?s;+B-=%&c6k4?~Ե)#&Zlbr{ɭ$i xion,#5:b9V͸kbyW% zTfYơѳ[7>pcL( Ub¹2M$n'!ۀYO^_-7'Ągw'\ydE/=4{=:{^˕T?rUT\vڞ>ҍu#QyٸN֢AG .#>8B!1 qy:ʟF\wHg!6nL>tLf&b2thFzSa׽]tYMDMIa=lngzUdf?e4R!'AMWkCRuYV;660S $LɝdRfnnn23wR$C@`0 .4WpeXH:?$ْ-Y s>vykgֳ;]ڕ6*"xʓ c"AAdIJ3 D;DMDNJ6KP˂Y4t8556^|F;l5⣶4B_ IDATa[Ƽ"^Y<^=9a>O%s*H.ސ, )8=01I2|es)|^-95:2VR0UCh߬, #2`:AijIwqZ)+0 !m&:{fSt8oњdB4?ƥ` :B=lڿUN[ŖU=m16N,17ᖽO%.Y(XK]QzMNu'z@YG."E,VDLf6c4D9HيZ m'ۮi]\DcfXϦdI&TXc+g^aX}2zxÌ4s5^L~;*qmLEV:j4q #GV.5oڃ3qk [_/b׿|}l?sTM|xm%/6Nc-ckmr.渗3׽4M>w'(y6ʙghm$}0h" /Qg'>ĴtNԹ~r(: ό/XhU-ξvCa4p't]ëO5F-d{M3`R-^ZvAj-)̛PO0Z"v# qiDPaNpqocrfq ',JW?:ecljLHehEQIaJ^9{8j72h*jchīt"{* J˸[AmIN;/[`O*ӄ`S8؜3{W"XrXv.'ah9˛ѐM1SQQo2 4<*|գz"Fa~RR,b 'oyML##O]nykǔcCHD b;ER< Zy$*'Qm?rY qlo"z>Z̢;GU91dG `9/Et ͼҜA?8WOd j=oclXg{y'6,nџgۋᏯ-{)O<4lj|8r"vK¬d'U XoaQfF$M di3I-Dm 4h-d{&9A/C4lZlah{Nn¶ _c\2M:qPn=cfIFj`* Nz8QDAzՂsn@kUJ'U'c3$y}5h`PNxҵq"=`{5:vǗKE RA׻&HpWt<0x E1N:DΘ.κE)R_B̸JH#5-#'K@_0STDJ~"@Itk?GA"C ʗa=i~Q ȓ+[fCnyqfDo7Ju(ʂ^)/p O֜|٘$ ?MH)ouqW,e~Q23B6iA>@ }|ʴQlid ljAW߲F(>? ,d͵ )N@ ˘\(tiZ^Y`͏myd$,DWDh9gZf >ݴut!I}GxkWH aO~ @d"rcD9L/;lmM,)gxO::ؒ3o('ノ€IG0 !.ԟչX\T$ѹpG.;) ihy:N^?_r; I Z&<W0}$nքY㌀.u&r:QJ*n%MF^Ջ5 b%+?Hd1wHyJ0 sN{ǻw%c"ޟ9GqZtPĂL&Vi=D aqeC2BH3(P_X >IWՌz_"$ m:6w3_9 Q9 /j$$C}EA:].; 79Ab>1r (ЍIFA*6aH׆jk‖z?x @|v>E褾x?O2}N[f/~2oM7Gm4Y<^PBZS=_Tr,$]Tq!C3$No~ɯ󀷉? x$&=2{ߟ1Iiǹڤ'DccXve9Y?*:wN!KB,> sy/\ N!SAo䛗KW1 iM z;qiBk  s)^N}V?Br=7DX9IF:ÄF̴bvIͅhNA8GLAl!ミ\Ȧ "IF;(((WY "+ m](R,9UTTnl?qOkhE[M2Nףe. _zV :S:A")E7~ocU|C$ )<QYQbEUIAAD3=𨷞}}9\dgξlnl@KߟGu̙_we,C*(?i{sl]hWft R ?݄.UF2ֱ?-iW06=54;.3XmyB3҇*Ψar]$bWmotFDQeII`tuR׿ Iᾯ3D^29@9jJVI#0omd7!쌫E~e\Q?bF:"ћ# Bl'u?JB$Syob>.ono'MxѝL4'{`9N7+!Sfl#|-#~YBubq"Ht`$0p,E3"0c?%sjRMg[AA J= nBS rTFQ@˸8){ (*ڛ=iIђ}o:m`2L@eQRXؿ{(Qey&j}L\qn΍bhJR_qzٳފM/1łFΈ jzV)GA&  tp"ejb&;A]41"## ji̤t|V$*|xGe3ƈDDbCUp$:(ҙ5{6u7q>7DIq 3H>\^5ɠA+=pMebpϨB Z)Nl,LeE֗O|+ʧ|`5i!a -3P$<1@vϙKkc߉m X^܃)e)!G;JĨCIH1}jRwxeZx8Wѹm5( RKM[KO s3z,5hMΖn c?'`!xc=woTDDA?}]Ȗ" FV hR{<Ȧl3MzBWά 嘅:\ak> Gaʟ+EK GZ05 bH!m9$]K*71RiL 7qNKY:F2Lڿْyi2 ; s@ wSh;n8n4Js6ְGGn/ [~;Nm4+._wRͦTݑ~Q\sLbaB5J׿.0N@W; r\;p c#8\Ӳ0 TA]ZĆ$@@O389̰L28FWVfŠ%Z3{* &X=vRof6) auhj g&`0us${~***7;SAulkVM z26XK MGif'H&t\;A|nj "-|\'u:KmҜLp9y)%SkjG2M`4 %%JN'I̞^>3fYDihN4Ml8LPɤbf -e3cI)!;G0Yˉ L_y'_{-ϭ&%Y{~D"~BKG#Ȋo xYL_4C{|ȹRŬLwJt'1#͙s6-bg NP4ZADb mn7 (^:)? e`Tuu}tuw ሀ ̈́67t:&lsDNw0f.%]2Q\'ܒFvB83];/'0R|2M!jw4FrVMat3 t{#G/bl{+λ>-Xr,m&Sˈ]c#E(u-(bR2tg)'/Z#Geڴt4%Ս4ߐ(Q"p:CFRQQQ(rL.k Ye2p9)6_}:;JYRW'YA4@8ao!g6?@s'75lP±0qIU:Re:Vg}{DGΧq[|C g(KPQbؙ]ʣw>_!ea0+3d-Yc_]Q 㲟gë{EG؀;DZrMN,Еk[Y8uCCG]Gо۲lv /(2 d)#T~ @wg&Y#Nm J_Vdwo*Z=H|8NƹyLoCs]Sr(\[&NW0 +2(Lx?v`?~)r`ToTN|^GuNZ3n%cbhwm{_LR&8ܛ O~҈lOD͹?ވ/Cc)#e{p6&Jܡr"E5Mq?AYx纏Ͽc}[uxW=rO$ |7LqHq-3`, I}h%_ ]- z8IV/BΦSĂ* _< yǴT'٬P.pv%L(8}ItӸ%LS *)*7^v{:s 1OV40Qu.j_Rz4=5]{"z=V2san'j?\Z9NF vA-CO֥OсsBp\ [4 l>>wN,K .n9tuhtLɫ@bDlT\l|C4kgB.'G6+I =Іsvv_$/NbQUvAG˽.'U TTTTnd!m'N|8" cP' {ۿQlz^rp?%icjr De/03H;;h$m14dUTTnFNnSP0,Rlc]$zfKڠFD3'Pj@ rOF+jp=v6 =I8]tԏLTUQQQjvF 71UPU)AN0 kY9( ]mXN|rQZYijdrn9:5`aAtStש****׏k/| &8 ZFKOkdTK rׄ&rMBm9IƔ 29%Q]„.t5݊****ROpZd☍܄UTTTnLDACYDOG-^EE͍7_EEESh<r'R Fo IDATہ^&JEEEӁBWQQQQQQQQQQQQQQP,D(FR(𪢢 gXQ5VPQQQQQQQQQQQQQQA(//c,^ V"a?mMݻw}ں+UUOj8$a K]8[X_sqٛ7( UTTTTTTTTn &Ob$^\HL >UxB#krY|kPPP REUEEEet(^.***ͮj)((r귪ɓ5PBAzB~W_eQřL_cUXUQQĐ?U#UUTTT?]7z9jDxcGX',Q0 0V-:m]1BQEd^Km|{g5ʧk.}??=מ'rFЋ2Ht>cUZК2hu `Ƥ|/X911)GľʘQXGs1DDmgNޅdc2w\Q3Ɍ9nCDfAGkHU<أ5BM~<۝Won?̉噍:ILҡDt47jt~.1ϯ|Ǹ~Fֿhj0#@i^~N-_ldM/mӔ~f'/giQ>x'NdoG3LSkE_Ȣ nas'D;[Vkiz421iSL CU߮ s P:Uǡv6ԑҹ)Aڷt.:P4ug|)inj~ހ;IU-L_Nnpx$ >C&T'\qWCƂuBvdm*dWU8x6뒀dD9;&UQQQQ4!Y39S.EkDᓓP8t8''h:hxӃB_ȸU1se w9u𒧢˦<24/cN"MhbghEH w.//עƽ-p(}y e8llVI`6TY=&r?v΁G0,y7]y۶m~tuy^u |ɢ~C Ke3n!7Q2gܚ턁PW ؃:3bFxUTF5U%EQD[(bFDKj G k? aj=7ױ>bM[ʀ q9Fh@?2Xɢ cD',cuG•} X`lr' &?9+VD@A ^">NBw.ߩ6*"xʓpUB,k2r"O@c"*Jr#mO0A Qw/:S"IvHhP5?$h|1y[dO(ApY;HAUTUQQ1ZuTǀ?z4}sżJ:Nįo-(yyL{@&<ĻF.Fɸ#bYʔV/.co]?t&2xӇ(_BdWɄn.lh&dNR]~N~\&{)h+Wbucf.(m?G&Ί3M]!Cu ^fqƏ( ԶqGYrEՈ==#GԈ(xK%?;©8ࢡ/ψUTnt]T5T5SoBuQ3A_Ϥ̄'*V)MɒLVμ°dv=C}pÌ4s5 Tǯ{DKޚ/۫-gP7;B93x #%`\Ck19 'mgp%^Į}#}_?x 9< fK^Omhq.k+^ms1ǽƿ) h &N8pvCL+HD{nxXIK޾0ќwQs"NѽdDBxO^7Y eT9~bJ.ӿe8F+ͭT.y :ecljLM2ۜtc@}+3ÈcoOia)%>jN*eߩ"g5t^l7)e<#]?'@:+Ov'^rcNv^} >HBJaJ 8|%@/xXc R{ Rlh)\ǷqTTTn`F~xhF+GU1?Zt&O["+5{i#~_;N'#_.,bޓ.kxH| bLgjҲWh RkIa,zGiWmL`E MPݷݶRPZOQI1cI#B2eXn|߿~/_f60p˃3#rVC9TOņӼgx櫏 yhlUoGJq?ۍb)󋒱 )Ew,zFmR&7-OO6--늸c#T4폐4-O]3HyFMjBYf@WE4x w&O"B~"pQM@8L[F3s6# ̋0gᷧ3~=Mߤb6xMa3M&`#sߒs׳:P9&(߇$N$F-ZvݙU r7_E@DZ`M`Hu2F뷎x 9DӇ^gc]{rB?TuI֯Mp84}- hLk$ Y)N#]^0!B\+:BT d;Aw{s%<򻋊 6XOK$Z͚y;Ʒ AY64Yz^3B^aqrKXjd_'fSG&}tw+wv)M^=sSύrY8ԔR6͏f:x|WY2Zy兝lIg񝇊$S|o U**W0V;/m<˱ࠑ{锾 x0GkC 5q@Kl<^ >;Q" ftRA<'m{חgtp -|ws5g_ g{ۜ8_.pBO87gYSh#anx8"/\P8>#|5/λegx_,usK:j>k[҉ `fN~){j^wsG6,X e,6vYcDC$LLt}3NBǼJ&.hz<7܂DGȒ۲~ЄI{s!4;za#Z+Ve vg'iң@,*rZ&k2$(+cr6wo҄mc82-]7SZr*m=O {& .qK:!@QM1REEEeEQ_y폖OlgVq&)vddD>1+ #&ѻ\ejMB tIwOaJpsEg & ӹoV2&qs>DU1o 6S>1㮋"r.Dn8}=J $\KAdIJPV">^ahx]痱7~q=^\~ҝ/ nT3?.Gw ^p|-.Ϟx_t ȩ";/$dϦLFv@+,GhTn7GFTu^˪aqI|ÚcWQ01BNjGHnbbǂ(wZ~=XX s*)(h ͈su|x[Oپ. \3Og__7Y6#:ї;@3IO6sֻPا?2OKt\у47H󘇦]U>(ku0ctRzG);xe0o7ƣ s'f&3z5ŜAjWvħѣEVK*M~P| Z~WM̛otN(stUF@~v$ HRQ R|kwh[!g ;>γz \7l?qOkhK$'?&(#MR~H =}Z3uEaF MRha].a\+tB>{(Ww{>  oq֮Kߟt FW'u'`GR4e\ͅ7JW:da^\ 8'jDh:g@,M#0o\?9@( 2͉:V~ĜDh`\L3**c͸QIJL\g#%XAD 1X—>(> exă<_G*;op+,ejb&;A]4"## rU|S4fR:}>+yoO_IqƋ=9¼****cy~kr~7ŧowkF_Eru 4ȗF)=pMebp/\A+ʼnrlk`GuQ?7<>**5j"f%t+`2a (Q țo\uDn뉅ceʼT],/<,Pγ1@iÜ5EK j"Ö}wo`zbr#;c:N7#9v`+ IusCxCD~|˹,sľǍa =XEN7aJgF B.5dNIC?\c{$+3 .-bC MR'칏"]DW2[M@4iњg_MS؈z a^caPM -yui3 z;&c1Л>]lK$5X748X4m**** _+d>a $`O:$if1Uw_ Xe ]a"+ ʵ9OAcr XVRYaف*${"Ww5wPR3Mpp).BQd*4Sѯe.o( ,1qNl*HMÚwd3^IZ`utyRPV3!wxqSIiEde\ tv9`W2Q#'q.`2`5[5sCvꩨܼoNFŖнDy7BrGcZtYK*I\ ovLS͜I̺}?,]4& n_(df wb٩˕ݾ@^O̟U >+sy6,@c0A!JUs' A&/O Ywqw?gzH^-W0@ %Rvݔv7dss7e${8L j1`c re>>!ɖ5y^yϙ=9g4=v6XȻk_ܔܘǂyZ<1TQѺܸ&=_r"6ϚE^7[t>{D-)DLW*4hQ-}#'Oe"r6&!_HH7q&Z 93d\N7Ֆ_DEazDbmW:{Ye[~Fi!}YuDVLP_"jA[Y%6|Gr(^_MMPșYɆ{j&/i]q- bH<)%UԢ +PII u=9(RYBNIz 3Hf22?^G8h_X7ASͻ]Ş"^m~-3M:];Ƽ4x:5mv 3/;;QJnY̵oz7rWz[P56dӺ~U=|aQ-YfRIVX}Ѓ >chxclcnPlfѲlZ!M堈yTp+-ު[#_CxW3!-׭~CL3)Qwds YkqkR7On\L QR.?[Tt*>i_Y!ڪySzğ} +6 Pw|Uegfn#GCهm{CW7O7#m̦hK@zZ 3T GfL)%RUG߫FRO7o*iH6jv9;n-[ݑK##Ė_Ҥsfv?f2o)ԋx0a"uq CMȎ=؎味 iȡA;w0oUٰ #4P=3< …6q*2κ浣-~KI,4{kl$n,e^']Ϝ[QN~?=6,bF& 9݉&7[kŷRJ245DA5,fݜx8];o8yu($%zncCٗ1iRrZ;¤jZpcgh_hd^-]6vz'e۟zeܿ$ϑQ{fn;_~rh>>lcۓ] yENN}>Owml{%/Xέ2-:#i ز$)DoG[DAuh {zx{w'w|۾{ \ʤqoXE ,ؼyjD8 S' IgeeAЈKo01';DRD/yA$?\61"5lVVAyBW)wG@ć($%K3od]C ȃ x$I"YF! H_?/sKr+^d<v8&ZOB!ɉ*L`_.:,^_Db4!QP.I* \D:Pm{~Zobr]?@~Ɩo IZ!pS8*ضܕ yj''Bc~ލGATgĔ \:f-4L) _D") K& 0ER˓?8bۍlw[ASW[u!ݚF` X$ 1]OH,L8  pc˫ozwh Q|4UN:+-%C2/?APgHt( cQi3Ob# ̽ o2Φ?& O?2:BCQn+}ٖ̏O8}v.0姢*  9QTA8XV|p 7oMxCn260?*,|۶=>MA.A*  \DQURZZdg5 "twn縥 CUAA(  xL' +0" $dt^TJLAAFQR)BZPt%p( '~O8mƹn   LFbe,TLF^2 Ǣ hTRA. ,ꐑ;y{!^  &QhKt监 踳 \vDQUaHsq__7fi  0,,LD%Ыz9 mYJ4Z "szAw3OO5A@0Ψ>Ὗ>H*} =~;F=~?R8uA6) 0\lDWPhI:Q$FmNVCCkTHFQ9D2 (m t5a,Z6c~9wTq/6#n\eϓDTWVxj,,/!Ъс(^|,^$TAZ[>སnq'M"mާxWz3PX1Dž^2v2wx+\֬e,i`$D {Cxt1xYᅧy Fǵ&RM-0yKeQcV7r?5!bvv\h?}iGKLՌ[O(4BrB8kN_ WԒ{Te=OR$1A^=UB1jMϮNNd,6eЯ`z3UT<()-l 4q\c0{{>Yz ]4?\ xퟑ.E,C_HVSzG 4Za'˓[Tl! wq\L#Ť?^p)Z{VgqU[}SZlVkasDl>X/Fe3OȒxH* ~ɒtи?vO\ǟ5 ne#`(X|\7R $)ҕ(jl̍Wp$_m+|eNq} KX-z`GĒ$-fޗi4Pq'GD LYZDRk2oK)kva@Mٿ$+e[U;Jg3~y8+W5\2fYYhYL|7^QT 3ݼuZglǟ>%ɹ7sWe&ʋStY2vl~z_gP!ge ߶awu<@gϖW[R[LH 15pR2wS;ΩC /.iw<@ QLɏx퟉iFFV0-4 (07 XeP&+\Hzjuo4NMRB E$ӃToo AswBmct?AzQUSƧl= ZFL* =ZH:EקbJvR#+:ω]MSP{h_G׀1{9,**&߃?^Fc,θ4۫r+2~mHײ5TfOV D~sn_gϿnȯ{]_[yoh ˹[XVhEuT;@Pr!JM\W!⢣f/(?᫹g STx7n9~虷:% 12/槩wCNlfaN2'y/715N z,*C8ۃi{PqW&kh42HOC;z "5٤ѨeBl6 nTͼӝHA̵|k~>O,ymE? 4ӹNU> _3;ȘYV+3vE&/?u)ᾯ1/ˑ7_杞Ln{FVkm't0 XQ>Oxiaq(Q0YQ2x:Lc7/oē 7s]Ed=l$(I_W}~*ϖauJ;^7geiU`v>ԣ phik;HFL!\o RQ9F$CoTՕ}$ԟ`_e|?7y՛0H>q~g ͋>C:RM;\dA.w[a[+?] Q:zu)"oe浉 DD@LBl<(%&{:&rGI[aqK`"s#%Lp%vf4EE;|[e,9R-THw54@O{JҗnqѰڜwz&QPEɧ磴^g,gU&6|FxC5ܱ:qr {xV]住-L<%]q}m@R"{⊷}Vכݟ~ke|g_a[WAV+U Xe ݴr;> \>XB- @ExYVu 9h% _w@ Q΅&\ǟ>go5EQYBbl VcS Z+tx){)^:]ĝ>!i:d &%䥩Vb vCWX_~]Z'O#߷@0/eÂ^k1+P&ڈQ7k-=1?Ko%Y[Սx&I &~7.-d:i *Hnɏ7JI˯y4e"8l#bsk9'9u(z U/м_Ee ]LݚJl7M/҆Llg_b0=7`6@7nPi! &읹*A$r Yntʹ?]~O3^t^[䭳,v1b(P+9)_y 6gza xHGHhPPwΡihS[%$W携|hȿ魱T؛gQb62 ǟ: Z'`*5ni6G!\2]^>pb3e%:LS8J^~}vw6$=^|wp1zJ4߽,~hQq;:6mG'9PYUdX.<2R{b ZTU*/ޝnDEX6Ԁ!)HRk$8#P(#nƨ_ksYK/tˀoL+SRk>މ1/瑿؈+l{͆OB wRl9F n'g.EXc|=OEyW  Cs{Rbu:QxE=TDIѴg?%AYl_> #nv8ubrYwFZc$4B#@_1d?vFbDC1b(1T2(}tQɴ? 6;{]%/R@`ɉDvQ}FТOwD)&f}z n'dTG1HlN҈]ֶ(˜;wRIK}| ^?zXF$Eg;Ǥ8MOQB."̉àџ)HѰ( p %1[ '@/l$Pu%׎O K' (2h>T,]~2VdP_=3_Є1ڦrK4?QOKiS[% gz0l,_]c:?4m$m^zzه?m3Sg~;3_Čj^|jg8gy';rÊM"E?N޽l͙Y|09gYxmTa!B:4瓳 A^x< 6JD= UGt -[ݑK##RUG߫GcV9w_ }8((͕X4t4'rm&QowP1lY4 ԋ WVauM6Mn[J/eQ&E[gso$Qvc) o:zފrKu \tPa+42agN0S`x4<\ViP֦3HN הQvsv<$L3o tХ*p50P{Q[uh ^(S~:2,s @?>M˸KI: #˳!mO~w-;9<1ͼU_ƛ2z/~Si.OX7;wX#i ز$)DoG[?U\"O.oRNNθmYآB&B"< A' I@>w'P*VyhˣM'X}Zk/. \&+l)Rf%o1q/$k:а;+0BO k5*F%(5`'mA.ePdk1^̳CJ#r1<$ nOձ`A$ 0mtW2o>   KsK ew!kфÄ=AJ <8Z9yGS-.[b2AC$M󘟦FmoUyG*ҫQ\yonA!WԒ{Te=ORqfH/G?-;_|lV-E)hz{ީzcƙѓX%y9*u/@A`&|J(A?ayQURJq~%J4~&?f;)Iν*3Q^͜"IhtLҢH[Α_03QvVsC\B,\zo7/4I4zrV `mvgb8IplOE]%B;~C2wSpcsW$@ld,-bLrs5tf&|3Xӡe*T` \Y&I!qHHN> _XϏ0{S=AQuPjTHS}B@Ns-0>6^ yk٘㣯HV˜H=5LqHuj bjjd ,wSf"7O'/2 軻a?[NR% _s‚*$)Q~?hcF6YWZ> LdnJyc-N$­2~K(LQi|G^.^XWPiZ4˩ ID&63$JbB lHN1--o^PG w{.JlU!BGS"W JO i-0τDpߦXERG-BY~F%ߪ GɋX'[S:]9:&b9zLcހ2rUSRxSf3o bLMajAB6`L>'>dY }O{s\jvSC Hczklrb~PHOVq叟yegX[O>XS%jay! (,9w2+NBtQw$[w))9"<2Wq~T-6$cwnZy?y:A[g[g9o.# h~~7tf$s11HS[GT?43IFo>fVHCwh˛T=ɨ&}m:jj'W*,$p4G͓Al=AoOm (MN| t!BUsEij'Ǔ<|an4z+vh%hyAR֣!=2v#>C8l^[7J4|(H JeO?+$S^d{c*eK_\?_<-c`|r*:xorս8x?qoRϠ<<G>ϵS_񋭻ȗZ ꤵS2b/e7*?ӥCI/o[4wT㦳&HiODD9rcJ&0Lh+ڡ!\,  +YTDB&nŔ;OF!ԇ)x$# [C:18n|p_F7sRM) 8r{ҔwXlZ+oXYN4}u.6ߟꆗ[?eOʵ+t:}%TH&6|Fykm(]ץ 7]2lJq t-\;tnY:m'nŏ-})\qf +.r:MR:7 \U%)e([+^^ I[aBP$\`t=9qKGԕxoK2cFk& @/}u') 4;Z@R1]M3cs.^^M[R aE?}J~poy##RpR[{%rot'Uڇs靟OLj@12RD&IM8F /kxX+$.)$@gVҳSttg3Z=v`쯪xGiQڐ*40^/(s)_yR* pU$lb!,$*Xeo "ܠՓTpWj2=^<1LJZ lGBqJ T[Z?!oPm?9J^~}v.恫$I@V ksxGЋ͔O֖P0M92T|;T~pܖo?:ɱJᵷSXh +S MsI䭳NڈQ7k-=С}lzT1|4bbކZ# P,'oɼTe"T"`ђe΀ZG$B7'{2g瓽j/NI)x|XbyG;|uuϨ E,մa(r$ikY& 'x<j̎fy! 3EU+>F%G I8#x3aE nH ab(Qьq?07^_$gI3(6*lwoTXn(cu=Rh>cP< ].G>KV:T!zl_<~)d1b eJ5j24Z:>9fnI ,^đcndK6זu'ܓXR@8:7LsڬT2{s}d"MM#Aͼ}j (H[ E,m_"{Ha W \>D*9o& $b4%[h衝s {|S18Sm4(aL~4sQ7`^]GNy2,#cn;fﻵْ ` ްą@ M6%M~~ۜ6m|s&-mB ƀ6`*/-Kmf?Fe[Ҍ4%;w x\HZ:ϋ!..U'Y0uQ7P!{TH幔n'R@w]xhGO  glPMrQ'/>ÙaBY̎AP57!iHhAPQE+(CӤl=qd[mxݾhP$QPw_{L)]{⛹ߜƧPA(#cFbj'1 U--ĚtGΡ3Cn2I_QըEri4IR(4Hghn2'=4 }Z Kg\s٧~I F̦g{5=Nup˝smj%q&K߿l3TU޲jC7r U}we]#i O1_@@z O <e ? ]" HV[?5~Xp!u'ߢƧi0|Q 5B 8բCLBGKȼ)ϡaǺD&vdIXҲpu]=OPBAB~Ak0bLH"eFiTe4ҨSH\00"Yf{o˜zusAb5EUq_Q4:0&d5A@b6@EUb)Dj?֌`-C0?}U:Qf%JlﺑMcЇO1N^rGe%>꟯ˋZۨEOx*l\8=G[.1kѠxK?dB=:u46ɀKOg"x@;1Jw[,MS7`q&HOCn1Vq8ݍWKl4K ~obp rm ϋ;!0:AkE1z5IcGNRN ]EщbsON`Wc!;YWTU&rȭ#.C|Ld$Znϭ\ɠd 4o])ЊO`Jۧ|pv=9oؐ]H^4Y,YRQ>m!d)TZ OM&2F*w$0Ntqc9-  IDAT'g&jSQA.3'e:fPR<7=YKgƒ5GoW f?Yd9Q5]Gx:",r~ٍ1[渋7*{tx}e3+#T ܛ]QpfW7x.OᯯeMB^jcxWlFQU$Urr [v4`|xBF23IH$2?ͻlxzL*a-lXfTݣ?a=B3Pw#s>ds4j}J[4]gn!ƀۖPf ?|5⬽ &rTuq%Y۲%)=<=|W9)(#:̙F A d )~ڏ:cʗJLku59qfEn\ϳ`t8qwdUEUMuXR30&,"1RK]'q52,f#>+^F׃u,gD?u4n}gπ;6.iW#vkܓ̐52J.xe#Y$.6wۯ#7i_TZgΧst'=IB_shH2ӭ(kSnlu&_\8qwYǴ{i[j0zZ^9s?Tk/LE?FJ;~e-uT/MuoiDx=mzO/¹]ZV0Ǣo.@J(a*OUF~a:즭.r~`h[ʘː;8f&cO8XBrt~]i뙸{х!;[M&@,*M^?~IŬ/q(*MN>!ewkՎzv mc ss}t0ڱe~>|[̆w eIQP!F"N)[']nvp0z9r`rkHqоE麹,6}ε1Uuj_Q&ҥ/}VsfZy"r!^1UYIœJC#ѐYKz,PTN(L߅j:Nن`hMf^m/C{B\JIͱwUkC8t9PΟťߑG"ǩ6Ru\ t{o0c̝b0)''gZAjj!!IbiKHZU&\A/ggrHAˊ$HNF[UB{o5{i ~?:2pe6}^~=iT_N39jkk#'gH U"N-sr:e$p6ⲵI*,#b9茦p15E*kĥfWV,aa3M!Etlm:aEʧ|$ԊEAu49sGM\F~c2UJUuC/c;zd~队xx{l3&L 0Dn(,; uQUl./MܪJg, h|^[Op:ȭN?f#dhmeIR% l= `j0/ӥEK?۫ ff,ǦeYކQruW[^@yxAؔU%*p(<ȣLQT;-I<w0"IYC Ҹ:sbW^2u-{'/5%5+9 @~dȩ4g%u] Yn_m&JR +0#2zixo\(sq3,*ͯUe?;K#o;{.}>R)ݜLաl>rM m/tHf^ɀ=OYUAzoV*+AXskLO?v"Ngqy+Y7KKV=s>/bD{. Il,s3Gؾ* QMao<%IpdONH j[AV d@M;@m?#jz'4EUmyOa)Ό)X$}ً!Y.T^8(JO^~"py7|ow%4߉7ROm&.MsVsG[G4`lu%e+yprʳNuh9wͯpl^x//p\m"xnbt^Ý83 9h9{m&f7y;x3Vϧ0YnŇt]ZOLtp0e3;'ѷ̥]޽vhJ]pxR|{yl=nZg,yHj܀ϴ&70c&K 1_qZ<:)D4izhq$л *ऱ 9yV$I]I.B+%d3/ͭT'}e:V=/ҋU'Z_<:Y)fF7~:/-/pxw7 )K3"tw秼Yd:s>_K`wfp]DBq_X[Ƽ,;~^|OsJ d8{v/֒%-殙XB^d=]Y@iGI~b5m*frs쥵@{tM,X;K20k[k+7Xs#rG?\O@5:,/%*}s2''Su{5-6@ZK'IBK aPSէ<#d^K)Ŕ *ǿ^ |L>G\}@y=jG*pv䭟M{_#]f"#mmdcl%`'>ɏF_u9x$d:+OD'moG͙#fbyؚK+WV:}7JLn~BOmiƸ8L~(xy1fPvRr9G%e}[G Gוx~[U=uf6x:3Y,"*`3o2 sQsUd嵓u{!h P$pdE J u\U#uAY̊Nsu?H\ rDyf%1Mn|;.͏<ǎ+K=[ȭk|FܲvMc'?lIlb+ryEϭ_<ׁۘ@b*M|g3 yy ZBn^w 8Mn`V}]2ퟀc%rkuId&zh;$ R `MLG}G[nI[l9Jl H 8â %I"ѪA7p9RK⃢Oj^q -勛PL%Mjc.tTleG' iQ""Ahҋ{UUT54ZMmu~-(A u99n#<V,zU7F??V^jN K$ɭT~(f*!̮:\ق 4s)T4Q)Vy@ V =H_%ZJI%U ޣ]8#hzi%)(c6`qAK\u("5)>9K[wlc ;`бfA7b:O9 Ԯ:7ct^+<:B7^tW8BKvly,Ҷs4rOW ?mG9Ht.z7Os vX߽/N&^c~ۻp9Eu$ VU%ӍGUq^9 5RޗsAb3ETV;ܓs[_¶^=8CkKPSry[I# jXp<~s2?Z$ L'zӤ }f 6$ct `b!€A;D!N<_;6;.P>4^ѮTenZϞ-[xZNlc>DM3<\C'ƒrV‡vMT/GW& c"O_wȤ2919I"Hoc`CLz3m;/iMOeq?W^>󫋘 d\K֞#_ZJEͥxb!Aېrd$e,Pxz]d$sWY_=O!T2GGֽ xYơgxvz\G^AҗZ~rA&d(rhGl?M"?N $C1wI` 7oVwg'A|Lub4ϭ!Kd~_n =MReecC$Y'#E T$ .*qpiy<~>ʾzGO mԹwA$FɋpfzVU ZHz&E5Z}!''T$Ge/!5/?[Oܡ7V}2Eo):Ju ?c)KY}S|37<8[}P@  ehGwFBMIp1Dj̩[s<'rN:3F-Zk|p@mO&,2.N։S۩~̒e|Y >PNYi֗0SLH5`6=۫qլwhőyS;jsktpr?UDn\~Xp!u'ߢƧi0|Q "E!hբC'>Up]VE ϋ *H46RY彁l%Ň_4l4dYvDm/woN wSGsG{G0GXE{3qqhm__4@u ht`Lk:I11%S]\B\i/o%-SQ|']uc3ڒ9TG8F˅s21A;%-Ҥz‘գavڰťcua0:aeG&VΧ#T%z&^482AwqOqJTLBfݙtq 3Ơw)I:"]$$!BC~9(XYNe ݣCSBc tyyAY)x>ϙ론 z"y\VxX8vi㥷/p6T/D+hqKIV9K oIw@Zr M:گ|esu W3P:i+H+VJ/[> G 4,Ϫ,}-=4b<^H? ip*-I% IhtyqiZl->JMsA";au|`[ß_BFZRKܺlɳUr[Թ0F#C6| ^HfV<ˣͽ#e lU倖ę?IOR8GCr ]|:j>۵~oȃ_aOw ^V5P^b Nՙ|q=g2I֗A['lJƒy/ìzi[{FWCWS;r0tVZG{W?@4^v7>Ȫ,>k5 -ۥhE s,*vrU/$PzG sVIm| 2KL4w4A~ؠ:׊w)|k>a VgQ2π&u3{{'榮F3R[5|q>&^ \J'nzG U/]5Ŭ3o2Ӈyb@}S &~ߟ Zμ"=ϴJo._[d kh F|$ܷ "A `kia֓ 8A6t qjoc$ft>; 3zn&ٍ[4a r*<,NeEkr)]j@a5NN탯 |: oՆj!)AÜ -YᢪׯOm/C{B\JIͱwU !Ś 8F}J <;- rrrF#U#$Ѩ& b Û*^PPd&h p]ij9 ^+`հBÒ =^JWZtWLgAn0|*A%rD!  9:d] <CF,-)Ⴊ dO׮"0!s| \? ӕ@ޢ{^/  )]/1DOId ^ SUSi뒩nq6 FTEUA&j,}  d :HeuKV:SQU9QdM3 )$ |Ɖ $EQAAzBSLS~,?[&0=    #R5%Ÿ_f7G|*@ܨJat ,Fm  0yD<(+ q#)Si SJTA& J1U>$oe>MՎz!5r  0ATb݁zٲP~o֟oPaj 4!T4=bef@EUAAڑ3ݵ "J H$S SOUA,Z uh뼳᜿ ٚzP~ ]͘"5FA@UA&YBzf~Rg0;)=@.$sGɃhJ5vdJ>TLZzcߘyc2ӷ[E2Og/^@ VA ͙4:Ϟ{7oƽ|Jj*cfp)I޹_4g!O\i1/74=߇wVr+<8d&^! '!wG2 | A"xTEg eY>o9) Bv> 8E_e]Ф93z\ȌdU4⸖Wœ{O>Y%fA?s;xښH< Mh>6RwE#y,毎ǵ1>I:wt>0g$Rv $ $=%ѥ0$zSKRYE{$%8pFW:l*Bx`cA:}QX~wgꢪj\cEfr*'/GfHu9ɩDwoHhrC˂en>]}|kɝ#Vc2UJUuC/Jht80gc,Vw ڑ_e/G謹$eϿDG52M3C OH`Ho:ȿO`fƢylZmo3uFrɲ0߆RSgˢ`NK2ZzeS&l:%E(# Su5D q$л *ऱ 9yV$K9AׅH!aMCC47BZJgo%'o"3A폪I]I.B+%d3QFt9;FJ;M,d,HEArh=܁F8 9GM-Z r 8%55]%-殙XB^xR>f4_f. ,̱b4w%^vgkwP|Jxte'ɋմi",WAfs$ Vvl?{-1T:ADn\"NnnֿDeqA$q..W'dUnFstr =iIdߑ!wFȭjs+/0dI_ѕC$f _?H(;l ?LxTC ۋb&K'uѹ"0zH( k˘esO{"Rn̘ǿ>Z̺O_~b$U_kT=;}H-/ͬ3Vm?{mC *pv䭟M{_#]f"#mmdcl%`'>ɏF ~r;ilퟀcqs.>X^0RJxί~ߍ4w# E1.aem~_xݴxQgc_Vu?odt&Q7?u%Vu}c;L>uK?䭦H(sT#zj¤WI/ğK쥾cյL +0Rp ;"5kF(|t -Կ `(y܆9'u܃J/]dŬd=ma+Bz: FH% wiI)zc _BbN"EtHX/ԇ Ӆ3@yf-78݈V ]M y&:*+7.rnM"Y·q2Mly0aKb+X[+-wfVpS58N ˖syk6[['ȭ[c%H*XJ.51-1SDέ1[Ì(. &Gʝ!o}y~Z("Ƚ5bz<BAU2h5rۤo8BԤ'*83ۜ(lt;{Q#ƶtWO?=IjBvTleG' iQݮrg7}\w2?1#HͧU%IsɮA!XjjCVC0@ha6F əŅvPGd+/5v+4j v "_kg/Tn;;BBHn.T\Syiq2VEV˞wr(ӥ3WC]];,3pSf&D?fok)E#aoF x8x >c.*ֳ> 7:S)z @J)3W!yrxiNoML&8>mo b }toL篵ѻ[rP=څ3pUC0W:N*e2B{. \溨?D~o !!$EKl@A5,9ZRoM'4/ ]x-mG9Ht.z7OȁZxi9N+ڧe0;mXwNZQ>z^?Tǧ{_8~ }/Xn<Ɓ6pm$rTursk,6?oamn; l01XrE#䗈"V)=qLrƵq?b6:+ykR}r/ G#?@ VU$fUIB Q}>$T`Rn獞+&x]c{,鹹`!ew= I{UEQ:xTN땣Pv*chs;k?AMrQ5 sD:oWګgw@{ j[.o+i$(hћ0 3a7XIBQڈ>*RIv2Ŋ"**#Nϓ=cAIi>_zzzIK?=S?ݴ=UkgղՃgpguω]v+*7y}WȊj\2ʹDWuezeRWk]:Dj22warTgUչ{BON% Dcccb~^ݻڻ]6` @YB#i499TH鞤|G]:][?̺~2S5uLDMֻ(~#E :Hr;>UWǫ'4CFyޝEU,eH"o\ @BGpÂdIOni' x捎~pg&(yŬcO0Do9F[eo"[y Z#V UGCgqJ-@uJ .+7ӊ 8jy$CLe@-_ʝ9|gV| 0E~}'.a_vc+7/1ÉblC$@:~ t'ŏ%qnƱyx9k7S쌿)t~—yy͖F•l~?x8a]E_N#D#ĆwZ0+t/n^<$>Fb>|%Tip`ȋju i\H,s<$oo &$F4b³u!IN=޶r s)/ ULɔ8t>kr$seM0h;ry$MPf`кPg2Y+3+d=;ZS1!E4Ú]>RB \c|\< 4HT%U Ub8seд 7lcYuhtUK(3Q4d %n \H"o|ָ(RXt)5^*lecD aܒS>YsSa2#t sz)+痞}xԑly9pwq,k6 N(`B |_.#UD!(r2/|n CyxgA(1F6|et;'ќ` \Tu2r@ZM`ugCR $Cr&VlތBRy NV@s#+u'"^s[T].bݽKxYuR{`' $/-ӱp;gfA+dzT:ŋa$$ I,CU%8|Mt ;) S>97lU4$'ySROIܗ>?eҧ1*p^WNyipzd@DERuj_6 ٮ cQ~Ȍ$c"F 0̵l &t_#&8 sBTzؓd,I:G돱S qP +3P{CT IDAT^uQ9d9TDV Da?yWg[d_}9$112%) ^LNM-b*ڃHc-6lt? =ҬdeHI<,xu_5ϽZE:V^;OPUZASV  ] h:>F7 $C'Q[qm/'d7FD_o5)(c7" 8u&uqY֡\ŠOlw>{s)^LiPYLBSLCLسXb2T'i.+5"sn:\H|'V8IV0ʧ1$`_.UHѝr/a6f|e }6OV"t噟>-s8Gy|[d'yW?y}<7Z;xcgm{khݫםY/"HWcO?3~b @g,\&u+]4/o?zo}*nr Fƚy)"RSx;GhRuSPjI+L5t)-[)ԑ8l`cU9W {lw2)]dAEjĮn/y/M >^ K){.Hh_@p[[.ЁA5T0{lX2ZJo)!)BϾntsU!ieI\JV|X!zMȬR[q;~ [pKQ:ıĮǷ3[eb'+S Pc{x@Eͨ2$3l}h*~94`@B݉5+NIܿow.ںXTlf$]x(H ( ckGȫ7Ѽ;E G;ɺ"\6$$ɘd 2V æ"R>Q*n[9琼 1?zj4!;Qh?R0姗HUI$F3k;dLha( yzԋTx49݃ju b=`vџQɽ:ܫs-d,$6Z4c%nFGR6ʃJނܔZQPA>lD:D-d_ëk1ºJT׆FJVsDۑn$=nbJT˖cI!kRIJ5!i*no6t:2DH,]bBl?4B|zm%iV-Bog':3"aTb ¥C$'-*G$4 j*~-F@53CWu rsW L޶=AɊ %BX(4Ev /@Q^- QTA(iɤ}lKf U 4 cA? "o#BLAТQjW(PAXLTAANgľlyS&I¬+fRMVUQTA3 ES1"+`5&SAAaf?={|pUU0I2&IFm"Z<#(0SHUAi I7   | 0I)膎/p @U"EUAija' ٶ&E=AAZ @k %DLAfa'?sC?maL   )+-HLAd Ө9`@[7ms>Mۋ  LQӃ8-.R*p( L#>wg{}_)pzAAaL9y,6tIm1LTuwMa]jMYңD.v I8c@sbF K$a!Y `dY6mSRAADH:$bYFLaUh ^U/C݌噟 ]|Yͷ5VzI3>gB>u60MMOA9 Ejz1XrXjfbtvU3c6?=ŝ<4&Ysoຂj?XryԿGZq+Q{o9,FF#.7qBpukK UsX*2ePc*j8^8 Mw|dgPtc69p-Խ5@,М\o?geB'74:IG{ۉF$  Ll:*ᙆLpymܷN*~Ҁw2 %$~^E-dQbڨCHKxk7ݛ2}O]1NE/j|Y"ah%)6B(0ftɱ1g-t֡wZfqՂh:ߴxI6+ sUQ*9k9Oӗr%7${ \O//ǿ` !c7zf1GNq3Ա)ƹmq1'!]pHR{{;'w=ݝNb nAI5i(-TASܺc4d?5Fj'Nps9c8a"q dfwȊT)=AdIşRֱenʥti2vTIxUh*ix/foW 2^j"Ha֦bJL^?F 79 ij)djdPd3{hDZ,R1 ]P5 0PMhnx->f#?tوc^Vd m2#~dDx6>Zy=<)d-]7nLj"+e^TXcGP鳃4 rTѨfP&$D#-Ŵ.&ioQywiؙ|wvc ,>饓Q;:޴9ܖ\_tB"|-wl9Iz}$} ̽q|uP2q]Y:˃EQ[;^a_` %\37 nÀÍu{bWrۆJ5y_mڍcgk'@ dvA!uHq~c5%{7^Gf.>ZC"%o]3 #'T3gKi' tws!e6Lj u ;:J X~Z_nUq2~sɌGb#cS)EK,w5ҿbod4p8L l͜nJzY/?L=TqZ% i!1"]^_/vX<ہʗ3kwm =GؖlEӟ$kHr{~8?^Fq{t/ @Gv-³zܙ٘L:j z?C_ϥ+ Sby;8fIğ,9 6p]A{h,\Cuz%׎<'6j:)\ࢡ;ag3ՙVo_Y0Q ~l~-΅8yeܼ0."5 '!Y䭘0; :ھ տ{ f.Ҝ ,وZbgv"zD&9IrfyrnS Py_:ME:=Nʭ_yJ-垵%xG+iwLwfE_7u?鍿?^)n>A9~JrKs L)9K&^*Es{^0Hy>nI"r?v-&3KK\,\9Ȁ uKs PR,x׈?棥ZߙBL%Tܒ/%Kg?Oƴܿ>g&6h/r(A/s$Iyk(~'x7^%f➥8Z Ub>C樂:V$?uv|W •x38>_]J@܀A)0ټuR{ d484to9u%׎Dڼ$'{C]AMnfS;C'xhg[%pQ71¸w{v-لLz+~%׸r܁oOӔTM&5 F4'jD!,KZF$ڻr?l{>qƌ%p&=Ov{yBaV3kc>NZ6E[n;[3ۿyK`5CTfϓ_ׇ\qOdvou.Nx+_ʤV~)Fv;oC7cpSld]TWUx܅me@ZTErHBG^mc Ax/A.  1L6Gm[u%aK!mV0C^NZQu:C`pkh9d7V啣qz]$K(, \=Ѽv@ GFԤdr73;r"vAI ˮwbcNQrV݉"$;^ݢ00 0pZ\/XCbY΍<%L&?/JXno`d5ϑ`1qy~>['|Y',wag~u"t}8>=JgGaQq20y}XƏӿp֢-͉kKpɢ3_;@PfK0_pJ%b>~~%W/_; GlO2-CXDO\ &xH룮o;(MŦh['2 cN R 9|`'=Ego r,7QKwiŘļ`r2ح ^d J,XUMbVrto'ouy>Y*f zH}l8!KԲU4w;шmAbY,J%a:>3Bp*c27|P->u39@hxЦrAa_on mocpޚ@^8V_"1љ{:kǦN#fʠl:/>G6zG&B*2l "HXQuG[4Z&bVB. L(0 ϴT܍f%fEFGavz1tMCt GqZX\Cb g&m-0gdrA>\.|8b5)x99ޡ}uzLt866hr_cIBClZ,#th3"^bن$+HbuOdYzG52> nxwO򥷱1#ϰ'Ե{t3}ċͩ_b1WͫϿ:cl %B K.؋T ,vhx '(\M5a/XgJ}=O^4~nAfL?>N?Lp 等+/32[]ByX湐rYyH,<ш օ&:L5/ds\b<~)]ww7AwY0! @St]\ys*a# V UWQLnhhF̐pRL͢}| Z>AD*3_<,˃)rQkG1yO&*_A5U$2Ζn%2Vw6$e`dəDzٲR-y_*XG ]E>EK:~<ؐexo<U@)]~}Zi=EMxN^Qs[].bgngy:^jWOļhEI#p;={ Dz'~ܽ?ӻ≷%7;9?]0mк[1㝾(`#39>ECxCDy^|Y7pKIZ_dsU-0! s$H;BC !jOXj.!vSQ1kiпhj?L`ؑ CHO }ltWB0_N*+b_"yرZ]fP97M@J$p)U,ϚqIӾ z' IDAT -ywW0%gJ jVZZ>/Jܼ5plƼiP^;s2i%}oRiNdFVd a/IN7.c1Y EHEb-k8.\$ռrz>~jhZ{ j?9@ՙM,FH"5&N}ǯF V\F=(ʆOf1j*z.vzgF~_n</.w}F6yw֙{{$ҿ6EUǷ3[eb'+SNp(ZT!yb>Dw}Z%5,]|t :eFM8;X?1%2xe(Ox۷Ϧ;j[<'7~vgM(/<5OrL$oG4/Ckol{׶b74Wmo {`s3?\jGwOL d}#.ߊM8luYټ2qI #_@ WR *]ϝrKwJڧ[\?H𣏕nɧ V O+itAu6U,.3_ QFn̡^ r8*jJ=T?nxce+-(}oWR{Ҟ2rO7֑^ ˩}eT~#+IIE tj32uy ޴Tm-q*ow7t Vauڍ7UBjjw^mbZiaJYN"9@SNA*'I0mO(o)SGƓ- Xū=6]P=~[ ?]u ER0 H$bäȤ:ұVb"@75IF'W~lRf=q]=|~&~dx8z\v_UШz~$kty~o| Isfⴺ% Ոb[1H@(FU5$CBUcc>z|t9"j3bRƘo~8R/?ޑ#‚*0{KHL$ ´0DAUAM3k;dLha( yzԋTaV#MT=)I@V$44F@؇"+xgtW'>"R O  ¨ àēOÍG(LΧq  E/t+u/=ZKb7.p14'&{ o4H&{*6yr;DYta1ֳkXHJ']/4#  J'U%+ c(.a/C݌噟 ]|Yͷ5VzI3>gB>u60MMOA9 EjzQI8w+8ӻ3s0k \WC5tBZ?7P+%lr=y؟@SvPٹh$oSS{=7=1&TT5^j"Ha֦bJL4bOB7)~%EYbt%*%fyO?y )y27 R hy4O^;T<*j4F7Ke'פԷPJɓNіbrؖH΋M|45ϔy5xN=s(ʊбj?It")$砣ӢhN@ Kez;f@x#D|TX{slD|1cm/+26nr2"T0p_Ǭؕܶa1RMk^W|v#~?' =G}нSw 7k{d/Gk%4//56S]Mw T7^hb6vrd4`u6nS:9p@Gh( ? b#cS)EK,w5ҿb;ocƳ,cF\d}O‘G\e&cmfNV^vsɸrYȱnqdk= X*ԡcȺb=t%YA߱W$0דFʳm%xJjn%Բ{ŀY̺wMA.[<01'WNj d)] CcR@+v,9i$5QәM EV>'t~+RM fm"%džIlf`kZ;N$8-82d=F$TnJzY/?+zqfD}[G@WS5tOK$R lba/c %ٖ̖9m4b—ə歃#)jS/K|d~틮;u{{8g{%[x%wZ=k )KǏV922)n04^{zKen¡?j⩢bWa:Bƌu0[re~V-DKC3|m"q>/S&w{xh[l;%?qy- ,%ȡ*A8/v,s pd"jh w/ϕ&@Isnl]#^O W:f_];+HRZ$z_ØV}$v=R7au8YF{+nE}<}#Ls]C]s\m=?-7, b0ίӿYzx7eױ „) >@"p%%( $h.U3+J?3:;(a'A/~=In/0Wf(\ϔE!Hygߵ"oc浓2AK_ҢtRFN['C *&%Z_!ƹI,d^*-.cݷ4C&y^l`ET]%뿽Rƌچ`۬T% (T@,jx"~Q)f'6a$-j']gh\_=_:Kx{ba0f >i5 ]'#G([dR__=zj"|5y5>~y<\JAꎞxh!HFH4/F6u {Tq$¢\˵q^Y0#U ttr2 4uh2yu2` +C5#,A}yhEGK[qVW <˿EJ)[F'Վ?s: n_-c${~L ::y!wY]' B8"cJK.i925˾XJY( 68wCD$̤0ڱBF`, &ʢI5Fu,izK(QK%n2lC4ޑkճx2q da bq"CiѡF63ٗ`V&C`tT, t2 >lOG='JReBMD--Yd?;ڃ/43RZ=DQPb2=$]EjR53j[4ދ*8MU Ƃ1~q΅ :$I-i3[i^yTӯ3Fe[u%&`I%}^ yW+H/naIYCE7NRCԅ7&.PR+o&i m\ 7QXMSs2g+/'hEC$ѐ#2 м"o{g9'4JKYu'x}1naɲnNFX0UeTMAE%˖[x]Tm9rVvpR0~3_*eo,i[cT Fy/{{yҿ[߷$>A43o(Ѓ~H=ABFppG&?aAX}}+;0Oп#*T+)J]C M -Y>1洨jI9D||=tՍ&2#%+xe*I'>x=+6.ua^8|cGњiJCDFO!}g22@"TaQtL`w`ɩC? S/x1.;Lrm% 8O6 ʹ$PQMܺʼn{_}c P7YII}A}Ś u]&c\Y&>%uצ?%duc97| ENi8/liazR'n$3. .p0^vu\(z}{QV`AT}dm9Fq5ed\N?6:/H:(} f_Ov}SO/~}b75p F m꣘u%NN??Wa=kz%N|hpDH]h{& ))dGMQ$J%JG̴i6'b 5,i*:⚟J7֣&LЧDhyF,nߔslGfD8Lx.v7w/5o2UuY.rE|]L4.O0T">u_y'E&ެ-jDi=93ڌf~?›7-vj{{G$U8{ܽ?rH /ЅZ8 ,Ӣ^EI%Mp%#ћ@2Ztz$@oD.7t:9Js7NEr!qNpckW=4Ib:m|9wۅ?s;ɭ`\߸ٵ1${1MEEB D'e%l*)"<ޡ]ʼnFc"ᑖTuDaϸQRYr% vS6Yb1BCԜ;|nxw/&/< G0%7ș0T=I2 IDATb8]4ׁ:u;%RQښ? kfrwyV).zo#{3 \ S% /:]xPM8cI@<5c-Ľ+K{ƃgI=A[QrUţpHf{Aǟ 95py5j9T^;=鋜Hy.VmŇn\Ԇ O4N,j}R2H}dv@FZcN~$\ŗ}vcQT #44?Lɺ;qMy0z# Yzpڬl);Q| YS(Qqi:MmGlkhQ1hL&/h3r{j?|܌j2'X6"̫OMSgݼL7T,.宭7w϶%W}s:j&ryt+aND L `NG&&IٕE;ruȒ#˰ugi|{y>(TE ] >x<ǮGi$GNb{}EG9I{Yz%q5{FIuXZKѽc-zzet;#N>0-XK'P 1x@ r0I Zy!ٷ4=-$tELA| {"8ni̴bq,KuI$7UPQ GiF&ؿ"1kjU LB4e夓U9%8jp ֤OL%fD&Pd+OzIoy ӣ H&N_f1u%N"TaF>GSu!Cҋ>9jT ?=GOq'8LiMO*//xk*V^,0X?>ȅ}̜L+(Q͈>TmڿF &$pDbA &cӼ)GmK!%:HG0YqYW^0϶fRg/z96'QtVw?&,Jf6߉gelH5)~rE~wU1s6p4w;Ð]6@ 瀿D 5nRh gs򧫗sCߨnި%2E4=C@R+}xK\1歾׸Id$ZB  2Xz>MX ^rrBap9|7Ko}n-vj{/єr ~B_n Ko} 9gz,[Ϊ~ ֤{8ufiTe5q9^бN^d۳Ў_LgPx Gu 2)"IΝUP:D\UG3[ȺN0@rFT={Jp_|fS $#1:;ݯM8j,c]%(CoV8ۄb ci$1}UGk2Ԗ__-B\OSun %GPU;47EQe#}h'Cfj5DHJܾxzh,\`m1-go/pu$[9%ֹ6r4Rc=aŸ"!E.چ0J]" 7@b˔zϧVi i*J07=M?4uZ>S z*NZ#%ŬNl?oGA};iNFQUOl0bu28L6bq'1Ayb53pn{?>J&'qHIwý/f<<ƶ?SZek-_)oLPM$Lz Of4E袄J~6ty%H=iFgۆxAUks0{%UDOlEW5˔V.Me,wG9ݦRs);bþq,XJ7m%tI<%d/&tt0&?Ώp<(~>бmb63$?k!cM o)Tqos bg8G?u[q˦U9_ndR9Kke7s[ٲv>^zM*h57oͫpjy78=8\d{yChs0d9?M ::؆2u W(U->DX\`K ]#])5-`}~;caeߜCvXu+o ܎.80^MFRCU97擿!ENtm4OEf'97,p&r8컬lĵ. sG7}TJbrP­ydx4M0r`Ym~"0/Yzfrsgq|A] 6h)Y6b矣}8w'J]ùd+eHoq $Xx3˷^:c$Uǿ`y/83!FpW3d&mͤaw MVLm$=ꑵ8D '}1f&a&y\ǟ=6 <١$"os Gf걋jȎT hx>c(`%sck8Qz^+NOo0&>zCgS9wG4mF98r, 7t4ң2Lz&h/oF?ySC\Eīj958K&,YlZ@ya1o>8X2sM\xL1,O& M~2/[r\ܡi]kDT˛vgz$t èDz& IVOIBp3ᓢ3l>71Yga!\,:;;gs [_TΆ߅,|cOr&Pʧ"\gtb7[H,Q4z[%\3u\In@Nsٿp-Hł*0OzkHL'%]\1AAH[ eSG.#YTg[JwFX`08 ^OL tb'yueoC_ϗLdQ_5'( ׻+_TAi;{…S ׁH,ΐbGkWz!,&AֈA:I<ES ƃ(^/fOf9؏&t )t/pXyK(  sO4꽍:QTP}HUA9!}g&^hAA暆b"l1Xl=kسcH'Z Vpŋ%>7~HJ\Y`6V!Bcghڍ )v Tmw4#Ii=A,&㬶c[(o9C/<@hnw% pL:Jzuٜ./5 `4Kh4RҁPՇI[bS|x9V#F~*nK=YaDFmk=Uq[vǽ<'+߾ ] p勪p F, sN–- ShƼbcݴO㡒^^~ZƼrSa.6} 'O|v"=ǂ#{1suϿƁd>!V򿲐<1o{hzq %_LK.=<'; )G iՍn-dc,D ^8+ްۜTQ}$>9.'}R?xƦ! _xgxQ>|柰8ZNF^ڳMAfDz|na=OBZI3R|W8A?ǾGB@g$eu.nA$ a.* s},G-4 0I K8)v,lfI~W>;}6H u,Vyn)/~pvc_,#sC&+ūqNI{zi0y+ҾI\ p勪Nwa2WI/)|H6$S,&‘؄I'jǟ͂rL#w,dӲ[Y-bW׃^K7SV;U>:2m6}>l[!v&{!L+ J*ZNK5VJ!73JKw ;c^y?<2͵+? Lf΋ּrp"VZ=0:NoK8i3)ޜ#E"Aa̷-h$y$}?uGdsUG>'/{*^^ݽUMpsƟOGrBc29p1jI'-: #{xZ{cw< Y[Y9ύIX{pp#%G)[?{fc}?5s/ļ~ëuܻm9 ?n-qXx.eg~aަQÜ-ɒTN7 ^JZmn!6ϟl?Å15B #`Het Gnt `Û/<;t^`4g?|#m)Ž+>;zpHʍtn##Ï,+z#Mpx)ekp#>b zq WLN;i$ϔ.KqS޺mfjшun%NƸ G{ 9-q\$r2=\ 5F%8A6v tNcL?@ R(d|A}I$j [nc ɤܐ#ӿcsoHj Vk;lvY;dIVz.OLgq=u ,Oz?F4 f_2/ +o_IP5Z:Rbh M^w9b[qn^'θM  ?l1dk?Tϯϓc.>hޱe;DPb%9dvvc[ Z37  Gף n=X:Od‡ZIjǟ%RVlR <{ -8ξ/3~ lMkR5`ٰ&z=IJaG_NU8ƅE+zIv>90@[Ӗ{&gBpˤky1ZGu7DO9´`+?*$c}% l"%=f\ӹQZ?=y{JR3[g? gJ3ZαdIH_ P륯ziQ:)(o50bR"bn]m;ďylQwRoJI~R62Wl:D wć,ؚG*5sv$9)l%qbA5: r:{&<[<>~ +'Va%sRJslOb{8D8kx_Ťݔ6QK"^D10`U@MMrc.[?gdqYQMh Xe0r_o?i}S;a洨@Q/Mpe'#ћ@2Ztz$@oD.7t:9Ps7NEr!qN(ckW==A_E8W7vev$dLƻ(I^TT$INؚ(,,dێWOQe v=rX,N4#:a0YDɑ(ܡƗs]x3oC$ Ljʊ+i8FɊp:C{xǗϭe>; Kǔ]3=1ѣ^ 'I&-IfťN߇X*yėGT%Т(Dc2јL$"_"XA:';\~2Mоo"s? ԜU0QLt68ghAԘ )9ct"9K.qY8ڑjk:䤬7}dj PRE;}E{PLи=#bnyx%C~/G򋠋9CmO/8"tVidez Oc<ݗRh4G!_{+dy@ r0I Zy!x+;J_Fou<9L? ˲bG_6)7gC/aMsmrǀV0`3j hܿ4H՜t2Ct?gHdEdX$j<& F$%o 3-E&U&L̟sp{O%ԸP` t 8ӟ7{>ޏx_;NGNpgn5hJի 'A %WYlq'+,j.m롲l9zd+Xԙknㆁs0^(YHP׀o4E ,%opŖ)])(fLq4;iQ'$9^k#|=gq%N/J7WrPPY*N^ }~||sSQ@4y~sƼiUo+q: pU>ǴKH(Pd4#}h'Cfj54`MmoRC\OSun}: o[H r |:ݵҾKܱ0:{x]Ɵ{j!<##uyW8ᅨ5kMЛ jvn\}˹Sd]{[vrKvtLZԚ9e,kD8m^Z^K2"TPXfg}6ić"vɋ&f+W|9h Q\e<C4D+Mtz[Rfu/er?* dy+JI$ұH1#66:ɠg4 0tWEa DSM{ `'ZȨXI^waFBļtVA}y뜛j^;؉ֆ4A°ڎ55yZoе@/aHO`G =q>9@ wSp. _Gd zO_@kv@r(ږC2xj2ݚDQգ iS%୤H1zyrש1G@fzШX}qsm93aq꓍TU{x E gMa2R^^ބ'9أNfm^$$)TG9 yķщUAN\AX!Ŏ2K׮qCXLY'p \=iHTvĖ7[XEY^9&Tڗ(?#UAdB fu+QPAAfi ^RFPG˴Hq1U^QSSOUAAA:%I~qDQ ^z/[CO 0,f8}{턒|"㡒^^~ZطyVnKAB<#{PQg{gs4ϒ5ymƀm0`BC Io&My޴oiڴI4!06Qd `ʖ]Q@ t(^Z _rʗaLGc+'5ivP{,l`ַ4\]\׆HrT?R)Rjp|}Y`0!8x⤗;Pq<|54~NUA'^+_`E!OM6)`O΢{xhv׉Ӂ,O@M!ry+Ϟبα'*-P98neHC[S)eӪ0c9UfB$vא-LF'z4ND} Z{xko+nn4z3c-^"Nm㼕06Φq3o=K^4-D}?Yӝn:tSh_Rnnݪ@vZ%|TYE+ :rHqSG:hi"1xDNRUTYEP28݅n&1tI+{{(2|t:UuV^s)wdbOwSbӽNǴt_V̴O)s{;T@(_ɱd-*:ۄAuo_~L]|n[MNn46f25~áWʬ*\feZ7y ;jč{I޼ˏSX߯R~.9{tX(l>#|6ƚnbҜQ.t:Dr\LgdQ9|̬,Xq!o5_j^~3ǿFcZ1ay3&n ;yGMLT߲4uGQIcS_v n1nO_iVY7)8kov],/y7;ٟ$a/eU%10 aN_H+չ5z22 ^|ZDAI?z6UӶKTso)ss7CHtf|~:w n)|su|1pG&CCSTM?B#G {A ߾( `^VHAThC *(j/ިtU\٥UERWPUp:(w`#CoEVU`HMŨ9Kr0hێNtQ"SPh_d;#Ǐ6967t77[$BVrLjl`Ķڙgq?䜜c=!m[xSEV,jP]ܫ4‹qsyU|S{Pb/''{RB(f~C/~c.ޗt.n^4:u99Bgr*1tx'=С3a@YF.tpCR;cAd6ȑ  uIHf@PK}n9TEOS.z[%PDDl'z՜SWsZKcPtpQl9oQlx',o&Օn߰}MY\3Ɠwtp(#_Opkhh$cڝ 2,q@So 0cmH 0 ZIZz]HRoO?Y\8D.lK6ZO%tz"j47$!1O H3؄ -jP.}0 ,Q8Dss/0rٟ`#Ns؟,F;s78 IDAT x &LK -bB_oKMBbͥ~|n&dQP4LQAG:`T6!\%Yd[ii $SܣM.VTs[!'O;VDpO,F8 %ETzDJ=z NpIz;g"}XG`j# P%)BLUq&p)T#2y80> O(!bax\!Vw_e~9N0ﺍ4_FB,Ĩo} s#4=7PQJ[/Ij}c'u1|*PP!^I?AK\&۞y#[H%?HHU zt-Eӭ7MNn,61+ X[f#r͌E'D\AAD*()ʩ`NBn3sPtFzF`7n5&c"tA**V|bO3hEN#=CWQdhA ^$%=<qZ/OWNO]vA $~Ww󮗁dpD`44~YA(teK)/?^?׸ϡd7^UFR٩Ś? (zϙ_me'+0./+qt,N创'-؟ԉZ=s., fũ"Hyr}GWũ,SD+sJwʮ 7R9H~i9s X0==L$d|ĖYc~ C_{G n/g#LyfL52NU/c*4tKhQ> A!: 9@EAq+zle?i"m OXng= ߹r[ N+ob߳?d9YY<}EB bߡKʼnFc"#)OY2n5N(%4bRD "6TYC#Jr|A9L^)(QE} 0m~%|rνڏ_Z{ix²|YA0i6Uq_\8(&|Q/}|eD11UKM7jhh\[5)Э׋#E|M.DTX$ NcQ6ُotTetUM8OE!$teTS7nR$*JLPIf)tnnP*EN,G:Nm)u9ƿn;>GD&j/[vIbwm-򳠃xz38G] u>H}ufIR%a\s=s际|͸RدzO&̣\ʣsu>|Z0SQ( 81DCF 8!a'- Bܤ '@P!*!]堄$T4I+vW5ՕZ@ӛA{{32Vh$C4!?}g&9#p #dgbXlwJ΢L000X3gޓCI'9sn#>bňAP㗝XL륿6Sx|\*YlV<5sQ^N_S˩˗}A?ҠoyHa 'FLLF544DӭnխFd `"w(=1LÎgh(GertqAd@̵`G_q]L4}^\*AŨHscg Hy3֨'$3Vɤ'NfNw8^NUtNID?A{u>k Q/ݞ ޡ+/fAB+(U `$'sR])exá SI'gQ zHgl]=H΍]*)1CdW(D#UPԁF[Td\|Q-u˲ ^$Hͬ3h[Y: ˽ nħbʙ\Gp}Ļu$Qw?̃?Ak2U$?Ip cޝ7[ VTe^ۘl?q?ތTUǰ?RByAt:&@DﰑuW }mSAuӔO@yM0'}E)jԁs>VrhpTTC}~rMR5T=|b%guB}+)RM#+3-Gqq Pt{> |KC51i(a]gYث,(EN: QSt[a }YVvĐSqv^E}c-%z;+ynvFPܱ6f⥱ɑdrZZb4/.r+*yxU!8O@:=g7H-]a~}EoP}ͼZc[Fvz:J̺ڷnǍ-pEV#dG\sI!Ӈ[o$nn &օ#I&Ȉ gf0+Ⱦ#Nxl"/? /k${5w%]jLCMTc:32| :l"? )]~-n2+QOnE̮plhxe&_H~=<ϻm%}'cQCjsG^9/H{t}ˤbW70$^` w^κ2y9z>(*r(BBI|7H ш 7ˆDK˫=d]/4!0?|[ʞ ;C;]Hx$-RUCCcJt Eӭp^v[Υch<+ն.(y6Hk/{;BCN]̻G ųgUSRi&R| Pn>K*nt0/E=Q܈.~-gROa4.7nU8P~2ZjDqf.̡[8?N8C) "zHx8΅C.:yP j/0%>KKy{Ibxn.P>^Kly^2qu||J8r>#87, +Q\]tk=eTw`?xAg h=NKcbk֏THPXXxa۬O-Amgc'0 R 9:TMhRi~&7s\^Qi~ԢAQ $?QPzu"|3$ػ.٠qsv CaHVAӭ7?)􊙲[]~f%`4pfʷmfj3i&؎A/jsfgyp8:nΡ)R !>#U5~7фƧ ۇo$F2Ɛ#Dq(7!% o/DĻC~؋;y6E%U/.u9TattEO'P;…88Q7NzP{]Q 6Jkk+uu70444444444~ǙCu*mhhhhEjhhhL#50NQG򥪪J ėaÔ"I2,_ٳG~{<?7?0qٗy'Z<,QэҘ*l3dN55Hĺn]|#оSȷ0};1p%cOCwͩ@ b#7;gy=|[@Ł9w祉My9NG~i,b[5šVMbtDdV7}xq}n(&̌.Q;GSeߚF%WZţ{i&|)_!W3+֌5ivP{,l`ַ4\]\׆HӪ^\d+֘EAc}n}YY@C}=^}Q{a&zBHuSKn)gJz ֛+e宒k-k`hl ș3=2eMaT!:}.?k(0"FxOuzp8&M[/X>̉, a$KqE>gvFIo^C –};U*_U,XCȓxk nGfnu"t s(nݣo8 9TSR[(p7I%" h Bf~I '[GֺJmIܙE*zkhi z9D+N,܇3.E*6**bDXGőVrgG˄\+>v?YT=MvxBZ(3P]u*2FMx}۫6Cx1F0%s;6VyfB$65& ^})DTY:M^S5Yno-nn4z3c-^"Nm㼕06Φq3o=K^4-2-4 tC5ա3?B۩[?~pS6.xhmK~qM]0E4`n:UuV^s)wdbOwSbӽNǴt_V̴O)kt)W5 )h~>}jrcbpB@ *֮ܡz Yxp_p_oƹz(Q*3z)NF_̠xM٥KϮvz"Ԉ5GGd-1$Wfc6@T[I!2^żb;QT d-q:r(tZ6f>L΃Xd$t2,XW;y>~YsTUaun=ZyEjkK vl ׻d LcUj:UX| 洙_?e?1Y oM{MGٟGKŒS=\?j[׸H., o!ˆrL6)L{C=/l52x+wQqH<* U=@z\[͂|3}ԟ: q+@R~#IH/8 yŬ*Ox`PI~1YU¦usu ];vהźhhh4:huu1QK73foVOÀ  y,418PT²-&)񎇫T$}dnѵ˅' thli6hqs+YUձ|{ 3$kT k<]@==2[0]x zGod3ݕd<]Q` Uş@44>X߯R~.9{tX(l>#|6ƚnbҜQ.t:Dr\Ov1?Y(2A.3+K'V\[W 8g/E77QVF{ތ[6=NQ!S.շ,0cQTXԗ]=[cA5aڻU= f.NyrK͎dalPɩ[1>DkakNm17p{3R=&~Z;m&_m`!R<oBYtl$RJ?"8鏫0|?Yiny9<4Oc) E IDATbTCy*61|yY!S ,1^@{ұ%}`]JYU xQ*ޙѮdbwjJ2E6mN4c,HX%VF RUd+Cwނ&^m3xWNS67t77[$BVrD`e~ְ77bf㫹W1(:e(b;A9DsƇ1O÷o.'??;x%:o}qC~G7Kwl{gFZ u{F^x8nc.>oJ~~j_J?m[xSEV,jN GӭӋ['[!ݑģG#:tF (:"tpCR;cAd6ȑ  uX|"U_3?1:ѸV4Z)9+S`H(uttI6n]wQ/?'iZI/ItoOCS;UAd,?*=KDܯ4 z[0 XLIJVR`^v|gO0"1?:H:F_Ҋ}?NňQ'Z]Gĉ~n PoLLsE2 zȴ(lV-[FfV6R_WǮ={8c*E@0ٱTG&^A'(kl_9s 1,Fb((^jNy1 h/u·Ym]2qbq7#؍ umvV9N+z}7e0 Z9Rz>zm~v> {~|xBw{ b^9|黋(7Dv5Iy.%qq/9vQu3gK,2ڏ*L M">)c`3^8?FpURѕvD}U:#3Ct&r$F\o7%9k7ϟ#H(Sl;tIqb8hX$zy$\A7F/?dt^_޾xt+,xvV8d5>Sc JTFQA_(L^\|rνڏ_Z{ix²|YA0i6Uq_\n>1 Y)+O-KÁ+0̘ q)c_XX??^Léjv(tGQ#-f (Q_)L!a'-r  Q /%$N UMueg/R[E{  5c9G$;3}Ό.*G@ @\.^{h4B͙3]TycdtFb#b0YLحgc'c|1ɩMlty@q賦=gp8?j$;#BW^̂H3/l|bXX/mAxCD3_vfg A?.y7CQCC# ntonfA&3;PJ, ˘uVs-WdԺ iZT?{Y sc_h Hy3ֱ$cEq]ΊLPN_bSLeJ|:z7xBQپdiߤOCC&ڎ B!$z5|5׿Fj.iY vʖúeY/VP Tt&U}+= A"?_=!taC?ݍY_9xo;jy7hM6l$ 1e*pwlZEWþ+R,2ws`_g8l>l-+=$s0fF]%d qMEOS>77zQARX)ʡ!QSq9z5)](+9s[NIjyX @@o?]fT)lPeS\שּLC ϏoAXs{p7|f=[ -<E%Ʉ1 cL'CPMO'ӣP[GfR+mKnzF%T>QI;ESuvv}J\@z#™&cXstQL$%G<ܸx~8'O>}RU눚:3qzcPol'blF!'™!Zyϳ/2] O}59PG6*X47-5ykq8ΫD<"pTuMo Q~j=GNEwARU#գw8>fo,OJ擶ACI !JUCq{qq`#ݿ4mqDR ޺v6TԼ]vH`hsa&Tp6S̤Ud~\lI]FL.f>7pj\D)W2x:MrZ+lI츩Z瑱,˴c*aBv&$ɽw/f[ocEU#שA!)^=Ϗ}}#IKrROܕEv Sʗ^FrrQsoSȦ|t>?Hɏ /LP+; 7pTTo>AY P_byir"*< ?Gfs0x:o7{t.O=EY>]Pۜ[ԝ{my?9ʕ sR=:2f2Ӧ-ʞkʝdݟG\kZ63T7|T']d|FË !OB;z2L#kCۑ". >qkF*N|ĥq-Gm XH#р cc5kX8ƁéIU[Y≯xOnoRjjꀏmne];$iU IHw&| zͯsŴ}6>("IȪƁs m.o5u(2,&/8<c]'A>KZZnzuuu3T CĭcK[E7t_XS٠THQCaД![*OOyKU$AmGSUJK8u$UOIW)NNG{s U* >榦~[/≯ BD:F0BmL U"*0 ߂ŲNW'>__0ȕH4Wmc>Aד_PRǎ@'d7`~  0~(aVU6 urUA._4J4xсn1S? UAaAƖnr7XM C } RY NݲAATt'VT$TA -RU$:EkTAAa, BT" Ddfi:Xy  0" zz.K" c $і!zE)n%IBeъUAAsb"y!!EԺc]%A1' H`ƌDEEiSIȲDees,igjf }ޚjkt-  Z#)ɤK2 )\[G3UAS (2 ,o)3fbZ@Tž={9Z>5 zŋ0Bv{=ݾuյuc#  GYd]O&_MI7u81 c "PR|ݎnGs1#GYѥM؉O(-.l`۱ZSXP0ֻ!  ar"<\.N{b$YLL4A3 ܩҘtR%jǺRIhjF'W'4 g S|,j0ѧp…LAyo|6ozRd_A;[o)6^HJ`&MF ,X,V3d^ohfY8yx̪1 Y|ѩL78`w'a`WA"vz"'˯R}32$})}'{kȒ%LDl5r#gt2"mTW¡BK9LH#k.4P(2?M²dWEڝSkQLZ7t3:w ckױFv"ətz๺+3ȘqW)UW75@M1L~OoV\[Q?:]d昒$TUEj`͔sϽ!IEl>EW Kĭ㗕?1k˗so.U䇒I1"{=pAJq5nKI 10!a6'ijtl\ Q$e6 Dnla &8S||[^3H|,{&ed.lK 0yRUIhbɊNFƝlGh?|:ӖHN\͛$t(CF Qbj{ U dx\ckYZ4M| ̓Yw\f<8.h\oUttVf02L_iGԇ#nu&ɶf߫&G,( 'l&DR^5k4g'AqdѨT;-Og{gKV, nLGƑt<C L* KLOB[6qXBU2b3䷋u+ mC-\ qhqxf5i*'m-nZp18[ Qd<.LZMG"Qى['Z-<BSOLV+U e~? &4"e6ZDG'VN'X0py:$8;"IIqykmWaw ZAƵMLx!{^1U&/)Kl+^)Ȉ=LѡӃ%߈gh?\r493WqD;TMZОJسĺ%ءSٲp̩oN?ol=ql9.q?q'e9{'k >O=ʽ9IXNj >fG xw~lcJA ]Q_P6bFZ(jfl@쩤8ufRyiT*f-MI@ݍ$E?/.6/Zz?Û=Oufd#U/HrXt6T)HxgV"'˴nL: v$|h|PVcts4V]K9>%`(t8]TS?u5 t-^{s5Z^VƖ(Ƌaf<$ŀ$I#Xzh5O-rT&se_W }~X}NEfߟI ADv* eE]ZdKdݣY15 [CeQ!|pr/ Q?9T7WUkٵjF- #.r:\6NDk5wBI '=h.]ʸ[#9Ժ)E`~<ݭ g|ǭR-f")%+>ݬbb%AnD;[۱0U?Fx("T,y8v,e) IDAT&iOgg0-ւ֗wI@iW_>rCŅrT*O>6{3"1\9 {hVAXO_fL$;ބ'VE?<&|9_9!.k-#vA9c;Q⧳Q#z r񝭤g$⤫cjFD"RtЕѮ?\.Oobki#C}f(%-_Y_M/zVؓy1Y]?K$oeO$S~"WՆ&k tPY2h?W_Y81ˌ٠0e=cʧY'iJU ,k s\jiiM'kb26YBgNeVJc zѡ=ު#MQP5?ML1ʧiL[gbjp,?6F:QzQaOl?d.p7L"=GͮKOM}tDwjL&s.YBL\,SUYɖm(Rݘec͚qF<>8B-UUJϖӚ9}Q|;)}d5hmN˷h˜4rӉ(>nİ>stw YF9ͣ0"=-Y2Vjyw~~U s'z_$>R7oX>L&A[G[G9n&)(7uDLJ@w3卷ËG?ߎA/!GF4 l# dxٰsLGclk`n7n ^'pTkn4C2<3!r&/@%+PpB2kg Phok#0`>$ Ƚc)5T>=l7-;~>Wuq Rt9DgMm^U[4{ xicGX@F,d0΄c ~R@]sGKU,S1X} bYY`qhFaA!?Љ!kɎ%s<6tR?e T\O`MblīnZ]> +a>-5Sr.6JJGHGP!cYo 69 C,桉uKW%z;0)̷Tg4%%Y>yQugu~cJK1'ֱ$э[`&q9\jd]#0o[n|pK@֣7n,}xSKq4YL | ryq~.S( nO;nh#&Շ71-I[C]_%}\g$(5qiS#*P^ON >HC2xYjɧO>f"Z vCJ]O^ckdIG_ԵV1e $Q[Sþ{H`wԠBEg^4c4\8* ˒GsH4dW^^ۆ`#{<\>uP*a,W ^{-JEz_劢,\WEAns"nqCЏh̝K{547F=nJU {pi:JwiǭN{6DT$ UӺ_MeL$4hT4vwP3kfXTwϾ P[U{u:Pn..4d+>59@natrRUQM7׺PFd="(ԡh@{C/̙L[NYuCtnTkcʓYtVN]Q 3% 8{h蝪QCb\G8P击LYMSOu"=t=s܃;Gd$&"cS9KqutEpf@N` x{ QK~-i Au$ӈmv6ٙ^_+MA7]-z앥TV)[wԿWr,n. -8U.茶$p8|^.\@ɲEumZJjT<=*$y(`K,F SwYle\+gԗ.cR2@ʅIoygI'ֶUIu"vj{/HQo~[N dE@DtR$AG.1 D*9n&&֓kf촵bnǭrj" zTt;Ɔ6F$6q+@?fLJa|1jx$`Bdws3e'[IiOq^oQ=q :%t\#4$ףScjjnH4"5/1UǏc_J7eҪpƺr=AK,IN;zA~xD;KgTC\<4$dԹ%.bݺFw_c֒ipࣂ<L M8juM(jRVrq1 RBǘt+st82Y1T^B8Î: ~!y~ $< E8{#۞'ѳpU9#Q&HPP=$ƀ!FL3,i}$Z$,K@*,}DZFtυb\z ו*ιH'"w\2&i9 0ىsIt5*׏&2-رE|ض+OZÕ+E_˗O7CqͱR'l4;iOޙe&s 7R/HXBTnOfډ8짠Gؠ˛Kse_xnTMܻ'jfUc O}~+鈛VPq\( yD:D:(ndal5iaAl .^ dzjh1LZjmwɐ'M8[{9<^S+ m4xhogZbq2<@b[S3UrwOjquRv9 *p?A?bq̎bI3yxQ-˽hH[]'!+egf"sಥxJn] 0b@X?0_13_GtyH=>0wڏxcK<<}4g/6> 9\ Ѳ{M/Woj(BM ɉF>ڰ'VwŢi[{ũw^%u˯lzcoGIȉ9hVJwp1ܓ3 #+NJip_1X?g!m*J>`mx'VQCK3iseOJHdrw.5-f{:?"k,5^\`i?] ͔%3iU2FWa%[<WFL.f>7pj\D)W2x:MrZ¬f" qS#iYikmeǎ8VU„L$I{^ރ)-+#9%|_OcC#Gz{FC6Szj?yeY*'(˗ax@>/ަ>`}W)q԰a'T6qݣsy,"f~! "1%QQݖo\0F>nj=ЈHeFh2@ګ&)Ic6cFUӨÌS8rAc8D:Q>jӐeTyt _gg{6`3_~a~bPpv8)| /}j9dzT]u l|xd&=7 OA44x kHRuGƆ )55uǶqqI.CB^.qo5A7u^voESx8)Y8p_y~߲`xM|{7ߢyHLjweX.iWWWGjj?Hq0:D4+"l|9%&ZTu}^Ky>&].7 af-ǧ)j$3Omߏ7|խ'שWYGtTnO"0[jpPR\©'9xXzJJpowr`>ڛ[*UQ8475u\4dZ. ㊈Ɩ8c$$L|#9&%MˆQIhm2Y( j<&fbu|;;sBq U, 9DRUaA6eN|ZU`+ّh:+ǎ}N'{QId,_u\xqnf  0.;]^IkpF} CS!b/-Ś)>Z}7=/ -if;*ii(>? c~&  O9ё|'-,d4//kkiA @߄hoT@jDBB_lAAV)lw_<[c}H \oKUI W_QAA(uQ5! DRUa ֨  x!!eBӃh0a2 M?֩"*@$UAFYPQhи4H6w <   OZl2u-5xA$#K- kTG`Z{AۄH ~l׶lL〈  HkY)ȒFCG+S20Dm5E*AXW@vVeFC. G.ˠj"@AA]uWpyݘ frrQhhl03)1uARUaiHg?wY[ѐ  ­{)wTgFuLKd,F#'P\_Ns6Io!^A<1O%F[qAIKcIX,2K+iJ> %Jᣟ}p%I-14zZua6FC ˖b4t  [oτiVhb4@=ׅ^; `x?$=x8o8?r/L#bwid*)XM\iONšLWVi,7|7BK9LH#i\/px[(ҁF_ {>M²dWEڝSkQLZ7t3:w1b٭Hr]-xn@ 2G`iUJ??}?~rRN`_ƒ }x|<҆yh4WrAADEN2_gse m6,;n%'0dbR^j)?1r8[mgc#-&"bsa6Z3yͮ6&Ol0ްDRTm4 p&"7~S܀"ŗ&}yX"y\u4Z.o:>Sɩھ 1IUKj_79):-\Lx!{^1U&/)Kl+^W)Ȉ=LV~ty.ylO{XF<)c[#xt_fhx4$!wqsg/uKICW3%veOmܙS{ߜ޻{#w7sN]<j%s0*N.sdNv} +z{s|Rt)<H?f٤q;BX:^&b@bcIM^s'4pLbiu,Y%`h<7#PCg4w h;*ۍB=^쀓ܲI뗣Kdo<> )(1I'ڏi:}OS{,oP&il,V=A?<_)rIw$">Iuw\:D A 7n=tz[W#Pp\8R5i)Ck(~\;qGisRAuSb`x̧[ g+nml(kVⱘ$E%n>3 ̜5y 3DB[} 7X HDNsel.'.ګ>~2lwOcR{Cȃ`n<V:|7* Y|VLPYT;\v | ǿdBFǺa뤶2eQ@0V<"%-_Y_M/zVwPV7 ]?K$oeO$S~"WՆ&k tPY2h?W_Y81!1q9]*)#сzVM )M]k' =i!S~}a",ZNrA6_ZB: Atz*HSTOӟ/̅iL[gbjpn~:9hm=u=dÞY$ R5(Rmݟs]nșDz]MD{Z꽿903Z>T]43soRsdn2&,Bm?A=/cȧW<_&,YviӰm2 PLXQ ֯`ml6gga㳘eO/cw7/Q0~"M!sg_?uu/ld+) '%`͋?{z38Q-(3n"sYZ|%jŠQ;Wgt%WS r<7;$uiۑzL(Dx'7E1L"몸&|Id>L 88 $=Qe1^#[nH.iX{OntUŞ]?$c EG28 q]UtM'qXcbN|^#0 F5ePЃk'Rh^DK'-z q+?{ux{^@{DR"E)JlE;6gI6&}uko$kI8KV,Y*%Eb DE `@B<{gRpSjږSt(uyM>o++: ]eO($4 H{o/*FDWj#6Xq2Zz? }쥫,}_Q驻  'QVώyqkzqǕ33NڱuF (4T)[Yhv\983_GE~bey$ $$.]DӦ׿ #V +z]|hT]^2%h=YrME [1T¦!}*A_֭]v0yXv.V~xz~$8J[I]Rt+4:=E)% {>Y80e,gNsUUKYޥ\ʜ^Nc4z{Xk>L1+pKT,Oc&Pwgj[E.%k2Aȓ(?i&V,Is8G3~)2ܗl o]|SKM'/2q>%v'щ},Dɭ_Љx UYN 1D"H_ I;uհ{Qm,+ VxaJDCםX=4 S|dAbNڪ\Z/D 0){k_O8q1yYgh TWwSTكz.r`x2Aq0D:&^nǭ_CYPNUTB#;瞧OQj1Y(.f݁V.0w# %b\6Nv,&3$O _:HP'@k-ʅ y&7q"%q9|?v3Y~s!֞x 4oĺjx y;AKO-o,K_\MV߶ ZsqJ&jV d'%2r<,yX:O Z)(p<><|)'f{*!N mzj>u/o[̷[Hy9rGA5h ̹KyRtOᏂ%͖nu\ԁx;||?mX]K槻|L.fTlъGOoеǓ//xG_eȩc'\~odx~H뒯r\h⽧v}#_m؍gx^9ݿuDn>ËONMQ7f}w؆M;gv7mg}A!K*9 b ԼdxMod0*Hzt<{jJlt iz!l^ A#t &20C2e ZbAN&o>d YzNN;PGMfн4?(6u{ɥh2IxOеkƒGq Cj\T ū3U&-M]dH<$Pݽ#MZ7})ߚb{?uLDHs U}ӪoކbDH})Z@PW0D:&׎4p/ϚTœUD}?9EeϠ`6$MiigXLft]b{ (Vs0zJub#IǛf ]-mêN=p7p5ckYRafo=KoAo[+?q5 vGٵl-*N8^|m+2VqrD;ٽ? ?4kϜITϏK'?^Q\<~R 1o#y<ӰG 0l^:,ԧfxX$!Iƴ !HҘMD_Q_ SZscDRUAAA>Ê3MdY'5 $dZ}S9ZKafIUAd1a2" lN+ZR%ЮwAAN(Q$`+kā.+߃a%A  aeA]ZWsJAAW Xɕ$"*gH j ;X+mT1 qtM   0&M1A IUAkp~!]1j:Yv0]ɽ)i%w^.}>1:^AA:2`M$q=E~Tm2+ | |Vv姧iޕ1ee`wi!c)/Aױn$ÄtPiCo/cÕo򕑬8q±Z2%Gݤb|4d=4w㜽?6fx oK :Iٳ?4B)K?~ݓ+RANĭ.Q 0 q#2`,,17ncW tC&Hjobw`p)SŵU>_>~c DR3A"A~g~!]g~KM]Kֲ '꣩qw&$E#lcUsmDrex=%)yl>M#vz$HL*X$a_;݄v̡9W&e[gWnCIhn)[vR (84%:3YwWP9:k jlrWV;SNzНIUX$#TmĔkj;xYdVdKQJ1@?r_ݲo;O?} +}>&ji&U3w/Q-vf/_ƒk 9IIw#O=߉&JGM~U`_;SA)\o"j7gμÇU)c=dYcQ|hg[WaǭᄁaU6@㶐0a`R$xL8M P| GWM&K'nL)u\rJ{d:?I׽vݓ"a5_@1E&M6nS`˟_h!Ȣ|KU!N<[f2/))a#Ur;c_w`ܮO s%rƟVBYƚoPt\\`$ \ VLv8dޒ%yHv~jިDNS|xL<ǻ94V0@I݂ y44۩8xچ 2gv^H 0D:D:9f^?Y{/s* [͙T|W}3uHfdQIN~)5Љk,,,3L`d La@BO:If։361qmt{ &UZEEsH Y=~YNyP2eJۡNdss>v"%&85`2=@Uܭwb/n]";r A; 9ٺmfT4]8ϳcprf|`h4&@"r_%68$i8' <|3˙rg,Y.ZV{:/ 7"N/Ns:YN斖 {seYTũ:_ڥظ5M3@^@[Z+r(F M0$Lc0 ,qe/ $N5hr"qe箪|A>Su k䝜%<\t3hXqc*Z ce O^㕮Qgi'7%v̺w!Zh3BNIa|,HKqg wxQcAPdNw>'Kkcm6 񍯯#%~WxL1np`fX_s-k>7͡8n|kj_^U[_?NDfo3Wr͗y{Ux9U壦e`xsW Ad ~]>cD-lq[^C%t5Չ(( }ӱ HSU JE1K k?*q x̋5Ԇ Ljx 9q%$l+1kXH0R֟Kw2in`YIvE&\8wz~M+AC0 y07݄@w0j4NlC55BK -|m:U]m{dIؚ*YPdc_GS{Hk@ĭKĭNGAfsA@"l<|=:VG h 67`fǭqU'.(*a%&hteJfeE hAL(+}N2[xv ZU'l^xG3n\z1Ud.?ox䶥Vr['PѤk G _)ʘ'ӞT$i[c*,}TDrGL4TUg-K~ӎ_Mw7+6᭍zIv^*Z[^UQXpJa/O.\úsw9(>y\qD#u ~/;"ܞU*W;ϼrq& ϯv~OsB0Bv6Z {DxD Gewf^~bG?O%ëjȌ1m'1[=?b@"J/Z9zRuɤN `+9;W3=cō$I ]?%1XLlʸzB\ϺiNz}W>sߏ ^l}t\ 8UµGRt[I@K`gae?-KlX~?%wi_llZΐ.:8 d1'bT9?||H{k@.( ϶˶# 9;SCCô;Vf.eKxfv494m*yd7^$]v Zި=W$i`ˡ7ZkMv<ߴL*ZEF{3x~UUH[?I&2,^@K`Epd3^;]$$kԪ࡬E &Pᶽ%0F>6Ɛ`qX0& ]rGxO-9?BkNe%fW1pJxkXP®Eii xuiH& Im_A/Տ:k >"nq N: 29vx7ųs͔Ͱnf-I\?vMm2iǭnI<6"I C!ac*IUmxCt$"IHjuQ\É:Àx(6<=C01hq,ȎgSNȕO/Nz ӜT?(FF\h1|$ '$ IVD0Q~Q>X~?WZ;s6wl™zS Ҥ/ /;*b}%:MLWҪ&I$ 8ɑ c&+m[ @:KNiGyt_[ \h #,)/y'0RS 9UAAGth t2-,$_]u oY|r |2_dH<ͧzNg2ah{;/auC&r[i20h?FԛI|, y <{zf{yLHq#Xs\ek'{v.Z4NL ;K=7-屵-| 2hmkhFx,MF<Ob꥟Kƈ=]זT/<@O?^GS.TR=iœ{;:XuK | кjY9]X\DS$<%l2o\S} QX@{%5[vUCaڹXsyϓ|(mq'UwmcKА{@OQ$żiw;8GҒȝEBV޴9#Wۊ*޾d2Gv!N&~ :{ݕ Ewgj[E.%k2Aȓ(?i&V,Is8GXƜC:߀oJz)AEB&;ǵ$$:Q( :O!"t16rb  \|sqͱcce2e4kv@ &JVՄU1(\Av@9vUA}6eta/9o>_¾_^[꣋S47q8[H`*wnˀn @O-o,K_\MV߶ Z5BF҅ww;,kEWʂ q$.VU-eyJs+sz9y:gzܪ5TE5.$0(Aڴzק$n '9Ua6I$43. $ mOJPqC(1 2T n ȸqswD@b0)=NRDT+n?ӍGoOT s?8=Y_|2|Ǔ//xG_eȩec'\~odx~H뒯r\h⽧v}#_m؍gx^9ݿuDn>ËONMQ$.[/e*7&-@W>^r;w`7leFr-y4Ww*nb A[#V_FsbzOdzϫFKHб7Ĝ͋Ya1HcηbKks @O˔m,j9 t{fQWYzNN;PGMfн4?]Ab l922[ |1cPu_% {h=E2r渘&;8]rE|}T~NYV٧mr >/G.(ȗcgߋm[@S;N>8OpӚ1,0l3;^-n6Nc{:%ܿ5gNcbx۸%X'xu ͕8mkg;s #Jĭ߰]Mܱb6p<vǭ^j5Q9,((.Pr&S 0 dj#쯗[d$$" U70).i*'T]-mêN=q:eh8u7ϡ裓qcJѻx{O叹tO{ M*..\˺d\d2<\mG '$99 ӄtPШ{^r0g,LAtԥd\5IH[q$dØŮ,މ;vGYEj[!K7VɱꨆLkHb>aLgk#S60I:'NM"&1"Ō ~0eRŧ3pc%Z  4E$кbĢI8^0;"/ZBEșlqmg{JqeB@&-}"* \"nD_KNR$vvÆr@?\;dX@u0TJD8>su꣯V>DzhD 5# PWM]5WJFt_%oy1vf!%"5157AAiI$uipObOEɲ@ K% "*0C&5$\i_'wE4dUAA>=$/38_"K&i`W$:DLH4 Nw%ǯqATA!D7.(hdU$TAAiO|Xz M0De9L $7өHibA>cDRUa42SI#b=MAA2 @T#ըcR$& &$$*U{}B"ADRUa\MBUAzNzWAա6l* L+CI$UAAAAB{1+_1V&z pcIUAAAA.%0,\8l|P"|d+^dcZQWwAAAAYLs.Cg!mVL9`\z%l:J 7SUAAAaŎpنk]0(HCM\z%#BWATAAAa]@֑hWN݄Y >dWV G$UAAA!$J@;y=v+$ 1bWP{CLKXAWmx{LBhkn#n5I䢏CĵkU xt˿Tk}3?Mm9לPDn6EC4@ c8A(ܝCv%$tG ]qG ~.$id7\~FOhg5Kƿ&Y⢲؊t$9T+d.q;Lw M--&{IPdo,xBt_eXGnSVٷP7)w6BTU߆`.lBəӈYdu;z }v6V ^;>ʕ|w̻獖w^*r>ONj-)Μ_|ke_zCașrL)/um< 'W>{?=~N P OHj +=;,^^z r--E8.c_i'z  \G`aZ؆g;-u:|%APmh 0Kf-'w~^4-?y]dũ1cf6dcϯ[i::0L%Ud/U4F,b!Ei?K[O.Xƭd.v ^XisO L'(z3qH1z`Xʺn>n2c 'F;GX3O<]??#1fDeF76?0c֓$')rLIZH²0=D(u|  \Cټm*f+(΁S%C΅v'(g YplCgdv1a43\Pvzp  |=A  rdCk8LJ0O<$z0$=QA%B>]<țnI=g4 )[e ,uqZsLADRUAAbݷ݅W>s?乓=!zj3:U.dlcYmÇ*LwSd½35?M*=Td`xfp8qBꤪn##٥X/w:}[<hԡȹx|xra$:kj*tt,nvq~|%Lh2BLJQ&)1NyV, dWm"CDR|!lv̝ASZ]@j]tyx^< z^$ h-0su}ݙ1k QD-ˋs#ey8ƍGlpXSIUH6 GE%b;!V-aFnjJvcmppu݋7d%.~+Fi]{-;XIvyHi\N_{h1fNb}KW(SHZ:f*idi|iHA|FJ3o  HqmnfIE}u7yQPlN}#25uQÞn gO㚌^ʫCQrI&zqD{ij4{6 (j`/o !B1jacOr4?Ɣ,Y:xn^>vd>k&g7?䪑wnN5cK*dzBYs)v uw<dϷ9H]Xvw.LQ$ζ8c4cK8MƤ G'ƒg#zN)N,5eX\&F#LG=:jWz80%d脻ѵP[ wԢF8ڠ`@C;7$k>xiޣvXt#?zwu>L]UJ#t{$.8izn#x %-4:$jO^Jݑل9iLsnN=ΨF.jS\1kk+U09b{;n8-!* XLhAjgOj6bA%pn[ݔ6v8ͳ X_ :~^Ǐ=n'NcP_kgC| K&V6x Nu\RR222\8B!B7661 7bl(%Y&Rˊ)m2I @`aU{3gLŔ>Pm LIX L T}V40|]3zJ!#lr/;=cs֕~B\Fjky\F !B! $Pz#AԎ[hF1YQQ&cΘb4}[*.P4@GUi\&fA9p%W "B!BqR,Qм]ƘTYb0b@„۫Q/Uxe wz[#5s+N|]/'B!B!J1Z`@Wèu`wy-viPm Gw^_KSJ~!>$TB!B!PM-rՄVo6ƾͪ %B!BqRC EAB B!xǻ B! b!B!B!'TB!B!Pal4e2/IBqPU!B!}+111(qah8fc2!|I*B!B\@04TUEӴ!X6M!.[ !B!|ef2cU*vOSǨoF}x}i$L+;{g+FuqțΗWLbJ=UWdž%mA/=04k!őPU!BqPHRƻA(r ;p+Evy;apNֻGw.Nntb0"`v23Gӻ}4%4t C Tfq#M٤1hjk;˙99ј^Z6UR{2xA~k<5GOV /*}u]A K(&v7|NbVOF q}լ~UIGǣBQPU!BaP :H`Da4yQG Y̛(̋c[,su:ftν}WХhiiL[iZڻT6;ی|D&c|.ӵTK(&zp|0 Ɋ:|QqޖOAg/> -3# T'29aݓoA#޿;-}lX%(.z~֨(l`;8I~MR(̈?u9apf аaz|sF}mu'n¼:?! `a?our&i[Bx<`Τpz/UM0H?I֒6C#vQr ,& p8/{q\CV4hM}SZ4u\I;]R̺Ws0ƣE{|457ތgCc=_tM ju<]]4\8 5 {R}C Q7t?y_cC*A:XlHOg&F"BBU!B! >f|ȑ_%jLPs?T;&``bP@ al2Uߎ X2L#vR9. 3Ⱪ=4ZCUUGǀq!a,)wܧ)ym8I Tm3xY )?Av=[a?P,X4-CҞw#oc֍WF0@Ǫ9rsoNeWcb"3tu5IzT<i|_q`Mr,R-&bckkF!?BP=އ1%ozzc V?HGAMB;4K5Gg%%Esc+{ּoc;GX%:azЬd waB UB!'8>ގs>>ꃌ( P60Z^t4n>xk~:/KleD}5o45Ǔk,kh(C#z)|Iȟ>ŷ>73=_ y橷CAs;\ #mb3L 9kGޠ¯jiɌǡ[Mci}YS&4T(,pbSW}(JX~W:i7"h{ ;X(P?y{U% [y~Fu 9yEvYLXQ +R !$TB!Tz\\lq݃`05& !,bS5:6ҀD(?֌p`SMnAduF.)HJp3 C7=0Mk9['>4*I )̅"mN,͝xdcA!~ia/vΚJjjU#Â;@@R#dϢ_O6 nŐw\dg>MV~]>li.7Qh8ǫ4u耆ȫD(En߇-/tAz~IdY }H'PU!B1D 0'@…3kqw[2 IDAT>Vә73zι[&THRF>|jě H&(|G*5q?z(&yQs8\L [IM&>ȌDIXĸ(*7,3rhxI+TT&Uhkz{8]z՛qbɩ3gp'l3zu='ɿiU't}:LI!ţx&]`Ei[3Ǣ{# T` O;^4$,>:wsmc`C5̸ǻ9dO%'c _U)u}lD`EQd0Zxs{_6~aVqw9]zVj"積N} !\յt-fv%2!ͶN31W\M;_}sm"b zV92@/Fr gPUkfE¸M|Btw˭ :~-Xvc c6\JFFƠg[B!mHFH[ť(E$FKVU׾Q̜58F-բ=TR~O/SqV~v[˖O:C._lZ5u#*ɨNO"}*#UB!b@/1@0/IdBJܒW@ 3K,p B!Bq(Uр0T;dFqձas {[ۗȔL݌_o`}kO7 UB! +\Q-Zo$Ί"h Ӊ RZ]^F6LCȋwQD }XMJ3[I0ZZtQdޚMZc(@&S,Scϡ錻sZ$vƓ&'!wl3r*)Q؛)ٗpL"W%-@DduPJ8ro˧ccLWff2iU'hv_x9%'pɚh@W!_׍v}UP/Ý(Et]5MT4pTUb82 B!zgIdnHiEE#)N?gZmvPô!o7R?Z8-fAW.jsn ~D(8 rk)JwS6vKI2n䛏eG9x&ʽF"9i`L̬͝D,ӥܼ }Tnc?vQ,Cy Yx&z+?Y\r0);(i끶ȹiqv- 8뛨t3-Zw"54=qp3꟞]SZ2KRKa҂xkz a+/6'6Hk際z]%/R3 SV~"&@ZN@59Lr@L8x:p͝BJ]ˠ} ;h缦/}$ov2v,]_3a _ZHq ު1;i+[X#r&29aݓo){ߚFEta0-+ya1=:' t7lMq `4]ծ qD)vxw7{ه E|S𾷏'Ŧrgzx3?|ʃUt|f*OjS!p6T^u˯eN?>ӌÔYncgSݜUCȝ?/F%Ԫ^*tV~ n>xkqű S!]mz<{ÄQL/ږ٘sU|j<'$=ub!'utM-bDоl,\E ^Z6C,-w kn3D?b!ƚB!Bb@`(kzwfhSaDhM/tC(XMxV:VגQ&@ @.u&Hvpu4ՆF^Kɿ͜BME &Cpgan-km̠+(祲 [8xpL}sz#?/aif;*-,OaM ő tӦWCwa C~]A SN ځMN$ƶmY ș!)L RDQ ަwtyhU,F5ΎS P^YCUe+ ;{V{`zNTw<{^z?-@C]`1dQ7t?y_c:}vy|Seu4-ŃWtup(H;{A'H)div#1k &S/o&0^{]3`O#@BU!B!Hdwϭ=rdCsEi*?O$B U !4qX _? VIcB4[IUV(̈ǦkDUUO#=Kݷrc*iJ;Nҩ!5d ~|:HJxG㡡lX;44MghqR͝T~+t&NʍcÄ(lt @L ,+.rsHSsp b"3tu5A˓x&.R1_IN0:'ic$+f!+Laà72kTW&><)N쪏^8D.|)iLJiԝRT^ewI}&=2/ػ8D qlTS8:xe:Ԟtz?\OAoY 1h!uDsc+;Gybo905Ēfk{s{Ig߶g?B\$TB!.>x {AF܄tF (fT/:@7l]p#L/ѳyuּшOg\]CCA"x{NsO͖@y,W1Zs5OM}8D0"6ACql3pq̜5#oPIу~⫑)(^ևK ~@`D$T E.f;DzU4޽l wQ81DËǩ>' u+wӾpM siK~0j5蔔p"'>ρC>Ft4m\g><<AvRbNOYEϊut `uR8uoHrA>[LXQ Wh2A~y=Uk*g=N Fs!X !BJ-{Ђ &Ƥ3E1@l F@GFw/Gؚ~ 7Lc^I-hҷC˰ȅ#I ndfѽi-:8+Ӈ1Z\7|fnc<)a\mX"RýKEmJJ^ 6Rbtvt ogys, T:߭FUuPd~. tvn~X͊%MoNi4a/6W陖@R#cc+8RX Z.i7ᬩVL82,xk4u<JKM!/ۂ꼺MJGkӫ_-|cϢ_O6 npZU]gc"7٪ywx ܺ*7AG/凎pϢ:NHfb4ԝB\j aW7ccM"3ͺ0-D[lR n=s9*@ gv 38HWi8sv fE# ^_3$ĈI*B!ĨB&I74A#/ p!Z%ݸO=E{t̅'sn▹.j9«Yrd4#4z1\-tm>۔k'auwnG>KhA n\mg먊Fkwka^ fisdnB;GuD. &{}SЋ2 Sb7=:'9?Q &1suPt 㧧7۹|,Vw^gX&(|G*5q?z(&yKs,c_oz,po%3sue4"`wVgOKSsV4*}:D+_i+ |cDYM[Mt}Uֶ \5Z=%v #-ԬyJ X87l%55BLB"3=,X>-5t9ӸlQvZ Wm1ܰJ6 ڷׅ §ZIM&>tSl99> mU]?S8=_[ʒfvv Z#e@BU!B!F-4;i-!rg̤{j}_Ľw=|[ü5hK΁&I|)d5<'{*9[@"L/hl:`5o[]^&~47{XVi3q:9c34積N} !\յt-fvҮj-Bcxf_ʻn2(Ӛ蝬{]+fqϪ|m6/ 7PZxs{_6~aVqw9]z$|)/=\qs.~ۛxY|?+^jO T)rhl>;_}sm"b zV9rN:%##cЯmS?ζ!B+T{`~w4Erb̿%9g.&aoYD?bS%#D[?}#?dAUәh ]6x:qU0j$0):=r3;#3ϦkY3ԹDTB!BI:Dڼ8ш}J^%Pk8F^Yo8 6XZhE1h<Ȥ \abD;F0?*{O`7ɹdk>޾Rv uT .zO+O UB!B\ښxB L7am=4FY\qztx0XF)&nTU UՉ63{p׸_,|~teͱMwCfOTTB!b!?^jpMҷmPu}Y(ȳ`1y:ɪ ~NjSD;x<" !>edB!B!PCU]SLd߷D@ft:{T>Y3CqePU!B!nB|\K" !B!B!EB!B!얇dYƤ ?dr&B!BqKͱ;@zfyT傇uP<WӶ !JBU!B! ka4b4)twd2oF xzT圅5٧JqPU!B!hNL 1ad :M~At SDǙ c4w˅%B!B!7Sya"/KBkwE <<':ã:{>7f:03|y$$~\uul\־Vxe8`V1?z`2iv3f~k i&B!20a%+J9^wYQ-bAv:QVJKfzIhy.JOW_;\BPx&k" 揖PK+h2o&1DU[]~LωҲړ ҷ_Q :Ď A(nR&gk̼.~\gٻ"'0vԡ-QU3bXrG1ɵ+݄-vfr~G7|.WZi^Phy IDAT/7*PDduPJ8ro˧ccLWff2iU'hvW:&s.TƳKxzԳiz Y$TB!"cY,6L 8cB5 ú{$?\ZM~?t6d-FX\GGѴ,v*Em ďgBZ~-ENqjfn)s8Rƍ|lvh5ϤRH>! )󞛙Eur/S\_JTM}{.j1_=ϳ!t5+ 7Do4_&eQ%m=ж9w1-#]î<9g}4rESS{]S'Nv&f#Vzv Li.I%.݆I %C^wξK|Q}[^ķ?;x;Q.^l2%qӹ:ˉUPS^S߹ },Ϗps1VoM%z8}[HMa)&M?;jO↓TdB\ "B!N Ӣl*ŷ: -HIwilƒQMtz  1C?@+ G<;!L|GnN0MXY{^'_6QK0#h?0Yw] pBYxi6~3]8FRB\dB! t]Cøk0@+*&BkzBj³ұ*LVN7;irGR?Z>*nwqU{zUf20bb-NHrnrrsIyIpr@! Pire.4>/$۲-iFB3{5o^kxۤ[d/mE|k\2vқ@yw~+ <^vE{VgNkftb`2ٴ5Xjod b'B!dk39a5}tFIKP4噙gT3·O;ON:IZq9BH*B!cwԢ83">b `DV'j؏F<26smO?]K_n±y6l hN굔&;iNP'N:> 2(U7? xG cï_-#D#FiDߏMn&!ES`a\=&_duE'oe}8w#1'v׶SۭOKw\/eXȼY1ڟ:BkӨYn%|^o\vL.SBdXyx Ioܥ)XmFbWb''PU!BT< ms=`05%\1,Rsv:6ـ$hןdo&X>]ln/Ff:#$sfe Pu/fҰ{ Rypn|\.;NNfOo!S>Eo%ǻT^or;˛S(S OG|xNIG,kb3|7gXO~Y-J%8H70cDg+ +#Hׁsc+8O<~LMuxfT`+͢pE*h }-^zC:(3TE>:_=ȉ7\3ɽA@-~gjPO =~(`fE3t4p\_Q@UuC/tvqၶ9 l O苝 OqT`̚k{'&7K.[C7p߽Pw벨{=:;E\#nǣVrsݤGR22Y`NaXj%7MzlurĶ5Ry2mF&wa Sx?^e{$TB!bʢQ#2QzQp38n__牍Y{gXa[gmTs0el>~'xfjx!,Hsm }myrZzQw冏7AzZ[xԟ~[l_Kor6 U%nVN|4|ALK#4¬kʙwB3HS ̩`FZ'.w x)#K)hdPXf$:jIXqy /u@ъWϱrJ B#}Q9Ǿ7yf.!, Rd}|o859.s]6~(1n>6sh#ޙF^-ksxE+'֚W{Y7!0j]lyo#xuRn[-\O FSq!lJAA?ff澟}B!ӷU>UGGc"5B*E9542sgG~@ `ckm(A^î3cbB!bB1}>((A}uڱ \/6_!B!j :7t7D9%2 UB!B%>(i !. !B!b :\ <]X;ĪBL+ UB!Bq%qR72ɆN(gN7C/k)!.^ӒB!B!NaVǏ8-N#& b\kt6Bi#B!B!Na^#'5x}F399ǦgBqaPU!B!'u, v}C" ߿~ !D@B!B!I0YM(Z`w/-үI4(ZC݌ٟ =gV~ϫl/ZGy94'8(kfp6'1GN0 py$XәYdϼK=\yg77 ܎1-}Iҥn /r,:9 +p*u+k.axw P]QUMPC9 T|G'٠BU3=,HRXdÏ$nSd ':?WB|I*B!D( 9pO븵2ͳJ;VrS{?2,[9tB-Ǽ-thRby?%ǁ}x d2, MdZAQ[ 9(~?-JH̾/%K̽r ɼ\Go|,{JY̲:?w k[m S(IomqF- j&{e66k Āft`晙+rAL4! x%gFOLksuQ =f[)Yd!j ˊ9uS l#]4DArE,34݅5ixO!Y?!~dv6w ~ -ɻƌ%n<և3Yw|1Yxv5ީa[4 qbF0WΤxV!yQyк1bK5ĕŷ5(ؖaV8Q'~~UMZBzs}DrɵSwtj>h`5Mdgc7;4@OOM9Q܀7v9yf`332^z7|g^nȮ+K]<Zj>~5_o滯$~^|:% U^#z\wkHC;#|fɖo|S&B!k@]8 ,1t u5qDl!m"8+(XCCx|h,ן]B|=\lngM4ogEsIo8q~q,i8 UV;o+yfh*?* =t08? $O7!'YSz kslE'%ap|c\G0TF'k\~3Y1)M.Vgd 2 օe, -XL10(bwLT01:/WhAG;%͍ѷكHYd_^nОNNwq+M&|^j3 g{Sw=pcR_ 1ּ-l|C=eg?Od>͸\u4-;@P ~,O ?:~Mdik:ו̛ɾDB$$B!dk39aȵ}tJFIKPyj[ŠCÈٞe B >>o _ }򗡪4IEA:6u..8TUut ͈x1r[kز*rsɶ-S?\|Z;/Y@?jWW'U)Yʸ~^*voeÓ` 6\'ax>.-"G͎l5B1z,f_iaZF*(Uw3&;% 8=Bk1k*eIhzR~Gcŗ>R (qQ@] Qa+@%dPu@#5g#rCt4 ޗGq S˙®i xpso3<'֔_gߐJu&_viI,~P&xM !$TB!x92AHBgFOGLwbb(D шGҪN<ƫRp܄clAМNk)u&n O*Cul}leP:9C: IDATn~/a-dž_F[]ln/Fd:#rfe Pu/fҰ{ Rypn|\.;NNfO2V>Eo%ǻT^oR Ʈ?;Xiooΰ_V2u`1 *4>VKăLinQ Gs:ZHgl30EHZ0X}KU\rr)BɃ-|?wY|VMVA*QHM#3lܨ3%M2>G}t`t\qKX?^lAY Ě~| +YGc)Gn48OW)݂Yшb&8[ !B1eQ sUdiD+Vb.lW}=Y\/eUr(4D =9Kg9(<#t1\ڵ l>ϔ+fcC=^qR~mܒ_9ZӮ,/_Ȓ8E,!o⦀.k& w<ə6?+J(\ ZGBX;:&L6l6?ȉ7o +nr/u:PdǙw1B=14BS< j4y ᭛!G5$K:/f2(mGBhv+Q62DU!+7@8BzN.mlf_CZ@8DAn!zSݿ'pihf|!ۮ,)5sRI)dd03֝(\7Qqq,(_x w,v!H]>t"W]ضFV*\]mԞ\/auJǫl2hPU!B)F^GM[GE ^_}h'6fqa-Bo~RYng[x?/<= @7y븩2 :y}R\'tv=H_a\}dz]kM<Ėā*`6Ws۰Ž;$7Bқ8ҫʙ 7vr앁3#^_Ja5̻N!T0F1vQEn< xI2Ђ+Xx8V@zSzO%H;^1Kݓfʣ|C,h3G^Vy 0\̷cR`%Xff*"T=M _7Wngh;+9~k]lyOz U|>áW{ϼ~nk1B!B1& TW@\*ٚb4yiT#MXOtB$dpq+<2Z6@5)g=BdI*B!B\DTJB!L.טk Gc:"t d;b8`ckm(A^îIo%!+y'B!Bqz5st tjD t5rrjhU[dVF1d@<lw]0d|8ܮO!B!. 0fߏ誊kmс0 hތkh8hF rOf !B!1 ,l4kgmzϸG!my @BU!B!"עB:(9|_G@?!H*B!BáiM *8ls@a8l(tB*B!B VcEY^bP]!Nf !B!Bw[߼KWЊܹLL{(Of !B!A#h(l;l#΂"u{'*B!Btwd}! &B+HD5b3T /^ !KBU!B!B!v>ZGy94'8(kfp6' _tngs +p*'K}c}?T'|n`04噸S? $9 pSx cG;iG,' kz u#33qkd0ήIY|kg~^5V1'|v)<7翶eEb :P>w YiF~ˮZy6{䉰^K^# kf2+ӆ1M׫'p#I*B!D( jl컧\8HZuZBYRFP vfb"T޾O5V1FN&vY'M'cF s4 25ar@cܦN}s(ɍV#-u~I?D3ukEi^n%HRzwR11`wŌ誎j%KdFƁ'yM3X[̕Lv]u~6UJOj7Ue-J#a!^GɈx(Z?RD=OԒҕxB|I*B!D"FE*pUϦ \) v adSY|ҌԼ{0m݄=SeHr*S-3"}R\+sT Kݮl|df\˗??[x|KZ)2n6V&-Z€15_\G{Ob2n_tWx;ן^NfϘOTANμyiHyNN=y̜禹7g't>\G̰p:40eS:|&-JO<' [M &>F-,|eO9!g12a}_^JIu7^ʾ6\MRJ x_hAhɼ" cBT!1,b&LiVYT,5xR>rm ?0#L&75HwPH2SlLdusen)`17+!%GSM4?gg+v&q}Qzr#oQT&;8>4˿2W$?)a}K :A:D2σ%G~C VIͶRRa0_g27j$LDoۜ"Gvp'OggxB*Ma8$с@cr>y\1+ ~LB TB!P/%&m ĢMcU y zh,8O?U!jL-I{&7hE|k\2vқ@s'l?'Tiퟻtl]~ 8]8!q0;.΁g#箛=~-ۏѯ!7lB>ŧ s/G^]Tif)y۽-Iv2bՙ5MS]clj*mxE %2 ڳFv]kŲww$OTm cJg XB6F5Bqμ?)&R+- t!5'J~Q>W^u[KKBU!B!'{QP41݉نb0F5GG#D#4FgO?]K_n±y6l hN굔:7@P'Hs:> 2(U7? xG cï_-#D#F%?1Mt}ĈFLd6@#\N[ir{#:As[0L܄=Dw?nɗdDS,dQIŬOiHu`ޡ]f.) QFCP$8=>:81WRlrAQGlj#|Z/`PU!BT< ms=`05%\1,Rsv:w'jןdo&9X>]ln/FJ>#6̙qr!C ݿ7K-<HQ!=xqT:9ql3'f M1 1fef*A#۲'"Dt3f#wj;(F h! k*(X-ݽfOT 4 / )n .I@ଟ=(_2Gs-ђob,xy_ɿe ם u0Vd}!B!BLY-fœuYep9 [Usxj>|/*!KeD G8D@bٴ4Bfev%/A9vm73e2X=y׫>B쥽G_{?xDihk7;Ns28pț)`NZto1xc/ln**qJT`+͢pE*h }-^zC}j Pu[rgrQxG49ƌ+^#m z>:gK"tzNtpS9:|n)nr/u:PdǙ7N%|Ii1tD4q͒8) W?P՞Qu L:t7)&i09gCtSgWZC@n%sw` DzV > V.ϭ ^[͙?4h ypʋSv"S!}"&B!SEI=қ⅋ܽiv":Ol;? [< h沈Ξ .照g?7tU#Ѷ`7UfAG7@ʝnîk;̓뷏`Sk-7|3 rgؒ8Plfj^zcQ~<7Jk+Cd NN_Ja5̻N!T0Fk;LzzM9Ϣ@Re"!*~sSA/~4FϳPtPtA?A bfn4/]J>x`Ƹ<Lk)[O)YWq/w!O6 UB!HbTqR ŁD;zs|ן:#iqke. gI1AU'B^8E+P}ӟvkbLJ'(Nkeܾj!&owХ'?̞1o㟨ޝy' 8X\Hs2puRc<7-En> >:zq3Xѧ)/չ0iQ~9ijjط-Ah}K9%,_ma`Y1S0av@kGrdT='?dFu:ʾ6\M'f4T&ޛf]8r[hĬi _Kh(Pp!WoϜŃ?{wu}﬙l@B @7 hZ=gj^=wwzN=h[uCEBXB !>'$@$`hy?We}{>\+s|f8<8kV1pB..ô44x-| P設*o-ϰԩ f ŝ ˹fNn-LCGlzu!} UB!HD1aRx|0]o6JǛ6>@[[ ngm\RGc--,mq̐FܖR;Ͼ6N_{_}}⹼~=_O;xPT`%d?nM%֮FΦq5T UB!r|L45 !Xf*ViAxmi>bK)XIm-`9s;'+LWC9ͮl}=u.mi%|IJT@h3q+Aji.?qw*VU+ /0K+Y*p6Xeg75AO͍[%;s!KdnR23A31> Ki94P H7Nj6"R͓FRDqxO23pm&vP}4bb&d1:/ܞKA]edWN"!MM3CT֓7JDXne'#t%JUMu5 'txŝl|$/^ϻ1Pe6MÈ2M}}: 5a _N)릷OPZZ -a]3` O B!Bc7 $6~$cAFp"`s|bQ@cbsce+m=MX.4V' slmLz/ueRZS}nnH&&1:8v7ٶ:Xrsv.,=|@eciLS@p͂4FwAˎ$d/uK-c L!}CQHM%NzxO;)Hoi1SV:0Дcy!nm/#%^c^>Uax>aLUZ%vnwRL!kq\ Іg+P>=/IMK뾹?vwև`Ĉ]+ҀN/7}e^͛A0&6wӟ%'< S$'$Z1v&;~}6u8Xh4F,%>r cL&7ňΒK9I݅܊*e^4~ai/31?'۰[ RB;gq;S>(׎qf[gBE^B{6N'3K5gP@ɬz`s8)^,vt`'M9ӎa>2og1>v^rx(_ko󽧛1Jj@G{rGTz~ӠDcјF$1ɜ:BH*B!:V&zĈٱX8vi9DZВ\{rHp^݌3!Pg-,?F:0chSgz2Old)껗sv6 {P!*;S≴s r|$HT?٧q]t:Ż1INޞvYf=V ]7Aq3J6rmSZzU+HXdi2je%lydeh?0VL`qX01c;JV*zl`Z&GiVUʙE0 \4Oe:CIdsE{w#~̢kWQӢ< `%&2 41=e:>Zzoi9 b ɤO!B!È[e]AVA42 ojl NusN?ޅ\R_u+|Ĕ>RB RHsh_Ŭj.C^ !ԜKXGX},t{CW?ʫOy/-Q7'S(6ԟr|YY֡^ŠnI|*`Azژ A5QӤ1ΙYL[FlsCWz0@e;uu3|i,J[LE`QƳ {"B711R8*:Ntu]:Q,?[tåxܩ Xmӝ\M^O70۩<) ?;ʫGsg.!yf~x>n:֦`oʿoB!BLZ =6g1>FW-^BO7x,~V9tٟoX{'f`#y9|,+yi^t/˂ظ[p?oenwd޶k?{?^Bt6V'%T'?붱յO,߀Sȁ'؋IAA!uWS},\Ӷ L天ڍms ^@UfSxL;| }ىg%6@f&W2. + mv%"Ga074G>Zg /ePrO` v 7ȃ6@ڊC`(4:xmG(xH_ RoiqbO)R`#߷uF8c7Hݰ︆T%TOoJAA>_ًB!@uwZ[[)({?kU b{9q lV]4TIw?v6䓕Ź3?ry">cl,Eӿ.7ϱi$'DŸOeB!BJթ5<,Vc1UWY-NioDn!Kć ehicksjZ\,6z&:,no I*B!N;3 +Ou.P0MV;NM|T8 +b2~B$$ !B)' !BIOe"B!B!BB!B!B1 !B!B!8H*B!B\Lf弪)T7 B!B`8+Ԉb(gB$TB!B!.`!nkLnY4Rg3!8I*B!B\tNC'7Դh.,u%7 UB!B \٤}#sUsUo$C//\ďKˆٟċ~ †9e0MM]C!̺ ;xǫ?ϓBMBU!B!yB!>=/'x!< R(w WN'E뤢b;ǹ{R^F KxTwE̙?5VᏜ ~c6+j[tGJj!KV|qtoa /TM]v-.0Փ_,65<ɱtֳvt%7}Myٍ]/[-8b+ p)ϋBB!B$AQL}HIAG8&_,8'O%}4/|nsU]=p5O3` _̺k9'd+bdNo$q♔]9m%X@#҆oӉDN}%'W{;[9cY* T,f\i~ѡ5Qm=vXlX4 n;C믚:gSTT<_Ou@/u >QN=#8 UB!HDMR<4j_'U!B0kMf-o94Ǣ̝TawltO%y ptwhq*)]ͭ/e^]ݽ^7Ī*FKno=>Ԝe|kYZî設e(yS<%\{.K-;4F5ut/E,u,Ӝ69Q eS6|'V#Fa-'gU'U'7΢xЎFVqK+0ؚ\9fS O/٫q66SY5rTJ9ܔGZEg,Oͺ~:iL<9Vg5b!T:mj$@4R&19T{<֒Vm7/8?mt Ly<xpa:M#r}M/ZF1aSfջ37Ӆ|W9߰k4T}ĦP7S5>B$TB!"=@IIt@K;Okk;y3a/o!暎7=J͏Uq3\OE'=ɥ3w/޿gퟺ0{O?{-qdXq6vp'bQ%QBJ/ZIi-QL\f ݖ\Vx _+ȏWNH李۾WJVN-O1%ܴBXcxҲQ;{8+e+klwPt{&[TT;vj*EwLݦ1i7\O$)]0ct>]M+3Vޛ)r 5wW#Fmgah7QIlC'Tp,IIi׃؆S4A+րC. FTs+xشn{7nk?{1myyEoϓOƛSڴ/|_?lr^388t@[[ ng";Y}j1?weI㲵+Qa"sOqGB!BbA%80M4`g8ZVz8.`Q'm~4-H8s;'+LW9ͮl}=u.mi%|IJT@h3q+Aji.?qw*VU+ /0K+Y*p6Xeg75AO͍[%;s!KdnR23A31}xTo?Ϸr8i@2n- W`-Ao/|;0Jq`wݾk)i:j'zqK SU, q Tlt짬KG˅ƪYakYơ&z-҂ vp{pCPU71hxqrn}Rly^,d;r^Y>?nTV&U)``KfAlePdK}X_m2{1T2 99TKD'84Xx5@aJ=_ M9k621Z5VO=S8k^fԐʃikЊF>F]T0U{XbILr1@, Fb ,Zi\V_50<^nn?>ܼ_4sgb{ؿ%'< S$'$1vɏb$TB!>!qugį3͉bQQF bbE1FXԟ*eIe0뙙22%Q^{a;3p%knO{:D0ibqH71Ì3՟MjQYt)5P1ɵ0c[U%̋Ro9#}P5GĢV|uD[~'F/cc{ЮCͥrRebYo..T>PGނ 1U߁%{qiksl]UOé=,O DBDu=ܮ:U7{ W?zɏ8Lu1t`=?~]'ӈ4" ֟!&KBU!B!20 F̎ <ı+H! ړ>@fY (ځ&Gԙ`Y{zݳGis?x"k*+% Oi+zrzvno p桷'o42Ktz߬ߪ&(n}:_I=}F-q4~j~QKjL4WFM3ҰޙכܚI /Ɗi,. &FXclGJ#Xߴ|X˸L62)(B滧T5aTIO<`_hF:vh~! 2Ie4<:EGne%c,0I?@{tR}1-n3tzFeǦDɏb$T4J> IDATB!bbq++*1Ff-]mZ#nۻK`CnGVBC(A 4|u+WE1zS5s wзNQy5)/%fU1_yFS:X9k1:4KX́C=O,3H[CS04jt4A493iCWx4Ѓ*۩{ X=Ld)VjLg.;2Mq%7%џVљt4cCbB<3N]VgZ7}T5ϑIN)';WH}\Aw>7_7?W܁a(Axpڊl|ٚEirsdF?]Gy|%ķs0ܖOC_[vIS7B`LwQxQXq4fݝaz߮~穎Zk ~M٠U`1Q6^ A$m;M7M'x+xnZg>[$5^E+ rw[+ S?LUvt cOsא77q>>B3Q Nr?^B!mOJAYϭPPsexf8aĥN 9K¡_ԏ{T߁C^Lqt:躪Go,߮OP}TnX9⚻d|D?LU!B!Skx!)YLlc* |!Z%P=+0Uk9÷ ͊ڙ}SMP C||V,\2 hV,京>^PGsOBU!B!篮vؙyLgXQtX?}D,˜\HˌR>K]%ygWtQz~x̓. 2>BsrB!rrBLjy58ڢIf9+} !TB!B1*fk?5I'Bq~? !B!s~J*H*B!BF6xB\!B!Bb`0 UU1M0Xb8iF=]DU!@BU!B!B*V0ďoo(47O}ij0cn)]!>. !B!Պj%b&f'i8X1LSa` ZYPӜ> U UB!Bq|j$AWH44UE -&98Sc#B!BqSUN8&uںӎZ̙3CxDxx=`"~t\\6l%^<(9|aʲl&^ZήNY¿\`Oxy2>BI*B!8O(d§Q6!q\ EhTTl FK)SP}xץsYr*vX#wE̙?5VᏜ ~c6+jI?RU Y*Hu{J$Fcj߾o|RTUG$;{ɼl|]sMGgS*ko^Dv{3hvq˪<Jw9\5tʩb|g"B!IPTS#)PRP!3? uSIv57E=ۜ EUAB?R Ws4@oŬ[7xroOB -AFhXp.Iٵ֊5B6|N$zv+9)۩}bT"TџdzGf1bOX, 4h@LW /.?>Jּl撞j5 㬪b$Y/Hߊ"\'`Ŗ[8Slj 8%`#{u6f*GR͹8*:cnIcnC44N4Dӌ64B22PU N$2)ZSoϛxr2~%/Nv %e|f]) ѾaG ɼe[(30u궿¿lz|f8<mew7,9i0 U#ԍgT"!T7 B!yO1a~|!?uGN~`k;y\`jX\OE'=b8/޿G/_'yKkG :N|+pp'bQtOa~W(PZeݟ2a^_Ӓs=_k))z? -&nL{Wrz2MnZ֞@!}JJ1|i٨IYaΊ^LR=9CAuc5ItS:p5qdW键c1:  R.+cVr72g %#SNۼ͎Jgrde3))V `&xF8V RO9J|>gSYI4!f8R8GY6=oSzf?{ۊOOW' RAw~ye?۽m tλvGN 8Y}jqǍC4f/ᛷPSB$$3UB!ł2oi`,LG4J| Cih7$Uu S5<89_>wj)u!regDa1c( nQ؜(Pn &Zc_܍ Xԟ*eIe0뙙5y`8kOsEsAN.Nr<$v-7j iWRO𔹑ote0t_ҫZD"MQ*4l'\:]XzǽX$+3DbZKłQ귴RH7c7-,4<֒wbAU-88@6))6Dj!5A~9׆X NVz|)IGVYڷ02ә~gDlncc+sM pUt&D;B'f t0 Xl6t=Jzz @Ѩƽ.;LMM_>HDu|/uu}:ŚZcX,vbq yɈ+fX ځA¥6@N,6\^0®B._A'KD R Ohqi1B\/?Q^=2?s u4̻|6P}qֱ6m;O}ӝ#LBU!B!&-SI+^/F @<\wz?Qj7cy\|x0e>{ 핼4/eAkolLk72Ct7W;k {cxo[ϵ/!:+ԟzuZ'opvʃɝ-451pRcha]mTf_9W+m:Hpn)g9ivFh\P0>>*QXq4fݝaz߮~穎Zk ~Mdx(BFF#Y,44wi"1 kfSF54(C3^ bmG7_FVid |+ -l"e ;=w5\o>՗h'3<3T5:xmGP:VDyoa97q J s37#8`d/E!B\Ovd* E1ǽ8[ǿl6s?F\ˋH߻C$:TUfDFݴ.bp߭Oq8\.b(~ZV(&]!#ْS*B!@uj ?D8%阭qLUUV@/DKg(Lz0͡m$=FNX,1 UB!Bکbg3aE5b]VT7E4Lr>JFF#Ms`F7( Mk+;!8?H*B!_&] q:X,өgηN L;k\K~~(h]3B!>> !B!_ρf8v; xՊ륪F1c:peر T?%!8$TB!B!.`+V,0 ::dfq饗C4ȑjJJfCtz]맬lih"ojálj !I$TB!B!>F1% ,..o'@AA>f裏P__Ovv65kֲ{^BA)(x[扗q/ PeÌF75rvu̺ ;xǫGX=< 5?;'[$TB!B'2KnxgSݐ8.yp|RN**p{R{t.xZN{|_Ĝ# P`٩F| WQїdUKs0nvSZ:>2VZŌ3Xh3fcӦM44Գp|8DJ ͆bI1g,hQN# 3ȏ. R=I>QEd7ǿ?ӏfwQlDp5ZO]ѠO+|iB7JBU!B! >FZCt\ן^Yn瞩f^"hUfF&WlbVdk= ׳|RzގDs„$6n${@̬BJp\tYX=M͘T0xp vPՏ7?9SȻxx4?eIfN:Ś5k|I~3wL4/\mGyZKw]tDYXSNlfvF=dE}TAL<M !B1GKpUN$q &..IRSt^10iJ L[s*vӐw3@Q5+15oc[tkQϺo}-]OP0?f2o|k`L`N~2M[ >-QD IDAT⦩Ć4v,G"CsY'~χ뿺Lͣe:c0=+cю$-T2ț=HdW<]EPfǭN L/K'!3[O8-  cH43?y'0Bh^0l )HtG(oO!=MS>3)+rg}YΝnx[n'xՊİyfJKK4i'N/}K,\x=O=-"99;މh ,)aKifЦWTCK7w &gVd.vm^4@r:ޯF3HBJ4!kHy?>/&66UUC4ڸHNNfҤI{<@OOiil޼ychn&skx 3&2N)~؇ɽ߇ /,w kNC 3(;rbXbtq|&qW3:|c=6@1{;'=r)#\jB\[$TB!P9kzw|0`"z!#<'EdlE8U$]_.Ƕ2L̸KG:j Lmj|v);Z"O& 3$&`WV$c;<2/i cכbɼFVPxY>ke Gp >j^Odd2ԩS9p %ߋuSa-o)Zם;APՓ[@i꣹v+N U!k<*3*9 ORCZ<qs!e/B!B/>IG]"}I7!ݎ9`DV;pm/e#FZsyoW ojkN#@PV*v ;c(w=η_/ǯ襤ߏdffRWWG8&//}?~G*7үף@G3k(מ_5 )g@ڔ @p=%fCnx[7p'>:S;֮F%i\)jVҺQw!-AwWר!y$t_9B&Eu 9$/9${y FR|e̒Tn:{t3f݃5.`1v55s:1 _v&ӗiܟi^W^yMLJnm1v&Ҙ5kïg@ux s?7P @/ڤpޚ:-'Yw$Okfq56@M݃d&t ţL'BBPU!BD 0LJF_d1eWqzjN ·>nRb ”yiYv #4{1-d6zmJfƢX]{hp۹rVqw ~FJ_uݜ:ƂYm aN\0LJ$!é:6SuETQ Vfb SȾ! ]t&3[uPt 㧯\r: {u |Ї@M6T1!{h;K]yxwt8ȼ#?|m n}(э>@ܨa F!R q̟?y摒BEE`0hkk̙|~%viwpP7Pm焃xVӝ$⒒a>@BT+NCÏO, UB!lAԠɳ= ?k6{n4NjR'!&@G^ze_dj"LW';2i-ƙbj 4ĭY#\Mx?5^yJ8p?=r +BW_ovٖq˼UĄ8}t'eQn_,p9Cyٶދi[-qL+\;gJ 1piY_0*ȹN'a|dhwgSp&C:K-UVQ@ .Eh4i*uu OR\\L||={>&@[&B!BkH']| [FF_jCQ PUnB\= !B!b:`-@Qd5A!gB!B!rF0U!g$B!Bq@UY&B!B!BB!B!B1 !B!B!8FUB!B!gTP -@y}R >kw{ Xk%RLfj\!/ UB!B\@:6ϙgq#L# J| MT%wx1"w~K?߾XCʶ.jɔ~\gΰy[5W˿le |専93y)d̘Mn^fl:aȵؿB\ UB!{ N qV,Spkn&vNnW?TrLw;rlOx SKl?mf-uҿCg3R)XAbG&jwqu}W.6ZމO:LsbziZM;JLI$00T=Q́׺hߦ 7Jt}AEAt4EAu> ?WB0W爾FB8}n& {(;{o_Vmc+J&_y`0D3F:hPal9qd8njyw# QU1\. B!cyGY% T nNo|,5eMG vQ܏YMtːK5ׁb7 y73 ŬYtP*;D)6\v=CCT=ɼ81m.ᅢ9XT7m5'p[kHTGwܿvX_M0f%l]ϽKgh-~?ҪG397ڗ)胎}[UD]K 1JsV9t/uj!b f[@|lÏ8i;4y;?//O,qެFKfz:f&s4_JZw#_?D 3Sihbhф;X^l?>7,Τܗc5,CI s4 qE<1qsQ^~i5aLss+E?p1.cRwQ~b̓39Xz&fvkn֟I|ie)3m:賝v!>>7 9}8k7СٸVq'g}g);<$Υ$Ŋ;F?r%̥XI|iLIz&6P㑖wPi\5%㱇}WbF|Gs"!B!"Q$̻S6e4bɚ33 c?_.-6;6PI_<ǩ0}LXccvV?>^3[)Q ?ƍ֓g;iJ[WC,K}?|=xt+ r*SRI($-$9>c# c8ߚ6MU Gvjj'eI$}Rm';좫m(F3o" <; 3?$=>p# 8SȟqkKY1ay5,1ZB*}RΠb\ɬY]D˶CLM`H?*B!(꺆q{aW+&BB:s2*L^DvjZ\Nw\>*me`q;u뙳RwqOp0#*>KbvCMeg*θosR3`4wsKS2TW +^>?wj3۱`N\vU[X?8aǰ!l=xA:7U A&Yʂ3~B&  `UD^<)lJfSb& Ù,K"q9?ݢ\ ZQy.$ ZK^x;nϏgd^.&m~s2~S} MP̽lV G3/o<őPJ=wE,C7fG:?]\D΃Ի^@m%<+O ! ]lx}.pV>8AQ?wtM ju<==4]8 5CX6VG+oJXKO爦`2iG"3-b"#?LWO UB! we]|tR1T &j!C (F̶,# YUfVHBLR5d%o;DUUQ9wy]CG}iU03~L6Gs VkZvJ4n>:YWq]TYP~z?:$qiڹBI8>wwtyh7p2aɄ8koׯt~H<x2y|/8D"ZE_!> $TB!>~iN5K>ʈnhb0FߏF8Ћ6cVHWs. bMx͉޲h541 /<Θ$ g,`]Kka4a?.`@ H 45mMƪl23 =gG7QIЃqZ}tV#F4Y@p4V"4P`l#&5Lhf+WOdRu'9S7l{@%[\ItfOxsŒ~k^CQ*m-&\m@|aM%E;]Q~ oƑ! IDATkSr\J.|_ϙNJ듈_ PQ˚umwn͊fшpحxG{xV(9zxԫ*`@0>skj#?c@TB!>W3MM&=hA X2E1`O# ZUOt"i,N?6fkNQ E.x\8˞tn3 Ce5R@wQs`;y )6TVZ]tm$&Gh:~+}|bHwYL-4֐_ s R.J YiJ;/w`i♐׷J>@ iPH} gY{G.nYI$y8:11|L+. }ӓ1>f4 NPӥ10_˛k8M]]3.2D$m{}Jf iG ABl̹K 1ak&d%; 3a@VZ$:Prhh&2 wG7 -8oQLMklqx6+X3q#R i #UB!lA sͤi8Kcn]t`|s?vLP!%V!)L7ZH.eMAѺ0BcBVlgiܦdf,յv^+<-h )mwg?HmZZnNicA,涅f~R'GwE. ˻ ?E fRoKjCḦ́o-@lBO!U5aKb 0'IL rFi*|}*MAn{[emt$X|G+7ٰg >~3Ȫ&guQsf7$ c /{8/0҃abjݴ;riz xb(5sfSExg yjrLM=BYsw#nLE|8h7l:X[G;xQ>rosP^H˛:̿)|?r5BX``  [IOwTKJfV\SC!| 'ǫx4~h!Li>7PyMXβVw5Fʾ+ħB!B\ jHY|Gɟ5ks? )|ql=ڲ/2똎7_̗ _ˀg>ʊ){kf)|s6Kg vz{}+OK{ ȁ*_}f[-VѝE uzHLk[8VϹ 4E8&ZB^Z3δ 47-t YtB~O5aq#,jeLZ`a5G3y  V.,aar3՜/^߬3]iKB䔁N7<lyk*?g X2D;Κ&I{p5?c1̞R{{m"煪֭-+fB].Vf r< ̾^N~>/bv}nyn#=>> Ak-oU4>"[e`X#D6v_s7?1{Ԝ8 BUtp<~U%)A\]tX:f`;:v )deeNrr'!Byknn&+k]ɿ[ŕ(Y@DCྷ3&'igsF`(WhfEAm}iEQ-kq #:?ƸH 1q"TF !B!Ĉ$л? 7*0%𦍼beh7.=n uþcW>40@U|H*B!B|FYu8ZD BO?nB!B!B%PU!B!B!ABU!B!B! UB!B!b$TB!B!BqPU!B!B!ABU!B!B)Tv3a B!B!ĵ!3@a'B(@U!%ϾꣽGс6tjWBPU!B!aϱ 1$ ]Mkwk:fZxm?")^q/z]/_`j2)fי3lVƾvmɇa3c6ygy}ɕ!$TB!B\# S3h;_F\X.Lb8ݮ~qa&9$8t= ESI2N=|uL6\7?埀LI$/.k]Di)̢pi*q)&9pڏ'oe1~zS5ʖ'L_zՋ(qusS֒s^lٹ7@g\_VV0q,LR^%lQ0w&ސ7u:־ҊdsGqeG1 UB!bTQ%ɋe?tHB35K !9Yt'\K}oƓ{;I &ۀ 1 )ÁreMb4LJbJ`bWbRqLz ވ*;)7%akJr U{#wa3_12jk,<4TfӹuS=>FJK38T٩F춁s=7Y~ 3ZL(px#PĘ5yő:*[oh裪bR?\BEBU!B!"1ƒh J©ܜ#N!TD:%%Yjʚ+f&cic߆r_/!ӗrkWnn&q\(8Jf"f:Amlxhy̺o}-]OP?f2o|k`L`N~2M[ >#Q⦩Ć4v,G"CsY'~χ뿺Lͣe:c0=+c=QbjWyӝ7JsVѩ)#e$d`҂x %SQ᝞/l!b f[@|l` >/a]g({}I]JLC#ǒQ)ǺzÚ旎Ӭ(bS rbSx^%Lܢ)f&z^ݧ  Ъh7(`)d}[HpN3n|R>$Υ$Ŋ;F=y_pSl86>mg;E_zսؙ4r}l~es(=}Hk ;s)x!*;a\h-{+WcxaX4Q#HBU!B!"Q䬘Fzm|1#47Q8KYA[.΄a`icF}l*Nxݮ卯yb1w^@K鎖ȣC5Xb,V?f^e^k%-$:Nnx1nw^Ӑ΂z7y78uo[Y!"){i.Pd OHOSM$:/JImsӫfhFj׹ Zdߝ}QSi&\6 bo,eJF} v9B0aM4O#R_(ӊD@ǷWd.g'TҭT~|CJkF^3a~G/eG~}^caU,7ScS-Wߐ̍A6H;ǿ0T_?*O"{*}RΠx>YocjCVr^iw5>7;lm#g0шaYkae[WO~!"PU!B@Q (# 5u ]\VPULC/udbU Դd|WVXwiPG푺iMͼ9.%yG * 3$&`W~ytV ^93)9AmTa Ѝ;N_nn~@Uu ;\=mw?E( ϿvCi;S`e{bbHC#~_ 3 օ8QeiA\m GFY>i%,m楧sDS0ٴ#1V8@!.B!Bo.>rt?ÃS{:i xIA5-U'\h#FڨnjKPHGk9TUut Gx~}y}<஡wپ4*Ic?sA.Ra]ulh7MQ)YX2=әUpvs4ogd[3iZ7rh7&ǒ05#ȂG^TCh҇±>V$c;<2hu^N*>i/}Unٔ,LOѣ57p)^]t4GrG^q[n|; kLyt]Hicc{vv $QF$܄t;F (0Z~t4^jXjq]A7X9[VRmkh(c z_;^x1IXһ[/㗎hì]!@?@hxkڨX_%p ̞3꣛[lA?QnGDR%+99/-nz`kL$Aʽ lrnw~{#@sZ03W,9;Ne-n̷bB2HS964-6>֩pGNNGgg:$$$JLʱ`&B!209z%8vʑ>׻/{Y>J:$J & \B"rI*B!*}f"82݃`05.!,t4:r/^8[3,X~?)?D5*ne˽Mkl.q4LTi"Q,/B!B!-2aN"gb #Emw 9?CJB7BJS2o2 \r=nuaf/ƴ\F϶ӸMX4kW~;=yB[S|*4[,SQN(ա5Rx?P(HGŀ^]$‚gwr 񆭤;I *%%3+CC wb6y;^>JzUuz?ZV4$TB!QF'Ϣst$/ۏ}|`Yeh`}v+dCZN{Gk_loj:+Ͽ @gx'}W'>43;*8I aui[^>PÒ b$ QQ㢹''Lo.<ʟfvGs2C=.Hr[5*asHT'l#~rߚh s.usW*Ś%eaʻVu= 2+q=׵uSyao.7;SOvnt6ΞKO:sTϮKɧ'hM{@#5O}.Or,HU+0l{n ^#JgK ;sbLA5C^g}}{T 0kmmtHPn0̌#2rec1ʘ[]yGs?ek3L]]tHL]ZPX8 zkTGYYS3*oa~|t~D>/fLH;kw1]@<J֢RJC\L1 4Z̚UBNP(XS, vC^l辷^PkQf0L"ly3CE5_c$E<ˡ\wa0RQ;=LYX5t%]0i "M9IDATg}LN>>+y;ֲ2z^{흑/E<bm%/!"""wLۑ['ɍ_isn_2Y.axճRupny?`?aG3sA{EDnjYI \-8ъݒ`0k z|dlüqi+mP1yn}{xXW7cV|52/jiO>;WVN\nsUa+hC::nܷ'?pq,8˜˦gJޗ9sC1l؈ٓD0IО9Ջ!g=|60_Oeݦ$kM'uVK5%y2;/?<*x|`p|uYunN _g·g<"""wΙ+NgfkI[^[t+\ LK{ m|:- L{G)eq?UGڢ~|v?Wf1ossns%2J|9Rf?jyFͬk>; y|B; s& 6bJTmik6slv yaN6~F'݅öB| 4驿 @o)fNJbLq{1 ֗<ⴷv^BVX8r34SHQ;JNՓj[ӗ֭<; ŀ^~Xr79+MV._|#Ƒ#oIWYXY\@a]gsSGօzP},wP͑u(V |WSKu Q<9a:?uni+Jf[Hl;G+g/q4Rƒ;J'Xjm=hSʛM ŏG!<˭y*aղT&5}wq C F&f:gxnFnZ[C%.,D9|*;!MiJ,sa^x>8dp=o-.'O,ݽ2UQď6uB=r}[4LG)Wɧo?Cm>۞cSEDDƘyrkhرu.ߝ0!l^Wyϵ$q 6Fw >+}[̭۟>ۓkR"V!~]N^Pd>V{Ef5+""w43UL̚#ʜG72,ԗؔk@V.YȻ=>~d|f>O@7fgjcZ?ƭ^^>`\7~zzB!~aJYQƟRq)>OF$>^8d6GfVt%XYᡲ  |ixO/vm Vgțm,\PC^wklз G͆%,>!B0xWw(-:P;lHc`N4GMKtrzav]'Ǩ/`nv :ۙoi@_ 4M)0YS,>4Kbt_/`8bIj~,Nn^:ɉWa^0rp9]4N"Ke׮uܹT@2YZvV @.yng- 3 U,͂p1NlR nClHŁn}>(]j"oÛ?eIWTVHڧ\⁡ }ukGM>>`װf祷ɲE`63uZbJDDϙ3[:Ѷ~N{xm{\{- Eh#Tx&rnZns:sRl/ (cq*vdGyk&AVf,QK͟)]WDDi=␝yVPk^^WoUk// ⾧XcZPlԧ}l X-ĕH^V s _3øvLLz$$Lbɥ /oy17E|mA1?e'=r|sR? Ob8Fd,Lb3B(BK4B4 a&i՝z_ɩ:aY\q⥉oך5#ϭ_M^ͧwUx|Ǟ/i?-k'9XϛKw|w 3|mx`Kf>g|nMZ>Rv:VMg N;wOF4'#߹M¡FF ǾNw6=$ F.wKݿo˼O}HWDDi1.6ct)_q) ϳdY@c^<ɲPוeN^M( ۗEt۲s Bn E LH8KV *wr B1}{}# ~osxb7gs5#g|6ͦݕ / hр8M"m>YJ y_1P[$QǻL,0,nǻC5" <_>]=WAU!?xBM?}1 eYC55@|iuч(jٲ2*D;Y`LЉEl]#[ME#~qNqZv+[hQ\\7|~ 4D8m*"䬢`j3wrpԴw$WM|EVB9Th`3#>iֱޗS '=\4+sf0>'Z|kʆ3m8sOGR9uIr xW_pp4ha~",jg4vP4XX8nZs֩]i֤Ev18ܻxn}1!;!Yϥ͍,^L!.~yt~7ôߞnC? oƷH_dDsG_}}x?;?lŲx낝8qڀ ~ uXS3ASc:}@*5Vc$b4^_O  ^^bɑ ꥃ4mHjࡹYP'2c,gODR-4Z3zttd8B'xiɖŋ,$b>:{n˽f8gx{#&ˍ0~؈uC r󚄇R'/B26׎Pe,d VsTOrf0^o{n ʍ,)^/G=u*Xʽ""r71[< hʝ͢٩EӉ2zn^WQƖ&j|yZÙ.?i &wS2mȲUXo<6vl^lÓц1owv$dLDDD$ -33ocnvE ǷǽkQ{ECÙL"%A&}'""rd^Tw_DD g&^\e^_񉈈HʽȽBEU *"""""""""UEDDDDDDDDD2HTTɀ""""""""""PQUDDDDDDDDD$`N-lng}]) *"""""""""UEDDDDDDDDD2HTTɀ""""""""""PQUDDDDDDDDD$*d@EU *"""""""""UEDDDDDDDDD2Hlw""""""""""_tifLC?ijt 6-H;IENDB`treemacs-3.2/screenshots/disable-project.png000066400000000000000000000204421476710620300213060ustar00rootroot00000000000000PNG  IHDRDE2 IDATxyxUUk:}& MPGqAQg>u:G?|wqg}CPd=,Bξt^%fS{<ԩs[z={c@ A0 Aa Yk%9I&NATb1*$bŜ|'f> i1YsFF+Ν'_%A:k\@prZ,JOŘxucv2AOqTeHT%үQR'ZM*.܍ Tb:8k-0d vʑ,Cɼp>ttՉb[ud\He/ƒ>zX֭XZK.H8!MmyVd{>Ŗ nM{i۾!kk,C`2y _)&m2ӱ&$":qU~˺|KZbӳ0T׾Jg'$!)c3뗠jb@pү6JYIcF%Bպ.d(Iλ XH6b8?Ae^C> *ye/ 'O zh0;HLh< |NaOZX|;qj/žZuŠHۆ|neٳg Y:U~8>0t*\=Ěi\"˞59 !<ѓzOI5ԭ|1xԨu(~|ξԎ mO8B0$`1!)0&nd$ T~ހTS Ҷ1Z] SgKTك*($C@2 iݸjkpn;$бrV/t5}<]4l̐q*˰XNk{AN&aߒѐ -4aǨCՂ'V4sA%nXjQ.C$3?IshyBu$i*fk!YūHc%Z~7:4OaQc4hl#ж @c ^Π)I@̀89O''Z{1b&,ݍ0g2kz) wpL0dؒ]El l'2pfuJI8 k('ƠqHJ&ZI7HĦ ’8qޭ{8{!XF:d^#(}QI/_AAq^JWKwTKlawih!uT,5WJ̰)".+O8v/nj')ZKZ~Rl}/ʱ]+^Wu=!SHɟI ȾJWI&elTff\Abt@UHIƢi|1|qu8)sFM᣽t^([Q.GVj,i\ϖýH@++ vBlۂ^£u;i QHOXј<|i,0Od$:whvnO@G[_^_`ftϰb&ȁ^Dk8PEqUGcS,f&O -OPuOMȍ7"nmk16n(L LQͻkSd@fv6Qܡkz Q%5FXba$bsQֆĦ'ٴr<RcRB crGJ 匧(g<#^e5Yro=08n74?.{; ]QlCk%1r=xxmN{<5-ҝA҇@q4g1vfYdLX03}䱍-$I+ť)0ZmnAv ;y|e%ol:h0xNS!v~63,I̧ʅAbje$tKl(j+T9 !:w^#u ..5e.u[):rو5!co>Y]רp5޷KUrM|Cjp4̖fjfɠW)mtO5v6n Pz7)  ͢l Kb 3wU-a-5.UG1*HF=S981;?v``Hm b4?&d.+Ja2q׌VGS<-6&IU"CCj9ol=~"240pp= wU͇)o K'"+&q#ucz5:“Eچ;bl0+71>IzQS(EQSrT0pB: |7VŠ0(*.hO93e1'CW㍐ޗ=AB1qT*׈Nݭ&,Aˍ)XWt%XiR2=#E #X b[*tL&t 6B_e! g$:6 dWL2I[V9|OtYIddF[Fm#U})0l<#-bQ"(stERywy ;u4YEz:Ņ)ޯ&n)@j[yr2 0+ *OZˍRA rX7B/itf R0@c?o<NF14:$hV8~ll̇i[AZ#pZd:Sxuߴ'0o3"@ 9c2 ׍0@FDAD$%8OM6! )ƞvw]cn,2pmw%ߴg-'!G צXUg*1cOy7%#g=uhV2rEiT2i_.'UGKn}ـ6XXW'_Qxx^{|J[9!J('!&i 1&֡-lc>nUd\-*5 y'Y4qq)I"%d?9&T9ZѢ:q8Ў}Gꏔ_RNɷ[DOL,;i8G cxٸ3JdC*SgdZVo*eͮMi:0<1# zQ #~ŤXtuձi :_)6bB{\)Tq3ajnp԰ƻBPcPn?uReXFSB.Ø,b |lk`緿={|j ]Kk:(ts5LYQ{3%q ] JMZoEI; <1(#G;/6"XRƹ njŒnp4G6H5v#ea-}-\NzR[y_Kw'*03&df+~-T]WпN+dռޟm9clͼs3;cxv|'1~#Gj?={u*}qg$N]W }zs.a:X">U>Я-+ :zȳP`5i8Hr1^r6{>نv#v 5[pfi#:IED&XqLbUs4}6!c6u16Ϸ0)ZTޛŚz9&?;>C:Їqft;>u{Ȼ @WYIY&Sdx_?'M-|'7I1 yQyB:vpy$Pn~^evcbnJwհoWC?4}//ԁjo=Էx/AR?W47"MIeӏ@(3|Q։Gj@~|yוq겋࣪OoQ S砤qwvt2r,Mf:A䰧e̛z#v4;_Gz0 W0lSfCH1~sᎻ1vְaqDp۾#LI я1FͯzY|鐕B!]~>= LE}!鋳 ‰ǥzԡO1ǎIۃfJ!72Zt"}ZʋQ#o].+oᲅF&^kS})7` TnGJǔ+K*~T:|DoP~|~/^M1DEZߞu/&.pw?x(z_N]yꨟ1|m~#מ6q Uk{XF]IVVD>}qVD[ɓEX5'kw D:#M!58ÑhYʒ]H97(=M {?X3xcF^c+ oJJqyMt$ Φ?nUsyQd+`h gA]"6ˆ}++mw.7L ps}$K^=R ~ |MgCUEDyj]3ݙzl|wwq!wYOy1};(o"<CՈ946OJc`/}#|DjwFHeUbaz ͿS㑁TLsۧ?Zx Ӏ)!FKkkt5-gi)Cr3hnw+wl!}Lݡew8P5yаe;z15z\`3?*t"MC/xɊV]kh]<|l~NlVU瘿r?eF6-~Ɠ`#7.bdU,yϸ oed>ca}\t<W1q7{6ru.F)j&^l8]q#S,F4YU o?* o9Yu8GߎJƘ 0O=N;L._8[om!5>uB!H[k e"AD(G?FL~^Ҹ~-$Zzœ8+uF|"Os1y;mB-ybd+)ffϙ?,f#q_'D]m >׉t/aOH~l{:5A+s*?9;5sbϠ'\gC }c3H'1=+ m߉bK&IDATLa;O~LnH|E ͺI ,(џڵd 4 O_;NG'9@=@ a 0@FD@ # @ Q (aA0 Aa 0@ :#I0ݝ$FCQR[p-n΂^IENDB`treemacs-3.2/screenshots/filewatch.gif000066400000000000000000004342241476710620300201750ustar00rootroot00000000000000GIF89aV  ##9   &!#!# $)%%*&%*&&*%&,-% (&+*)-#+1+)0,*2.*5,,0,,1-,1--1-,2-.1-.2.-1.,2..1..2..3./2./3/.2/.3//2//3..5.043+)0-6=0)2120040140151051141150241262052062242260544134244465493:62<::44:5=<9688;9:=9,Q36A2;C4=J;6A:3J88D99D99E::E::F:>@>8A==A<1Q9G<9LRG:7I7YTF;@@BAAE@EFGC@DDFEEHDJKJEAI@LMHCHHJIIMLLNLLOMMNMMONNOMLPAZDLTTXM@VIY[RBPPRQQTTTVVVYS\[XXZYY\\\^ZZdKoMDoulTFkWmtfLaaabbddddddffffeehbnljjlmmperojxuza{rrtvvx{{}UUj9U^JUUHmOzeKzX~x{iUU22UUUXX_`UU`aeeUUUWjUUlS;OippsvwwhUuUU`UΕ`sΪɮƸ9! NETSCAPE2.0!,VC(P*D( Ac#JHŋ3j谣Ǐ CIɓ(S˗0cʜI͛8sɳϟ@ JѣH*ӧP\JիYbʵkI#^ÊKٳhӪ]+V!pe䋭ݻU CS"8J؜J%cl`ōav̥duϠCM4A N5װC%$H  R}w&q,"714xY@ꎬ D,Ks"ӫ_,j_Yuݾ>"H4D_"u/4G=visqKZ&`߉(,|rEh#PnA'MA !?R{c v#2#%cqw1f̔RVyéL #-bHҚ9֚ve$#i@p 3mƉGFp=(" N7IMp:x㨤jꩨg#2vdQR: қn!@B A"R"]1GP Rt1]>2tabym-ɖA#䂔҂ su*Cv7356Hj.VG # sIÜ8 :ڪwk'_AG`ӄkHFP2 Q"JR9u/W a ̆g!$g]0#ilI̬Җ'@k>|ҫat!x!('GLS@($6A!gbˈ'V*3C@UA1\.DTy_& U9:; 玨9mx^)!%$k;ߵ` f ,'=7!,bE}t3 A?[X'?f}!tuGvÄC$? HE "]X:+r0q# jH(:CyHl`a - chQl*߼Ŵin I|òA;It(4eD#pD H2QE![H86#@m&A0-pDZ>7юVd bMg ;C&fhDB˜zNLP*ceV0M9wߌqفvX6Llʂ6^עtI C?{vH!2rd[0sҤ%<][!6 "k'7͟ctda+½AbEAEIB{RP){IK9}Wv1mgR$;.tmKP0G{=WeST@AMLഡF:aDܬA "CJֲ'/z|6j &|08# J: D"P١7c 0MjԮ'P>(O0I΢2Y5m" !l'@VNm56=Hgmk ڲvفqmzD6'w(azW$iz9ׯAo_xB ;~$UQq΀=y %P Iu(#XS  'LH`;χtm2T!(byZ'kYds`@+TKbi7JZkP!P$Lf&, !  ``hN\(pTiD}q#&CpHC93F;z thg2* '⼺mB#.L_Pjs}׬Gհ5 }I1‚Q&km#Z%*e+aY@.vq !ǥ8VKksV$N Έ G_RǢh? 8 Lg*:H*vGhVwDȳ4%*OG ,=sX B$hD7F/B#ڀNH!䱊ug8 8<x<L#Dl@{ZPgvb K?(]lSyR6,p<]=!yӓeG&B"vnaNO9^0s\Bz$Y:lϾ}h@c6l!fЏ]$YgK_i F b3+p {7! BtEQ qA" |`; p`F $qrᗂ*Hc'-x284^l; 3y;c 'CHtyb Bg1b4b0Rw F'HN+xhl{CB0t,~6wEwWzvXy8tkbTw0Ѕfb4Cx8j؉](h'yER8mD'{Wyz1PuHsGq0!E2}&6 !&Œg؍ 8hGQ`Qth9w,cz&q7zgt(8A |p P h! | %Fu;`| g($ؒX*Yc&XXn;wt$tqEOQGAz?Ikky(N P(n\Mbg'17p-Yv98rlh'{9rYY+Rp& `A!rE45pP ocԗt1Q?w  yq7%Mpe Y#y"ڥYY>q !! MP0(@Qpk!< YFiyةI6sA qyp?X;D 39A Gz2~`XF 2ٟ8:9#AQlu E`0Ab@o)%J1+#Zl 0%2q M@!-I bᄤJ*Lj;|ڧdѣ>*@;@ qk!]#I!$A JQIQM`0:. +oʡu, 17ZVfp 1p#q@)p_ƊҪ"9 !Qa)EPIl{#iQp3q:uPZ2ӯXĭi+fE@`1I:zP*$q*G!~f`*qf` {,Kt+;. *1JA1;B jz1#(छ;kt {3vo1S M0yX˯M`E3KMSp>pb@ A~06,!=+{1p `w[fp%D;Ek:;/0I{ /mK<AJ+I[vrhꉻ7*iشx{r؆M1p (}شثCՌMt-Lۀ-*pѕܙ-܄$|Mgi9偤-@8;;wl2+Zܐ+;5kQWMt>>ҳy(NnD IVF؄wH,[20[}%> >KѭM/ܹu΍Xh)"ξR@4Kg. B+NzD j$HuO{ϧ_]zi_Hc2 "# !@."#$dC(I$!6,L5Bp /MK4DSTs:4aФ F)вrLH3NB2"k"X1`җS0lǐ[(/  1(!$!3C@S[((}aDK_L2Ǥtij1)LGǔtRJ+_/ƅc0S)C 9PɻD[UDŽ84SN4QU3TRH,,W?@B % B J^v0;:Fʻb:Adp3D"x a\VO wgx` ~*SMyt.40u,Yk=!Fdm3 ROSK BJܴ!!J$y[I2"fBfgWWnhNݵae:yc3Dz zk$m᤯"@d2Tֳ׶NV*J\fl_hZJIHJ YC…70杲m1luu2g@CO}EҿV}u[:la˺:NWngY+0OX&oߍ.XlHO2Tʵ P"NXRg?oRJMr$c.,$ 20ԟhE-jH,E7PT#%iI#b7& HYRTKLVlz).iO}SUPzT&UH,RTFU(j|j ld98IjjT#E*z:kZEC`$skH׈լhU+[ VATXd +[PʞX+ICv3 f$$(>!( ;"msۏ4lPD+H[܇6-nu!B ʆWM ]~Bi A)5#aZ)! >G ks%b*R` .E < C$N) %qCt*5^t&MoJbdC 26d0!&a G !0Ƒ!'7|HXrp#H ֡ǛČ2'p<8pۀ 23| >hlKăwڡv o~'@ qk^aGC`Q>ƶ/ِAC(D:sCD  qް yF`C< wW.WNrN$D_Ƽ9ZgysmD$= k%gGr+G”O[Cg_/MJqғ@p`S! eR%nq!0qOBPK* & J'|„(٨j*tBB7nY4`K# kC=l{ \@Ax1`jDn?\A;w@CDDELG<. ˆk: {,5CpA4MT WĝA{8D\K@>( My1`6pB=@BB1;5j=HhFI=65B2BHHo5HXcFg=lB5:}4GiCBAǘ))1xh :Ct<=d@Xv; SAl>貁x= ʼn8 ;Ot&0{xq=`{;  0Ek:>:ń,+B4AdF6b䏇8C1PD& D-&&x i&hE`KH$?J0CHخx{XJ@NHyI$O={x|dOqDXD4#NNzO}N[NzN#L<^JX3vqIlxq"%Uw+x89TOP;z 5R=4upځK +9OPL&R5UTuF}HMIKTTOO Kc<V ,\Ø36lqeRse.Bz##H@l)#3;t3txB]C8+A7HumJGP>@j0FdP--R@zp]YױQp:Fl#(pv]6#Y} ZhM/ܙTҬٛMڌWwYX*҉Z,@%icY}, rY;Ƚ8ZلRkGz=FːF([F&U9!HmSK7܉@ ݶ=]z[qL8ЦϤZCB@׌ǿ~&:h;%R:0jIr?mڥXpH&K{Y[C(Y ana[^2 ɇ0J Ŷ#bc %bza+.)ak 2mJC0} rEn(d6JgHn6oNheh|y~xJ4I4%LNbaQ =/TK1B8:3e~i6"bc˖mI j6[6Ck#m;n+·JjG;Ne<'nU=3c҄>+>nE>SZTxד>̞,`~?}Q  ?s TnmT-<|p;d&dm _pC:lp;Vn Wnp p_n.L&{څEN@Ak `>`b-k9C"ct>NLqrNdCog;qCrb@^0r8/6eEQRQEVtũX|qa>B]ďFrE IJg6! dW:^ # #P/?G s-jSmCq8Ȑ4u1uYf m{ٔrn{2tgC\jlmbWd|N~^No{2Hu4/sMm ]ύwNNO`voۺ:Pl**i&8 l Ep=ӅPg%02e01dXP)Cs7gBCzH=v>g2<xK7UfUw`VO(VNHV_V^uDVITKTVm_yͿ,-n zHF`}a؎5  ~}d@| ψ!?}}O~aU<a!~/W?Co/'-~>=\A}6] &La *T([5R M x00Eg!#(A3Pe(B7CA(P0ɋ&㩞z**A w9ISnɚtQFkҪɓH2!$"&B %DD˟UJPKJ@oNDN8)N)~@N0K<1g֐79Y50M.FЯMVAP`@.TA qDrcw,OAUۄ"H> # X;:2i8L2 ((f z" e+ #11:2,N(ǏbWg͌n7 Nx)͵`8)r]1#H}6O's: F.+xַ]R ?<oxO,d|i@-Hnp B" M1K ZZ#nz5 ||! (3Wǘ-ov5Al0nfE:G69nXu*,})"; oTKv_Z:>8GP! |F<"],cJvbJ($ lPcs]&ʁB4\- !P3V61!d!H_ Ƈ'|Ȃ~ D)C}Y,:P2"qjt!)PEĚ?p !J*(:ʱZ)a3 @Eւ 'SjQIA ADZi->lk;W ̘z1#)BQ@tN}莵{?Ay!h@3PԤq'?(a-%i6O\g:PAU4epyl&JSҕ> x)Lc*SZ< %;:%vm@8sBsr@E͓)R$Nqq*c&eIV>_ 5Hun UΡ}*)Ue[T֦=,b$>&k8ĜXjA J3%5EEQ|IKSuiw Cw9b*gg"R)h z6FmS[f(2}e +w.%WO-P)A.=/zK X$ĝmQB IZ"G ;j7єH=֓\zMi*(`,c0nJ 'A ?A8mda,EwM4MTfbI'hM9ͥ7NF>2^!H^ !NÖQA\}aܒ7m0ZE!щr ML3 u <1Y38o` 缙o۪n>[N<c%ߦ UծɀL3jU-9} 'W50(^!z>6Ӏv`fuTkZCѾ6ޞiLeL;1@ӭu46lh57}{ ?8o  .Ss0sCRh@Mg%~$$rW, \,w9אsE [t y"5>I!rܚ3'JҗNT2wrS`X)NqT$A NAvT|C)wԦ7Y[T$HH+&(Aðsrx.=)|/xDhz:V, Y$ LJ>c9#Q RS4AHBPČ%m@ 𞟨]ZaU 'NOT&fF& _tV>A@5'̹W)B *i~_Ҡ@"hiNFnѢ6N`i*%"#864BVV(Aj~F q]%za#'xNcEOQe-hJM@+:>]„*)^zf(Fl ”sb\a%^Ҽ@iցcB9J٪f+愻 ʜAkt+"L5H^z9^ kl[ުHFŴ$%}09@l(= ( 4A=M(-Ӷ ꅀ{K]h2iv#6An% { ! B8ZѴ R„m&D&ॷv-6VmWm߶ Ԋڶ`ZmNnBjm@$A؁8 %V\}mvmn)vnP0AЭ־,I˾J6E5ٓEٔU5_϶mJ P!#3$%{Np!&~mNL/$T@PO$ *, Pa |)h-/>/' fO.:B"Iy`"p"cN\+$/ B:!|`6\ovp ہ`*HY/,2gRz'l|egHYPfXguqL Dq1]!11 2!! !! \62$ֻ"k X7xNH RѦ xLN( $^`ũR R0UC@tFh 3GP_.+Q\`^P Q7dȼ⠍r;'X @ Ѓ=4=pB<:7a'vN/c?vOA798| x;80(VG #ᄏN GDұG@fY$f9fPf ň6qd Pku?Thoƺ/*(7X謋xMPfW&cQ%qN$KpYH0hpUBJ:kT*YJWHy Q$vrgg? 8O UBPhgRPPP 5A5tHIZR PJYҖZhLe4Amb%J t"JW=2d*z mQIP¨2?F*iU~a%LQDHM𴨅zҐ#V% ȄH/&Dِp =0aBTR8H+t \u qtw69ۍs|&ǢYD1RPspc9ϙlnoﯪԱGZh`7jnXG'B {8!8C0{DސXM< Y|:if5iOϐ3X!jR9yje/"2IDm د936Tݔ,{/u@pAdX:GqEC<nv%YoVJ ;MӽtHG#䦨x%w,׼IU[! `̟s\(C=z׿L`MXCo%8aFmI*Ñ@HU`+\; ]HQK׉s\n㽲;1ӄT~C:yNJ?N@|`PD*TnQf62'N"Jn5bo@Obn`2A$CP-mdP$@;h쐊gPiza@ x"au<.lmbRp*>n" /!( U!$/ 6 ! p U#HNﰞ"P@F`n26ӀFw -B.X.`cXr %#2d2Ϻ!R8@Q\ A@7VzQLY#C %X;A;c]@GPB38#%t%@drgpTCtHL8%G5xsd1%k"\Їl|P"nn'oo9 pGq<G=SE? fn/50? 0U `xl Aaġ BLCFޡ !*aa  aRtE FmG<*:a\t`TFC3tC1!$S?/B|`bLh~^,x"(%L2.qKOM?[/ T@!@@Ua40 Q`:Apt%R3uSKC8¡D`AA aC!TQUUYu hVqu D^aRBUaUVSASJTOm ldħ\#"ɓ骦JB^"]"&U"U.^dt F ZNt @ ȀAa!Vb!cǠH5tth:v>v JGС 4c 0C(a#Vd [e#f@ ckq Y hi%v(&vh DJhk_yN_1U!`6|` 0 Ρ QSmG6o Q1-t*a noLn,W'7qVÂkCWtGt;kwO @6`0;܄wuso X !r *A|QG`xwyw x/7Gorq}sK[K}W}.+uv=5vȠB Ff-Gw+oKQɀ !JQbo+ oo#xou{w .Evi||ׅ_ckNW4-~W7UvaҀrQ aCxf Ha~eC r+ƀAA`XV؋X1v Kpˉxd#E0asWx Zx&6U%b-T#Y)}ARAuwlV`8R?g;TIԔ1 =VDɀfG'w8ggiSqY6ƿ!w ꘖmE8+ nӃ9A% Ԋ#K825fc(%O-`F'ٮhSWu5YFE Ȁ СqYyzB!N(vh&P`v{"噤K9笠 Jl ~:ȸ:s;Bl$.~l͔ %mL.h; %alȄCѪ%EA~,˒*@κm>< ˒̤ S: Fuuvdw0Ad %`MR"h7H$Az=M_B`"FZ MAmPڮM"@.#A!!W-r{{[ BcAd#M Z;:zXyۻ w+5!n7Ov !*i AN " #V27jkC@3jH nfn/;5G=ܙ9; *<':vo3OnH"M;(.b6.ø!(mC l$ƯDc[1ҏïHS: lK\=5%C/Ta\ +;|!n{ll a:Ab=.q8p =Ч\']D` D@9!".$Ҽ3/%[U5 `U"A=ϊ)]}@OB@MԨ`>A$L(C M<3N\6ZO$\c EvǶV%_-YE% LWxWm!.)o@^eҀ ñQ29"͛ƭrY O0c#& H3wNs#A} ibs6k3rs%I5soS(_ ! ZE:}3iKK7ed%NCS5< Y @/gw" )-<= #?p~[7 :a'o"r>&>'jY- kʼn0AVa%_gD 42S @`%ڹdnmM ',Ki_/-/!0ӀVb&b'1KAS'_(ߞ?/_?-~@ qBC†'w paÇ!r;N!؀FND>a1L8Ō;~ 92zYgwYbJEE${vi=yij9D{{w߃쁓 ;#!H|8"AURKKѡu WϾ=z rqʙss~t!FmvD}e]w楥o'Y՗!e~(X 2K E=.f^CTh"Уaq,gȄ0¤cFdJ.dNҕemvOgix9dON!aal#h&MbiV"@1 LسD N8pESy"NB [:2:4 !@=sh'D)dNZ饀 i)Ȍ_:a\k " $ H> d#r"fP藲̂"]Aa"^FЃc޴ul׵oV g,RlL3!d#ދoof]YϐVZ1\VechLlCqőL\1őű8*aaM<\Ba#[= 0q7 &Nq9 f?mm+? GjH2!$*dv_}rla9[܂=t7^xZS# v/x?eYYhZnp|[ ă!@yBHl77*AsZA(S\=T "sLn3Щ>HG[9S쵫Ezw" \A! %MgC>X,;FB8V̑Z, LbMdmk<y$ G$'I D<$(Q G?(d,[Aт?/T4@P"dɰ'^+$*/TH++r SX10OA@ $;hB?fAG1*GB?Ub!bs> dAnig"DDtcL`2s A@$p6SWKd\ nmG#Y\E;Ρ35Z^A#|@A![Sau#H@֬u3Z28;P$/ 5AezyֈbV t-AՁ4t:r: U;H7uƑC'AACq2- ODgYATDY"w@2;ԥ0ܲԛ';=!t!)Y!/;hx0TKUUxkܬT˞?u Oz%U^U_Y6xd?EtU1Y[X vm#*brQ$ؕq}`-P=M!\3@\q'8p-*nD ž"  "+E f[l`>lx_F w3=AiA:Asҋft0y;u=fio-,n"=XO@.ҹT.!8-BB {.>@Ql4T=2#x3Zp!24+Wƒ-2upP/эƄb{ G"=k%A=,3'0՗<顩O~tM'-rX·iIɊ/}|P7:[A~wLz!|򔯼R4sƚ}y<,lH$ay;Y!3CL=nrBVa=rqE6uCWKӲp7v+}O1nNx+aaSi7~pc]3@i0 i@r8OB,}hFc ruDCD)F"T@UPT0+6H""=$A`4u=;<#@"$DbMO$"@Ui00 P/: $@=;a1IЅmo 0/ 8K…}(HWrPT"HhXD%W `0lϠ =hJTϖU"EcE !l!8[sap Ɛ ̠ !"$r($"1Abiq"4n`6#U7h(#X#7R1BU#v‰X%hf;Ǎ!p8_}Q(8+r+2+10Jpgo(DCr̐ ")R,3'P/.--B-rsDa5!|X.f.(7I1-R=:Y.碐!0 '."HU "Plf[TpK,I9.+`~VӖ%V~B5\5`ucJ@ 5)5J(poAlpz2{ٰkuј7hv vY8 cRPHQ `zљ 8M9ig=!>`>J@ /և ! 9`yOujٞ  #>q'k"A?VQ?=BdAHA? wB@_r 2Y<Ppt4'" :CB_B6 C$)-0J/2zpI1(B,$,>8D10cO4E:P:O7DjAc"C#:AJsJeC49TC Uuctԧ+BN>jQvz 끭K[8 T|봰WT8[1!T9hD +kNBMJOjMM۱aJҳA)K_]/pqJDdiF oUbada$ !Ɛ@$J @ʐ3PhQ;qW`Gb(AZoyer&&)(uZyXu*ㅜ c۲u?'?|t@*(Z|*2r +"뼯;X2%3%eF0Yb cw#*&");PYeY~(;4s {Ȃ4(k7c7p(2Y>s ;$D""ّ@?h8I)1Q4oa ;8X6LbjCsgSfd1e*c4KF-"@ ό;?,ilݜ2C2j&iǯFмakї'9@9Xb9ZbEčlŪίX!ϾlL}2#j)k-ʊU-Gx 1vۣrmrJ܅y8ꬊ{Ր #8F?&kK~H֒niIiѭI'F~VH¤"pqT-M* n%nwztvgr]H'v#-#DOTyWEi_pcۂXoyv-4sp ojtqM7FG+b:`r1s5ws1q> Z۟a  0jqm !0虬9 TESlބWtRQtGVbuRCUiWUv@4wgVy _;( j F\ 8Ua-SY[V|x)UTKu*2N#˻hwz;Fxu]:an PyUQ}3[>R R7egS>`aBJr~O"v'u:uBSAU6;YVr`cwKowXzzac[ ۑiY«@$#aɀ! j1r~^g`kK \]E]_#ڇcW7{_AP;IN^PWԮ ^|a]_UbX<ء~>˷W bƖ[h[9H\{g_}]讻H]N}e}>*| ug^aGo{ L3u &.B&JpA1vNyv"9vu!A2_la6fvfflfR ( Yxl(pb8=X"$y+ zH(\lʆ0ͦmhP/A 0|UCq5@1O\Vrʶ%(*roPʟ/@U_yQ*yޟop1 !@ DPB >QDQF=~a %MDRJ-]"I5męӣPRʌ tE!ƎFP(bEf)Tb,3e d+`tq3"TcގɚE[7m5nWim%(۶lՖ < 0CŌo<fCWhIE&P"J5$A*Ԥ J־;#fZdFaG6l+dPJ'Iu@1^N[,a|׳oޒ af@ "P$@i ZbahGPl /pCb8<*F@+0Fg\TKEVXQ%4F!_!#$dC(I7(:$drH++z. @;Z)l(ҴΆhL5as<'> $"ORcQ =@;2Ӡ04S8BQaG*4Ul(݂rA($ʁ\ &UՠYˁGB0e=vKK.{!d 6,7fzQd TU~DwQbUA D#!a[~TceE."fq$Y@a9z6WH챣;2,>F^u"z'΁AtAH cIo= %!L!v x Ѐ/=!AppΑc_A  f8A#|@A!;50~u`Bvh D$@`S*$B)=A%ҐSt`QBRj " AjxLltDfcz<m!#0H41(B\Dn#,%BG!\_ a4۪vHa2_R("R fhs11EjX1$'CHf-9N ը@vޣǛ@9OHP"DXa"=id[ !XH%0c!t$YTw3 `nJ&E]\Hw9v%?s5+f8A3 DX[VQ6}]-1 aû d&-}+TI+8~W$Ҵ;0AxQ=4p7;!qOU&S q} dN1RKCaiI"y=mAem'Y\7=o|3Dko-ۛR7V jFH1?QlcL=g-tC'ALF 5>O~sA4:9'N#{a]qg^7E}wD y|F"&d =!l߄_I=5Ki3`+S<D =A} BX>O) 2;˘ {>bA:d`oe㏟R~ 䤈`_?hN !k8ºB#-JS%"@#Am,K1%5@4@ EQ 4؆? ˆ->?) ATHA@#!&**HQWO8d\FcDFe䩹H1\^`F@!qxsxQ :>EFiF:uLv|~jE]E_ <0!zԓJrdH`FbnFf HvtǁpH$DžDlm3DlxR$Ak1RŸJzI:NCG`,IF)350JHۆT%ZjDL3hjI$\ |ԡ\lJT`"D*P-l-}.CU*P; <ʣ!29*#4!7"0M U)8yPc 0' Dp0r 9h׆84}+P"L}بhc̿{ȤZLl7{-2.[K+0'13C20(`1muD\ 3 ׈x 8X ͸ pOa9WCډ T(=4Qڱ Ą{hՌ[1(cz3{c}9qx9[ 8ہzZkYq2ۄ@܀JNZx+AzPUX<%EA݆5\hU ,df`5Z[0,-4(?-c;-7p#CP?(t[ Z:)@ſʵmHE[vrW<40pJɑIo|>q\Is LGOHTZ\lFȵȊ)G} qH >Ix([ q*HVk̋A)DUP=PuP#O$5 % oO-n?TNeUQ>+]$*8q-~!59(&Q; &B6CFDQwU;bQ x|6LVdFNQ&RVQU0|d{'S M8<\85m?`bc deff&'NQeZ]Qa`*'g >$Y]G( dfxa`_5ܠU|myzns}4I~ M]iY^ s6(yXu8 ~JDZD1|6q"uQ茖z!ħ? ߴh D3\D&E&~@4fl6j鹍L$(>lBpϐM̈́|1ZIkN؜ͺ.`۴Hy88/džȞ  5N'JȧcH8j[a " ؂WBz Ffֆi5f}hhK8xHՠ֐A `/O܁Z==nɆ~Ml8x2FsُQ0VY{`Xqt8<fgS&vjq %gpK9)]=)ۛoD:ܘ17ȕr  WdNRA!ڼHӎTq0[l> yy_v+^,W_y>s1S;#.I<ENBgyH"h<mI^FA;uFsEgty F Nt>XmPsxZ5'tX.*[WMNqm9zH\ 5ёqbpb(=nR%fvgߓ0v1>Xfg>>v`yؾU[J~7 mpz/5Ubu於|68!8''[;T#vT5Pf^)5Pf`671)ѰyxX/`e6v>݅xΉzhg#z{6+G,u.ܑm^Fr34D6{~ )29:HCD67FpPF|p>ws(AX`WWg}@LdLȴU#LL LM(Z!9"΅hM4::ۻ}Fkٌ{Ί8qH& w#ؔ~>K?vo}vzlv+"#;aMF8 FpHWV@u0dDNWVd|!a BO]yI<|#BDtYnB9^3ngY"@RHOR"@/PRhz*p/g`1 (֭5i#i*Xq}W g8`Z>i&z}j*aϦzZꢻګ6FE*4O("b1i`av6CUJQkRMt`=֊y=n%.AF离E-HxtΗ;AldpRopBLRr!d{iᙖH2!$2 @m2gr -YuV3+'YsZF_]5V.l$]<,JD˅[sݵ\w$Of0ip`pc(I'@*y};f< 6;  "wtma6:1>ChyC nZ?O5 Am93P e8 ^p_X:,gu 埴O%N ? DFpA rЃ aqvrY9,0:ϒ5*r=<Ibu#j"xKj|'S24 X>4G< U9̞`D!1a"}xV x7) p ;{{O6<zb09c[ H@$5OY%KG\v`t.ay`'΁AtOA6`9>OI!:"NУo">b Q'ȔIkӹCGpaCdZ1ӶQMsӃUeA8LO q^Ց-/5HZꔧ>P6Z"UIm`!UZZ*_*xլal_U]BTҾ`;q Ht@6k*[[̢/y{<!L,eYgM#ЃLsnQld\I!?e(Tb3}f@C-&+P@_}Tj6>bqR`mpC7T!O2X9@bzU~΍Y-4B k`9/HpOTsjn&D9B#D;$ 9أ d#/M`A" N>+ % ~] _X~,)ѣ `(^0Jl\<[ 0eTL%geZez*+B*( ZQa}ŁZE__E`f/bBfd)\*ڢ]R]Jfeg XhjM\hh[\fkl+(Z%3r&mgpgqq"gcfz1K&gubgvjvrqn&fH'}҄"Nuv{g||Z*dF,RMfR*EJ"^4@{{E}_6J0(o{GQaI^`v,rb,ƒ,FGqG g ĉb͊J3@ CqwxpgQPLabxާ?aDuV4ļ_҈R]ULIH6.J/.^Ix"߯J20l${'g،e |ڰ8aL" ม`a `Y4#Fbq`!KzO5H|LRrprm A0/ЦlvJ̱j2Jn5s=g+҈~֒gonE8 B&dE!%#@1CzS5Ic?hmd߀*<$BS s1ESFmTK RB T5_ C nL?B!;+ r HJ,ЎSC5iW Z{|ɗy.FVXWGu¢,IF.5@f(LkbAɊy(;BJID@)`fAT3vcڡ-e2t:HeҊH,2+S+#(jvj\Z5u:vfvרA621mwqs ^vmyǮD V̀tD(sswww &6s{ywzWs(b)b*m۶zw}7d)O%q}x qeO^\e]eJ8hR^E߅lQ+k{+eZs>Cfj/ɟAJv Ōx 0υ9m'{&oxj zLj| v|ڸtJ|Jt9I]P ZŘ9+r6gBeHiv®O LGH!yZJ-Ф|}Ԡ H)$–$,BA/z4z CӤWDxtA,TSʢR@SJG̫KKzSz4!ICXhx꧝gQNzϰ{mH B) bCf_1`,;UA"H!$ 4GxS/{;S!@Tp(ئ$$ĽAԁ$P»(CJ]|ƗWHp{|"!ly<'~N>g|Ƭ9#߅{6s>iPקŘSQ $ԇBhJ=%=ٛ= =ۏ{;D@ٟ=%fEEiK"|8 e), =YRiE ƽHyv}Dxxȗ}۾J >oʘ~AIQSiP^}'?%(E ,>s?ꢑjj)BѤƑiq)dͶXԓ>@c;L"quÐ:yv0 Qul4P!C%jTц'wjăqeM7q2 JVR %><&UiSO6mBʩUC\5B";Pd*βj,N&B*X[~ 5Hͳ ƅ2_xنbM"AQ!G 9(JC餡\'ch& ;I5h+TJA(´q\j5)*-P=(쯚 AH* J`H 2)rHɪv!8!K D- Q=? TA -ЛHMy ~fMbtĕf$#v`#A:4Qg#KxP`žBbHp@TPE} zYhS^Q.5ך. x.f5&gu=ǰq3zKB 1*R$퀄&Z&}`J`VC iB wD1xc%C(AH`b H~ DgQdUθ8Myn駡Zꩩ:DYsQ}ƶۊt%ذG#I{m#9Qnw{\I nFp{"%𸋽6m\h%A|WrܤHDD]F$ׅ('"$1D\QIa,rƉs~/G~JD>4HH IO>H>}sH C>|1ȷC/J@4?8kԤV)X&G} mr5Xsn+Wd]-^Ηu/ ֬&lð&k)fPSګ[w0& fO%J0Qfd23h0Axpc!"f1 T"oFfR,En13 Nd! iH9ߖw$M0[ *YĔ5rEXn`y(D2c@I&9p#6\7#eJ)\d* 8$l'1p"5tU3\ytT>ɥ6KP! p@S{Jp| X#}-4"YZ6!3g dY}JqH;)Jt׃5p(^ʕ-pRRfkoy;2A@*T 3-[U>p_kd`>8^Nœq G!p2$+s`HqqG1W9OM .J *1W<' a#%j/+r%/fNؠk$oza?/='HB0uT^A!䱊u|/r{uܹ7 iHa 7m߲-)Z#Wv,q@ eH rWP=3*dl$WB˙Aqc#I|`ƁȈ3 3$oyu& ;I ;T)BIi4(D prc|'P\RO8CCP7o%>l( jTXAR!f`,P*O%rm!̰!T@ʦl,Vb+ ! V"~ A(j!|@LZ~!ǔV'(p0ê0 4"pO Ǯ'p JbWe3ĥUUWTrbZ2bfsX Bl!1 aK5X@%OJP%LVChPk 8 !$4`/Z@rO$~/lLZ1$B`\ 5bQͼ'zR)Htf3&spohbnLT~4۰taIiǭX[ JQ AbG>Q%xL 5DO oq% rImd11NbQZ ar=r%$oǒ o̸1ܼE0QZHhL(m(W 0&舒B2Q%r,2@ !WQr4>1:T",jr oo0 m1IBboD!6Oj 0΀p  1q1%,I@Z&2o'W+lBi l'`L)hɓ, mVZ)^)Z&sse9ơt3#S%&0.;ɨ f-X(4f-j>#LSQ#l0n~/n"3P`$cN2/"lA%f@ 44BBXCoAB#SĒ'n%ցؐ< B`iΉ'@+)^BR*p雌䉞rš4jG>qBHJSҦ;a"f<.AJƸH!J#<ٴMH@RkX2 &Bi ͦn ),!F#Ua3?Kٴ.,@C@>ntP .nZV5E7Œ`3U[.TJVoTMT3' sjGsi%J&K"* 'z)!˪J8J:[Z0'.!8A.u&ΡASU^^_݄X4avjsNHhc "=9 G-d134@Eox@%.^b4BQJ#9p" >gih58pj6NC!,v A!".nŐĭaX.%&hmnvljM!]"j23>BdÌ'N> PqKt3Dz/h9s 5Q`C6$7$& p88D:;Cc<Au%ǏJr=:zFdyKD6m-G6f#KSf'"zE ·44F|b{=}OfQ\ pClM\2eSpTWVT#pSaEVh,lW0 V70'&Xz;F+޷j O>Ex kDwkk t%flqbrB#Nn&ov`orSKb A cT^I'nL)`2 ΞB))M-3NϮOOM>і@&B4g%Ҷ2x)l:PsɢPy9|6?y) y˩*6U" ] ˰ʌw*u\ nj˳ZX\ujz[K#uG!JKZv)@$a&^D(9b'6t#qd06'xrS'4XbCCcsp20g)|&l{(ݸ:p wƷKv{2#(4;]$]Bb (a!(0qsR2&(R@2n m‮%W&Zn!#l'BEivj nvkkmlmmam"y$#P!f"$"LBf"_s%Kb#:ɢ[<#6mn?:klV˻& .oe !,\4]ؠbXo5b $,,r\.# @o&\sFBOCApU"ujuC9uOvvwCa{D[1Zr$0k~Q j}ɨȎk=ޛ)\4b(Q$POd?$sVllU( .GbaDދaqfu-mp8/EC!rX 3G8 X#pHX`Mƞ'`$ߞN('w%11&Q%kS{K*TA{R*5 ^" (7u"JDg„wP"{F6j81{vS0E[rtbP="F I8s` 1$;{xfU9F TlTܢJٳhӪ]˶۷pʝKݻx˷o\":PR @]̸h]shJ.RP!l( LtҨekc)K(;&fsQ;쳽CbwF0Az=</ !CpMłCi5xt/?}N^|bwFEiT(!TVd & "xOm^% |d`av!0hW"gՍ2ʧP#P,)DiH&["@XiKViTI %|hY($B!D"IzX90=Ś29[Btkfgo!Yi {&'3vf#03Y,"7|\"O%3 sI;)!lw7vCz$|"!؊bܷGv C!p"v$'j&=Q 'u8H:HI:жV|z 8' m$e$n**B䚋nH{ -KAp+B%zQn,}h +aoiH*YBA$ q! i%c p'B$E* 2ŵ֎Tv2g&(c KgqSO:"7Iv;0{WX+:A ;砋TF6㉿# ܬCϴ5xb <.%Cݹf{!C.9Bλ#'; m!&֢ѐs.GBЖ.L ә4THMpLpdYl̔ڃF!!ps8hDN5h;q w b|8ա$̨!;y@=P*8h)& XSԔ"5eZн,YEV" nZ]a:a^,ERޔjʢ._FK]/0P*N^vhtHqGdc٨r_ 1l{R i3xڏ}rAU(`!"<0x@ q W} 0#|=xp$K^;8W =l`L1X?(o W‚u2z!щN Hl%,5mYրI@ A\vwK3.peɁ#ڲ-CCҹvf/$8/΀AgB)Bx3;YDo!.wRN-H!ԠҎY6؈j<.18[9pcu^ 7=M*^np|0!vplAT$XH"x:31=Q=VQ݉Td@6Ba;!KW!OAF.#L!ldV\S*eA!(LI(n52~C~+cg]omD_H/*].I+ 5\HYEfnZ5(]/,?Nuu3лk^OHVFwc ExI[Jc8Ro쓀Q "{] "A nݨ(ST A@qH/xf4D&bP6Q!kꄖoĨrՊ`wĞoE)x[jS R5W+V#֬ ZCeQ+[1VZDVq`~W}zuH|7XwXw Q۰'P  !P [ՀG&@`D=']']\хGe5X ̕O!8%8x>xjȁE0܅5K0[T\D!@(x9 ;?$[R L'{rh$MMk]uw\Rj`a  &nEL[1b`q!s.QNL.kg8XQMeu!%/0q8{5r p ")P'kFf{aua``@c+NVo {v%c+bU__&_`=f`b|bavaw/(b"XlBcbH2&+9ea1ȏ+deԐQ0)+I @ႜЁf'p^SG 3i1(F0'V X]Pj;X'\]邓6!HhXÓE@q0.beAr$@eoXÖLqhY9 ͰMAU Y i`iTQy9$R"% ҇7wi".@yC1hA@"UPpٱ.#;p"rwIp{@ o%c2xGT{&)v &{pxs nXemmgpeqp} &l6n6lі;@v-mے6!Vsi`wzmmY!!P~h!tF'5PN;ڣ?J\j@\' jbhQift7Z: ap02s:!s맸X;`:>4s۳PSyB D{ycؓN{lTQ6KJT! 1X -LIbk6ЧŞDktkD4 d$7I/0Dfh!DAp0 1qP'qlÀ19l뇽 AgaIa\ c;!l >dL\ 4`\LɄl"ʌȵLZCpEd{Mj\DfID \FGմtH*ޤh۟\nD3{Z\]$]}B/$kv=FQљ2\u,PCql%_'qp[$i0 ;Er斎jGl.[%$e]`]" '`BQ]h]AdC龎j[5 grF$0`!4kU 2-\+n1YkhPSM$QBSA~ !3PR373;3y{a$ASE^ EEJ[D FnF&3@dH;kDKdiTfeXZe^k<~pFN;o%?B?Py!\GL#'EƄL4qqWq!pqqڒ4^}/[` sarDx?PքMXDQ ┲=Nh oTOUmXOm!zQz!pzz; 4!PٳߨSX7TO xU ]:~sTT!`YYݳOUTN5a, q=y?L uYt@}( 9[&.vgee\RN@b@0 6BcoGIԩdC2t9D{!ƝpaÈGP:!.ٓO<;!Cth]+[y12i)x.RJYnWaŎ%[Yiծe[qΥ[ݴTR=^?"ܬY1Uj=8 ǭ9yP褓 A8l0xDD̹֙*( 廄7#l.pŁ$ a? E)LsPxa$TrI&tI(rJ* UzGKl*2)'4"|a%pfw˸LH1BHAd";hӉ'B2BρV/":sJ)gHQMM!+A{B(IӁ rXbbp.0Ł"Rؐt4 Z{j]v|ڊaqr#tcbw_~_4{T20GAc)HK9EA { y"q+MeQk4Eks5#f9#788+yƲH5s!v`d0dڮg !ATj!jZϞC³ᖛoV{ N;l#|r+r* ޲˅+28s]i#yu^sǝq &Rxι$oM<tRwm.>'g{6Bxf9#6^Z:8|k1߭QAs=VE~ + AmF<3tP u 5 P LxBP+d!d0{"f:ips@ $H6MNR2$E!Aw 3HAI{nM,-  DHPbi!#!Lj|Ԋ0 n`*<#8;p7n<."$&u@AId{%3iD.Q8$(EIBy9QB&Sdf3)0X=h(c1Z @|@,* !CC)38yȞ2 {DX!=` 3MP "΁gD89 D"<3HNjz8"\p +6NvC4FL,"ԧ[iK CHJAuUjN! pTc%kYzVt ҌflciVJorH(: N!:zl'C<=B=jyKZ|,5YF]"qV9{-GҖ ^{@GlP:3n6'^"TbbGrdqxYe#թ/(<1T.N%;P8Gpzs;&['@;.wg lv׎;x\c$'YKfZfPfax×QMBS宠`Sc:YRtHc*3s|g<T3e3@UXfC'Zыft%qϢR_F7RА9iPZԣ&%T02K 9OZֳum}~}`TH(|4Pub]l@8Eb&8XlgC{`@j\MmdA@*T 3m찬D!*VAb7$wׅ N(_|`WĐ<\rY*N ~\_ sVD'ɟ)_K7pZBҠn :vJ I H1;NjA>QERun>s(G,UH1]SӅfѢ/X-egz 'ZQE*=ڝa C@H/xx;^s9EȜ2fS'Q k\H6 o|CN .iM?yC]vқt#8̉^P2 %Bcr憹^!RyX_z@<'mi?ۣ kޫ+> P@;*:->>k䃽(?˛<3IS `&鹬>PްAtA3A 5xY{%=I>@B9DYEF. <JAH3DQY Cٓ(B 8 p 26Yze 万Ù ¦HB#Ri?BLAA\1I+VQ E%AЕ]!F_'ɘ (I)0Qo0:jp=IcΈG1G i iƲykmlF!A:[(DGYv nTLyͲƴKb!t":$%j"1qLjH`LjOP"#̫Χ:"ψIì6B8"NεT"&r"Df!MꄖdO!uR# ,˵ O_NM&(U*#ؒH*p78ILB@:XC "1ARKѬ(Ĉ覘 pBrZKtR'v w'y2 韃'"H{!B&Ӟ9;MSADB)]K /(((s* 4S;>C678E{PԎdТKԐT#=m\ 􃈻-Z*JMi倬D, Xt$HrIڑJr%?)-Һ)rҐqWzazW]%}z{@Fq}=_+u۱2W؏C=H$؞-X:HXYARB뉭QNXZe{ pZ -! i ` e?̀?C Kڸ??xͣ͸ yd@qLxpP[J [ <8Ŕˍ}#kmV())9] JkC// ȈȾU`x辗X^Zy 0K*բt/快ZHui$;_x:r/]ެ^5(2䥩)}]դ_U]HiS-A/ DTEXIGHI,X@*lC,\GYHIẺB8>mE5|+p>@F_"TTÂeEW9!.bBByB>OEKI: j]J3] emg PEPT-87 8~ 9:F33+cC\cF9!21!CƒoqHIğ|47XqQLz4dL,Gq&l(eܺ5ndPiF # iCE bp;fefj! ԫJTƴˮlMH/CKiz㆞LS&Mʐ LqLK`Lr˔`f+6+XPkhxh}yfdtl!,P$i0%T,ѵ! ]Ivt88ЗnD4J NH#Op9hnj~jhj&U& Fh`QUUT1uTB5DϐΛA`1@Ume6VuYK SjYM_j.l>'Q+*/U+YJu,Xx],y},TެJ(H8ܥQWm>(Mp-ښ:خElNJXWظEl>nNn%h+#/)ͪ]VTsq X`#:#—ފCo.[Bo^j^~0NVmxl؆l% ބ[P3YXd4044HMr?@_=:Їj@jhq'2)*,2.c'D(@fѕ7z+7fdXm5hjxQѴ[[Xx2C9pf[( c=&@}P@2qJtٳ> @g4D ;h,\&kD(:J8@:ī0 dFH)s3F@H0F(ee~}pmKvkI볇4LߨuX$-Bcp@rЄ _8t0CkySKVwVc\A+ /_]"xiW5 $@j~?vF~j 0Cpa*lXy`OEHpcHLPxzy&5^5`6y@QYFcux1 s>w(5'$G ޑ|@[HObO C(Pׇ}Gr37tS7vQf\aƣ\,J–? p[w|L܉z^l8*q4`rP%L{@؆}9t4iP!"„ 2l!Ĉ'Rh"ƌ)h(% cȍ*Wl%̉PX#[@TmBԨYR!{;@n nJkAo043ƐO2~ʅ0>Ŭk.޼z/.l%SbJU4Tf|8l2f)9T'4)3nmyQ>xDȶF {7ĤKRb %F<,ldvYr+tdo ]Ca`]o=ӯo_#*߻3DFEexEM% %| !!zXB(!BId#L mFdӈz H)pG'GܤI #FB%]B,-d# & B'TCe'!m&q9g|JHV Dl$"I"v%::ݡ.*(P#lMfՠ §܍ B@<}9k_ }vϤv1~r`p yVpp9~;N;j;F*:dC( BpS9c7u!T=uȃ;\l:ܴڬB|#O=4<-;C9"^Bb 3 ]3׏}tS(؁nƹ= >I:"эs,8!appqy8A()F% RC 'uxb!bqKv Ň0;DA~# 4|?!C*WA 1HoSbӘ 2w.~ȟ_&.`ىL`! V^ " Q  yVK[ nE%C_L̼_ԀzeyG *PM .D M* MD(E=`B8_a_DUE!DFmTGpŜqp 0LUȁhh@nD!J! 0#>"Bx5 |}ŔD ƻ]D[Bē7堬UYVZAmbb# [Cb{JD)VD020n 2eܢ@"3`p`8_5 $4Dh'Xy#8v1P70UCO!!918r6B9[S: #c87' VV" p h4% B(A2pI2#B1$C28B먤2D#H:B-MFD5!B<:i8@v';B>PM$aB8ª n^fo"fg2'BD(k6f =duQB/2ΑqXVe =NC&fP)i9'ghiBb)J!I{˺Lm@$ 'mR%'C(q()+!0 cU!S7E7B*Ҙ&W^iDZ) 1H%\e,ЄфxJb  z2#dB(3CȔqĠC)-.i-ʞi*D ӭ)"ԃeD#퍜BgkFDR.$Ūjͪ*ӮE\ 4R5d67d91RP;<=>pԍ S77;?]FC,2+`_Ӫp4I@omO NB02 wE20C-&xHg `jʮdCa,B A,@UB  4l"T"Ⓥ~bq2-:-*ʌ.Ez!φ27@Ѿ+bNJ.Ը֭T34>)6TVM nWQVRSDTmCdR-݌2+W6O1P96HCZZjx@ʂjwv_"K2 M:nCeBU1kTMUU=B@nUJ.8nJR-Jos˖s)rgbqy]sXG^$ o(.D꤆@˶Nfj8&$3&0L:C'CjVi1m+o1 g%C$CAoCxqlK"(WWA3+C0k0uq+!zWɼR|]}~ؓ$ɒXVZVȏ AQD\XU'ʉŊ$WY2Ȏ2 (c2]XB2e؍iE ކ^\2 $B'~jjx03l 8+y6ęȔqSv؃&؊=DȲ ]:pB)},W)WAO|2BVT=A><޼3"W3/^fM$oVFWJA$Hz9q-!ȃBd8=&P_6$CfC̽ú{\@",hyB{Ӻ ;ϺW=@zba֬Efb,3ff23̬ vdcGB4yeJ+YtfL3iִygN;yhPC=K^ft(zOEۑ'F(Q"d#$BLD$EzjkS>5'+'x5^(`6!2x)]d{ 1CFk`c(dhDx$B!B 4[-"L–m Z]xjC|ɋwL-c`ݵ~H2T癦Zgb%*@HI N^Ø2LIP D AxC"LpR)0:̠&$&9' %!I{2[p+n!7薄.U^啨HS)VljUf@Ɇ p)yO܁6 JzCPDDwfxV#YtLy#%Zl&젇.v#UitW8m~ =Y:囀']b庒A<%%c<.Cېl2tcn 4cGOR#3$NOb; 샏{8b/Mc4˖>2i域P%fIgQQ*QP!%Pń&nyD7q! j/=AppFƍ#|=h ܨDJFXBP`9\pP4)hp#8::ap);N5n%L$Q,zPAĐ"A[{I51 yR F1C%q+C|PRqp]H<HaK[g_g"x&3aNq(i"; *"0-}xe>M (IPJDdB([!R/̲#JXQ8YNs^% ;U343P8?k_Ks7]j.v幅1:1zu4I"QYbnIpU) aM<I2|$( ;tÅ[%3YycR >t(e`Ei.hlՑ …p%I 2Yr1'*fSA*A:p(f]jI@(D:oL`c_ cq$&md.u'W:ٸ>Ɇ4:r^ue qL¼4 _xA9*NC8(HK(9y?@Qē7թ=T/| FRe7 10M~0Y"$B<$6t&- `"ɯߧ!67]_ ɾ$F$DE!B9>->p>` F#0 OJHBYE(^ YP@Fl[_D `:`Bbp?2P$'-`JFsB P I rD` C,VԢD:rb/ pS@(OlFRag p(0$F CDR\^`lhQ(|OP)B&p!q'Pw,(΋Y4OS$|A 2Qg'rz1hB"WzK^!5_@xvC~Qb 5$FHa":`V0(z1bO4uG:sS"?Cq4OȾa*[22{gV3[C c՞JS7c;;LMJo9N/gTo$#/2 "-4,AG+0ÀCU aB`Wn<ó0S8)%JJsOÀt84 <9™s3&$\9U ;!(3BRYO93*c5cJ$11A3#ww=A& HV8ĵ[ =ʿ|J\"ϵwN/T{eOCeE 0GJBZKZ b4IId \k@cU"  sTA} Ӹt@]JݶA+8wdݶ@Nk ɅHw ɍ}D!v&WʽSb`wѨCʉ]"@I?LIrK>+C \"~֧}%>J]>=ڕCbX$~#/nv؏+]&zeeXEs/gt.sFl~uZT{.[%~ja? \_~.=ދN>tG^'W?qLF1~C >y}u?LQOFI1v4 #@;=0%[)VA#^X%vV6 \Ts!Sbo5YBT4bG ̑lA8 "{ ڈ 38qGȉvD1=!C"i0d%R< S19}Vj2ʫ: v-5,E؈ UC^q^)T;0$!, X{AzkupEEv>DѕMYD(Qg8pÉCH*ڻv<4DQ@Zi]ӔK۷7ІS,05ּ[v6mܻ ۻ?DtBJ*3:`H`zLP" !P@GA"|Y[Iv C!p"v$'F"$ubi3"\BP'Ò`eS ij@os(|DR AvZI\ +{e~9k}7I!Yy'á Vs83 A7Ik/Í`R@S vs",So=}Es1YqhO.G)Ij+`ԭujww w-yϋwm{ w}wG*,e[UX*6`BGD*x/F(wtxqt@Rs * FI"خNncy7c:y9qApa Sv=p!X\Ld# & AtC ytu{T=y;ڋ$?VW+~oK^,ykj>C57GVkr#QEJ2IPDHoM$5dZמ)p$Lz׈:)>Okw`o* ?/Ϗ|D={@4qBTko0gF6>c7NY-Wp8@w $|xq1\)h8 &(m}W~9;ȃ=?A(|~H#` V`Ő3|Q=A%1[,0S4QJ!!3Q١v'(@,Y+A.V{Mq6~ChȈ؈Ex4H(Rj0[O8 i\E12,r&i&mmrB'vly!QB(R/ Sw$Kb2q**h2)悇Q))8'u1 ?QCog٨ȍi{$U 񧄐ujy+D?P$;4t4T 4`J}V" e x6d׊gmJh  :jhЮf #I*g*g*gq* ЮIzʯyV抮 |*g"ɐ):J gFQJgHE:&bai`fz5k7ۖJ4j3mFq4G3 V9gٚۊYJۭkgJg)JfYِeZg@ ,ٵ:bۦrg |FmPg*;@P"C:gPH̰ a g}˲u["[EZ܊˹K:3ƄLjE`dQD+VF+g1Be xƺjwƢiVtj[) ZU^;g0svv͒ ۱1 Z"ZgȐ "y|;国I"+K7PVuU;˴ɴeʞ ) uְr& ̻` iw˵l ;':g 0*כ["0˙;&A< 6ιB|왖9P+SL:x5TNE`2VqU\1';"Px6&bhk,ꮃZw,rۻVPp:c[)L ^Q.SNvry1yN>z}0zg؇Wo|]17>aO҇綗e>'w|8QU艮~hW. ^y`^'(Hܠ,YN!8QvWN }>0N~.NrIYLx~ T($ّ[)1eHőAmdخ^21s}wf^ Hnu$ך՞/\02x}g)&pu(($ł*ЊOTbߌb.I,2*n71"-jCk:3Cc,ُaD#U"Đ)9A]?O#vsS=q/s;?-2 49W^b{_/OoGIOQ(O`,]h4Mh̄z9SC￵$ oK%QɯSdOr`G`~G0ٰ PF6 6!"R!Q+ Q DPB :uAPQC7~RH%MDRJ-]SL5Q~A%(=PPE,Wނ5+XƘH/ T˖ڐK D^?ɿ F%&Z Jbj08 /0C 7C!*" >D1EЗ :# $& Gvd2FArj&(!&ZI "ᢉjTh/c 2q d4f(s%06IG$(O*O25/519)(=7ts :3>QQc3fFefLF ACQcQATR+HZI-5PG`tNb1s*eO?[Q8uT F,h)_VeWb`]B]RE}_&f,UXaET~ჀE]D(ƃfLhݹB@l $lYB+;:^9@fl -5v^ lr暩ù $4 !%IuM1`ô/Hcc* aT8Ƒ4p uꁾ:PcI>%L/L{NfX@Wﰂ3  _\#K=. ZS$pZmOl:!K\}]^3 (^7b{G*9{AVaߧI)>b_L _- 5,H@,H_f $H jVLkgE3PЂduRޘ!$# 3q2n"dЅ!Ԍ PmPCaOhC02hW]+zb{ @_4#9ܡC)paIJEG+<.:hHz%[#bId)9 ?NvғW VCTҕ"*vM]$$ "@ َۘK$2RRA0b3cA]KF4yF2 ޔ!!R ҳjT*3-$H4s/"; ƗŝxX6܍l$ޔ#P5D1 7<@COcQLȖKn[߼U[b ["g.vYR+:Tը0HyOG3V9ժ#i? _+AI zi/Q@jY\ՠi5o}jif6U~U(džOv;O8Dn8V3GtT{oNp#8B>`AnHAu>zHpDJ`oGq$vLu|sA0aqHPw  q B8lȋ|AxU,\AܵB\R`K`+&_*@A^dIJIq hʍʡ< tJdD˴TKJeDftFU(j|K2#y06A˿ /1HLKSx@&B(n q8ȈKMKL;3z8Wہ ˂<x{AdD:Hb:+40 <`ΐXε\NNO4DWj˴sƳ{i˺F D;`4HOH 0=tq0;&@10XO{OO];8ڬ|M{OM &K2XyHOW{W(EP;NNzLnHDDXO؁|$qXQ!=}{U] LA@tX~Hy%<>NX|s0Axx0XДSVnڡ%ڢ5Z*H}TQ{VJDxndyRZU(qBHXLXBzhؼqwͤXZ]}tUpp/ڽV@n[qƸ[$:+]YVM\xq֒ڣ%5E] !U*EQ/@UJ, Pg Dp ]5EU^* AEg8W pORFk 0>0(UeM^y^la8W**(uXb ah]: $]uC40J5Wٵ nk3%j;0p`Vf;Љ _6^flO%53})+݁LM.^01.G /}A]-p7j`TGHJT R-<4U WUV-WYUUUurăn\Qq \hE#ojѮg6wVpqU6ׁVWvuWxen\?om׀؂=؄]؆}ط؉MnXDglp\yY@\}Y>Y7gVwHڥ-ptsFEZ.\[M=ۙe[&|۹[xvew[OȻ2tuVstL\܂vímWxwX}g]:} U'xWoFe*~%]qE_Hx'w ` .a`7yᝐa٥S%؍HG_IINOz~c ca\WJ.WGMfeSrgXdO{R*fΎry<7ij.U*nEB||z. R-OuRSeyg8MLB>yIח|x. }DgG;#;@GV@ êܧO]n* AB&d !tƇ~›œ滎>AlCC/'!psΓ ! D*d M H"w.t0†!1 Oc2K )t(ѢF"Mt)ӦNB*u*ժVbͪu+׮^ +v,ٲfϢM(U>k^~5kVL_UdN:M ^'xvBx:HPs/ Kly=pqrgd7>q3N]$>  D*LpѥO~1{ p:vѡuV ݡtCKmsϐ=w{!Iȓ+_)ϠkX" 2ؠBHVn%=t^}R_Dm=ć; F (ȢAcE<(0aO!^8p A8# o $76bhQQie`9CԈ&DFTyeoQbD0آ C@{Z""5a\seXׅW1vDlg$jO$8a;M<\_piMsI0®~ڤA@D!$(L%l;@!\+nj$Cg}2[⛯ V^J^! -dњ67;T#^a#!A6`L;ؐN=X$f@ LCu<Hc!A4-DsPD۵_c]_Q +=[zi1i@T!ܔx+M|+Lq)AӷAN·Pw} †Px &硇GD:ބ=922'dz5!{#3߼UuUa^r3L;G7 :qM_^p=CqC1ڬD! ܄č1H"(ُ*U]48!D#hCbm9g#"1J\"H T!j[2JaEA}Ô&쐇8$F2Z[6' 2!7Ax ;A-v!p#; #,9[|w  xc%3D2v9sP(jd#Ciƹ#d룉'XƭdC){_3f0fBQkA"߅ J5I'9is3_F!(sRo < v_Ȝ'Nu4(A DRr˥=*l<ꡎUy4(G;я4BhRA0 i6җ42)MP! )O@DrPjԣ"5:@*T TA@Z*WyUHC |u-YM+[ַu, 0fIU V">5,aPEUoa^f,e+kِ"ԅ:{g§lT$KӢ6]"BnC&݂Z-o{/cnֳj&^h+M`cTn}B7 ATeVQRqic`աPx;&9RTs7`u&ϼ\/ܣ.ѯ,NT{k#8FI\ M/|Pl==8<$'' Nt2$%thDѺ5+GjR"wR>Twղ*V VpR XVōdV"JDuC^7cfD[+#Ymbn2ql\;X?gF3,c+k\/6vR3i}S|o? B;;з4D+z*?4J|!`*UTNTOTR`ZX0SATQw)^`TYՓ` \IU^h `Vbq30h%`aeVpAgaJᢵk5lLh Naz!їpaW׽ XZ$9~a!tQuvuҊxIyzzןb!}9闥M4uNH$a !rb'BlAQPXXd8l9t؇-YXIJDAXÍ)b$bD,2"3]%*&zb6j[U\[IؖeJ5o|b0c`}ZhGFlmF9Nm8:<Ҹ#Ն>Aj݃`6BdD^= f![^ZHmZ}ZȎАrAB=H "ň͚Q]DO֯%|ְ9#H@0[ Th 69DYl4T˲VeC!PZֻśpQ@]^U)\u80^:Dđ[b5&Cebf@u۸ aO)Nθ֭\&ӌK%UD݈& \jLэ% ai OVffgqj[Y^ȍW]5$u z]x!DxTug9=P9q~MQva DI^C%hA%^ ~! M,(_rއʞވYCpAeg2)eWZtYE h `;Sm=2i)TşOItbi *)]&JBS~ i6O>UTMUUAY)XUi *`]`c՚2jE>6jZ*$!g WN*^꧂jTf]!lȗʗꪲQp,@D&:ESꂨjuѡvJ: j׳ Hj*""WMH%j 4ISP&Pk[*w)N㎩*"-%#2բFbY7HD4DC@#0#1KfD4+VpǂlUta8_eH $~ftƚoY==" œy!C#nBʞݬ-e̢%VRmSP2ۤYJFv,`ZGޤ$MXPC)ŚLNJKvmvGZHVfPF"R UZ"[8RI%Q崅Y^['$ 7tFR[mX$Pnd:p+:[fR].Q\܍`(u- TD©!decN ߲f~|Dɑngˁ`fDȜk6l2A'`B:vEv(`œjI]l&& p"'H4'Be]X'}v]͏vw"}ډgQtA0IU$hJ%AhC(Up},0ݙp[*څv~*u^!I'Q^QB<Z;C!P('=H'ă%'}qװhue2-212D-!yߒr#_*fQ#[rrf%{))P)'2)V)r i +2 h| -3 >bac{r0+sfumjh//4E M2S7߫zV;rWx383gk*xױaN.U; a}>']&񷆅U$&HDOE@E7]&"^b8&O="zʢI2؋f,NFtK FĽrADX9ZL<:F5Y.4>N#p8aTsV$rˊ:;$ͮFYEx8wWD8*lSr8ҊY<~v~PTSucBZV7$D|L-mIڢZJNɶM |-D4!ڒNTdgg$޺HTc n Ru >eT JCVVf i@wֈe-VXolI7nJ&ne. ( D P=D=Av|M6N\6T|xYogb|tHp˅kΜN3DNpL$=qC+ 4o?Ex#X+v1gC)pEgS[vw0ۑN j fx8@#\pPWP+:|fWeh(()P+IR[Ï1@9C:h yBqzV^ɱrE/zGh?4(Z@@R !S""+Q+H;mAr192R{_& `J{W_(Or'{O_*iу[:Dvc7>ĝKBD!>*:hQG&UiQMF:jUWfպkW_;lYgѦUm[oNQ%UfӻWgŊ("ukBРPȓc4hCB$buT aG>xqǑ'WysϡG>}4avo޽ϞJ- k}{Ǘ?~}c@eb;&9ڑ4HE.t#!A$IMn'AI.0F2a @dt3ټHMrX@d l zĬ Je.t&G 05aN7JqS S:`#jZƈ 53yjPo e uC!QAw#2|]MvușRrRy f%KDyAyx? )5zpQWP**҅:B ))Qeud4]l&& lWץY=F2a Ri=e_i G$l1JxEiWG`@!KVw2#pg<<}  p[a!jOas4nZVy͆>G[6-m<sKjZFK_mZ%h3xU`Ušu{aӛmM1⪌}֝&Ґ2`koR3^X#앳Vl ZlPzs qi<6UI]6,?Հƽ XRqAe|\LꊅbuWy-Η.4|f19fVo&#ˀH 4J xֳ7'#,\_: ؙŽ0LaIh)ME4x{ڑ/wS 񅽼v&</rϟ/+PlG@z&**ZgB* >o-i*HV`/Gzyf`" > J/~)zh@jodlcKnupl^m+gG / p &JFO[\x06A󒮛tnm4ps Ž z {ɸ˶̸b +d Ȕj NGOL ]a#K vy0y@.'窖H'b1qh{_q1qҴ1(DZ+1q1|Q1Ғ r  2!!2"%r!-rr"5r#9R*"A22#I$Mҡ>2$UF$]%aVg&i&m&q2'ur'y'}'2(r(('&)r)))2*r***2+r+++2,r,ɲ,,2-r-ٲ--2.r...2/r///30s0 0 031s111!32%s2)2-21335s393=3A342 !,J PCG+W*\ȰÇ \xa3jl8QaE؈>H>c?R|I3 LB8s6B4’ k`5}])i@k;Y "֨ тZziԋ!Y:C]U@[ g 5Hڳ .bZ޽}>Ei@ ;X0 领>75}=1سk7*4L ~/iѮ ڣF՜ܮ,C90Մ{wҟ81D=Ѣ{f>aVZEC>0"fjV]y ÒA>%Q)Ԟ0'A.)hN蠈jT衉6P@! ,R  QCG+W D8P Bl`F2UƏF$ #8?3y s%ʘ.DC ;F0!,Z  SCG+W$x0a d0^|Q kȇ ;x"H"W JPŁ(4DW!,J " H!BtC1LCg|(H Ë}(Lj f9@3ʨ(ĕS| NTg`0uT$3NCdT3"gNJJF`RcLIF+$r͜D.zfοqm']_W} ̕+F ֗#]{f1TVt)ە"ꙬqTQ4Т?$r"q#;̛;|.P. !,j  5CG+W D8P BlpÇ /ZcĊA~\8FI4ra@!,r  VCG+W D8P Blb F2yPH g|*Ɋb,x%DgrbdcFF6:fхG  !,z 0CG+W*\ȰB :HV,G>yH"D7"G L9@\xsaGC`6W푾G 3_jg75-þHgb!J(^jFl6h?"nd_=b@;8eTc?]ѷZG&c}ԍ>OX4!5"D5\虄BXρbVV,uRB)kADЄ-D>Dh8-[c"VDZ)XP@!,  OCG+W D8P B30fF|yucI}%˗.Uٲ%M1PF,HbC>+* ! ,  SCG+W D8P Bl_|aE_g.2x $}qwE'}\1%ȋg:Ҩ1LaV jrhġ!,  MCG+W D/_1̙&bT8ÈZtR?2!ʐ.YpI*pN#w !,  YCG+W D8P Blb F2^y3WLWJ噃)?^1㊒p F$1f9N #Vdh`@!,0 |" H*\ȰÇCHŋJȱǏ'I&Sr˗[œI̚8a3Ξ@A J4ТH)MʔҦPOJUԪX > U+W\*V,ٲ\ϢŪv-նnt.]vͫ(߾<)x0†a"Nr1c !,01"CG*\ȰÇ#JHŋ3jȱǏ$ȓ(SD K/[Dc͙8svxƗS }"T@Q>ʶm[ {:(RKlʬB)v!׮ˎ(*DIl[3Xŷ?W$ڐĩX-[!y"a^+8smΉ53QI,&@r*qb"j9Ҥ18۽cGa0Za]v \//aǍ9r ?u^!wIfd+ڇ?(ίp4|8V &)dEC]E=!vE_u)qXc$A0٬'?+:"CTc4 cAVCSD CP@VIBV WAȕA?`W$k3(qPI28R!Alڗ|ùuiĹLA9fZg"30c)3VnT菛{7CzJ'^| Khik~f (Aih A9eB(b]0ϳFs1哴2"^DK- O^%A$dBzw"^5eH 1c򎇣y;?lMxej4A!ldpAG5Ԯlp&sk AGZk+ O|1D\HsFV0L1!2U&2J'  lM af(͵i\{8nqj\um~\G<6sKeQgAކsϚn.vt/zK6j$H5NNP7<ٜPgCPpp,O=v ^A%ʌ|0B a\1͌?$ ?( oar?2BIȌINA=O~aF@ Yk33e$Bʠ&d}TP1P}3ݤF@ڌ t/G;\'?393HbQs9܊u|FLQ0H@ ?D@OEit ƂFx9;:!i  ]sfHTYO%I)?ih$WXAH*+\9vfBZ6I#)FwiZҠ$a44*yf] "nFٙr܅ռ嬩CXq/( v ;q]Uϧ4jp#~BG*oT0;h2?N!YӖi C`Ѭ -H#QNOFy\ HKZJ 9ZJC2A(4ԥBw^9TLR$>bA(NxbIkv:\[t`kSU A5ѩ) #e;a411*q< ËFlAjSrJh4ZU}n! 9XreⴁTO>@ %ZkEaarg, XK4 `Wr\%YA$.Ѫ=5pVQ1 ~6դuD);x{c C̔.x#&`5'^}A橆+b#!₈bH &}؎<Κj K["r*u#<&քHƱ&qQ5jg2氊93@˺a)f6VVyO[*Y҄:1y$0vȌ ͝[w#LgDINZ{/FWXZV__tGLɆ#D<[5CXFZFyR}1TyKfnOSA v|!_| ck@/b0{1 f(02$XC/q /8>@x`Vb!p }N25.pgƄP\($#98 *ЀM؅hGp# z:( уjxxv|؇ﷇ~~8x:!-,( H*\ȰÇp"ŋ3jȱc1 Q?zvx7ʗ0cʤ82c͗M@J%ə@ Rd,"˛CJ0pq3"8y8r\<Xᶎ:E}Z+F])tkC% ъZͨF7юz HGJR#'-)hf3gVhAV4&KgDVF1!Cr"a[UĶ5|R%)"U"!q[Ro~;MWHqFl 7Hr XĂp/$caBwk`';5`;B.xD.!MlpMnvsÚ_7 %הARqIV NP1JЃuԣ4 )e Z̐Ce|B8Q r)#…ˢSB)Gimpr/IA/k$7h>ru9<T_ &RZ98Ș\ܽw…i"o+NqyFuDOoсNN^Qa¸ԡM G;Hr,{i8XtX3b UܜBeC 5r7ukBQqBP=ly yĪPOnwn؁݈A8INT#y=\U s!Q-L!os59nhD<G<|p"΄qL ,1}'Y~P fK 셯!! 0?"Z1x ؀~\cf4TF4[sAAk=E]Vl=kl&S,4%Z5ٳѦn6X=CFC"m05oYE71eTXHh!Vv\a"}WT0C!%QpUquP)PqTq#yGF55vxrA=CJB5)a,g >Ebll<d\d1_Q<_1BHtgH5ϖMeuRAhCH,RCQ@"= ыbGE1"H16cvǘM6wVDBah6LRQy'xgJw<xx4aFx@5x傺ȍs26iBQc)eyT(ӡ{z!{zDz|P{8{a4Y{&{{Y3K]&`6LhǗ||W~}i}6}.71QI},蓄N&h"y~?9(r/" s CYy٘1W/ǁqPQ.X3EAx+Ya&am7,88sI!QobR6w˜Z;CrusrOS;67gx$ܵiKU$5 $_G]JlYiE)Iy  6GJ-xE!Fy*xv;H2y!b8yq !Cc{7i{4{H4|OS C N2O_k1JaLڤNPR:TZVzPKXS%AզA1}™Aa*whfw9j!}7 r;lQ创^([X!Ww9jR|et1Er`Y5Z<=(ZӨ!j8r">|\==SVJTx@dA1]V_$!]|iJ5Ch j9XIv џd7_Q!`F& ij>&mBw"eR"\xxP#cH8'ubݡ&Jj *GVy[Y$jDwz(0r3*RKhe$C)f‘&!|4E=zo!f_T.h=IOXٕ6kJT[V{XZ\۵^2@AU !!f5 TR2Ax(n#V!GRJ")e/SRUAP#Rupab45;vr8Emz :;\Cd@z{SGC)Z$Dʓtb::l-&#tT7:E qx[!*G)íH ; +:h<Ƹd.!{Hy{;Ǣ޻ qrd2r)2.e%[EIU|oIN!<uT9A4DCNyB}YY8+2rN.Ѵ kP2A aY̊z.02>4^6~6  AOOkK~nTsAVfl sZ"ANrGmPO]՚zdg%|8w<گ<|LqN]~II*oc0pB Kgu.h$$w>CyCF@W)jr^\JIb (Gz#,9jL@9C5H ,_~51^ e:#"5_x I2 Ea"=$}M|)2'cVbg޿LH `\1l.v=KZ\Nkꎎ~1R[6eN{|ch OyQ \(.IPk&o>48:<>$@o#q3E?AXnmbUmm']FvjȯN~~sӋ彦 ՏxnX餽?5N'%&ޤ*}GR|"!6Mu.^}=VOO+nKGE.'֭Dj-=ldF:?ʹOg$SK*-???7NG4 Cf%P!z'*·lk\<"8O.dP!w;7 qu:yvPXğul( 5rTh&I6<B<"%ZQI.eԩsu;B;O!cS){. Et!V_B&-C:(]۶MN0%O\20& xi $NC ڀHtPB63oٱɕ/g=G2-lAIe*K/BAP72{n=ӏCn 1X:{V3(E-G*\B )D 4(TqE!Dl)KDBLSA b:=$2&x+'iKOցUCz&k>Cj:ibuq {Egu.aB9O=)L1O>"qKN;MN'v'FnRyD#Z2juvu! -] L& &&$ʓ "%TJ $ sSu:z.bJ0sDF&Yi(Bu]{*AU!Q<̜.1۸iK9eʧ2ɷCXٔе)eoХ&)8}xX 4ALwl)ޠaE6ݸ;4D!q\!exǫA- g8A؃3P^54bKpC!ޢ} c>\(Qp'叠D$!0Q$l~ WTc>(S nF6 n ƌf4P\4;bsvx:`5![}[ɫ>A9?شg(䱧AMڛvB DՁRƜߑՋ$(І4 v+HQzLP$ ŹHJ"P*):mAˡxxʊ ʪت> T+ID(h A@t YUcr"#: 7ҕD:5;sPD8FkꄸŒ B@8_Qq 1+V"f([ 3@" P:h9C;CC?C@Li,666V:6f":YAD\7`DdrDꑌzk{C|}[UŅ7vKw$Q8!88k!ٸo{ ++Y9ms8 k\$t:X'90H9vwR9yB:q`my۪脬ۺ AR˃k% R#;RD <ܰs$A>J{>G$K(GN+l/{Q&GhH- <ڢ! Z30#@ #pI3 r4A3@w@= |!;!* x9!" tʓz\)$C. !,B$\BD2J&|B¿?,_!.J951-"85h4\ 6\C8 0-{P P P P P ГDZdk[M; o,J4P7us5x T V< ( 6Œ8mi9ƅ8FF[nFi͆G!,KGVBHQRJ{K) H:Kȅ:{G hj,Qȍ_Eqp; ËId0,3PsJE+DpZ"RJ@4pL|xEBa ,BhNyUA|LSaسb@X9#!$B#԰*BO-,φ =##fH6ZP YYY ZZ-Z=PH0E}D=Ĵ{Ee,7EP=)rYRe[:̎~Ү)[-8󇃻ҪR@FRpQ*%9í,\o 0!8;9HXuz 3UOe H[S/S0pI[bThPC]p;&!drT=VBhk(;7[Pzq_9lrHB ˄/끱*Uή%8 ɪ%1KTKV!m뫐%L& 3[] qˮY "nj̶`졕;M*OD3{?N4$3< 5b ]?ڼaW+ʮ*lNN2W%NϚ4mG0پib-X-ϐ宑On%"} .Q5)h67dvDrPe dB.dC>dDNdE^dF.,EQ>7d8jbZȘKd [RQ>Ncm7WRwՎYLrP [Wy'yEqyXe8bb gV5fdM^>_^PܤsD:y>; p>8ebǘ mHʩG>ǟ:@ {Xv^e4B>ѹL RӑQa H]ύƽh{x |&K8z;z֓AJPT8ibb鹴t8nVj.AeMiVcSg\`&뗲A`18Fk޿5WL. L,5V%Ջa8 LDi8F昔MV:؄5T( 3 MnN!(<Isa1uNǖ"F;2cr\yBYk5%T$#3⎭kZqJ d* FnuXoooppwmJ^BdbpwHe*뚑XvO(Me8860qfH8&Tf+G 椑ƍqgcmo, q>Q:;Jfgw6xvԓ~{}Ȇ`Njh<5xEh1PhL軰S+ĉ l IiTꖎ˗ȫ^5 Z|˯ޞ^ipk^FVNk ޻KF *urekPbnKll*i lLo6ATwlyJ#fwwm@KNymOq|%ⶃ^2b Ynf#N&4O 5%a 0p$6ZN.pyz/z?zOzZ|"Q, EU6 )M?6?fIR!zc# 'kfqo.Ujbg/6S1 @xSS~R[Ļ rؑ30'6Ĕ1_^Q=e^v uկO6ĴL]!9A|ߎ53:w r$3 3k qC ׶a~ !E!<Ѯ | }Eon.$*O:;J5? X[Y[Vz,h „ 2l!Ĉ'Rh"ƌ7r#ȐC,i$ʔ سCbd̜*wN0erlM9l"ɇQ 2uU,_+X12S$?w<qs Jԫ Oc#0VFȲuoւz k2B&% N]$>-C:%A =dO v2?]z_13tGL& nƒ7$AS:8S_qG%8 :"[`<2$|"qpG$ZsqHU)'7#N!/5wMp:W F㢍;c8F.W_:mOڰjmSCr-(y.{.骻..;/{//IU=pVJ4cTɭA&v) skU}Z*tAv0ؓ"'IY$ޕW/31MIbD!W`ѪeoGցꈁh"(ǖ=*ShW&+lN%0aD J4ߝDbJs(TL$5*($6MH*/!(bI[6m GF)%,QBsNhZ47aǭc6 v IFP0}UQYD5-a<'Perb (G)@}~+D x}י? @'R5)UO0R†1 6dv R`P4FK5R"ЎKhF"ABb?5"BHDcFCGg8V 5!HE4H k$R? uy~TGk ^[RR1]QdġSTrJJ %sB uХ*?OF: :a"-a ҄h|;y_/D$u4aG$SLH֊qH"ġ.F;۽!" YٻB@n.Y I!,!!Rb T!?G (P! )lQZ^2A,2| BP< K"Bu rk-X?YoZd f  pmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n;a^DY_P 2Lgπ;j(њf6Ovӛg8a $J{a+Ib ˕vO0L~6E+Q9HD ch<'z"4"㠩 @(R";)0HE2R%%rq'@ֹHj ZCș2:_ĥ(I7:zdJGHE!zJ6 p%daR"rVKc6QEzT(< !&#,),PP;+GIf;L*'%9t&ěo2/)N(T̂V'"jիb5Z%AoFԗH2JOs@Qs*tJ!ʣ&JDĢFsy珇Ę9vYLaJ8Xx{aOpkjd Kú [´jKL! 8$5hA&ojDflD&PFG&"iI!j2H &sIhx"em]"rPth&#KmVDMMKPndk15%&m MNGo}{'ood>83 &NJ rs'**RS"r7Er*(SLJ0e8L!s U(rGtxWTxtJ/NtPU-u1u[UT=EWM1m!wcvjWPZJswRWzWr11GTGXM#Z*CZxx iY-=2z`e{z4w"9!5W|{3|WFyHJLٔNPR9TYVyXZ\ٕ^`\i"_*g`Yf`*R6x 8xa:A4E=GbRaN.??8&#&hn(Tc$$'@eA52C,#;V~I:!eBT(fBCFEIDeitP)i e ?+F0~'[7W2vIa8_lkH F !q(JsJ֋HHGk 1kRvpl32l8m]voV.xKQKF0gbtk2"[1W" |9T얊N1:oto/A"cJD$Zpvp~(@I$Pʘqf0qŲQ2 fr%+65 u%% ,-gX"dRFOatxtg%)_7YWRGz@#ْLAgCUuHQ@pkp4uK.vʨaU07y72+ɑ2 y9)ג:xq@U4)2iUWb'eDK i{5>950! z(:Zz蚮꺮ڮ:Zzߖhi9lY8t9dsi{b426ici:y)?;@hbX+˜>d9DLFqvUbܱ&p8gH"FײGnXH'(`Ɔ k *l'ӠblHMΆ1"u#րXc8\+1X>fK*axqTڶVڍ(8e@ttr'7R8&8u-qBMN1uP@D W!HMקi8Ȋ*xꑌu4!Z#ء|ꫣ{Xк4y7;ܚ!ڽ;[{蛾껾۾;JY0]Sdk6(Pw|+Ԁ !˘p3Y:*CF&RI)@$KBLiaV:tg/EfQ; E0́>YG!\89yMƳm䳆-s$晆cGoƝ! c>9Ѵ[Ĥt!jLf젮m+MѡKon]BlJ)*e -8mu+qK*h(y[4{K<w"vAdJ'椖Ba,1(pΈQ&$q2' T)/)+A[֦ 9xT:tvFyju{qt0"r'Jz*kbcδwXx[4J.(M#|ъ*2+4C Ӛ{j›bra!4 L*,.02=4]6}8:<>!c1$`ds8Qw{beA|#b^~ ">$^&di҂ѯ !¿ԚHP-H nU q=y-ޟɇT].Z a}8h0,)q-@6;P!_›&#)șsm:f=Z\affU%ilj Cv,D|P4a~eWxCiwƏ=ƢǙkf,I$CsI5 dOk Fڑ<Zڿrɻt5DWRUfdRm4ɰnVl=m;ʻN,(+ tll,A7]~c+(BnAn!GHn"X QS_&X"+,d.(9i><qM9ܲ;|} &yÖNENn~tz-_j|b kPRCFN QDZ"3NpcǏ H [Xb SڐԄHaLA=r"%bIF(mF+׭lDh$H02bA vOY)9lӿz^ FR˗~RrJ`J!,&-ՊXC%";F1Ƌ6DPٽH_I$39wd Ç5?10;8/.>~yeJSǔzZ $U"}ٷ.E}x!Bt H IBJ|Dл Щ:(aa0,J#h4 {sAh>HC"T !m&D(D &րDsB:8 6(M!6,LHҼȠDC%2L4* 1@ $!J#(Q$G5۬,d:H%ġ1QIHTRMC((|R̨C"Aв)c1 "XHH5 ]/%YYac"EXRQF-egZuSz(yw_~e7{w` 6`Vxava#xb+b3xc;cCydK6dSVye[vecyfkfsyg{gzh6hVzivizjjzkkZiQH{8meBp4/BZwB q*&fwn &gm)o rDJr$x|P^MG I$H꘴]hZJWIN7m^=IH'XGBD(R {E y`"*D5vHlwsjr˘/^`6/8;YD  E ?B6 ՛͙7~M`B5(bCFrDJ!@A" QB$QBB%9X9X&X:P>(ѲD U%MفRb&x):M($ ABX4c"7|I8cqAPjd)=RRFڣ9*F.UG]ڤ^eT;*wHvP !7'pT )|_}+\Ie;yAxp"uڽhPia @ ^3(skm}[W%nq{\&Wens\FWӥnu{]fWnw]W%oy{^m Rh8cA`S^86ehWF+ݨN:0W|?ѭ@>Ow{QwgE#hx)B1Q`@*0dbpDTP c GqC {(d"S6Vj2:Rb~ hF4.$#bCɉG@"ȧFBbSDC橤,ˀ,I_l\BZhDŽL\hR*u1#͢Yc5ȟeChb? YbZ,NwIR3<'*ӹGm uQ~|sF-Ё:ǼX/Pc EpM#v̫;јZooI[f%tSK*hJ&@)I7&.|MrUߝ2JSDֺꭱz\3+]jSeʭfuMXjx-7+gy]r\3ym~s\;y}s]C'zэ~t']KgzmވwfX{0LTz71b͡ʸ˿4+0{`'X" >]gKxw&I:1yr O\w.m[yуyx%;d!O||2eƔ8 %8F mAp;\Pa]?Ȋ=ѠX@!!,BT H*\ȰÇ#JHŋ3 Ǐ CIɓ(S\ɲ˗0cʜI͛8sY#ϟ@ JѣH*]ʴӧP2)իXjʵׯ`ÊJuٳhӪ]˶۷p6-+ݻx˷߿LÈ+^xcǐ#KLc̹ϠCVyӨS^sְc˞MoͻNȓ3УK|سkߞË^}ӫ\~˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n';D.Wngw砇.褗n:Mꬷ.n/o'7G/W㐟w/[o觯/oc? ʇL: ' Z`(z GH꣠WЂD gH8̡w;@ ACHL&2чC":X̢.zqxPHFYhL6a,HНx̣> ruL"xGm@)d2cĒP^bF6 (GIRq\ "gIyruF0@ dɣ08؈FN`]17A )IjZKe),`A0XC 'ZYv@4dA < p Bu9ud3W7P4vH4) HGJ6j )?QHAYOz&N[MBL*ie ON@2 X:SmhAYցU hf6Ƀ@ *ZQ*uhAc$( J:5/,dМ{Nx;ݎ pF]ʁLVut-@xb1<;74!4NY֔C[ JOxRjS>HMxB'أW6(*e{uQmm!j⁘_ub~u˝35Vw"_rf'ِnp[8ZpI%W_~Ru$B?7O|Bo7 ؀zXxH;(XG "~؁&HF8*,m%x0(E)؂4X6X/:D3x>@XJ9DB=HJF! ,CH*(b*UC‹3jȱǏ CI2D\ʌ%cʜI͛69Pas%8 JQ:KѧPJ:K@ׯ`;P5khm*Z#ۅ"ʔ-KDB1^ݻ H,pܲ \ІH#Xp;gON#'6RBu FO,S$Er0alwɎ=)[q鎨s)Xejz,E'cޠ-)k oc{?b"D|&góDkٵIXٴ*ǝ[B i"/2bACpb!8iW|@bDt5paʊڿ;/ZԻRb||t㏼ ȃ@ -b Dd? bGNtL;m5Z}=AmQO'O4!L{xrW"@TS !vk88`8Ә$ox2`>'* i\牺M?JLW({U($ p$ }@(n=I _ ;_B:IWߋ o`~BfOH :`p*2K:'H Z̠7z GH(L W0 gH8̡w@ H"HL&:PH*ZX̢.z` H2hL6pH:x̣> IBL"F:򑐌$'IJZ̤&7Nz (GIRL*WV򕰌,gIZ̥.w^ 0IbL2f:Ќ4IjQ܂6nz g82% eBvE촒A$"`}- WQVPX14sN^]Jhmeq (SZ&iNP[%quX&P (Z@Y@'2hO)(Y@NiiN08>!., CH*(b*UC‹3jȱǏ CI2D\ʌ%cʜI͛69Pas%8 JQ:KѧPJ:K@ׯ`;P5khK6BHkbJimZeʖ"a;(= &LC8 Mu c5 ;VpY ׎n _!U_B1qi: (xHD D$BF7]]Bp aP$|`1M9'dCɟa.|D>tu]x!p! rz)d{IY…vpAG!Ay[o=QfM@@pDZMpG"b4AH"ݘ(UH qMO!$BbB<! '$Fu L Ģn!4?[@#!ċ(%@%䣎<2!`q !4  FjZFUZ.pϢ t!-d+!  o(iϋ!)ruhVnJ`ثAZj dk T*Ols@ "s1`"o4SLP̮5^(1w֟rk(yAmub-;nQ|sb VBф sAL40dLslAd=+K(=ZKmQ$錳 3Ktt=PtU#0p@E!:5e T;qe"Nt\zKmU}0x{+8Xj MȇvxC?fj$u4aw-v*bnBCo_ ?,]JƸ +|޷!X&񿱆9z9_rW Aׄ+~ Ҽ") OD"0'"k3B!'"zhKz"B .\I 5 fr/0)?!gv,O$1'B"D$'BqQK A􀶁(p T!Pk*(yYƮpL11‘E<~TEGܱyA$ :"#:ȨpL0ّH (GY8R$)WGz@C&2ĥv^ 0IbL2f:Ќ4IjZ̦6nz 8IrL:v~ @JЂMBІ:D'JъZͨF7юz HGJҒ(MJWҖ0LgJӚ8ͩNwӞ@ PJԢHMRԦ:PTJժZXͪVծz` XJֲhMZֶp\J׺xͫ^׾ `Kb:d';,h dICz hGKҚMd+ պVЂ?4h ͭnwi@VMr2׳VHC*zS2ͮv Yrѝny@[uʭ?+߈U/w+;N~SK[?;w{#[?epv+0wpC><Ǎ }[m),&S!1"AU:g@ 'uC@G7\L9>"*LP6:,uTB-N:Ѓf6ce!oApx@>C ˅)98Aenڿ^Lc #e[Inm\\: Y} qw#,!`=!rѽ`.b;"xZz303-rǒG|\'C:iZ\d:&:8O2mN]|6ǰIZ/IJSX2_Lcc˽-ک-ud;c$ae;GNuZ]u:_-t!1Kx{?sԕ(|1vtEe!M#8Ǧ1;p+?+!/i\ͿĨ8}' F{!oƈ}+qd[Ǩ+#L>7pXK]X9/|.^[\E]ė\VPX"䵀XՀre1؁Z^&h\Yx'*8h[/(<!2,z,CH*(b*UC‹3jȱǏ CI2D\ʌ%cʜI͛69Pas%8 JQ:KѧPJ:K@ׯ`;P5k8hpg(S, pz#|k6۾C[CB< i*+ǝ@h'' E"c#lmvi6Jt[M ?w섈HPs|W8c7|r7 #F 7(8@NdZP 8&Vy4&^V!4@]; F AY䑐eLB[(0O!8qq|(gXiЗNOZ@Ii oFM4Cx/STgwYhQYiEߧ/w_0篽ZSZH,.d'H ZpLҐД ̠GHn&;x0aPB-N!/D : M#]&p%C=Q{UJ~eClQ Op=D^ $ DA|r)Mh d@$t/ԭd׃"q8|o DGjr@$ղF8dHQ~X$3p|ȇKYr!D` B_/\ (D˿e!J=D$b?B! K b \fּgL8 i܂nT}#RԌ.| B"AZN2\ʡ,.%gZzB"/LO$.H zP!^FO6pG*w)/ds*KzѢv!κp3T5XzЌ>V@jT u%LcSiJ|pwx2 d("W>6Yԙj v4щxEVUuXWmܧZwt#((.9 T't*c1"lmEYˮϬCȽ.D? p.j$.Ғ)9]D{& 3FoEeD]|cxyNצ),bƐӈ BcD []H ֫ұ u3OHp4`L~T=+$$ gx\#v9bu|A ez\H&;:` *[~F~!C+{<!к4d_Ns,,/ pNЬ:79 !, 8b*DXp#JH"A!bȑƎ ?)rɓ(S.\4˟[1T&dI̛m.| N@L9`[HcdѠPhR 5+Exbf,䉑 2 M6Hg.}u7Us8mÐވ[ڗ ֢Gf/FYH53sǹbsBǥݬ:RT^'@u'Vw1̲W1Tgv֠euFwdXUw]vMUߡ{8ˀ(`\(VA7K{!~揂W~8Zzx_;xt]Ԉ/.tĕy!V)ۇ!q`/]K,Bg8t9֜)x!cS4ى?҇%Lqn'Kg)t[fѢz) ٝ#ɘ@e@Sk%xg|Z NZ鏨"kvx͂zkol$n'H-o tFۢB[C^L9⽛$oﳽҹdS-dIVHdi oC?!QQglgdj-ivˌaag1U7nGӎ~З%f7poecUZ4ڻ?O|[Ѓ $:U/M/''1ќR5[H *0|J: uz`sǚ>傀10H^Ex0A(Х'|Au0eBVY#UDŽST džĢrʩCKD*LlQ d>-0AT&8q[^8=%tDZ@]q1zxzK . 0 VnH.N4K=>d2 ,"!2,*Ѧr@n $ai7h)-CyQ2u~%TJ2?0y dSbf2)AGqfUr-傔z:%EYH0|ZGjЯ,Nݜ N-uWٟWF+uLuN z!:$m=Qt{ =3'SJ{(QjGA-3)B՝3 R"Պ&( jz!_dL(u zT'-WcʎȲVu&OtJ=YY l ~LZz5jN{b(Ni%B+5z͖t M9d$+ĪַF"(dD[`"AwUdIlx%^bAY{zdAAzK0]@7%F0p;Y,M3!/,BT H*\ȰÇ#JHŋ3tǏ CIɓ(S\ɲ˗0cʜI͛8sY#ϟ@ JѣH*]ʴӧP2)իXjʵׯ`ÊJuٳhӪ]˶۷p6-+ݻx˷߿LÈ+^xcǐ#KLc̹ϠCVyӨS^sְc˞MoͻNȓ3УK|سkߞË^}ӫ\~˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n';OG.Wngw砇. 4ꬷ.n/o'7G/WO#:(qpK]]0 BLRb1*` βN.a'e2.ͤ#j3j^*A֚Y vVKlb ̄f;وM!^@8@v\$mqݾt? F&a#;w蔺SGV fvAU@HT(R Pj3ԁB V Lp3+JP{krЎgUI7QkS6%*NV*9A**0m:KGj.>#OO> 0kk5]8 j\}f]>hO; >w!ӁR JY&L9oN-sݺ 50Iv@`k;1q:䶹v/0 ]WEz}Џ9U\M}^u;dlx (/? LOKϿ7X>'؀(< 8ƀxHXe "X#*1g.N(Ȃ284]/x5<؃ф@G:DXFFJ)Q!AGa+L+!_ȅY(Ra dXkhXbVOa!]$f$ чzH~ȆTX(XqHшXG⇙mh(uZ8xHȊ8h-ȉ7b(`(Ȇ((HϨȌh(hxhبܸ͈X؈xh∏XzȎ(ȍxvhĘ#H i؍ hP9 9h%-9Ȓ9'H;1) I##ّYJ9/؍H(MIWIW [YH9Vi(sQS镈ؕH])`9bYlYI@y8'!`yHE1IsIVI[ c ȋ4٘ɗ 2|锥Ȗyft9yَِ )"8 U O U陛)閖y3T)5 5Ɍț9YAyyxE);')O8i(IFٖI8IYIYioiYYɠYޙ~ɞ(D9xx3ٚǩƉ)i#Jș頠 y})ɣ1J3%ɡ2bMٓDFڛ ٓ yY ڢ&I;yY/ʣ)Vڊ!j ʙYH"x QQhIxq (:,jw:OUXJ!9F#j*!,JB`CG+W*\ȰÇ#B "3jȱ EwɎAʕD0%˓8%#?&\t(0̅6snĸgƤ*ԃ1!Le543Z#Dnϥj=v+,ulٶhgP]Ojl,Aaa@v0p?yѮ #m՗2liaI6@15Moa%R.jsS 3?C&ewӞpʙ;g]emFy-C9(~L 6%M6ǟ>T6GY>Vh(!LTPTރ$"&c!8[Rv]7]Aj8ĐtHd v_F maGtE%v$(eˉOnd8peȑ cȟ/&8TN}꒨GKt&ԫ5oF=QҦOj kRQ]TkKg .˛MZѿKI0 ߴk2],6%G6Wtmd{d͏;_! ,F  H W @5V_ }"V oj\1WO 0|G! 75_;@> mˆ>ԗT %8kӒҔL9>'G2]\h`V]3ǐE-Y碚0!,B YCG+W D8P Blb F2^y3WLWJ噃)?^1㊒p F$1f9N #Vdh`@!,B XCG+W D8P Bl_x*3q qf! ^20E$'iHG,ep$Ņ+2,z0 !#,B QCG+W D8P B30hQ3|8$}DyQ%A%_LIba=+P! ,0Bl" H*\ȰC!Bʶm[ {:(RKlʬB)v!׮ˎ(*DIl[3Xŷ?W$ڐĩX-[!y"a^+8smΉ53QI,&@r*qb"j9Ҥ18۽cGa0Za]v \//aǍ9r ?u^!wIfd+ڇ?(ίp4|8V &)dEC]E=!vE_u)qXc$A0٬'?+:"CTc4 cAVCSD CP@VIBV WAȕA?`W$k3(qPI28R!Alڗ|ùuiĹLA9fZg"30c)3VnT菛{7CzJ'^| Khik~f (Aih A9eB(b]0ϳFs1哴2"^DK- O^%A$dBzw"^5eH 1c򎇣y;?lMxej4A!ldpAG5Ԯlp&sk AGZk+ O|1D\HsFV0L1!2U&2J'  lM af(͵i\{8nqj\um~\G<6sKeQgAކsϚn.vt/zK6j$H5NNP7<ٜPgCPpp,O=v ^A%ʌ|0B a\1͌?$ ?( oar?2BIȌINA=O~aF@ Yk33e$Bʠ&d}TP1P}3ݤF@ڌ t/G;\'?393HbQs9܊u|FLQ0H@ ?D@OEit ƂFx9;:!i  ]sfHTYO%I)?ih$WXAH*+\9vfBZ6I#)FwiZҠ$a44*yf] "nFٙr܅ռ嬩CXq/( v ;q]Uϧ4jp#~BG*oT0;h2?N!YӖi C`Ѭ -H#QNOFy\ HKZJ 9ZJC2A(4ԥBw^9TLR$>bA(NxbIkv:\[t`kSU A5ѩ) #e;a411*q< ËFlAjSrJh4ZU}n! 9XreⴁTO>@ %ZkEaarg, XK4 `Wr\%YA$.Ѫ=5pVQ1 ~6դuD);x{c C̔.x#&`5'^}A橆+b#!₈bH &}؎<Κj K["r*u#<&քHƱ&qQ5jg2氊93@˺a)f6VVyO[*Y҄:1y$0vȌ ͝[w#LgDINZ{/FWXZV__tGLɆ#D<[5CXFZFyR}1TyKfnOSA v|!_| ck@/b0{1 f(02$XC/q /8>@x`Vb!p }N25.pgƄP\($#98 *ЀM؅hGp# z:( уjxxv|؇ﷇ~~8x:!,# H*\ȰÇ#J9@l=t)Y*b3LvÄAbp9ϨyTBM$P T`9XkV*A2a֚FBڔLT>+TF =\"8 @a, B? 3|R}g: T9Wdk삥k0/A 9בּTr AУ@b!8BOPIe%넀%֝,]5WУ, M@"OveK7@MW)r|o;G7e:<{Cv Cڑi;G8Z#8',3sƾw=ytc9!894C@+θ@G$ m=DcOCg@#(Qd ana"b9+ g?[O{3'q?HčEg:\*!&pAѧڢ#&БuD9b#sF|BЯ)J?L%Z 'M%se k(x=VH5iR{hc77F ~h(^MxMV8֡QMԕB]! lJeUmбA5HHJhzW jYVZĢ . [&R_zbX=2L>N&U^ӂYуVU֓!*AL%F! W6D۪1'Sib$x%#;PL*[Xβ.{GaHq 줔D4?@XBɠl ys$9yY*x6lf1/Ѧc|[#S\r&$-o1OӍ̈́YhJsh74`hATMnKtՙiUPSN(>p;Qy>}@JHIntNA:QU² {RG,iaKsCv$Z|} d.1!g[ut468"$|O+ecM*C@ Tp zjFnVүZ[~ dX/[tD"b)uZh|WHKǮVv/WWvYGL`Lߑ18R:ˊ:(>*_:9׊WjhNf ΎV[y-hc i0ؖe HT((_I`A{и֒mKFޫ%osJ&9qևoyw9rnDpr,1d0A!aa`'BWE`ad94_Ju{KGR8TXVxXZ\؅^`b8dXBeg&hfEzCvh$fJV!Nx_fD1Vdv&yll$U1jMn2 q&1qMXQkp 0+Rgb&-A A&R/aylD( Jy;R>yI.9ٙ9d 7g8DhȚlWH9FmDCH!gGI#jlpnxZdh= IxII&hnJy՛$hQpvCgV󨏻tvrMB\-VǢ;#uD iwzorxyErt+yXxWW{wwxR0RxB1rJyw-SPڧUF\EG}7[ݻ !W[\ `  PǸbp^|[ @NlQŊ_ @ťarL\ J@5Ȋs\PKȆL2lĥeEA[p0>dˊ@1`I[0ֵc |˹<ɮ\I˽˲{ܴ|[ QԬ̭|軹L \5śYM;8 klr!,}<QL#-\n{ϚԻρ|+RB|q dP ;E/>GSMҔg|[@TDmMӨ{ĀK;:>d`ĥK\H=@Q>d@Xlط%I{[ ռ]؆D~Yp֩}[Q||xqN;؅b=ʹ]\0 ЯWW 0 0 P`խu !ʌqLҽ| pކm (\ @"ߠ|קןѻPKZ`4 d%ºB d4;,JK5a "^^\8J'&HrE~ A.I!ܧK1˷]zybnVP zkӛ1|>~{^{{8Miy蘞f SN^~[ꪾnd󳉗gPUGd vP_OAHYRf5*;Y5J)ToqĝIjkVv_BQ&klƑ,1XZJ:.F%(bmqmކX"'# L!v0 o"ZnoQ"ʏк+:=I$9g9'!%=as:{s]}j-> &o{fd^jfctRP7*v!dth;\O#+ʢHe)ZwkwwӨo)1wZjx`g mUʯgd z>z*78U,/!KZz7O|L 9/Juj?򥭆ӭ8;%~Z:(DS;9ǭ/B5-Q4 _֯zU[b {u6x>(kA+!B'z+e/ $XA .dC%NXE5nG!E$YI)UdK1eΤYM9uOA%ZQI.eS[͈@<C 0+Wd:<$/ڵB=Lv $0H:(6)@pz1a } p g#;a\GT=݇q[&mPkYڣG_nmulqǦ Ad FBkϟ=NNq{7ܲ!r풻C4Q\kN  96 70̎:.Bہ4OADnyABB᦬ ! Q'>8GDq!Pp8q4pu1)AQA$JCK<.vوGNADBH$ IcžBޣ1)+k'+1ў@  L4PS+C45 m7/T64Iyӻsǝq3՟ϘlL<Rֲai$(O$Sd*O UQs-T 1APl BV Þ&ju PȲ ;`;V[n-T[.V5,Ad-6BtNر.xC X zEk (_pÕرj´lmRV {ᣒU:VgQ\.x8xCSwn^&DHdO,D,` R N&M.(|意9ap!!C w>ppE`4 (A}`v!y"%y^эVz"q:UG8n6xNt2IOx7GV(AMt&F1%!L!RQJɓIr"F9ڑ?#Dp#q= $ XG'Ԯ:nh-$f'!N*Jభ5r!-2!@%+ifKaV~#lRkuϭ̩+wS# k #h-Z2[Rꏑu >;(mVe6+1JV[1y:=g<`O0e=?,14f_E;-Yr69I] *uAΖ6Dq;(3v6,a n;X!Q݄- Ki|o6a [7<]d6o!pY!'˕XZ2(vݟX=t+yյ<S;r(#E 9hzČҙubZ2;OyeA($OƈMײέ5@A )F"hLgZӛt=iPZԣ&uM}jTZիfu=R<&C t֮%0(uB}\/AC6ke /3`f)AA m !Ax pyw`A@Ppȃ"B}x˛#gQk'&?c* Mܼ|P@IPФb B=(x- xLH<){|HfbsG:+a lrFaf1!P2ahl#YlBkQfVbDlK-WS> TM?7#}N-A#wTg,WSOM%75 TjehiAtZ+^Q]*.W{ I 95W㲎?{?XJ浳^3" 7գ׊=1@ck_ dGo#.B!m_ MHJU"c4l^pCB I[EHI/A:1k[?a?A( y(2PuYyʹOB D>[3BAa2"k3wx[6w1 [65k6%d pO+A@zPU/n7hT, ׄ}L)A4/ܴ+꘭-“7Zt܁ ԙαN\$u̔2 Nr/Y`kd = ̰1?C:s.Dȱ1EC$L!BQPC$ O'2 tM2y̲-KAAp= "utS3%@Ihіz\tĈX`$mG/DQx_LS9S9\SZE`S>S5\ӅS?-T>Z:D*=5THMSDE;mTOR6 UQUR-US=UT4g$ X?ՈhTc _! qYݞϣ*iKk^]HCr{#0j@3#$E"nm*Jև ʓcJB^XBY:ʭS$pW#z.p߀ T:'>II9LK9}t-S[kY~Bb<q̰R*V@; s ;tbY1:+02oyjYZ6J>+Ъ-!ZP2ȟ- d% ˌ40AJ;1=QaPiڤbM $AAUڲ( dRC{S2$.}ѻMַ}\˽\\\\\ ]]We gÍ؉X]!Ʌ3 3 }%Vl~H+ⷠq$HH/ 052ֆ.\eH1u <4-}[քtyɧ 9rI%Wס%VZNu%&[%]Z_]Ey+B˳;tz.0{擵<9#p(S(.L()`”:UEYȔLL*:٩$"W<*(͡z+m2@ͽb`ݼ7;@Ȋ 9t_>jZ٠Zrܲ+⭤+ϨE- Q.22.bBGBZDb9BP;8YU @PMPsbuZѹ 20um5 4e;{u*+\,2*Ma֐dA=:F8 BeMV.QQdf5Vr Qu5uWd mE[/ į][Ww_^f b>N KJ%: fZ)R[ [\@m?@Lx ? mr>g2*+wydzN`z?O~(!xОd2_G]nzzzzzzG-^|A6 %\m tfӈ&Mk^cφh!\yLG-ڥ/,yXuj͸`jNz^+A@o/p5FBX9` J`('HKI'hB.LzU =mXwZ!ZK 2X걶]fCrhWĘsZ,u3/+~xMKٳ6 RVU2i$>ku ;C|*A폴i3oq:DHQ,ԊH3`8xI m O"I%&$-=1ݫhx yjHVsһ~BfaduC ik<2Qp 9c)EAݸc pRӝ$BAꡎU|ʨN}*T*թRV*Vխr^*X*ֱE%:IBQ UV(7+c&U)R\Đ`:Vƕ%.lEA2H5BXhVU +UҗMR2c+mi Њ#Wb=Azz2^֦,e"kTWJυ!5SUծ~L1 FS5V<횯rrNU?%J~MYz`GFW8jQ[=d.Wpp(aI@pEB $K9\x|M bzJryi^CP\ic55WfDhflgٮF4Lc=  f7 RVB[bD+ f"o(׼6m#)Fp\:Q~3<:$D99PËOoNF vrCՓ-!|-'(O"~ GPqq9 |A@nw1,o/gzOb9W. =DO򝟘t8H0  L  كP8iXyEiAt!!Bd`<@Q0qȆՄ YS iyѐFaE\DRa R!Ja HO|^-sA 3E8$ICDq@V%e&-egxmR@)R*R+FHY$&%+A4Q1C!e}ٙ7}+fxDxq)كD/A"(Yfl"%hum[?MIdY`frZ]%#5fJZ&"&L@lJ,RhZЃc篭dc:=u:c8AgPc]l2Y%\s.%ڃQdՉX*IGU" UdHdg(֨(樎(h鄤vHN'YIPQHeg`Sub(`OTR2PJeII˿K[۲\Amm ‘ę z;@]dru]e(zIHMM @HnU]q D8% * hJᩖY煂gy>ȥ( 癩IRewq/YJ D! 0+]?zeWnJ^UrFgqk& 0OiR iDD_IX&h.lgVOBn Ґ:`EXEr ݡ@ g煞'|QsI2~QYMaujEIR X"%X"vnnrJþe|؆ Θ"r2/*b&p'-}znҡD{HJ"+ܒF-cFY~ga, N@UcC<Ӂz>c?v=8GQ.Tl1GHTZ(2a$ Em't /&./6>/FoUYR)JP8 QR hH) dڬ(NPt}Hd :0nЩ+$aLptq4U @F<Ϊ19pB(0TMcޣ>p'urŽp痺., pOm 2*oNWHr0g9x&"-bp>JqhBJ[c;$ .? t/97?9GO97`l/533J3qy3șo+- 9i&..Lk,sS<* 2aȡǹ~R,KzKWz"("1km#'R&bU$q-#/GA8(i-vfR螳"޺q䧯[yh.&pW9W_;פfQd@|gT.EC?{;4@m{ŷ;{$_;7{[@H/<'4|bZhy4*o ͋$16: +:sH@;treemacs-3.2/screenshots/git-commit-diff.png000066400000000000000000000145421476710620300212220ustar00rootroot00000000000000PNG  IHDR"D%d8E)IDATxgduʱsn"+H`Ӳh!m_I``ßd6LHXJ&Ek˥6tNչRw?TwOlݞ~u=u=sx<?B<[~ſ>MwqЩT!DpOaX&MSPq:88<ŜI *xB3q?i;֋e3a8)%m19[f (B6Cpx !:rE ^FG-~QJBQ$%gz5s1|p%uJ@Jg!!lIG {o6UQ3!(EQpc!\?Јi=^nRh3Y!̪;>bnnF f}} s[is%nI.1>Jb;89Vl)1Lθ_>j r*CC/^Cu{U$Էqlri& g E3Ŗ2  *6CQ$*0.9x} pW2dJMV\~Im@q'z 5KVf(:Z` *&DGñBsh@S7B-&Y,K G*?BӠbF=^m25:U,Am.$l{)&gfp*nssܜv#K/1w}~Ȼc"Z{h*" 7H+6.^?! &˫7y5E p3Dg GS$nqs=qHLFni(2wftvwA&3@2h;}pk QYJ\&|昇ե q}>zڂ.ܺF$hK}Ie4ŢttwlIi+K1>2%D[(TTnfF[83|nWV(l%XMD/ZǦd4Buyz/0V6Q|Dﰜ42, (.x ?dKĸ|.*%f3m꤯*[?a`Clze@F%02f,Ne(M8s)@U$ws+PscwpñBtRiD{D 0j,'0E儜v+t2 3?.z: Y,_?! oE_rn4Qzd|fYpudBܜp3Nuxzt{$?s rEΔeXTJL}ȇ DxQj$'I5bRoc VbqPDE D+1;8X!z<ū7 =ه, %ˍ7E\Q85FV~Re$e=s y:ʀ4R$+(`KY&44n?:Z~NU$"3sD_+|B:;ͭ VuܸtFHcNp9VXK = =&xM!@-R=RʔI&ee[dnwAʃ/E3f:^씬;6Ky>zr[OIPB, Kxhlcs~T 4Ͽ,spx@jdj1h_؋I)Qu])1EJd]î'U$'Ԗ`iweVG) I~]\Hckx$*y o̚ 9F]kL$71<Ӂ<{+Lm!|LJ!eJU aDtJB#=kf{%t?f"kg 8 Qfs{v%"RB$K2Qͷo1EfCr988Di@Ev}4|Ͱ;zE4;ax'TBRZW(>BjwIv?$wpp8;8;fNDǎ#D'ΓщCW5rN讃é"[;_0従Bv AQQu`iQ54ib>O}O-O]3!ge1zH)%!o{zb(7z0'o1kDQ.|/]K!h\j'QN|p=<5B`/"H-Jh2LW1V+ y*2-@: A.vҙ<,IOOvC^\*,s ,@ٞq%Tg$?N__;M]˲B7YXvڛ ,duS3d e%͜Q)cy5&@Zk޵_=HЃtwcP̮1?Nx\q]mGɖa|M%davlU64}=?HgifwfX.j1:ڊ+ԝqfFBCJ23>U6hgPUbtklܝf:2N>fZU6#*TDť+X Z ~b-AܪzxT>uSh6N-v(Vʥˁ U8>prY l +*qęׇN- ^(a*nB蒵+wsj"t q903Ĩ:=f[TvB0="<ćFN2>=MgEPEVcq> V8>)bfrmc[6mcYM5R$ECpz8躶˚*'@PnF`b~~l@~3fѼ'j>Z<I)|QSǨ}‡w"H,C᧵Oy#Y/Ҹ@2 w&YO@ } w0RQ}ߩVU<{xa].ShVrJf`X nƱ>L&S ?WѮԮB$+t wc-e(='Je632U=L<D6^5<MW\a("ZjsQ.6MRy*g(!Z=7 mP.؆Du1`Z$2UpGOR{C#U"!d}JuQ W8IL ,[6~t;;Gx|}Qۮ?,won"쓈>zdxdBTX|$.y< GY30cMݟlg["LXV),+pp@kZ46dVgE^"?`s;SXu .roN"-Ԯ^9k0mrvoic z7 $s-V,6.D g }_ ltr=Og@TEXX{IE~1OITjfiˇ`\`e_p.ѭ<#B/DJ7_aOm\Iu~md5Ei-6>zN/i" nã 3>]>K UB%PvN82NuU@[3,NmhL_?Wa(Ͽ 3~Kߥ4rTLt!0{Om^'es&ɛô_'^X[dT8ʺ amPl&c;bl3t5MP 4!yH[䊆v!=PrGʙ!V10'0032022230040341262142062253242260544034145464492:64>9:4695::9;U+J"9B7+F>,Q26A2:D4>J:6B:3J88D99D99E::F;>@>9A>>A<1Q8G;UU7DR" F!ŭ$C1 ݒL6P4*]'WvQfw/푈{y@^G"{1XH$be"I x"A/ԧQTeIԨL2(M~4@&$/4<7p0mکꪬ"ua FyjR\TH"@ewbB"D 1@y"(20;)ZKL!f!&x *B @ɾ *> *&mBRiŻ&Z/D*cƉe+qb(H@.h̚Hܳ|Cr1iX dlH6PoO"|;E 4*A7DN;'B7jB.Jު|w\xAFNG"dૻH$zš %+ ȠKP3H1⾭̲(S 2H;pn~& LjdVf!I nR 2\Bj*0Ld'G*ZJ0)X"AEe'_RO>ilb΋=#Q_evL̇!C(X xtԡ1|=MPf"k0?bTITS_2Q@'5UDePVՠ~=@xLMuQOEUhE]eVD]yaqjİ$C׺fd@#nH㘀ͬf7Kp'^ρܳ"B)rv"AE !4V" sԊZ(K|?H*B8F(l4I*D{ C@RA78xGLuy d1HaHeʌ @"̒O`O y7n`,E\ ј(C9&rE&Eӏ@A,:1IXCUţOl0p&T" I/A6 XzI W`_&0EXiƴ&h뤁$P,3kZz0CBpnq?رH!<<D6R\$MLX# m}Y" [Q2>n$)x q2 ƕp).1ڒIMd`a;Wۨ%`9CxK8MzJJ"e 5Hk ~A<ձDuӿ99%8܂-nƆؕAb_V93wi!ɚy!pW1CC((D<,@7q8A*]i#wD]Ac&=s,|{p>yILq?d"uFnC&Y=acx>ES81ؽwJ/4*hOC?aMB^2`T,M3Q'],1v 'u/ rIB~1>C F/h2Dc4Q/dU*AV$LUGy դ60&k7lNa*J[dFZD{QH{AgerOGO7zL—+,3pr)jcq?Q 1EF)y38qOzF&qOCR,(oq`{pbpU&h\U7QHA(Dq8XQzGdQ-d6}hO}Ogb&'oE[g-12\؍zbC!XꨎoS(;{$X؂$U[1}e(ay I8p'Q-j,1ɍh f ْ029497dC`J,Y*@9DYF79 GBt606@SI!pZpp8aBcYW)\ohn9u$yq{Y st ;iP9!auF~Q~`q3ah@gp@t ~$7ᙠI)ٖ)i)g@ ]i pq@iIHК1B(@P^Tzo++v&,dB\AI 4Y"@Е)Ԁ yְ!y9yu I6}!YSy~:`u` xv"Цry+)Zyw0z%ʩ੭s) ֠$ :Aj14•\I /Zc@dy"@ƚ7J (kwpQ{J B*麮 {q839Ab9G|[T)[$z@o ۡ ֠v@ {up窪994` Ǫ!!ziŪzptڲ1 #[d2'k8+A;tj ,*O o N1<%.dLY1~06mi/z䴋 3N "n ]r>᫛]/v@M`^D%㸠ȼ݀z]݄Ն`=Q#DƇ|b];ꨘt:i dbZ zlyǪ$Jux/yU/du_AH 70j 6`YcY Q#7T~Ȉ XA$ 48mdAO [LI?kD(磟=UdK1eΌ M9uOA%ZQI.eSQNZRnڵ<e) "" !Hh> hO7^@قw 84$ s5rLdVퟳi^ftS4i;Aѣ wO6+cf|iR5k׿uonЕO^uٵջW3P9o!?6 sH Ƅ{ʐqÂBܦhb?I rᾂShA&HɅ7p?R.@ahg*QANhT#,E-+{ӠY`UI%EMC=3t>UV"ɍUvX+X}oZGW54UÊ Zpke`ƪ jVEJ}[wL񔧛pUH!ro)8AClpPx]&:$Nm0papݍ6%cp]d#pznהee%o^jKb #w|g01,Lozq6odc{bw8蝋q"!q8璁,`Y40Ia߰ .^uZ^(GWSrB\yғ 2P$iP4`l8G-w.$6.j[gAEq94k ùN2A=hzїR)H""@zp}&iSټvn VέKehG[ӎ6Q\lBS.qeka/[l(ќ:ʂmAzj)h[BMϒ,]Bl6ټmjYKdQn}o0W8A.5@"M[T vi 9;~$66qoH$"xr3{ã޸tzխ~_ [o cB'Tov`U.ZxhS )F6&!|nFHvcu;}:pCԐ;$E?DW+/yU^~ziH|$0iK oš%-V_ F+{>IA~?ǧZ>!I_}_)JȮrK--‘40p:pL<ձ$@@#P 4@DH8@= i A뽃8AH\QK 2$&,A 9[#3>5B#XBmB ,xc*453t7t:?=C>C? '4t1ĝ@ĥ DP4A1!H FĚpę?DODP oER R\EVlEҀW@E[Β[E^E4qwadmEcLFe\FflR:aF:YtBFkFmFnFh GqbAF/3"tl2YGwGySWG|G}t%pk /PUMP /@MHMЄ/@T[Fj4` Aɏ H\I$IPɐ+ |DHD ɏɠI+y\6l ms (((MHd!H//Є/!/Ȃp?JQȕ!Z+Bk00\ 004#[A$#pL d4L4f_bGͣ@'K3L̃X|LʴL\dJ,kr Ȃ\ \N|K8x)'8*֨̈́ #siτ \| mTQ K=IN<>%0B IUEJDUT\-T6uS8M8PF վy5pX8ܪVji MV֙B\ XV꩒BYXӄsSƌSZmT[uJ֩@֡_EUXWU\ӕ MbmI8=UMH5mPUXZE[XJO<{ gQmr˴l ?H%-QJ&݄RxH$Kx'- EM?ѱ܄(dRe,NZ? Ӄx3M!~QJ`ܚKmL`@YB<O [d] -N>d4RMPBِ*GleNFryk|i%b6fz-f, GRr!y-@RHKfeL.=.g=d[BX\%^&Sdxd\PPOFJ]yqgF._a !N(P|TH1&H)/pK+fQaNnR,2!с%c36.HS9g`WAj7\H7UY{ee 8HȫHWuPXڽLV9.=E`jеFՆTa`5=& nSЃ6X}3"슓9k&ۤm k$UFj`kkl֞j:kͫЖ/MІ>nxhyy h ifb-bڑvn.'x!2~-RVKR3a< LV~Q^LNj ٲסϭ]k`v4m>kowɟ N˼kpp7 =>.l9ldec'6!س> "OM옐 wqo H<pNqg`\dq(?崖T*ݙX^rL\@n=VK(!(bXvMTJMUxb|.&%Κts<۞7 7t+ДN83xNz5d\.gI dCL^pdv^dp\LXNږdZ^FFpiuZVv gxvv]v^Rvڽ=]muBv# C|Z:x@;{χ ^iw(:\8'WTXWq[?Y_WGvՆxpXGsYu=Mjgu8s7>wh5MYUi$iՄ݄E\ZuZ%-!@??H(hzoQ-Z)D;T77^h\\9pN߽]ǵr=>K Km5I\˵Wuɂ^K.U`^LVyȽm?OdLܿg7I|A|KM]<|§Ȼ-;2ؾ=P!޷EAU9#= g&P$hң<|[eT`(tFaq{{|wLί`<.Pȷ:HX[F@ňha| Rh"ƌ7r#Ȑ"G,i$ʔ*G:%̘1dL *M^`hڔT "/(ISқ94|JIћODSgCLzٔ˟?"JK "l%&U9G&})tO9,pQFB e,!g 3gdmK-E[ָaz ^DE9vC{nח-*x[͙'.;wt-;5 yvXg-Б @ ." A=r~-Mx--\4`s! jؐHd q! ŸBh.Pf͌wx"7vQiq!F#qƝ&| fn 0]TFkFY.5$F'}' :-tL4EClBE% W Zz)IaE+pgd} &p$ PFk_+R +jݩk_e,:,((j-HrGA&oI..Bd{//FlR-\/f0v,aK< 0k1]!<t|ޢ2-21<35ۼ73=3A =4|\4ҫ1bM;4QK=5GzG͂s# C!q5\d`V4ej70)˱twIY i"T+8i07nG.ad<4b qy">u4EHGn}"A gJ=_5 ܾp|)BV }чbLxֺ[Ļ!N8K>;N?3pPS!1B!Q= "]z_ # '8UG~>%IC>0 ɑrJA9"3H q "6Cp/%2i I&5hHFD!eXb}lz{H6_scC#t/DUk!iɎlNBE.ţH YH$#128H"Q+TCq ]:2c%Ɍ2w$WQ1/3B b2gJizcx42M'@y  E-AG3묌ܒ)iM:'yIM"2bK.s(IwI$NU|(Dw6?(R_DmvE!dՂDġs C"Б v5 R%5jizCM5dKAЁAtzvxjzAH!D>"x65r aU Db>{*%"kV{wVϝu5Dp*5A{%dk}*Sv  h4J r--#sHuMD/>jfsĀzQ ܔPv >xB&ZYCmsYQzut]Y1#+2\\~C 078D>[>P =`[$>(xCC8HԸPI"Dm h|2䇌6F$-c@nȺ}oAi)| 9@-[p!PSAD0Y prwOrsKL6*уw^N\I=C߬Ou>3ow/jXS֬grb5); ,D`4iEV00q,6]%{^;v 58xyASmwGψ z;b]M;x؍d]J"! BS<U=.wß\T=}}w^Az:'?$ o?Y?FCġإAdcA @a *aAJ  cFb _.VD $b\`c,P`ШFuC@XGȅԭXCYE,HC ,@H:@ŔA耧xY!`a]aC!V!TbLƁ)"H< h>u: %bYBYs4􁉛DgPu(LbT%eS.ߧ(ZNqP-#3> ݟK䟂4D A~!!9XA 57|A!*`c_ )eclcZ8Ad%$,dD tYAXO%:>aq]FUXG"$dJU%L)SPU>HVEt.|LVHKRKCQ`U$`-SFTO=ؕQ$YRX%\UWUii䂜 fgD^ǸteViE.V$.kܕI+r $A/@樤 hvAܨb.JgficBH\$LbQV4o<#4JH-$  Ncd(֠C@!qB!H H AבA!Lؕ$B r*'s:[:u6Dr.gs>A R" *F[Cތ Vɑ5БQC®\H̛$ȅEȉHB(I艑ᇂHt(>`eYC^ -9.FaĐ쥜$I6"jƓ rX?"܍%FqD ~qi`@SferplZEzPӓvYFAhF(8Do'*g!缝G,CpB"XtC_Guv*@ģ@Px 2K4ʮ%܃\ cJ,F D@+G,V4j]R* 4H gDn#RjY !kk8ͭ^럠a^>$FN!j)حV~lzc|lNClɎH%z z'E+rJ6_ƀuk.d MR_ .-6JΚ2PA!dN*b ƫ2 *稢?'arEnc-l-ޭl,r a=.&:D.`tb|l>a+je`mu.@ `!ץ(F P"Rn "~PѮE..o5n(jJ Fo/V^/ R fP/@o`(C2@ 11Ƹ2|2  [ $߾q?ZO0(>o  4xaB 6tbĆ$V/ΰ0"_;ƀ\,\1**B#LjL0M=cCAb CDx#w>Ԓ#B&Uggp&gzžg!#!2ߤ5ynTU \-lj 5c TƀCAb?p#gi4p w=x dACDB-CQCe g'+Æ5ę@@+b   qA !^FMW@4 /l( 0>A d4&-bu [|&Pqe}MڄD5BA"]bX3$)1Y^{{ń$ls\#u,Tl"])=AQ"`$2Qjl VRJL}DcF@"[ޚ?$ 7 8l (Y \ `u<،>$HPЛ8"JZA 08Q+J dҶE8 %64n-%UT?ښG/!h)"x)K5j1A6bPОAJ )KǝZIjKcŒ 0)2kEXjm jXöD([:p"H8p Zf9Ys9$.@B!| $+Jr"8=4r D,cx4 B .Q[T}+XW /Pfw[=/p/Z%V."m] YoxV| !TaTȔZ{AwrVصowaPK'}A{߶W!4 7c<F[c߸#D Amʰp†!lH˹~P]g"ȭ.VBD{U""ȌB2>gW_x3+J lMip@ dYt[/.4/`4 lѐ7X/q`#v $ND@a "7ށFD "]lcPf_ C\w!d`s A1t. 3Ӎzn, '3D(]$ɐYb^-aa|'ށA)ǁD` )dL JPױA44 d T@%Q+ rX BLA@oQ!r@"7@HT(' 0\BA($O7 "W٘ Q6,@`T*Y{(Yh&R(!W(2"'r(B&)*)%-+++**+B+-R-6M \.R. "-E,#.!R!de'FHXzE{Xh"2b2#XzҮE=ZE[Jną\!F`,N  0R69KxL)| ÜJ"h6'B$0Fc8c87f~bedH~fd5kF1vˬS&F&Wifi R!³!j"xE=)M=ͳ=Qol:"&m E`n4&o2 #Cvฒ᠂B Ck|ʪ"4!u`GvOlv^'vf(9x 1"y)(&V#S ?BHI͊͊eB}n!t." Ă~CTu&/D2B 2FN("MkmM@φpHtV.y((5Q(Iv3 ivI(Z蕶7K7#I7TNQTH$Q n bf@ ꨔ7C5R[镊TeBɕXHXVglfI,TO-N☒ di隲irAAa^K#$!Xb iԞ_:" rj *$ ү:/f2J-DbBOJC }hʦpjpn#;B-CjYfZ6HlV K(VjC6CS gFJ{haj/ɭWT0iy6Ezjfp He! w  $, BʈA_T5/B}UpE/O T\K7~¶ VF ·Kk (LTa PA v!B(XouK2HͶӚ>/ov׺Z(Ieiv,ZԑW$ym7lrohRlZb !h  "mqNwIBiGzWxg/EȌ,l,m,7g,˶Ls pԬ]!uRM0ϴVqWM[ XxѪgXpQ/k0-x(|~x༇b~eҪ8MSli8SJ!v~ mMx bSHw)Ij#pz7E `}MWts bݮ2Vc-@^ PFؑLI7T5(JRYKYT)^z xy9XCyaHwrY7Wzn~. Ġ~ "׎pl3sS[7W1p2.NvN'J'nnPD@Z!2J ШyEW r)!YS1o5O5Z~nJyS/_Z@ϿFZ1Z !kM׀w/s HO#βP⵺D{B]1]obՏ&9cN'p0;ϠEA~Pw[0+pCG=C!j1LY50!`LHW=kz:٩&X|mPP P  M] BTA:)ȒT$pcU0(XTYO qFA|Z"q'q+.1!iCQrg YQEy QiȧpXw u17q_py]H){ 8K<}߁Q WoC!~4!w̜qS!"-8O-qzq |# R$b͇!Ģ]S8%"/5;@+G$ ֏'$(m'i'32qcJr*OH.W[D_]g֏]cw{}.2)sׇ؋8T(^29SrSDՠ A۳]+r%%AEGܷ_",=%"Z5-T깞z ߝ ]!=hj<_`@4\;Y-R.!!4%,N&dȠdo'6\&\N 88' B&8^ں!HIj ,t)µl8~^zo'L'v;(ݹل`n^?8Q8x)H_dI } _7_- ykvny(2 Q9_g+=_ ;:EZTim B[oѰ[j__=aƋJoj#)u}_Osa_? ˿1!ӟnmy@*B <0… :|1ĉ+Z1ƍ;z2ȑ$Kxʕ,[p2̙4;9$ECA:xLِG;F @e<2]xXЦּj ^TM6i*W_PZV@`k@Eͼy<i0l 9ɔ+[9͜;yś?"jHIta H<6x,ىA2 iA<_sU7:Sv(!IŋM_j.p/p^7CS%(Lzx@>N" F!i$C "]NHa^an8h푈{C$R*%$&P`Pn !N,tŽr YQWu E>JfdBMbt$CIZ$CUF$@SFteM$/ <78$Xa9&n grΩ20фb4 # fVTH"gHX  BG =I1T!դ)2wT ԥ!i*U":i~*kS D)B/*&^l&:*>eӊЖVrrYiB&mPH4;lƦm_D.*yZ&^ n S&lZ ɛ"кAڞn]3_;kE0[ֹ;T+2#d^ 6_~xO'ĞۡZm][BW䩢`xf!kBm 䱥PX${u =*⩒:k<ͱ1ߞyCZW?";Tv&r#+<{wE t!@ (p4 I&kG3~،O f/ EsCT!P >jeD Pؔ."$QOhFk\θ:aT{u\_'ϐP@"D+^R[J0 YHŽ/ bAU/^ >l X>,JsH]R-qL/RbUzR&%6RZѹ2ƴh%Y OwC ;mQ{Y|C WZ\TR'1jyjʫFJ5-Wg*R_*WTIq5z5BAI =!(smc/&Ӈ@a?.KeSx?Z$fIMlЄd X:J;*TIkۊ#W/< CHR*$iWz,KَwAD\jS^PҲ./ W6' ^Hz 60ǺwJMkZk 8"\]$Y,]~jvj@2d gx,ȬfO0@:AF| FVo2B.>ơM 7H[f'@6lٶ(r4q5.+ . %XBZr]U`{˴3 7~ Y`9 k(T*T$f` f=.T磾ҦgR?G)ЫZ.Hl ;*):.l>njiLc.cBdBHR5dm"*!D(mLFHIE[ Je9(=)rb{۸ᷧ*Đ@ oYܡxB ٿde}CjoM2=섗u~w釼viem[bs}"@ޮZC yWAy)uO ʗ!-9r'$gv8(Xe Hq;0D ل/fG͘${Tt g(x)ART)drpYqmۿj9wRoi7k(]宁D”c,p9ܥއK]s9EM]!)H=jSjgsѷs}"`SMT.S} #1gjL,S~2C3'. M0|p{40&lrx9;H5L @dOFm_xYq3  |4I4M#T4d0h1B@3q0](E!d1Q@3+h Vanyaay0Q!hX)KQ&%hщqxWaa"5<(6yF  AB!0qk )B-BB.0ȸ0P M0d э" k8{ 0x AҘXH17dHr'!w3QX=)#I!ChYB苝0 8y$@CkTNtdNq Yq~PbHwa0Di)L.d &Hɂa9y+&x! 2Z%)CR't"&rn "q /Ay]IՑeib!KCQ&c9Ym9697~k֙ 1?ɛ雿 WSFfc-emb"Fb-2!6bgr< CPIu~G EB{'&i %6ɟ1ჟ VciÀ )>k6xav)$>6HEY0!bʡ"J&& ciMn!j=? A Z)x  b yH؅kݤw|ww}wY&kP'4~ {0CcZln 'gY*uwwyB`j AppЖ!p :jꩠ**Z*꫿Z#@ mxO!8}MTH&5q{C3"hHUmؔ 4"Pvx:N w9*)/AWEOyA ` u-@@i@t *1)gp&*([H  A)D5-aqq +>k #[ MO[[ f?d 8)а4AܘP{O< ""$b"("pht+>[ivi:`|+0;40~&+Kkk+ aP+K FX MY6JӵeQ(( e$1A:a j c 4@ dH@ J 꼤;pz c` *"p琪ʷ4PpԀ {ְ";&kJ jB +5K۾APp 1ۼܩ!! 1:cP[Jk +\kK{8ŽK,u0{+S9.@ФLY7dabˬm6%7(q.p"+tLKz``  7l` :k|pz,-y{iPBu vLKgqy*upQȁ<"`Ȉlz̫,t@L l ,ʍ<||ȕ̱lǀ̺˾\, a˸ܯ|w0u kɻ ʄʮͱL͎K̒,Ď{;̶L L мCb5 ʤY mfY>мZQNҏ |*f'x'|'. CVdrd+z!"~D /0z DH>Ǧ. ݫf-ad ꦊ+̛~t}^ǝ>Ƙ~ͮ.Gn'n \" H윾=w>N (&zN25\5`3DeSHnPtnn"P({ж$ j!K|l\O" @yݱmzP, i@[̽O(Ogȸ.7q/ "Χ|I?"Oy` up"QYnus*/]:t.C;c@(DW7z7z a!'?>LZ+F[lj\րpby/z`Lulí_ | n?/@LOƏz00_K!B@+pݻgMO \BAXCh |~RH%MDRJ-]SL5męSN=}'zEj& ~>ULSle:ƤMWy5[L>#yI&ڴuśW^} 8P O1eKe|\wHɑ[V9o|A4~4gaZj֭][2MZt~@#v0jx,fYɇw0;Kw͟G^#t2Jo7oF-ĉIY"`-xc)n2P:p= 'B /0C 7ζ[(o:ɍ!|RQbEZFt*B2H!$H#T N;>>N2t"iqh2wv$cw!Qt(;FSFڳu"G[TQoA6$TN:s. K3 tBIRL4q*V[o5W]w=N\~);g 5NFy8YCH#ppnuaD!oTǐ8"' g?Qq`~E?Tq8sAW]vhj]#_}%I\ouEY cC{h! k,^:h&<1~1;a=TƔ!!nx 8֚kÛloGR@bMvq0IE#cu~oTC=4{A[mj 7|@䦻$:jV\xC@ӅDV_=Z28? 鞊D3CAv~xiB}J~yzi|^-?|'ȣ 2駕)V ,?FS5̃v© oS!Ep)`Ro4ǃcұA8A $ZH?C|n:2C"C$ CHD!0 ЗGb  "E%TbHJV?M he0)fp,2$ g C`iU`FNTO  v+}UU:!dPB#OFzCBB@ kfԎaE=lXh|%$] b \.2Ь` ( el 4Kóq(#Fַnp,C}QB 1JZC.EB'a/bWA wDb^ ݀]{GRE2=a#lQ:D If魪 &~#@Efwd 1n%H! B5p LH8ݒ1MtpX! Ì3G8$d2=#;>Cl$/+-;!X| gFs6&pbϰd9e$8#?5ɥ}GFxtLjx'xט|5_Pi: H\&@fuIR`H b$sKDZ`Gu;?Mec%lǤ;C4}fHw" tAѲh<:DA ?ܒ(m﹇Ӷ'L)*<&K.d 0=+Ի* +H 46t7t`&h&`Þ >@At&1Bĉ?tHI NN;DP$R4SԐM:ET4QZ[P XE`l !cDdIR$Hh6Q͏0+R+1K8X@j+`O=jh":s:,96}S24rӿ:?}(br佑s||`(7};|7 8H*+zZ+jpS8Ge\բ`bc`gkmᖓ f%vXØˉy{ɗ}ᰐl{QVD!/-vAN*g> W{Rc]t!0rבR1 21CAىȓئXOpOz021+-' C2+˓M\7; O<@L#Ҏ*ٜA2-=PU]کՕIgc 4HɹYiQ-X[l)1[1h!*H}ԑ+YMYMF@pxxYش_ D6$(6b8X8Ls0OA1Ʉ9p;0]2|@7-WEɗAa 0FÎh|XLk-PlӶme]쥕I83aͱܗr 9ߘ"q Bj   )sQ *%* "\4\t/?pMhؐ880+˔ , TE ;;0 nϐ蹟SO*baK\ᾫp;ʇspI޳]cC)b#Z?j֐QF% F /R%K$g6cR2UBc 5/}]@N 1v F6};e+;c2 ]'a*p#CT8SP&]ų{T*Jexk#2 ڝ=ԔZ:Y(筻= eX*kZ* -B۰+ z4_ʩ*L)by8*iIɛ91)gSuBFhdKx_*EgH I^=׋=bj\d S:>>@0ZiwҁN?\HB>Ai\0ˇU)ݠ} 3D&c-Om3 sjSij@FNBlF&⊒2 .r֖02H@/R?`Iy"ZүByp|M콁.bd8PH@/lE ?;@x8  .  ֋v@ @YIeNL &:nhxZFA !T0j>lxZ|3u[X)pfx"TA0N{Xnf 6s3bJ؇9{X <=+[PK t&H0I5Ec4GH3nX>QqO4y@x/y>5O4 V<\{wHJ4L#!'rM5K۵%q "p?r'50J QC&AޗXkt7s8C}(f88~L ۋ_{ 2@C,-qdH8H :cnF)  xF O I BXuIwW(3 #My@0e[0uXa'v@ ))\?`/gh ,.B&âtvbx7IBKI&{7 I@zIύz{ x`x'1N)p'7oyw!Z;,$(N\̕xI6\HML·] w'}|~o'ݐLw ׏7G|gELoWWgw~o ۤcd͑>=N8'\NutwN}ꧢ'k΂  X)a'd(*2T $Bs A'{LjA=ja"4Pa3(rdD:Hiȅ^ Y2 F hM`ƃ RQ"E dʈ4|sC]F{єcԘRH/cꙑ+ͫw/߾~,x0†#Nx1ƎC,yrJ``άy3Ξ?ov"'zN}-N@-{6ڶoέ{IDD'JTHMDʙE( YӻR Ks ѳ{>u/Njܽ7K|2Dp^MWBa5H=i!BU2m tlƁ ..A5-!؞} ^=#SDJHleN  2xb*X$ Uc7^y"(wS>Z%z!(2)v$vᙧ{٧e(fvZ3֏,ӉRrکaH\rW$\etv&I'U)pSGp䦜u"G#U!XHح=c# BqᎻlDV;ֵzP΢t-"k.+c+Bgۮ #WrN^[|l(Z+ܲ/3v(IGiPZQ\GOG;X,Ic|tZ -}!udB\oڂW ptx|F>F=F cVXf"D>y嗧^,脐`SՇ4]ށ >4S_ci3ҠE!F'?2pgqxbiU`VHMS68#qA"eVԸHa%"8d;{[SA YJq#VXb+&`fo'9u|Py3Vuj( bks$rdE̋ #Xu1n"b$ ܛ#h;1y8Ҡ}y7 K3J+ fF4"gSIJЀ)Ma|?8{As6ҔhښrP\u2\=5Y-WXn#MC:l=1[5];A42 RMjJB.)1v#@)pfs:&79N䥗 DhZBcJ}zk,;=B4(E+*3>F23[ģ }섥+Dmif?vcqhMsSEi㈄;"18 uCvq*T-ܴ߸Ka*S:֑ET+m)T34VYdO׊Kj%$L U bDXD'RkaPp:PBpVXuAf7g?WpZb!\8q|N`mDxs|!A[x,2E\w.DžnucХt\(j\> x4\г.1% .a`-54[XV0+l cx/f,#GINX¤i<LJN!xG$z8!V]noğ4XIq\ڬ GdGd՜ַ2<ކ3aBԉ;1 Kl3yQ2Xq?d|PrYAj0?d !^arAL#!_<89sJN\x+͵ IMe\nv3{ o/eGvƬKi ճ>>,}MR@c'aQO~`P8Я>(3??n>O}3?E=70My%O<fP^_)VL]%v#MnT`(xxF F > `nF0(0\W՞]eTIQQ^) ݙAǍtE:Dž"H NRNA!"b"*"2b#ΏH!-a0At7}m'Î}C)`_'*X}`hb.N8CM)*<|;ăVy"("4TQ"A#.f̘f c+X6n% ::c;;c< $~OpX3(!qbgٌĥQaAX2K;,XAR5 $;U>>% i@WrJeѨ#`S<K]: _vd[FWSbt ŀ\T%S"fb*bROT"l&8IY =&bXjfrm_A5J"$f"MS\]H91aet3 |!EaeaNzDnA Do6lb1vrgwzc8c%$aufcgg{g  rA~Hd įACVH_xP^N_uȂN@'`$'IXN(R ||爒h(_cnh_&jefgXg_Y) Zct\]HXSQtv/5\ES A>EZ St1aZA|vGŻSQB,xtWLavW…V *wcJxZ¢. zhJ(_pqr _d]D0Ɂ€(Z ~wyT }Ƀ5셯BNz9ID \pęLD+긒k>fDA:DNjk``&(@GpYE7ED4T,ĵ\CD1ĂhJ(B0lHxhE`BD@|LK dBpL~hAi+(l؁4šm mD 0A8j0 кtט*āVv2A +L\>(\,l AhgNȰް6LN,[Oe1>ܜHt2n:.c 8*'tBHu'<@a$<ݨ$P!PK)JQeHXte(ҫ2Sz5U^p.H.vro:b0Te> d.z/|.`x(9V"R) *~ާƍq,~Butļ BeSP1=R6 wx .q M5A 9Qu60D,h p b$j40ʰd_|"b+cEDM4eYXHD^ܗtiK-0B. Ֆ Vh1W2Vv~!ԖC4uYdWBl>w!XHHLqCr$KD԰@1Lc_Z-H@Hxmx]^OE B%lЦZJ%B1E!IWDl@|[ ȸ5!֛!E/WG}r::ӌ aX, ,=>C@>E(Lu_#{-ݞ]Dn`]539e';ctFktj#pXdA$@J`4JL'A!^ʀ:ZߞtOwmQ#uR/; 9J!-!A=H,a'X5_l5_MDWFkYEO#[I5*\u]pTGi2HTT'7 DBDCN V(ccX1B;6$:|VAG"U}t4gCUhXhs\|v;YRec<;C)cmvglTmvpvnC#$6:X@dGZZwwxw1A'|XI ԉY";\;0qb-8J U; g\C:BP٢8|8XtY?8 lWGW8|˷\SjCt|_uA'#7DwD菋xaS:0ܔ74wwCyK%Uʉ={73#DD CƑs=߀?J3uWw9*1Bk<kvd><`$4@cQ4#,9A<_uD78;@GDoN{W!79 NhEsj:KfF]%X[CDay:7E;wA)\t3ʓDsvDhH2c>CK}H\_ Y> mzsdz@|V}g!'gpA~^^AA FMȾS쭮-g v^`нa@1`Aɧ!B:l4hн31fԸcGA9dI'QTeK/aƔ9Db>-׏>z͚-:`b:Hۚ8߾p3H .YfcykE2"ƏH7}gq֍Df5SW/_"6}u=uIZvQg85vm۷B%Z4i˘5Wf21h"A&$L[݃Xp9\ω8{]}|w|.=YA'@<o \ B ;{ H|&i/ ! EƠ13Oa({>I\DŽA ;!$p{0āCΫI9;S=?g NgEtf & q|ˠ"iqTSNsq"CMjD.DXcw-XUH`r֊$YkUI7 oڱ˅PUXRwyvLE5UUgR[>m6g-v O7.]MAHD)D 8d3F=&.G=&F68F;aP&DH/d3mxBP@jCsQ;na kA,̉8 t>ښ |l1jGMޯ|z i=mhQ:mA>#!θ Z~:8y#d0!:؃Hh Ac2Ld+RNF!w&!6* $怒~'&B8o32B}lh"8@/!Ё$ sx;p΅되D%.Mt0F'dG;G%$>(s;iA! qؠG+8HFp/ ٙGB(y@.Dܱ>"I"gwA$H$[!z 9B(G1@I 9G ($#ii >&]ِ;,e:&\G_R5Mmnfa,2QFoNd4񇂸 jL"KntR^FA`J(A{>В()6g`QapC,A0t?%KȠGw.lQ(}hF#Rå0ЃVy35 AN RvNUUUS bQ}Qe=;A:{A!蒈9󵬟 х$x= C9C.bF>C lBYvDzel01A{">PDE-jXE} p i(zN d<xOe⺸ϝv;n!8-C;ߩFwa{` ,cLXtC&ab PuFdfԗ챟}o.=) Ai*7Er՗o=Cu >D|!` I|# 㨭!z@kJno#  ~ 005p 8v'rbB n`[eZaSSjhp<AX`VxUAD !Ea]Cy|pZ,7$ʾ a @ @"R0Pm%'%9p0ʉB':Q$4+!9%.12`I /e"29$4\0CBqE1S$1QB؉0: V@&NC=Mr #fiCTDEAٱuCPcAo b*2# !5 ! 2B,!ocB42! ) eA3"p Uc!J#E`&&az f#&HK"8rsn BFܣV`(&rf**2OsoN!q*p:[ 0r a,ܒ*ځ,r*7Z; R-% B- Gbyyf' a~>hˌ ć#g"TjO3+]5a36C" %Q@ũQ@"Bp6a18 1bdq8^N:,g,xx%1}38  &'ŒШ֨;J; ``b3 LbD.e3AtAs7(O"GR_`~() $S’D 4VeuVOPE'e`f"vY$#ԦvFh&"4q*r&Gp&nnӤgSirReX( "(w7YOhf'WuO(zr"Oy%|4%OƓ%@X22gz,y!0ye+# ܇=H >Hb(F8#D"L#!$uzfOL$#oNC,I!.$$==!k#(w?Uv&TjNf 2i8 *7(@ZE-y:&<z+t Y[\`P!#Sj[E {C Vp"+xurZNܡb* z\r \b{k{ 11c bH= BbH4ׯKJi¦DR5(/ Z꺤F*#8Jc{%q q1,G2'?I1SNQ/T1#[cq'B51 8\-]9xmD $OYT1|;&R-խ >ȵݴ_kT#~+#N $f * <脌;2s^uܳͽ|3Btmɿ b, U 2!W !"'2a"###{2}!15uGIR3|RJC ?yH\+Ե: _ $f# 4_ؑ=l~턈e "l–L>֬ڬɞ,a"cI_]@#2Q&HG82--7#s.y@D " r/e-Ͳ:A12^,EA/7s 01 1%@c)$X\~"@ApaCeeN=$z؛%B|J~Mބm蹭ݾm-EcܜEMy} hS's3w!z30<8S93:өs 4r3^큓^7Gu;A<1%!?/$3[BiiNX.\Y$X$2$D]t TB~!.T| CG9DϢIDQTEYTF]!| Ǝn1 O#k1[,0[}e u)̰0pA) wIR$C (ʻ bX"b0A,_{$$YH!{E~$bbR.\ǸWw`kXBPCv_5v[g#6JzMr]mi[q9.#xM4 `8;etK!IM#E"/f )0ȣn3Js bM;1C 'Qs; ".{]|r{8uoi?3 boc!ԱH#-@G@ x(D*')dqGY{ -$$eFk')HUr)'f)V'<⨜GBaD)OJIR2.T'OB)Ќ4 X':`6T %Dl ;bnH&X #("N-`Hde , >ϸmɣR!ģ&"n2`dxHBRTiKZzҔ MAV$!V h8զqIVr('TLc ԓa%)L{ 0-xE8JֲHrC6OtS6g82ai ZZ)tuB[-FJQBE(Š;XhXU!%ECd>`İr*)!Dy\[!OYZvUIj+>CWI-JXE%!}mkWU0-2A\K73r',55y4W KDG |a ZcQZmPh.%(;ғ!bS@,e(JvIlb``K)l}:-VrOZf]ܭ"&dx Fc@'Ƀd7#@vAG K~n]K | 4܇vGHTSwO8 yp?j|j:y額oP`.t.:⡎HxtߤvҔJbfUQfmRj!qAnpQkQ)r]#&D!sY7gQCB藁f0fe w%^A4? ?A?Aב*'>>V=js?9>/@1RBHjKR(2$bd5+r*b)])q+l؆Gp'vBnVr%ȤHtJJaLK LCaII"Gr0H4gxITsDHJb"F$0aALwAmn؋"[2txX%z]OTWuT*q1x~#8:?aos'؍(er!8g%wh,Ɉs/\]eš"6D [nYZZ8\϶E4%Zqn"9$YQnh,qacvc@cOd0ߠ>a8bx=<u'C锃CŠ&Z\y~HF-I'rpk;lf-> )w>j(ki@H6u k>ЖDi'i:Ixgd3|ir(hn(`gi}(An!&>]unTҕٚ+ $ fi~VWsBGu;r=A1=1GJ=Qs>Y"ihh$X2-r-"\e2.`t.bٙqE.15q1e/BwvW StM"avv!_o}[ׄ鑓Ǒ1|y''@!ڢ՝ȷ v Ҏ3?4CS4G4eN7vqNzQjXY3ixQW7S}#b:dZ"'"X"#3"nq#lX)_p9=c4&EC;E +E'VQ; < Pq`Ky;f1 etOUS3/GW::!RB%wHl%hVu!4:Tg=dxCpFctRPq \'qJRvFuaPitEyD.6g.:F^F FZES (QiPivĪ>{rB%Ub'[zR3i('QNNvND4ԱUOP`ʀ t[4zU'OOPtaPg5OG pEkTJ4X0 ]ח&KŅ;T[q1,r,Ȣ,K{uuW)z| mV#kaX vsY7{k QX5U) aPm\3ɏ7\\V{[.33C36ӵ^_#i{mKo}`F}VI DPBo)1w Kr5I6U[889mGw~fy&gSghz.#.ƾ hvۺ iKh'(si{,;Dap LLY֛<,8/C3Tn>w o>k:C`3;[(Tp ׿X<3gkq.wD]z)[:}wMo^e!>HJm8<%x(ACA.8C~`8xJL<=Ʌ'N{NHHi _]nD@= OZ>=2oa"Rx!\o񙱻Ԙ rPQ}%44ŴJ4ш"XxpJzڂ$ d6-|84 G$qlpڻ)sw| I-܃--wHC92)pޚ]͆#ĸ指/ŌXR6xf#"@9u޸Q~Ź~# XS8Cl2AR"lUEB 4BsF4{!|gQt1o@!yH^W~]e\ەy yw[H] Ko6ɎqrBX>6])0k"o1Z_Kyf4.`Dwك;j5Ψ*tY*YX(y먇j+J^^(ix,2yѻbPɓέLQa9f/Ɏc.c=j7K{[ֵ>uomd [F84/M_ a9.9 fhy&jq vi>.{C" ulhwqSn&ij=H5خ؇Ns4()qNu٢g㾭[PL2gɐ+PYGbB9Q?Ǜ=_d!9Qq^M")-扁m>W't)s$ed :8UqݵQry Iϝ;UgBJYAoYwaUc`Y P:z??C)g'|Gȡ 1,J . oA1q|k~>G(j*{5\ea=a {YD܈8?"n>(@E1HGDD7Dp,$"ŞD~|hdҥ.`Taͅ8i3O8)#6蠠ʔ*=&b6u@eMy.ZKaŎ%[Yiծe[qΥ[]yoZb:-܌}-׬%1.Lre.R2fg3D{DI4DĐ"ʤF(/4#(P5ywpQ(%1eΏTl)3ɩ2CT\sկg{ϧ_ X4Ss`ĐTP-J5?($D"8@ZPhA+ePDHi<;fHA*< d(e#SASFu\pJ*J,rK.Tff` dA/ۤH"ÏCPcD/9Bᢢ?9D@FE0( =TFU1b90:C b4@%# TSNݴV\suW^{V0ि3 U/8u %9~ ΢dze[pw\rwA&İd]v`6˕7fsgCFy_x?&h &d  WWf煮3xc;F@ 1`@wb:·cyfkyO>wefeY&hVzi ?xpOfbh4:kkLL>0]ŶrDOAvE#J݊DjnDx/ƚQu!N,)\!7Q\_,1nXDp Gs:+'sC]#3ie`ŔJkxh n$xT4)m꫷~(2c z~Ʌ7ȓH?<?*To[v$ d0jo3@XBn,Y j܃g`ш5aA(BD {R#8;n@ %0G \bP!>X!hÍ!=\ Va!A.AA-M cc݈ mQb>تvÈfG!j[D_@R= a8DiRAp`E:/!7#%.!=8d %YfYK,_`Fx,0P)L%ԥ-i fj\zIVr!0%EQQ$[FNp1a'1b"Œ|@A6CvcÝuGU7 Be(FL`2]"VTSFH%AQR4"7Zeʕ"p*Ta(ՂP!)(#("C>dEZiole- 8{S{;#h$rKh0XLΑ,E AY25C"ZL 7NImGNꑎb A]b.kjh%p&p&[P_Հ1(Л,9bA,M|ONٙ5XHLe59̥±અNG 3r8WkÙ/0KkzW:׫VAR5NvmOF7ɟ1 /n j8Aؽ8/ض>80\ w h +x*Z'"-Z0"0Z1ঝU'5V-y&y"fa,1Qqya@r?)IҴHG`"R{R"pPY PA&c' q#2"L1dLQ9 DJ5FRGrH:7^PV6r"0tʻĈZj䌰X䖈 "mePnfg)a陟 d2fAzXeyL 4(1LS)r)31q،J+c;-Au˨g2>C|H9eafFmNb+~?TOC|f^]kc2-݊BCJ8gXqF'A eh%]/? / U0{ 19[h=@_T3˯1k,xՀNE#aFd(g|Աc0z{{di~-!929Rd2&5?ATS5VCq^URpb@A`cf3> ?ԷY<829ܦ?tx:rOUG`d A YTHt8/mDoVٞIYdd2 ;T=DI ߐ5ʻH>M`ZX,KXzщ p6lF{Nq̚uI<(v?$N! g $ DP,L8 #T<=9;,3J>+d> zBlTnlĢ\D^q:8t2 fxx qdd0t'"B R۷a06XQѶ5r쎨xvdm0{GTCؑB4ˈHLUbw0E#XQ @/ BH7nQƾ\;viNj2͂Z p@fr\ne 廄 / yLq^#Vpgqf}TNDSN/\Of*M+ LwXȗ WAx̓N_iy)2v-N 34Hk33>ɱ3g>&+gC+g Έz~^K;L[WXqzyv'3hwR.DR@{.,Ui]&f&%Ssx)FdyE ﶈ87 P7EHj뮿b#}]9*)Ej̓E=z..;/i2'=j0bQ>at!B-";i)"<teCdLd# ɵZlF'G9S :+. iC"g5ZC+c|Y~!# ^'nAσC-Q2`,U +a !N`7Xأ{hdb (X``AC>MAfSAI|M2ALh"A$6ajo징ak2#`|Fn\'0۶M a<0]቙ϷdPw둓<&4 LB`yZ%>(.|dT,VJ?F8+A0Mw0ks$ xHdoI +F (wlqrc#h\C>cqZ7ˇv/9'D'ڎ!"[R9H9B2 A$KkD@C/CmnyL|a%w^to ttXFIdZS83gZ#{ε^JGP(?TPY|E_a!5"X [mϟ*e0U: VDZFlj= F!X'|'t' h6 셄NP\`MiTJbiDԉ@ E2 F=au&@lD!OD|LȈPya,LG A.aGSY A| (G &M{aE@;x@TEpXѧ!b\A!'l x "JD LE@dEAG圯u: ciŘC PA)t5MIAA`{iDTGЄ" ٤}qbb:8h0G\E(#Nq6F@Nc lijqCMD cZ#EMB.$CfE[a'[LtBIbC.H% #APHAM J@1 D CgAf tx°\/R}@79 ͸朐;OJuDOZK<e<GD$Ra Me|OX%v<֐8p8%T 'pMX!CWUF6c>&H@֨[ ] AflKt EGP9BVQ&HH&k^kJyAJR*DD]pJG|YC@D툨̃jCD:BlY}jtIVserGafnX X肅ؔ4M稯DL2Ž3&NHcB(_/4RDC>=FńU؅e؆iψXNښNcYĕ0 HdQ+) pP%8RtS~1Te[%VVD0fN5X;.ʩ˹-7rZfk>0S\Қ˥85ZH5avR`%j b,uZeIa_6f/"2be6#^7Cvf6i=dsb+E6E,iǶl϶I&eFeZJf:cӶo6pU:gvfNTgW`v}vlw#O_Kr+ssugwLpA(xfGxvp7{SEh[0 ('(G@R7]S6U>|l%]X&%!i,(m8-Ȁw57wrSyGxJ>S{8EJ(ts"ZY nVrbFiL߂ԄI5J.kI42x}ÍnHxyw8G@)BU\P)^LpvwCx!]٬i>@i)G)Q `MoprqyzYzrn)ÃK7kW3"Vf$IMHyy :dk|1פԳPyz޺G '{(h9GDL*B9ZiX-EM0ħ ڲ*٩jjݪG* k6ePpڎx{n֕0G;w:SXA0q%>TF0< {jӌp;f:hāR+qpO{DqG;9ڼ—w{A/;oBKгJJmpHbd(ūq+?y>K2ĕvD[@LVr5OD$BPSĽ- *1/[Sק}G&y:W7,(}}d<^|.pI@ɒ.Ȳ˔ ~}ݚ~hܶkZKaϽB!\9pDz 3~I FOؾ.~W?pC-HVcܷ~ 綊ܢm _ĚyGqC []^zET΃qyD6w1$cA$B@lFcNb6Z:B :;(?8؃i+.-~(nmuܑ}GهfYԆ F^oֈNDB,DK0x'8"y2DF?ր*cqС !>P$J+/t0/`M8N"Sw˾Dr2nHO>,(+@-Cp@g(F}?!EֈĝxԘ7,uSSINKPEr2UUPB! n >  N4#%ާ,aowG-q"ClDGH|aqig9cJwRG*EYv9eVfsi@ :drY0b_285;$#ě1$y ژid%ZhFzFXC#u dO !HlڪajW% "|h>D 6ٸ|閼uߝ})d⛡CS1<1,xܫj!Dn>w{w1j'埿}4Җ9$Rs=Ҩ1e|HNQ@c7 t@~!G؁fSRŞ%&1eX42}zG< %!jL!Ā5TD'>2&'N'5/P\" ETȋaXF3B2`,F7 =E:y~``&!HG>$) b!_0J^ ȍ"UEX RVrWEB(`K ŗa~T2 MD'8Gd eQ\?E7q3{ [` nBo/B$\@:B J Xơ* g.L^ [dF)c?Dy+l'1lDϫƖ,$C"΃xgtT9JG䫉@|ġtVEHYT´m Si#^JYRhjgg l'&\JBQ̑8+MC%'pH]%RZ>>#`–qxX`C`Fڑc.:C>  t 'Ӯ!lH%WBTפΞTǾKP.HaxêVyɼ?6ܘ nOC IAdo)Oݫ"0 ql]! -{ǏS ~1 ~P +Y2/*ze(UHsIb;#:$IKZIH̳}T(y k!D@SXl. Bԛ5A`^  Z#̶PuRȗf ֆЌaӤDE.$' -x?>GLHq$y4{v[wco[^{T֎: &x~KTzHkۋ 4%%/Vqj[ 8цƵ"($^"G%-ESֶxЭok\(\|^etşE^N]%)$$&_ 3P'cxV4nLc4vȒlhͲ,TX"ddĬ ȌpJ%bǬr<&+.i۬ZʭG$Ήmnm&6R@ Pn>HLi8PpXh6 qvErrƤ0'4gj:fVtZGt^t&u1t^k%c©6+ +BjJbU " hJQZ Mlm $FJSn e[ZQҤNbCi%P,Zl{|@||)'w$$a$LF]/Ң!Vq6&!B=t?A"B `0J(( )(2.(ng)8;#-3<Rc5ZC aQ#< 9D%N&&o/ R+HIIIdBJEKT^6LMD-eN$DB.˅.1.Mgȡ,XkЧ ڒ`+!#2+2!af Bb>Zpơcz r4T_&fffnox y`5Ws\j'U ڡfm6pF1/9:3wxĔy#z2S<Ǔ@ƉnFC 靄LɞGM?c pbb@ A@&.AIKhȊ=4>W ^ʭ#vbc;m [bLK"G C$"M'1IN'ȍ(.aLf,Wl c;(@ O.P qWc,d^P˸ W׶EK f "5V,G6T" $lbk ƙ4)43>#&ҺVDDoخ\ dLQ otq0~VaG/Lj&ٲr/wG< rkJ*l1T1mz BtVޮqnnbW NB؎- N6"#h,*l/ f `%&$szĪF Jf"Pn>{@Ү($%NhN6. ng}BpIDW) "wiv2Eb2l 2{T:^%Vfn%?%//-ݏ|PDY,ZPLoe\ą\*\ J%]1e T`VC x_i5&,ЁXH3aS0z  c#Ah 8k4K԰hqސqD-Gp7=g9]KgqTu\i q_R U%tGbx3ИЈ5Q}6_Eglˈ2q|){d^ 0QK%xƒ,-we>k" cn]QFqɨ>ȁ hu"#d`k062ZٞVh93,d!QP.5UhN$f$dNsrN8$ SQwƹ2t&*(1HU_ #+Y(/3α%8O +[O$FzhZ]OhpoZ%z@.ڥrz¬E9ڭŒıx<Xv WPˢg0ptdP'e7Zί,䊖WZ7&{*-qUXv& $noq# Ά !usǤ;Fjzq3麮GѱuM"!${~ i׮ q Yw/!w~;2S2r`g`1i@(?ی_"A PA: `IyX"€lA $B Ѐ39 w4Z>࠸׫A荁XUB(gB&|@̥M(=T{ú $ 09y%BxE  ](3F.s%bM'I&5y-7[sz36q k3R"7s8t܁lsw'7 jYVFXήDQeOQOZf $u(|$'* DuH.%"aTBe^bաUUd_8* 69䀵>a@닀wI%nUüBKGZ^Og4$V`l$RO'5a:;3;'#CXYynuAvd$:[[K~e*B^} ^9J!%o_UV`a ^E<_݉5H^!opJBv$s$_=g=fA… :|1ĉ+Z1ƍ#ɡD$ZX&Q$:t̙46qe&%3=R@)U"uNr]Cȼä .D NB.2W!P)T*#DDK(0Bqċ6edz_duW"Ž-{!!or8C90ϱċ?<̛;=ԫRNÖ$8lX0LZ?>3}YC&QL- d4P߼#.&TSRI!#> : ̓a NUUZ *UႬ&`ذ@jD_.`Cܭn묵6$mY֥nY2ɐ5p oKo LaIKu~XS%B~$Bkd708GЪUeDVi["@,k2^5mkk͸.;pDL)4s?"y4CD u&A :cSś qBZX8-2& CǂCsqzw~M#xM4 xlQ KYM|b|~LLqS C~XZ;߬7 q( jD:3 ޳":GN!qxNb3qo4|( ]+X(F_*VDs1XcJGLl <+r~axSBPi4DCP [4k r1?p 1 # %H MNqԟ:27Cj;7-mESDž)xH2O uD-j߰D LH'P0RH N ӽËCR9KBdtfi$ +rlռ8!5PC`0  v :2†Cijv,Tz샱pcd <1P=mkvo]8-tb%-ie, H"q Ut;2x4b |3-yϋ=]qڌ&wO@Hx9UHwFQBKEd] K8LDBq\r9DnQ|@RI"v5cTp31r!a!h8 D"0i,#.7!~c)NJ!w0h0X!U^1M<C߁cXJvXӠVCV}m̓ԦA!>}ţؚtVȮ{kQB gXZI*)hznM &Ȥ)fzPhא,q9l,'7 n$/$.DV>σg^Բ,$b '=6?Qnr<2BN.G'%)LB"Xh,\lowP>12Tx2 5!"pesAQ)P+v+NB/ 1MH1azv{A%{X#!vikY qfq'b`_::4@ǓQFlK#|h\ iQpnDTIeDfcdw;";MDCds*F!Kv]@&HDBWDKMDJEHbdFt+HgXoхp>a{ʘv q(3I5YXH}ZLB Յ/'4-)C/1iUiWnqq YYiJ)9$P 0ٌd q)sYء0CaAIii'x'{'cy 1Ii//0~IyIY|C88\ !)IfBB+B雿 k(KdPPɜHP Pq"w q _ Op Ā p9G@ i %pR za "i2  Au񑱕 s!L 1& iTJUw OPٛ.p~9Qq7P9D) ǐǐ i 0 ::dC:9FJN\O0P1^ 4S C_%P*TNZ`O]]5]j #H!at*UXqYY@9#p#|`1J `ݩA*'`J Zb/  ڪcJk:Ux*jTZaZ{*'Z2ћ}BuW 1.('!'p7@Z 멮" AĞ 1ٮĠ(꯫Jگ$j !/`>  `/б$ +I[  y \' k. 210PɥQ/{0 3E1۱#iI:&˵ zq%(+gA )~A6˥L+%[f+a f et-feA*\Uwx\\\\ضJujzj97>I~pjC)qȠuy 0ŀqSw 0A5 [ <:‹۞"pK+ֻ[K bS1bڲm5%򫥛PZ  0Y Q_IGk+ <"PI]c@Y 7VQcb3u0PA)"P繝 v.q|:b^`cW:S3Q2.׭4wƅ)NuYs:r/s3wu5'tҔvM6Nfb1rgz"u~rfEH3 0F6)&W0 qz&ɣ^ŢT0'/1S673Z7#4wwi|) ezw,x8~T8 'y1R _yнyio}Wyze 㨕s'({@p0IA۩ Ի * wAJ5OJ軝O -[g⻘+ 6 9PP ;;0@J|؎'?S@a:۱=\_N),,ĨCN3Z o!B@lfGecHH .KC MTRJ-]SL5męSN=}TPL:-[F~v uTKLTYP!Áɂ`&\Ut">&P^hGvװcV`cla @N{ 3RD211o "v R!"CvSmʒsAŏ ̃,o‰LѧVμ̝wN=^6BU0*k>|A@`dTN >/4 $@TPоRp?T 7P4D!(j k>H? Q vP%,rB?'P -J%Ųj(oqg>DpwAD"s?j$M%PCE4QEeQG N>Yf*өC2wtHSKyKDTE‡,QIR"!G[Mv_IeV _+'VQM=ԭj5WlYXT Uic؁]⽉^tq U^צ'q*{m 5"Д b/8c7(ĠTfZfanh5&І$89,\5މ$Hށ QǏ5ctTR8yg#?\= fiΫ#ELjniu"ZgD[ 0h0A]b:QFDixvqigKRxaQ={'M8t?E^yRG^EBXSޭ'8K߰1av`C&Td`|*AK MHBЅ/a "1(͠GtYB xT A0[ D&6щOb8E*LD'e0%3dbeU$JѸF6эoc8G&vR|21-|5ҐDd"HF6v'plc!=G|؀6@#';IBU"JP҄=d"{c;-[9W$f09@L%L10$59A`C ~8D!0.|tG:Ӊ.QtH:)s$ ,W҃3YG!Ҡkb|тӟ;=qkLLgF- `TBz:c/AqKtC9J47iNuL`Bx ;4eDaA8Ad!*&Xr ,yKh|zYzVzT tk?g|<I\"=4"%IbXd?I*:ꤳ?KĊTҖִ1a/jԘ"cR+$4U >|YYAw2JьҒ֠A)РUSI>[]vv$)o|C*I.B[ӠU.]&=̚q9b`=%.]Zޭ%5[1@BA,] ԰K* a D0eE0/KQ~W%>qe;d"!a$;Ot͔ALB7&Ep4(9}i,M5;@%- ]A/!Kk5aSrIVgHFDn3BRk,VԸuL YFH+JK3VusgYtIpjԁԨk,AAH4K* k< $cð^0.3Xt5Zc'{Fwh?,9zl' \,{)n|Q:~c@l7q;D}"z>w7юĻftRa <@Zf{ `ce|p"p^rL_)7=KK!%Y|pĎJjXx|>@/zy!h'1jݥ˵zҕDWx FR%ϱDZ֦8 H} s|x9[ˇ;00SD[س@c)@c9G`ݻ gpA%$ ,> @ @N;?]JB TB"< )z; |ۿ/04ʻˡr A Pv8D[Q-`q?P)c $#::83K8=K1/@sxB=J9jX98+>\$j:`EWN\F| 댅c鳁X+8L[:202)4FcFУV F*F1oǝ-脒ɝݹYyc*,8y ؋R $pBCCದ2C $*Ә+RK'zR?5fSBJ;';FӃ: h=P|…4btcRh33+934kHʥ<,IXZ;!(%2HS3;(7I+A0H$JǺd–t˄c˗4n#H:H(˳ dT 24Ky7uD-jƛ" T3"y̶ "2̂L` 'ɽ= JzJ4S,1Ɇͺ'=c5āpN;k/k@5Jj@PLQ(k 3%T0ąN<߼J($:BMެ\ ,P͑0O/ 5#31ELrQpxXG&L蔒:,tPQdSFh!I-AT qQ>QwhEȣ9Rq K(Qy6,}-uqM1,|l QǎI@CEԺ3 x"!PYYFFwX@tH8U؃yLvu0h ) L}MTOUQGt`hQP aG_N>(c @ҷ8(g5UQMH;u 0,LћDyW!=j5QM4WH!02! w=؄yØ݂pePXEX rx@]uXS6)YxXكx(EUretu6KTn#z5ڣEEFEw"~;0y0ZCvhrXXi,xcǫdM5YU[C@ YmY$Fo0pұ[äEUe\IL C-p t H!'۠rU] AN-ׅd^JɅZNY:QoI%VIWk喁ȕhRgLs^dݽ}iYUI _ R1[E>= E  Aaaј1\ eݡ)Iq)CXXVR}PH`vt(jA^݊6\b)!^P%M;bH⠘6wq7LH_U5 ua7zʓʼnj&?ȦmJnk ҋ%S)r)ثBcn dŅ Bk@0(ޜp)f0`1 k#1nmgr i,$6 67Ƥ!}ZCGi<@ q r**DK`[.433ih3Kϖ+i* Z:b4w T,c f u. n ln^ ֬J3{v}>,z|f#h22pHXy $ ­D- `1B"$ 5 1P%˰dk0S1bI-[bAFAb,>b3\J1vil`bΦBmo^llltFզn&jn0\mvnٶvNmҶFfZmͦ%& 0#5Ӭ{|{:3b&pƴ,Ң<2>)w8OLˉ+2,X2LY[1Jn^s 7A_jNs6,7P"7dϵ7V;W; 5b1o5lA&r`tts1-06qtKr s3(r f3&N$6bhN3P[ Vg'$IJ/v_Pm2@7'𤻇CD%BN3:Kk:[v[;cw3H E)B0~0x_4Aj>|$̇ocfgD **wlgse8ȇ.\HH' :|0"E 'bL;cQѡ k1hL>!YȐG"aJ0 D8Eܹs1P4a`x€!ӨE*5j/AxrmzDgAt%6LD e۫@Ih6aݴNѩk7ߪfqc\W,E]^LrIJgTċ:].y2%CG޾.|8Ə#O|9ΟC.}:#d0i"FL&/FT/~<'2$ܓ6DP;GH9a! =z84Pd(! ! A2 9X"d8Qj갂a55 +P 00e#iٕ0`ATaY&0b@$cJm%FBCRoV 9b-\;N%&0RzDƑda1B<"$0RbۀtMhC 2Ĥ=%tDfZڪ vt'p"2𪯿yǥG"~Q!Hf=Hqϋ GuXs.B. V=!5_K,K;/[|:p.iAzpp/b`w= -)(Xa-p"YYʂ,דNˍ6)ŕqZј~:t:I_9N<@\[e{ ?4~aE2to/gPCFR^c曟J=͐'2+竳NܰǥY8t}>@ QÛC+k-k[qE+ м5ht),+BM --4/tI]p?+eK$B@K\nv̯7+ \A.&iLˎKj9(GL@%Hi10@; b.lBe]2 C6)HY{A4HZ#JZ/1b#9L|BtG ]rM'9 j` "юv_"O*?#AS2DE0oCBե(^}Xrլnլh:"Q>ꘪBT >ūC.zϑ6,a k02']Ja*yA j #FkA$8,iS=cO085U! x.P8A׸"o} \`~h`;\>PEjZS~ueRʨo@ &C<0D(B>"pe":ժN<. o}WP()xa+l cXbP,ɔJàlC2C;p!q`a,cf"zv Cn3q7GNr\&5!PxqB1K[-ahp\?r}s!OrR`1!H #A BN .C0JXa!HҖ;!MLOʅN#.)t(MR;ԩ&IL :׺r6|+uuudyφEL\+o瑐o{"6#ClCw1*F2G>Ȳ8XdB" p879HNLAƐőC(+>vȍl9Cqp"`4QF^'xyE'=9Cᶿf Y@BD.uC@2">nEٳ!cn5̣{E[}6Hޱ榃)D" XSs|H ⽐(Ơ^b !?1^k81А4C (FY c5X ]u#HX:aϻu(~e Ƿ^VrϦ鱟4;j:|t|Uʕե߱SA?Oؒ~20!]K hE]B{A&1[B\C٥=]VhD I"扢hVtB(y8-&XB1J 4\6Ydp@"{8%EYs*G2 }'xrgEWFxbg(H]ف%UEf[X&΃b~FQę݀~(Vݛ^Qؗr)6]9JM`Rj0%XKA5C4R6qۍnӎEzGGuGDLq8L&Z`$(E*U9\*V+ ڣA(dNC*N@-iCrcB>R T5iETCL-i]CR7X#6: P@A"A$C<6mԎע׮mۊ _"n0 B㌆jJjbNDA1rf@z1L!1x{$dBa$p"kM.uܜ&;;LBffr_;'if[-dT:oNP`/eQF%m&$*9MYfjE/}З:Io.`XxoxP.dEG G}}m̚oP0}(EHrhp_p pB|xdGwȀ SyM0ڃї}1~ 3q^GvlGw|GGS D @[xqgd1hJ /q1?yIݱq r4q!3#Cr$Kr`&ԇ 1E$;#'yEĕV{.r2)*pCUC%2Ce8B@y У&>te\tM9lruVYiW!RV7FY!ldG:!|pHD2 KP2$jDP2K2 C|z1$NaK `/%U:_xzZ2~R(I҅(eUYP$EDDB,2"!E,#LR%l'R)@ I}iek` f8/2ґG!5މ$Hށ QǏ5P'&=Ɓ4ls> СnwƉ7E=e$#mQVo,TtdT#TTQq#;St={ʇȃI&2VӞƒ0`ww! JP0)5RwCyD$q "矁Z衉.裑j&8zf಄ Jq:fPsq"CPlD GQv4kuKm#iFXcBG= oQԅ`8a xtlo<#ǝF餳 h<@ gp %9~ЊTLZo硏^饒ANz:-/-Ã$SH'*i=꓄'Bx9@4H=0oa2ǽ.yL2@MwDb j" -t aCN d0 %LL` !x쎘D%.MtŬP x> J1"F1e4c@ &mt^G=}$F&0 M` <?ЎӟL"QW$/HMn'256A b0 F5).x2$<fYDR,) J eD$at3ټX': 8kL+![HNp+Tg"vS('0I$Y{>ebJ>PJ `M *4p<7, a;/hG2*I Q$$dFN*!T_ aU ̈$k *DMfPQ.Md 1JP(M(,n3; KJVb~ɵ^m}1DeHB@!QĈe #Є0] y{UN]b z{ZG2G&DABjYU% ')k?B` PfҶτn{ex"(P2R*CT"Nb\wյu =IgA;>< pZeT|P5iA! aь7 EhK*7,D*VbH4? xٵ1a'` Ӣ/-áLP$Pp:ubA a^(>HfRHKa w5RTU"$`ex a-o]v?م8LW5P&ߦS+^ GL{A <'B`AO6w1bE0hDʄ dde@AD\|dA//ԥ6A,,U'vS7PEl[<{k'ibD;tw42C[:I g5ulff7 }oTL6vLd=9%;xAI'qOI\?w$ =`- ^P [](1nY&t\5^1kP:ÈO5"@N$Q#pq090qmBk7J<bJO;J/S(UM0syʴcd &l7<˥1辫]ؼO|a> Ð JSxbb O/tU-9eaa7) p8dP}KF_䜃#oEZr{uf &֧~dwٕ?wRq̃yxhK՘8| &O292*C#PgMH!x |`q$% BЍT̀|@0EЛ6iF44#3:#"11JDKKdĄL'DMMYZc10PP Ń ER+.OhqS::؆QeaYvNV.4qqIiB,-'TFzu\grp9oB%p&nFso.cmQpށp qnYb Q"rf漮!!!2*{ǻG|ȧ}D@}h~va`4a*Z"ݚ\(Aэ6``''} PA*"(g*((XH8ȃD2#\ @ti>#dna\"4 ŌNbL'bրU[Tb(2` (Gx'#H13E&xT*s1a 4!)Es4-rK"zH@(B*ĉ;i.# 7DA- P."j,Jo(C͖0b3) yD % ' sH|(s'< RA9I=JȊ(! *!>j0C lLdn&#Рc ʀBV$pMa/ hܡt ۼ m u`!6^Bl2%NAEN&\T(G23~ I$| 2 %*3yp`4M$ȍ(\#n r* #a Nb$vB,B"#NR(U\cZ9 r nXerCdbWlt)| Ln PSdL(SH3#zJIXuz 4yIuF%33WO"%t[5,Iɐ rNOKU`+!ʼn2JI`8* "N 2 T NVd6Fψ%~q\/#9` o@UGw%O&5V<(sdDx&(LV24X3BT z 'yRJH%|$[vhBN)"rN=C˽K`;)^m"D? &@ .Oth`]Be.J A Fۖ:6N(B=4L6ybq[6d[qM"2blKh9sbJɊ))i3p2<8-HⵄLB"j_6?HsV'  OnТ'OW V/BpspW)Kq RVH'7|IV=[}yvYq(sw~jL?L\#`WIUPM*$ <$2Qzgbo4/J9ub;cSp/̂O<O={z 4|MB驆t;Sfxf)ecfB[X" ;;-}$5I 4[]'$ u1R RROE`Dvc& 8S&(\R\Ea "A 1SjUFbE(F<̍cdFUrE) fIF<{d FqaCy;SIUDxUwZ`<'J`!ms1KTm> T,[eԠ[0d r/d&=Q oQFeXFf"nmp pj!oS^fDWܱmrA,eVe('f s)2e+3V6E $zKi2SH)38#Q=9ZhPP# 9$'u, w-`<$b 2@z[9ö"E LJ\aB.1VIpDG$%2,),xy*1dl7G̶G&(EOv"lbp$zZJ:ijv@,`(\$t" @yij3ۭ5=SMx̢a1TCsm׾܈t' .*Fsh8uOWZr4_[WVō~[%sr; h:.RX'&5,r$ŽWwrntf\"DR#L yfG&f;|@1N0{`;vOi@u5\F5vo z-/=/vX7<y}IϺŌjo8p#oOlvncV[.\B-Pǁ_%T*Zb&k2<ڡ\I[$FFxd)e!ϟ[S($@X ~DM 1Jp#\‹[0x[${gI|n awPycmבԥ֩ykh4+c?u}+-ݒZŊb0;I:ρ/0. 3/7=&)}d')Z3=A,z<Wv v@_!d2 ³P8W +ؼVx'&>[B Q3+c풂Sw"b}h6ɉpviz+\֚JL:((z^d߽:p&Hs13#$8ev3~n^8ӽq$.HqRPM;]1Od5%Qr1јqUg+yN{Q Qqyǟb?1JT)mv{6?4DGD@ے`tTfF q`&xt| 6_H%EI[1=K<`ӠSý2C$LgK}Lr3bv~ 2rciwj$IE &m&1 a"l 1q#Rwp3C7E*x0kƽk7ŋ}$h‹)$h˗0cʜI%5$"sL?S94N>\ʴS0Ryqn?]D4o5H.2 (λ5"byQ":{4I3:?qs!bU? y{!LJOE(U͚i6_ J4Y (׀. %Km"?vsQrB;HDD: “+56e^"˟OϿ( S226C=σ4ӌ%bx0K)pE.TM!qH"(&RGe$G&=.i8qP i8$d{K7S CNHtu G; JY~baf/C7O%Wx<{nPs!G0~N(lio~2m#_$s͆1+E/k/QKq*~,bpC!'*֙p_>q,&"}Q 8_/_}g$LQo'P4TV4k?)+N(4{DԹ)NE1;{IxS%HK֣0 o0A ȡPm@"Da8Ēt°"1&41I&/"H;8|2K⠈H_Hp:$(D<,C^$E!H!ǎChe&aX1FEqp(G:)m 9`6đoH @ ]IiJQqsfSMcRM%(؅-\BVKN@A̦6ͦ|``&!:2ħ8/~Nw"B*0l#ALHƥHR0o:dB\bx㐑H:FD%` MS-+|AJVҒZ$3I jc2c xټF8ȍLZ˥r%s Qr&H00E@!/:SaahMZ֞M"h'^g T|!>|]I0Lf1yRqU!Bmz#+^uL W,h9M`ɿ{B%H2i: qHxpXy$LIƄ-zV40=&2L~DaB$15 Y110q]{\W t EiJUt%d .2d)YpbAZԿk05O09JO"?A' t"Ͻ4W^cb"a2`kr(p׽Z~sO"W13mkcyD,[ORPE{ ȐDmHafudlvw3 gh$#99|38<0X/q6qy\>aւ\?f\9R*5,"F:""xHJV ˠdJC<u>*X@\C? 1}>>%3@g3>?88"t'j$H`=Z8?'+9(`#vPC0#^.0#K8; Nx'!F/'=].Zt<~=f\{|1!@#ש3u@m:,! 0M;6u6; ֜ GZN@jV=ZՌܜ⑤tX=]1B\؆]rlj"fqw8}7']xxG&#%z.=/ s7 o|CP$ $ o'&MI}qy&7A* E"Вz/ҿ<o: [M  ɠI͛9 ˼^\ JEW8ޮ k0P O:]VkL0 &bª#߮mMl |}ހ д{hN؏\|~^|'}x8}/y(=)$K$\< 0~6^@/w~`x|-15~R}7JI)Д#2q*fKq xZw hyqyPZUk}^J0p `TڻLް*Ya+]ʹ\^<߼ ^^pwG<.kS57x/x28z%j7p7$y `#C.?3^Ǟ2.9-Dy0/џa/> )@ĵ"8Qxp"Ye_M6& 8 UWY0QcXgi0a?fd YbEh%|x)`|%df7/>~~)?#@]|!V<lEgֈgϊ]ѶxEĨwcRZLW?2= ] dHH}!_ӨXبaf#U4&莹\? .qu%ُYR"`m!nk~0`YVY1C#"!%)_E%qSy\迓Bw f@Y!B@Z+˚#H`bd|C%NXE5X3F!EI)UdK1eΤYM9uOA%jK: xٰa2aXF2\iF:l{f7Hܽs4t WʺqVJ0 X%Y|%O\GpZ s0K b&]:ד.9LC{ * ٵ?>{DB:,|g|+2G(kDP]{J׳lnZD3gR,0rK+oؾfG4s3@T(d`B K"P &<mA 1C=cCAB>C?Jc@ҡ3BCP/ ,7,ʯ'J#ZIzIĈ>+G 3z/IlH$ K؜hȔR@sN&h &d >jÑ IHEG?!BD0,-:jj{\1.-i'^VY"[-BfG.jԄl NPH d#U((T :4=).bt|LjH@3@a,&\l=A*YʉG D!dcCj@rY P\e,{|jt_Cْa)6-,^&-r\y˰!2&/S`|w3Ml:3>RpOfbU4а0ԡEיNfSHddJsfM2S?eKs%+HLB$V7(.-GUCQЉO)D"HF"ʰIBldžXC (?6J7A^АM5u$CЬA 3SU^RI;DXv-abв|3kas>DbÂلB䳚 +,nm^aUam6Ѫ e@P$Td9Y$vmHg#[H'-sNwW^mn!Хmxu*AReo{݋`")HA A*I.%9G A$v$U#HŻp%0E&L _5y+?ljR^-"qc \JVp0M\۶829wx>lF)la׊"(]G㈸81Ŕ["nhZL c*!jAuۉ#n|AXtLeWыfOB)G .DFbHR0'dnE`&o=(]Kaϩx>.Dۚ`Q>tfG͸_h㮸􎈮ZVN&ՍM 9l7}r\$o}鱏JҘvc{}"4Z:֩nыXH^uiaAĿg:ݩa#ZDz-#.AI+ma=q{Y}>{;񝆗̺ߝ' T4!hk(zA \ptzA2L<,s#DB;6D8Cz0DBH"0lB kBB[X?ldDaCNtT\Q<?) ,S#<ŚAG|@b,b9B@jTa7 +0F@ 4Ƌ9 | 3#0GZsى/ۈ@Ǖ%㥈xG)hǍGyS;o Hl/&\@CrFPotxqXvhqx ȏ IwvFh$qxuloPxHɜ\I5ImnȯXBʞ c=AC dJJL&脥}gTN&D5P5Fwh8x5H@?p@ ˻K؃yTCHHq?EKlƫ ̞{BAM\MT 1ʃʮ4La KiFFFh8x2! wyMf9͉ OCCF9Hrع,w@FPmdO PPЙJMS@T ϰO = ,@HɊQH)P!=؃oع2N ?\QlўPR)R*,OXMpȉRϑLIx4%ʝ+m6m,,lx8$5mSLA[xeH8A8c 4H>xό9sҔFME PTԕUT+]UVmUo1th|ȕ\84STBOxa%VcюXw|x58H܃q@pˇ@a-Vһ4|ҔP p @݈,?(ґH[AAeHxD8 G@ $Փ`Xl DŽДXXWX YE&܇ͧ#uq`%IS6 L>PtFIxPH5VSmvxr@L !AC8^>@dXlOMƑhۜNpX`T {Y-\ýAL}@ك *RpKKKڔEu chTFUE}ȈȊȌȑHtZ5ITItHəIIoI@Uq|݌Ku3SIlHF>pFHtxwɆ( evp J$x%x_5_U__9l=\` @P \fHM܉hljSIB(1~U]F9u =u 5o@LtPLCS@C-̙vpXbl9M+,!LHLHmL;d,^ulDnE`NdO ^8 O _IIɏΙ=08[aVMkkh Th-5qF[GFu]%Q%Q3.L ]k{#ULPKɎFVFSI VˇPkvV^#ER>ml&&y mܦFn3Vy=V=`nnfh?A!CqF i 5 Ô,45xF-h2juH9S}FK:<>ӉιDnlF?eH o:,jS Gkjp?hWgHPjfq N7(kqCr!r"w@3:S:$[HkV ҕbx^UMWe=d%WfEgijV4Vo@~ٶ >E8V7McFx*68@!HHmFxhHN=mn{8sE:bsru[[2~tMtLbOdrLuio("u\M p^u XAP;5\?,oǾH}[YݝZYZ5ZUm=u4VHuq}ߥFtXyڪ%q/wmwUwzowߊ5?t+Dx >،Gx`oyHpcx8Wx0}f| p%pO|_|WP|ʯ|ˏ`X||M{p?([O}_)u}(u/P(og}}oMׇ}|@@TЄ'8IM}Є@HU~UIM/؄_'T8M}N @Ph D݅]*N Uu>^E6D„ 2l!Ĉ 5F"ƌ7r#Ȑ"G,i$ʔ*Wl%̘*i&NŋM%#K'ALzA&M?+I#]s>:ThC%1EP\qk0Dra+a)4IƎ!C/E!3N͜=>1D cnqd5زgӮm6ܺQ;Ά0AT^6EEϿ8?RT%vsP=9>Q'QLT NB7mQ&(%т1 =aD~dG J_y!!8"%)"-"18#5x#9#=#A 9$Ey$I*$M:$QJ9%UZy%Y>I]z%a9&ey&i&m&qb^up'y'}' :(z(*(:(J:)Zz)j)z))rz**:&u2*z+++ ;,Z*,:jv;-Z{-j-z>;.{...;/k/ <0|0 +0K& [|1k1s!t91Z)L>\Jf{x2< @}`o>~ҾFk&}Z<$:MnQ3B g鎑E.eڛ@# jv5 rIX@1cPOhղǥ8p@6 | ߝ 8 }bPDOt7VW` -P+rcR"ݼX "-1x"0va1aG9]*^1~cȸ <Q,;FNẉIoy@VAjlGS)11 X; 'Mhe^) %04qIqL.x / boʀ uPq4Uh8Xt{3֐< !{̩Mbtχ\ `Le(qw<{v[nǍD1 ]VgP9&t,j `ME>󢏜C?Z7ѣ_7. wD9YB;O)oͫ-.\12Pi\*5ԓyUͩ*r0*ֱ⌘8&e Ƀ * ?8 IUz 7Mdh@ʹᲗsC)V\-dY&b6ziJz0n@ `1nLtuts*j[ s" ;ݶ3bB{іM-;2@{[>dҊ'{@P+Oe24w)j|30;XY,c̬'2:&sz'Zŝu&0 TF:C/Y`ϔdSʦ}:>>ΔSFvQȥ.7:p;7n,9ֽ1rc'3*[ukI*wlzۛ&D+$[oVL=m&0wթL0$%S+}Lkx&ZCv~y(1U)=jzb|nx [¶]u dքtuCSXQG\1׼6#>!䞒Z4aΓ}̷OtV}㽻yWޞ<ߡ-|Zf1*i/Qک2%gG+(L% 4rs&Xdէi^vwaIKvǚN;Sυm[.ynqz*.ҋk~5vr#DGuQ=K/tkuoܓVp@D<ޣ?#@>@&B.d:A>d $CN$EVd':$DfHEvG~$aFp$H$Jh KK$LƤL$M֤M$NN$OO$NP%QQ%R&R.%S6S>%TFTN%UVU^%VfVn%WvW~%XX%YY%ZZ%[[%\ƥ\%]֥]%^^%__%``&aa&b&b.&c6c>&dFdN&eVe^&fffn&gvg~&hh&ii&jj&kk&lƦl&m֦m&nn&oo&pp'qq'r&r.'s6s>'tFtN'uVu^'vfvn'wF@!, _ H*\ȰÇ#JHŋ3J ű#G CIɓ(S Q˗0cʜIs"ˎ5sɳσ7?JѣBʴӧ3BJՍAjʕԮ`ÊuٳhIM˶[kʝ6.ݻx˷Խ~ & x4 #^Ɛ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+-)c1Ã?k;4\;;3O .Y;a-3w_|ߎk7m;*07 LO>Hm;k:& !>,bEH*\Ȱ€!, a H*\ȰÇ#JHŋ3J!`PCIɓ(S#ȕ0cʜI͍ ~ɳϟ@lУH*](LJJfDZZׯ`!^ͺhسhRmy@jʝ[t;nY +\Ő#˘örnϠrgШS8ďӪc˞1ٸsͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+kᆵroNҿO!S'\7L_u1G2Dy\#O,rcf-#2736Ds P82 E333-rF[{VcÏ!-,p JEG`P D8P BlpDZQCnX"H Eq#H.\&rh >{VcÏ!-,p 4g (P "pᬆ !JQŋV̘p#Ǐ z 9p$I&O\ɲ˗̛c"u}"P&M 82k4)̧ &T/J0Ъ=gٳJ׶׌k] }QxH^)ct6^82⼋n Dr!E>hZ5萦U6X[~낸՞qX>}۳;Fo8=iKyZ!rH LE/#|EwQwQ_g@q_oBTEe̓@q㼣O|3:Ň;SH8!6HO3C,µ  cd܈?C4N$1NdD9Γ)9"T=DTI!qDOK7=Q缳 .Q{Nac,R'mWy5 .z ;hfSC}.ʹ\,9e~8ЫܺPndk.\xU|@7y\yEN{'tze^=u #\Ż~ĊL  Da?+x2NR0T/Zn2`dxGq L<~G (0N2B e2 ^0H ldCD;H(;!a|wj.Ġȵ C("*b Tb%7!ڑ11 'g](DHb$&~ /&Ux5 pU!IJ= K##>\RBɂ"5v'6DD A!H- < qv4aEXD$Cd?HJ"&*EC5Ƀk*sɄ0gL 0 bBdM2D5Z=LHca≨h"t&ڬ.z4YqgX΃t t(M Z8jE֨i<8?Ŧ=*Q32=lJ 7~5JI vIQw2d :: O5C@*zBq(ر,um,ho!aY Wk֮*hkM>:r[#e' QWvT؋t\qIk:j51ۤ"7<` rtf!`#~gY@R9APh!,~Ӵ@< 7A`o%G|?(w-0J[ <*n7m0GM_R&3a66rVLT!gx5&H,4)9A+h$eSN D}4 d6?u,52۲f&'qaF/+BW7[ұb$X!Q܊QaXK+N™! 3B؝á=vC G ~uD89=&v:eGo0׻րH0Pk;_p5)NJ9kC::sA=QMxڄ=n[N plH{hfw]xKKx}XŪvݽQQ\&s8Ο} 1P̽H<:OWFZ~޶ p~ԨG/sΏEx\ _;)M'yD#RR6e!;xw=o 9qIU n^Fvyf7x[ _]ƏEV,xGsjxPHLH G"yV; QL<("' d=à3@{Nzʽ(N91 ߃/{H&ô} )oKlWz~ݧw}7%wxt$ qwp~G$aWx'M~ǁcv%(vhq!q5`u._209)aV 28,(B>ﱄf1!GI.ATx  k@mVxaxXX]]Qaf"7Hl8tXf2 v؇~x({ $kx! ,m H"LC 8E-fh"Gn(d&)^K,_ʜI͛ !# I@c~dΟy<iӋD%N|҇WmVMx)ԢXTRŭ5Ҭ]yKn֔wW [rij7R?lGw.8f""}[b 6mYswڍȥ7N|tCjT-mFx]TnB]3Ӽu#:xx=oHJ#wC1 ^Bw\S&~%(Ea'!w (S!!B&v_CD ' ؽ$T62$j'7߈#@8; ߴN$<<̣7DҎjd\e)&|H;*D@d:y(7cߨO:'JpÇ;ll9šhj(@%;og+JA쭷F\2Ԧ?CPm9N:f.襞ߨ1գQN0]rn:jT@ ˟'~CBfBYk-{%:2;[JfdNtohS TFxlr6^-AOR 紆BLٛ-912;fi~1D̳FnqNe]EFnjn?0G }("hƑ|ʹ.%O@Zsڧ6-: 8`z%ql{>k}X:OR:m񌗑nRwƖ!a"m sx/s棜:f9m~u?RW¡DrD4OcA*RZz(#h 故vd(TA0EJvcڎQ 6qL@G F0(YQ,6cƤyRS!$̃AyyqC Ѹ:Q'%GCCQu0bh\822 A:18H)'T>"PxLnH/70҅D,剔f EJ8Z4K_rr%ILQ&3kcFM#A-“J&(C2(lPf$OkRܚ&54+ꎒ@{#(3'qN;@Ii ( >)Arp&H08Ru&P&ӪUR#X% xG"F(^PinY5^ѤU^)D5*րӂU հu()P+ՠ u {VكvFYTΥŮV׬ ,R(˒&CaVqlpU֩ D`P[}ij&j׭nKԄo4"P&s Ve#^Q?WG>Owe/(󊲬bs@{uM谔+b +д~1_ 2|"lNJRp\E1( c,/qR|A2Z!)Df ܘ?L71󙩚 /Yw8%y*KhSIL;:(GA3N;?ad[e]jGC]N:6fPv%qk,O =]O3DFDRqXdRr 6%jGIFc*-8͘Fʬ{ {J'RcHJnz{nW%9VlO2܎S/wFnt?;=u_ iFeCUOpH\$>жRA55 >70Hq;QQh a}RtүœApud2{<0liWc׏La " wC `uĴ=)}otxqzkkۥtjXPcE!X^YЋ:Rӣ>uͭ_Ҿ*c^Bz<>zW1YgODc"~" q(c;x7~{U_zfj6ܓ݋rGyx}T{7[gx6|wK4F8Vw^&cB&&n%Qu270:%'W5i@\R>`/|Y7V8<)0&&@ :4)@'R[jMsj3PVIIb,Q\jM-4; 40f2RJP(Md)`''0LG@wdH~EAg(N"d!|*Th&1i8Xf%䦍ЍrҌDw^@=. TxQh#<H;1$ѐ!f9W%ܱK"q)!a?,ْUzBBs>J'>a(Q+4I@Տ-ihcNPViRYV7G*YhVqSOfyV!,)S%p* $(a@!p,( H"C (ŋ)bTqǏ;$(r$ƒ&S\ɲCa&J2SM6ٳ(Q7v :hѧP?285ҁDmZT&י_9zէСN K2'۲Rӂ|*P4#۩dVZ3I{jC2|\l+s4:Ys[7'|¾M6X*9zk[[wݺ ٲ.p=[~MXag }~fo!G~~I_&x!}`> zGX -}8&`/gs<Јt@ιVb-XZZDoKe)f)^[&FgىZ\W%ilFpq9BXߞhRWagئ "Yg>z&Yi.5ORhinޕ囔1Z&oiUgzꧯ'tIz]6i(lϲ+*[(bz-XiDX 䬊⑰[.UK.]oqi((V~K1rnk tJ fWJk+,e鷡ZL"۞{qѻjkEnڴC5J/fM/h'ݥ: j3Oll\ycam7*f,X 3K޴-Z4Ɋ8TjfZh'O_RhHe,y秷jG&4>XeexE{#!y,6yx 8P*\ȰÇ#JHb1F[5V]c,\ɲ˗.7sK@Aܸ íɝ8;Jѣ w:McRXj0-P `nW]i ramۻxF4r+\<Au`z+f[C&]r{DŘ3g sri5Lj%YӨS^ͺװc˞M۸sͻ NC=s9t>8LгK l2lƱ)uؑ?$vMD&T3r| AU~1S%dvVN>Šyy`4R)h}yDn2&Sȗ_߄3·t#U=参 ddtXI?Pb\') XҸᮄp|XϺRWʌp:>&<h b aGJ8 n\dx;ugƦ1.5/Əig,oEiySF>NB.@82)H3UjN5\e<ˈrOn dbE(20 jl.7x9dFIJl3~ !0,`}g (ПE(\ A2t8A )cC;zqVȅ(Y”+Eh4qAӢG=!(M/USDJ%g`TDC9g CU|d5!~|duc@!,`o (p"HPà >|D \hQ 0‘ABǍ+#LYqf̖/gz|2aυ%5~D 0@ @!ӕMC!UK_FM5˜0!D,`Og (P HPà >|Dg](П?2&!VLyr%K/;~rL1;4isgȑ s2d)" !,m H*\Ȱ#>QŋV̘p#Ǐ z 9p$I&O\ɲ˗̛c"u}"P&M 82k4)̧ &T/J0Ъ=gٳJ׶׌k] }QxH^)ct6^82⼋n Dr!E>hZ5萦U6X[~낸՞qX>}۳;Fo8=iKyZ!rH LE/#|EwQwQ_g@q_oBTEe̓@q㼣O|3:Ň;SH8!6HO3C,µ  cd܈?C4N$1NdD9Γ)9"T=DTI!qDOK7=Q缳 .Q{Nac,R'mWy5 .z ;hfSC}.ʹ\,9e~8ЫܺPndk.\xU|@7y\yEN{'tze^=u #\Ż~ĊL  Da?+x2NR0T/Zn2`dxGq L<~G (0N2B e2 ^0H ldCD;H(;!a|wj.Ġȵ C("*b Tb%7!ڑ11 'g](DHb$&~ /&Ux5 pU!IJ= K##>\RBɂ"5v'6DD A!H- < qv4aEXD$Cd?HJ"&*EC5Ƀk*sɄ0gL 0 bBdM2D5Z=LHca≨h"t&ڬ.z4YqgX΃t t(M Z8jE֨i<8?Ŧ=*Q32=lJ 7~5JI vIQw2d :: O5C@*zBq(ر,um,ho!aY Wk֮*hkM>:r[#e' QWvT؋t\qIk:j51ۤ"7<` rtf!`#~gY@R9APh!,~Ӵ@< 7A`o%G|?(w-0J[ <*n7m0GM_R&3a66rVLT!gx5&H,4)9A+h$eSN D}4 d6?u,52۲f&'qaF/+BW7[ұb$X!Q܊QaXK+N™! 3B؝á=vC G ~uD89=&v:eGo0׻րH0Pk;_p5)NJ9kC::sA=QMxڄ=n[N plH{hfw]xKKx}XŪvݽQQ\&s8Ο} 1P̽H<:OWFZ~޶ p~ԨG/sΏEx\ _;)M'yD#RR6e!;xw=o 9qIU n^Fvyf7x[ _]ƏEV,xGsjxPHLH G"yV; QL<("' d=à3@{Nzʽ(N91 ߃/{H&ô} )oKlWz~ݧw}7%wxt$ qwp~G$aWx'M~ǁcv%(vhq!q5`u._209)aV 28,(B>ﱄf1!GI.ATx  k@mVxaxXX]]Qaf"7Hl8tXf2 v؇~x({ $kx!,m H"LC 8E-fh"Gn(d&)^K,_ʜI͛ !# I@c~dΟy<iӋD%N|҇WmVMx)ԢXTRŭ5Ҭ]yKn֔wW [rij7R?lGw.8f""}[b 6mYswڍȥ7N|tCjT-mFx]TnB]3Ӽu#:xx=oHJ#wC1 ^Bw\S&~%(Ea'!w (S!!B&v_CD ' ؽ$T62$j'7߈#@8; ߴN$<<̣7DҎjd\e)&|H;*D@d:y(7cߨO:'JpÇ;ll9šhj(@%;og+JA쭷F\2Ԧ?CPm9N:f.襞ߨ1գQN0]rn:jT@ ˟'~CBfBYk-{%:2;[JfdNtohS TFxlr6^-AOR 紆BLٛ-912;fi~1D̳FnqNe]EFnjn?0G }("hƑ|ʹ.%O@Zsڧ6-: 8`z%ql{>k}X:OR:m񌗑nRwƖ!a"m sx/s棜:f9m~u?RW¡DrD4OcA*RZz(#h 故vd(TA0EJvcڎQ 6qL@G F0(YQ,6cƤyRS!$̃AyyqC Ѹ:Q'%GCCQu0bh\822 A:18H)'T>"PxLnH/70҅D,剔f EJ8Z4K_rr%ILQ&3kcFM#A-“J&(C2(lPf$OkRܚ&54+ꎒ@{#(3'qN;@Ii ( >)Arp&H08Ru&P&ӪUR#X% xG"F(^PinY5^ѤU^)D5*րӂU հu()P+ՠ u {VكvFYTΥŮV׬ ,R(˒&CaVqlpU֩ D`P[}ij&j׭nKԄo4"P&s Ve#^Q?WG>Owe/(󊲬bs@{uM谔+b +д~1_ 2|"lNJRp\E1( c,/qR|A2Z!)Df ܘ?L71󙩚 /Yw8%y*KhSIL;:(GA3N;?ad[e]jGC]N:6fPv%qk,O =]O3DFDRqXdRr 6%jGIFc*-8͘Fʬ{ {J'RcHJnz{nW%9VlO2܎S/wFnt?;=u_ iFeCUOpH\$>жRA55 >70Hq;QQh a}RtүœApud2{<0liWc׏La " wC `uĴ=)}otxqzkkۥtjXPcE!X^YЋ:Rӣ>uͭ_Ҿ*c^Bz<>zW1YgODc"~" q(c;x7~{U_zfj6ܓ݋rGyx}T{7[gx6|wK4F8Vw^&cB&&n%Qu270:%'W5i@\R>`/|Y7V8<)0&&@ :4)@'R[jMsj3PVIIb,Q\jM-4; 40f2RJP(Md)`''0LG@wdH~EAg(N"d!|*Th&1i8Xf%䦍ЍrҌDw^@=. TxQh#<H;1$ѐ!f9W%ܱK"q)!a?,ْUzBBs>J'>a(Q+4I@Տ-ihcNPViRYV7G*YhVqSOfyV!,)!p $(a@!,6yx 8*\ȰÇ#JHbD/PE&M^6mLM6}Ȳ˗0cJ_TUǓ_IDѣH*U#A/nz2DCjʵk'UA(z]˶R!5Uev ZnЉ^R-KF˸q[4`4wM^ 丳5r|$S,^ͺװc˞M۸sͻ Nȓ+_|T*uCT  K$\x/.JzITرS'd䑥]|$*5m~ 0< b`SO%1(TYXu `o zC^ŵ"Y ގU%ןTF%7vtҁ =W%'bQU9|AJ`ijrYa`|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv tGe ԻRǏ;?a;qXE|W?nۏkSE,ȯ@S@. Ԉ:ϳ|KO}Eҗ6/{ R78|\p-W.fp:*8$x:a΃l` 'N_ Q-yaG0N[a8y4+hAjwFAhu#*@mh[{+# !Pi.t[?ьMwx1Z _"1q tKH;C !djHx4}^-+|7hxOon5_q<]#83:ϖe1wh,1Y?4hTAeƎ w#6{ItSxJAݰvb-e%/̚36sPx8}pGj61!:m7ށ#$[D'*xģy*,7dM@;treemacs-3.2/screenshots/hydra.png000066400000000000000000002063541476710620300173560ustar00rootroot00000000000000PNG  IHDRT>b$ IDATxwxչl_.V.㎍8 qIBB z npor"[zw~Jmigd4X;;9sٝwϜQFUB!B!BY@|əd%ڹ:d/_Lbor3,lQy䞑D1i~1.Z}C -,% x3x!D_YC 9dZ𸜔T8PTK2 !B!R? M\gcv] *FK 4i|. o:D__l['3>3xf}q1~\Xm7.# }>,`ߛz~rjhty3{b8a߯}~f,%cSxYj+5zOɯO[zoSf-W3m{gdtƥgӘY 4Q]^{ncg< rqN?ϴG߸Xy'~OߵcY:-3U%.7~?Guf%/߾A3tpǯ2롽vO cDzt~*8uIwB!Bm@)lWc߰O90-44z0j։B Zik 1Fhu_wf5;oȏk r~ r3<J7]-+xRLR{Pmlw75QM `w_Ukx&Ͱ_T@Ud )/ ߯u~FLY:~so?_/B!B/nm er*J}#̝?\c#i,EJSU%oȴXrgOm"5w_ϒUiFx~?SM"U>1b2cp'fGp=>ovrt9en{e;^3ZxsNcٺ )*mԻ["\(n/ !B!.?GU=t1u<~zM&{H,G7}gcV:|[TĤ27Ҍ%"GX>zv5{\k~<}bLX#>v{*&V̟[ßG/YẎ"0-}=y'؞kp,P__!,u!LͼygSmn<}>W 7QμzLeWP>>ULt˼F<2z\RZ,j_=Ȓcxkw 5:W0;ľ#@vҨwg^lI|tmԳrTnlBj~t]aXh]H%qU>.£?O0v>hƏ޵?&Y3x[xrNޥ6Ou ֪>H߽ajO>#v\.?:>Z۵3~kRi"b`Bn8oB)9:PDTO;kx\jGuQuf2g 3[( m N_$l9Xhz_ ؟Vq$^ݙbMŨ_ ]ũz/~ gyZC4lojMQ#H3ycUNPBYk0GfP(tf+UwS?gkYʎwmϗdrh6gi11jhoďnsaM7$ onH{s>vf%S܋ OcGn-Ff3=ȯ"od&vZQߟ&:<`/Vy,GU iRYzsH0^@SuK<>h@&KwA"X^%<NQ{/_>B!^T7m|Sp籭X2BfNjx `툛14n`Q5ʙFn^2GS:nu5~Ɵn꿗G_Gj0YM#׍{n@UoaIxe`g@KI&x슢ޮ~PwRcy[S}rgi+EQ&e5Pue,4I+Pڋ =+_/l#p`9wt~> !B!.[z~^W-?Ϗpz*Qѡ*-5y*f;sǑ/GEQBU[nL Ey$:ڣ{Q-pc׫,Cmgߠ,jPwN$CB|4g*1 0vߍDi^^3TCSA%-n!ίۊ_UYrlSN?Y &|ۿz>Dd2> #ry?.H}t{^raCR[rS^Ct so5Xe:"_%zfmlKiN[L~_u~U?I;X[;|hulv]u՝z>w6˧P.~]az8rxO6Sv'SA.>(r8N:I"?'GW/_,b;eURKx#ӆe?(ãj_ZO5"y~oG_r#Mm.ޠ5~"oh {aK-9rv|$B!\~j7ܭXU15Vkb\gݵ1Zs7\AS ;wRe+S/~g*[IG?^LO~Z-uGq6ߟWǪjE2{Ht:[sPOOW>$jE1${/U_ I6(q4믥e2MJcәs\A'kK CT$;C֚B!KPxNes᥼^qjO*wh[ %E%/Mʉ6zb˖厯%ª'7v<;25EEyO}G4!G~svvbkRu%ug%:t=Jܹp8?rɛ'.Rmg0触 P0j9ړ#E{n)/Si̲]8z47im-/=dp~>F[]{0ӓCs~Kݸ|ks0[X/{Oߛz>{ga0n | }oz}'p Wa^6a};{xvK}h}yn ~W?(7h}BCU)f$ߚ?)v}ZHl_+$u !B!._ʨQ_0ζyihZ4kV`́r.2(`WqN~)Ϙ6 7rl?{GMɃvn!mXlŐMNO 7+z Ќ XW2?'+9>0?&ǝ!΋B!B>tIg^*虼Uh8nu{zM*۟=c .o?6g>mSpQl#˩ܴodT{=TmLINZ+#Kéݡ B!O}!g /E ށJRk qӯn_Zg]S7-ܡ14VsJ+*B!}HB!B!B>!B!B!h| B!B!Bt͘Ϻ}eE<|ʊuuQ.JOʯ(fFL (k"̃Wa!\!^|- D( U_'.-ȚRWPYen/Z, \|Ic8f>cqz>N>aS7o n%ͿߕϮ( 8o^ Xnç=Ȣ#8),BVB!Bcndz.ue3rb8au1.ZOʯ*.U8BF: ˂8o&⸛(nz[O믧yg%~DdU`BwF}(1@f/::0*q|G j<}:/m %L2XfY{)li(fMQdM u 5wWOo⦡yoP!B!.S]EIyeDwq@>ϮTb%kR{_G{!7,ثGww{9>MOP<(Co=u?Du3tZSKgYe0h 6>K^4ڬI5*8]5l"0-ӌ$%pjP1)F]9CW 7Q?}d2ۊsk(0>+\wh~lEuSW镏u9 IDATjq6C\G1ď'n l_) d̺#P۽-n,pf%0ͿƝ/ !nEdܥe(Y%b;i$ZM8YkHwKG'vM\y|%ۖ'2YߌD] ڏ)^7Nrvmm3wJԨ;}[I1W&J>z2 IW~/px:?(^N*7?u՟ʀy;iWT}5MF"b"EDqisg{J81PU?hBt-v+&%Gzrgw-SN~11SP6W5f銌vͪƉ\3;O>LDTO[ >iG3t4lz.F,cȶzK.`J׳ky.}b?NEbiw{'l*)*t:f3Z2w&t6eG _ʽ *,?P xxضɖe Q&a[PNr$t&Z>(tiRUpQ}nue]q'RT5Pi|.7d"_!> L5To[Šk`6~21v|*8ODw+4bx'(ǏKSJždaZp;3]uOӼѱքEZh-9C[>Fu> ʼn]SUE42w죮F qW* P}~ToU50qڂXr<|'~;cXZG(L.qlgvSY߱SQ ]SJa4nb`wP *kj_P S\qQaT59II }ǧE5Ώ9A.]y\ T%,y[Qj~]ޫo/EF)5yÓ؟Ef9a$[ZkǘܑhzW{765ɾ j586lp-*>1n(BezUd& J$+#ܼ`6E_D7zF-AA3ΪaQL 26+|LN? ު߇WUDƀDƎtuEsr_[8r:ʻL4ת_wPL$[PR>@D;RW$uMDĖ4+~Dڢ0(n+)6k9Aؓ?D㰘 Z76{ IbS4?_rmb2H2T#I4\Ǻ\7Mic'c@٤H|N:͇*0%/$mz.-_lZw]7يfQ_o:ວVAg1iϸtS':kogoFUUb2c$zb2ge;>gP\hvӅͤ.3UL\<㙘LVًހSz!B!S~⫲ٳ0]L9UU/63t9Cb87'חuIEe2,|EC<:j9sc?>Ho=/3Yl-!En&]⫆lfoq>>l:m"꣇xtmIEV\7c [6ꘑ4ŵ鍬ob*gr̟͌+;6l畃ɵ3s5&0WoӍP=ޙρ -eUr2'Np:Nfriv6׻51Z6䷰hh'^;B9c7''d0(%z񄬿k d#>jT:5V譿nyp*IďM+j;yQU0Gw{|LIcIșCl Rͥ4`*7`|auikG '܅ _Nq#u6ObI%~,bN&<.CoRYxXQkq9i$"&}0i*7ۭ=mDC+ RmTacp;H9:c8+/>PGu*ws& #r= W%} C4յi`#mJ!v\s+Qs񴚈˙IDJ )s^y8 6>ofM諉:GֿH\i[4Am=9j1_4TQfiq^OWNyz",E9V{v$Fibg[D_bWt_,nCFDw@*{x: B!B2jTgʊkzU2L=Kg7[L/WLvTCsGߊFLqg`%?a񻾀*6 ʹC껤p]ts11l~←mq;zO8x2 y3'WaO` 7R/ihןJ+ls^.@Iȉ|y(G>/mTB!BAzV@S.:>G]#nJ!B!TB!B!B'+B!B!B˜TB!B!B' !B!B!NPB!B!B$*B!B!:I@U!B!B!tB!B!B$U!B!B!IB!B!BTB!B!B' !B!B!NPB!B!B$*B!B!:I@U!B!B!tB!B!B$U!B!B!IBhp|BtAOB!GB!B!BTB!B!B'g])iC?[lR2q]l^`m.-,v:7BŌ۱7%RT88.B!LtPLo@yGMqo׵IdFEOXrh>̑ǧL5dllS+gվ/a5hz'ϸ#*%KQOI đ%ħlw[{husVTy~ Cz? !B˛ 8G ΀PRR UU!vuSaq#48 n&`&LS{SL%`aȴh9N/rXeᙍQ2>.i~{3~(}V>qyj(= 1Qi)}u!ӟ),:0̆oyK$GnJh3'd W?i0#Ⲉhdoc,WЄ$x;[h?LCo=7T{n]ٖƜܩdDuVR ޳B-jf@t,V#4TshۊK{{z\ɝTfXFV'G}ji)3"̓ʊaK}F,aFT)dVҢSϮWۦ⦰dP6(4?~?FK"SGLfPb2fNG='vH#HB!:Je U"~%p נ5)>DDq,vQP;j#G5*dc'?#n$1~K4wp9m>ʁy8ǡ3ev0k5HL$GIN+f^W&"&04NY  i&2nSK,:-3iz>,贑{((+#"?WMZ%8sڴ%闂u$' g)vjZkj_0d+ΰ(9醪idP|䗟LZto:nZ/owel TQ I&c#(*/bcRT?i:tv5ڟVV5ݍ Oε0s;ífT!\77L![ :.rq9jǬGXs0Ҿŗ (“@CY bRM¦(y͕m;rOcX{pbxGZ<, |7*Gy*h@?!BPu4l c}şId/"OpkAAzX['0%5Oד\C0Z?y90* ?tk6Z#h; (SU|`|羰 }:7&,FL<H1۫KU#XNۉůT{}_F뉮e*bVAGS|)"3"m3s!/|.NYX9kG>iKPI>*N8m<_G _J?!B+qccdfo2(DFAJVD1;o F#yRFF1$;P_M('l0&Ҷ|#LKF Gu7!9 O*!@us{@n!ԗ5C~P}PIL-(0h_/.1 wŃڟ0o9M>|ڷ3-'?[dPL#MW[1``BV<#eb=63;? > IJ_>O [~y4i,-@*qX(ƍJX8r*-C%*O?!BPUy2k֕QSqDYTM1eE7 *ZǼyY_~niF?҉- EM][mEG%C]bKfhR"^^؞:۩f6[&DPM&yy|ޝ<<OcǴ YBd\ҟ63g1(aeO`٤q IDAT7NrC$3%n ߘv5'ܤ &u77fOg`әyBO9D+Had̈́(!/.k%SN!i/l?,[\χ>N9ǐeKsD_E!??!BA;)3nauWUu,8L/Cy+)juRؿ4+?{U?~}NKRHB&ņʊ uuW]AWeEˮ` l*"RTVf @zog !dIHy|ɝ{3sιsRqPskpke#"Rh*8v6a5GJRuN=&g_7EEf|+vUV`֗")*‚U?]l2[fWy) oa_F>዆?0e/1_Y79>fm^dHf?j~ݻVJm)[Z1>CL Uk処_c_mI)H5׳aO9#IGʯȩG`NHI*? k*^Tu'y]h|J+ ESKRRО0kعg%KsG?!B :{hqxFO 7}8~?'5%xkm~5ne!G ѹ'vLKn;{R^_n 7y~#)(hB4G~({X!.E11|xj]NKS_  B!D;hC|rLy~KNr)ӵI|;$>_GtJ|I| !BZ]C+4{>3{#jOMm!w|˦N8$Hyxŏ:[9Wpa$Ѡ#3z!#m=GhK9=&[Ͼ |yKOB!h?/Ly9?^ q3(]qnMO :">C?hY|NB!8龔J]ɮܵ9 !D $>h;!B!F:TB!B!"Dҡ*B!B!!U!B!B!t !B!B!DCU!B!B!B$B!B!B"PB!B!B)CZ0kG:-BtF@Q#!A$>h;!:̶Ϋy !Bv! N&lGvE1)g?91^\ް4V'5.LlvO.%~dlGIVG!ǔV;TmsO:;)BH| v?B!B*B!B!!U!B!B!t !B!B!DCU!B!B!B$B!B!B"PB-ņњB@SB!mCU55x% !D $>h;!B!F:TB!B!"DP?-lF\R8:2M0nrz2+f<2]D1.nf>j> Z{7꽝4l}+KFH:vlp7{l#U7|R~ U߮Ly[#B!YqlQ+!2E٣,ru} /Wj[LsD]edqd>" /M]xuɣi4ڟ nNªШrԳbn.ﺿ܃>GK J~q&1:DUU p> 6RImf2{zba^gWE1Gg8.0ot?WF濓KwxۏFm)wg0.54JE,-9nߕ߮s?LJU]= -B;Tw]Z@mM-Z{0X"9lMYzg9f8ӡ :OU)U-o DەYŠDqFJ4>%5 &+ZRi qV4QF i 7 P~P^W?bfQ B 잶]_b)^<6_ŇjPj\S-o֗ V5tjQYϠD&p˸{yC#[dD[ѦU`K{X/sC"|z:7g'_ S c<anba-iV~ ]=sKX<^;늫LJ7~eǏ2 &4:z\ۖ@iVT#}F;ˊo#p$B!6[Hňy'mӧbRyp.Uky}X>^Q<7[+P)\|dF Ģسe--ҫã]O `>WO{C# BUfz񼛞x7a5[o8#=<<Dx:Tu,؝w23(k$oPYY}vRU4QŵWK8dDk__?5';u }4x4.,\n2Og/e ?z(4_PQL~~!8Ow|w/`;@Z pjT:{Hf]Qʬߝb|hbοFe}2įGuF|#?o`C14??{,ݛ+?Y)U[-\[k4;^0k;A_ c03mh9뷑U`!vMhb._v<֛Ѝx-*zص3+Ʉޙ!ZUp{=T0'bo}*W,RQ5l;}2=SyѿmFzD wo7(o(+^gw(ǎ"%!ѴS)L$%ذ̞;ކ4?s\_&N:A}ӈTwYW=CB!龔Scsѽ>|TsN ,nf669q+Խlf3orqFEr'R<ܚ׾)a̧։:ż[(ʡpO ,x,b6'2ap۝ "K5PZ1\1Dpˈ[^by p`:$t!9 (n)w|u?c3IO●R?3c-vePrBQ'E 2a)`/ne=p^]UE|_T |v/@<|_TE/3|}̜4/2s̚*m;oÛ_`{ˈ;yS'?^R?A`%abVTԇ6 S1a9+1YêrjVFgdY]c5@br2:֖e@4%`Y]\NTn#bsߔx˫/,;|f|p|;yn^7uPԘ>ѱ42UBv'nb'GغqrӸ.{+36F~_cO^.Z& lڲs1*`JzO9J7z426R]Vl!%>r n\u8_O˅I,)q|-klBAS)曺$F)).`AK&>3&%:#>5E~~P[\D~U5Ͷ8%SO.bּLX!:x)ίW~mR?vn[U%!foډ0孧2Q_#P؜GHF8ӢN;xqg5P uA:-B_kLo& `ƌ7i0Rqy+B2 PdM8E]G&_W8':Vff7~kֳ 'A^Cwݳg D#_18UV:?ͦ$gDn/a']nw~.wE1|TChl,q0zEz-M\.疻wjx),P݃_AE<[QK4/g8v8`{/Z |i^mOIcؙ hr]-BcqߡͯsݸN7Aŏ_W}͎Z hyG`|t7%> 74;v*t2W-j_vjR)P-4L8˺[Ϳfn3 *k2=;w0gB7+qs]SE-ekb0ivxu;|;^%cp:X6v1ޭ}+)/C{t!3 4/"91^3e2?,ќpHKkخbiyܾ |ыxbhy~]-BcGtv'g ˱Vlxc$&ЙZҸ/[?/䱗k<ރs~w6t"'šNɫu۪rQ% wzM2Lxn.iHْ e?QF X-_ k+Z8bsZwZ(j RXl*.?2{{>IQ0]wD(F yH՚ή[XGq%DDek~ 1][>_1R [&j QQiLiaI>pתVZbiX lԱT?N=51*4`)й+%uO@Jy#E1|0 !3(QŜ6͗~.4_?h,4DvdUt꿴+ez(9tJ~QqѵB!8vKjgeiDJa/,/^·H3'v~e\xM$׬m.bģrE|neP-qC1%1W\白T'5}M֙T]xb@ťnbgm4ɔ掕#ܜPۏőRuKeRhK4#hh,icgğtHnp*Kt\uv*JT{5R s7;C,,YT}@ ,QӢ$7Fg\WG߮%u\8'/0!A%g]BV2:XP^Z)Q&F-EvX?ڋR_9mEdY{ifQ$>-t|hN`zGǠH+8KJ$YURŖʠ;݅lqwg9eC!݈3(V71tpϿՒ}"[p{*X_#IJԑ@ZÈ֔#3&zͅgbto(spk9K(Y wD ^u%$RB._ӚW'%kvIȤKe+3hgMB!Ȕ&ܵk>{,O˿p$.f,)9 pjI'3<>?Hv 2븼)foS7׏&\V>w=b겐Ӕuɿ5G<;?..e^IF?e~ v5m4#’b%2}c~K4_Ͽ)_z.^k9*d/)jxßXU򚤿y.1^ +g^!7/#zi('bI]mG96F&'eOE1dngjÚ/^y.7~.~g~6囹%pֶC)ZW|ֿ_R?-={1[,GQ]~CW&`hL,gDp]l(/:r tbg'E{BEZYy>Ƨ&pjJ"N;vEKWJ^Z_O|O>IEqf;Pw(j0u$n{%;~W>~/M8/[ī.?Bŀ5_ӝ%Cڣ-BG:tDGE10O*f#1q PV; !4V>ЯO_pG>tmᐑ&Ne5H|\>9'ړH.G6U?jzpbd,zAW?@mu-<;=m!,) BU:BbNh1(+4!T8LBqؙz:=UC{.ƕ^=4 FL)\%?&hRB!8ڡtV+{229fsqoUtj!B!: S'ҨAc:Tbz}|~15KPB!]H5T+KQoǷ>ɘcNB?.wwj=~=B!DGk}B&Jvd!Z )DI!B6VcAB!B!BqhTQL?Db ^^HIָgiŨ*l?`.̊3 )"ĻeJcHɍWnxudه ZZP럮ч'y Mή񢛶qcbu'oRLy[#B!1UMbR LhwruY[\sD]N艰@ױzta6'3cT EW<>" OM]xr{XtTH̃wŤ~l S0NcÓ0(}ZzG.9j~/_1w_[lcLTUq/{Q̑5& b[_OG2E٣,ru|t`\j"iZYZ\sܜc.J]MsiQkBZ$B :h7bbP ]YQhh+Ti[K5O0 IDAT[+P Gk,]2s(X NW%k*ta^~0;XYr*--{A⌔ &+*@ixbfB 6^bĬ0kۨf iz(0`P &7`/1X)a->UFPSj[DcK₌(x+:C3sHϿZO^U47g'_7IEkjӪ?sp;':,,ZЬ|<H-=bx+"3)s{? 0+h.>^[?gx7kgwsβbHtn$BBwTY8+ц/N^E6})&RUͩ<_ضz#=G" 7sxQ W7;cGE_xh9̨X{e޼Tz5NCOyt<;~9 5[o8#=<<}Ɵߧ+5jiIq8sn|;h=}8%,0=& k }:;d},V>Qshw\gf_pX9oƅ BF4쥌R;C>QCK~~6*ow[6?naTljTaAAߙ0T_y_lܕ@ .f-YSɄޙ!ZUp{=T0'Sg)zPEC/{-ާr"+5]_c'+qkQ辔J5D2{ *˩1އMuy~Oa'oseMSi.guL x׉Yq+Խlf32cTIF޷o^g?~^} E9t]x W_|L[`uTc4z0)cbL-5)nzy+K,1LgݰēN?d?G`Ϳ5nOug,wF2I\JpfC馑|}H_~lⱺ!N4a 1=vVӥ00)ۇd̙Oi߽"3g>ͬYR@8zo}S&-&jLŨ|)rG>+Ѩ_5E~~P[\D~U5R`?z^{vǯa GgSkX淓Wu_pHz"ƑevϗS0\}߾Wv 1;pN:vyEs<ޚ7i^-u] t;T)’[Ϳ7 KS(pϯ5Lw˙9ؑ6GqEKWDs C< u> xFPmk 7uگxO9k6Z?K=!x|B!#Ջ 4^VW5ߊ\JYAqbqCc`O.l11c4i#yܬ\o ~Wa?iak~ET1)rձ$w7+]> ?\RyO-qx9MǾE,~5ͯ?%N4\ō?0r0ʀsfb 63Ż63p5jY4NtUɔ㉪r4 :^f^'.4@!;Y Eazj4 蝚z 4 u-?%}kcg櫣_S6]>}GCgN=owXE|<_LV2fS3"ZfV__~P:[h\>fOc4jЏH!]Ink3?ԴW[7w\~ы!/'!B?BP5#hɦkh3xw}FrPkyMbJn=/SޤSe4#SObg k]Yrbgܚt&K1'߯ S9-;̄Je%}8eZ̭i6ƌ&y~Έ?wi%ƈO % FObtC5Cڊ؜֎ 7__÷V=&]d ކ#4,qjTJJJح (@QI6oԡ(fOFA9dug׏AHr_`vboK? >p&o9y (zŹ#ǒnQo2J-";¢p./ŕ"aP_4};M|pתVZbiX lԱT?N=51*4`TûvR%ijPPlls#_/!x5f;~E#x$BG4vPe&4zi<ȃXC*uz 0w >n:ʠO/,/pr֯=zguw2?bmrEMoS{#|ƀYdp%Úlp~.ȸhBQ?/t.;?w-TjIA}f`zܞ {`ٝ5T?? ІUA?_GĿn 3Z5^;7Қ!z/_OB!8~kIͭ8~s(Q䆩#q+gΐ]l WOnƂ>u( 6}ՇMs\zdSQ^ƯWΩi..el?)v gI}w~>4||i')#'!oq`F2{i>"l+;i_/=Fc/5hkLqgٔr5O[*yMF|#[:+]6c.ֿsiȺӄw=b24&^uW,UŬY:&//E3aT7S'ֿËkJ=]څBqL9cF^J!B'oh8:sե3\5Y:*"Bvvw£IG>ɘcNB?.ww_+Ytn]kOs!B[!o%Jptv2-$~B!hPB!B!BՄniLEiGu̚&nìYOemy*vf=A*k qqcyGyǙ5 E_[WPMĻ:;B̀)0ki3wvRBqiu Ռ+=uyоC!ʎx}X'Ƙd+Z8KQu"g՝/2sJg) h'oNp72\j]V?,~Br4&1:DUU 뼝Nq4/wEd&t`\j"iZYZ\sܜ_r?LJUݎG!Btz%FQ0}56 JܽkwZÃ+ӖÆ` oT51&vsp;6?xJ/nhvKZPi! E8i 7G<lނ⠟ /ǻ[dsjtǖ3]9>;.)Ds@9^ԕH-Y=+.e*Ȍ - !O[?Ox_og βb _;X_!B@j$/ʊ >f͖&h1bD|;3~mۦO#ŤhO0|xF !-)gy.-o:}Us _3Q2(.lY˼yKj}S{Z\>} -j$3UQ5nz(zE$ay|\}o `oDxYK9yµ\?r F?eX{lr5 }$+gӪ`:\ Jb2o*ܚ)j3{7ĝſ}/o(+^gw(ǎ"%!юL> ä~hČJd!ZCݿ39G VoA$Xpf>|s>yh`7L(K(C # uݵo.fK#į)zTXf]Qʬߝb1wKҌ$zDX0h^jk1Fi(% V?YLoƅ BF4쥌R;ã_T(\,$$`X3mh9뷑U`^2"+aq 8\3oo't-tJ/v y^U9\;V:YsTĿ­?mOߝEVj<|ǼOVִ7ӫCPoS)L$%ذ̞;Ch2qy FE0%˺"ԿB!h;BW .P߆in:GoM{ P9ꋯ| x6[Wg3$7~ _le3*(˯?4m~.>O 3g>'e-wn<~j1rhFs헓X7^z.g$ _7:;Y+<;-v2n͎拳yg`7W/0eĝ<z6lhb{QLalZ{Qk ;\ W iqQTVWIDnт~Oa'oseMS6!X %^w͗ik/>kϗư>!_coe=PUW}Q12&cAKKIzl#.j$vXd壹X z"eeD`s/<h>?X!:VttݾlO /fEE=!u*~?l g%Ƣ:kXUTN̞0pc5@br2:֖ec %+6[*Nð3k#_fG.O8)f0Mg?yfGK™;Xx_[H1pLvyEs5o8Ӯ=4uwpvh<u rG{).+fVuK٤]< ~=yk>l8qnǚu EX2bVx8s~)Qz*C5]Ό9x4ǎd93-*_Ϛ5 OH IDATÎ|\ę5߷OoN>56l[|*wrC/1Vkrl(Ghv~ƑevϗSط6|ԿB!PUr5=7lJb|Fk4%|Qܾ/A(VZc0ucǛ]4G)Ѽ}n!w?jUCY)sBgv{E5>y*PC&{#Xkx;aUZô+ycstP|.""@mMEwD>&otݿEΆDWߊ\JYťjZUk_k_zq{1?쇍 7vqyQT5ЍoG uZY\ۻņQ&4MU^# ǟ9.338"<1PZkvrW4> y۔(Ý>}۹Zǖ^i.vs];5<h(x`~V?vqYzߞǾ3@QѤ\_!B@H _l@^iv40{:j:T[5|oU^oBOZ_?P|vE!(#~_.M5Lu֝ܧ7Fc|-t8C<ͨ4]1DPt󯱃'~}>g>%5a?rkomM=tdrٖ?>pt6(r!9#_;E mqYOx^hPe7SD$7$(8($z wqª._Sr~/ߩ^>~Qp,0~*$ϯ/% )aƌG}o./W& =1wg(233ˮi1#QP?e=,q}I|)*Esd3F/Ie/ 4^1ePM?f@'ͭߔ-lHH|@~榘`XĦ,<ͦ:?$,(@ӿ嗚E4܇qkM@NH-k>i$t~6jIb9 tD+ G uu3X_oAגVt-3qh^lKmkՙc`ش'i\p|!_{?J燃g.)N98Q:;)1>c}> vfiyr{~qo.,ai HqMg[QpZ9yd+WyIrss;rl_B۟{ur; X3'M_`f ˅< j#UW<!kE.ʍ1E|{)Uؚqnت|}ttG\ 9$sRdd薪\A[+OWmںE`:[eNdE]X2uk~^q[s֯/b4"  PaV|e%Isp -R`aͩ/#~}/{⫒QnE"?֣Ϛ\ڃhҎE!k' 3orfno&"Z"-ğ͑F ԥ5d:7nDF( ҽ?T_b2FbG3n-\jW?sN3 OV\in' aШPMf#o }4i+7%&,=G 7tAA]zy_7~hVRβo|E|1F^me+A__n5X z4n ;{1@1(.@|FF<&(PYCҫ\0*'9п"[Z&\z*[/PwvG64 &٬lOIg]L#*.s8'*Z~i션B]rú ))55?wpMcƌ@%<ޱAW_VObkNac3&o`dwg=WAKߏ_^H]&<=3u7O7%L>Pk _ -}o7'2/&XP#f[>m$ɈSIs/A+(%z3L;f}WMqH:yudjoPWYq vG}3u#?ZΝ9PFm[rN{A^\unlj7(YG-ݜ_\3lұ Q1 f ч)AA|UU`4@DFiU@02rfJ\b*T}5䁸$@󎽸'CP!SjRdEA[A_;!p ֆ`BO^߯jcD1U%^j5.B}$3ay{ֳsyEazAA͞ G(c,g>cbEƒy_|qR(!\ݰ^r`QG¸IcP-T^hu= T|[raa{{_EZ/ B-Gfq7}wSAOA>?  P=n 4tg2qfPP}"AAz꼠j٬     UT%I;G\ڄF=ܹnr:s+ΝMI[Ơ{;w6Z1Gd] mܻ`zKn I-~kKu󫾙Bk1;w6]\Uqʏh>9ޘqW3Uo*y1g'cW   j*>ӼEq0g{^bѥu&F8pE+Vzd Uysv)ʳzBt QbAѐU~Bߍ6i*/k/>ª'Qh75|AbdOJˊ}'6C똷Vq1xhG*_   Q}k$`Ӆґ>Jt  D+AaA߮]TMICv}嚃PPjfj/db**._b^cSpK>GRS_ğJRwoUPU'"B/7sޕ[͒&5߮e|1KwߟlLΞ+Be+CAA5U֏Gårsvp_l „cwrnL{yz-{EJSk=Ghѣ#a&H;w"ą$;v|W#2̟ xk8!Ǐ ]3X{\ O-{/o|y3^)t ߮A\\gF`IbؚWo_߉LdX&/_}EriU…x0\ 1q&hOMv,{:鯴j(~MnW-ylpr6VمCQ /_);Ɛ{+CxB7tz] 4[ܤ:_K[zkZk~״G>5d_Ǭ:$Ν]g$ @P;y{ ErpvV| ;u-(5x׿- sc=92?44wfܸi<E\8s߯'>r1͠˩xgrی OݾO}1q<>fB(K#13+uPߘ W^g(n>7?v  pR}^1D1 1R\Q<ZCr1/ѭC_ItOYʼqFז'@QH [V,{ y):j/' Xd5=yf=$+pko|{ّV3'}ƖNx]dvO?Y$][L{z4x,nՃ|5{m^1,>Pn=$~&&F<;Y._n"䎡L ?W-{<~_-K%Ϸ;2g{|{esۿ3e=$!;33署});8Ol~$!Lp4oBY=Y%_3%=UZOOghYGtz.M*w޳5,I+AҘ$SG,ddڷqWv9sCQ/9scvWgyvߎ   7. oNYgg|Ͽp(W yŗSO~[=H_> B3YN7g~A l!/kCН /w6`4 lX_^~~dde8Eyt(LC=(.~}KGax!$U,䷃Ǒؓ: 3?[Y~&u(!-ۆ_|-'Kxzue5@25xa؃}]w^E+3Ga(nύVSy0y; IQݑɜI(8אVoZKRyx Pԣf5bs}Uɯ|^עNUj6(622uZÇ};~jﶒrz]EO9T_RXN{Kewf(.~:23RYkW_ 5?.4~~hEuvf~[|r)J3\=?ǿIIIE 3I#UW:?Tۧ/  K*I9l3LmoAlmf1 mqmF-/>ꖧ[xyԭ8II3,YrgF߈7Un֬#`dyݷR {7J qUx)L}޸i9MGS0лk('Op3I*?:$A7$aj dͰ5$Z#$ RطJqЙ(,-;Fn4Kl&l_w1S9FW_vWůz=4([_,;jۿtԼƨwQ)siL~EZFTI{nZO]y@j~[ؔ .{ǯlH#N $i0&W>(nj !Qlg%?Y{//_AAU l@4iT2yK`s[l"y )SI@OʗVmɼ;da+q&/~ns cmDqaZi/FvYMx ي$I@-RP.#*9 N3b*]A׍NVTƸ2WWo55reBՏ?I}]kr֤A+nt/LAүs(:|M+-I*M$w-kڐ@?Kٰ@]y`h6ƒ7J~Ȏ B^Kȥ>H-[}]\䇷OjK[/  EZrNZrviud,SZ6"e{6f"犢Rl޴ i\h1f>HZH* s;3oV m/;Qklshyyfܶ|-UYF^ù۠ȅX\ <~0kǶe=SKr`fQbEDzY#JTίZ~ijuZ{T:hNEߗxu\]N4rq;orV=y. x]J0uP艹;GYvM ƏIOϗouyc#zAO=?nuܹZg6˭|ťYy̭KR !*l{;5 CAARA7 3Β"h?4 㽤7]d-%s.Hۓ=K Pg>ĩzn,.ҷWg.*+1įKa /Uܞ8z-i>ngLvdd9kL6o@k:_g݊Ӛ#{Xg%+=E&z 9w1ؾ"?wf|O< (6: y%"+ wwo3FT y+.EC#7K%(7" GWbk:]Ռsj_JVFW6{fG׏C!%IfjV2s,>?/N98Q:;)1>c}>şDgBέhӲKۯ}٨&Qt̝&^K\?$Lm$ɈHPj\j%|%|Dziw'ҬMzWgU/@Қ05SQG]CAAATmj-hTEFQ7Jk–wq$ĵ'!w=Vʫt9E_VG7 ڐ(_gU/@ml|~PnD(  pՆC@pVP}6у2( %"x7xU@hnAAAu T/wչ똽c]}7kܪ1@m}7sp}#  } g2qfPP}"AAzDAUAAAAG*PGn$hcFHdb.> Y/tD+I̝;lGgbIj(^{s=:fsz*KȞYiij$sWwN /K,n}gMΌ G gNħƷ܎o0 |5DZgo#x#*Y$8ʏ}Y^kvɥ-x]^ۙQKמ|RҬ=ǓS1sfxq7'^DG0uP;')El\oRL~ ^f!bCGhۧd[2%t8;lJȊ·y[N)kl>C3R/Ĵ'2*)=: gTګŕ[&/~ns cmDqaJ@=T?PW e>Pmjk*˗FJ %rٖ,eJ;tᣙKiI}]krķ"[$ ?|.|̭(.a$Ng~_AAk5 -mJo~` Z oSF p͸md[.dkY#H?-.뉲CW!z5܎b ɗ_T/. m.[܇qk}.Go'޶h1f>R HZH*nJv Q/qɅm$.&$KGƷJjj!Ը7{]}@IF:~D\1[Z:M|oOqfzqNa2slEff&lsԍf@24|A!j/ix~|)VI <=7f<VP=q*4עQk|5eE.K.~~ߛ7i`xK5$  9Tec[Hh`(ZmMŲ=[kšt7Ӛ#{Xgߓ&j{J@3ye(N98Q:;)1>c}> /X?Q2a=ܳY{It!܊6=-;̓" G1:%a&Nkwc t=m:s==Ep4uq?oN֒\cRNC5U(ϱ'ʏ1\V/;=~Z?_1įKaab׶],YӲukPؗIr^nb3|>~uY>ۉ(kK_sħs+*H3-b0. P fŧ{]Vq{/8(&-yWXGw[)jt YL=pYO_Q%Puf_ lťJeje=kr7; 6:^&=sX'EVTEawpMcƌ@%<ޱA>>Ry Ќ艓0 3,_-^MQ* G^~IDŽʓ^V(N;c-iF$2s3*ǒDi&էΒ@ 2\S|WPEAA$PG7lO"—W;˶c ԹԡH,f5X-]kO巢X#^?bzU5X z4n ;{1@QdϣZNӆghm8sz߼cSqZJ9˲);y{$I'U7u=7v3j]$:|Woڿ9ǹhQo#  B'ur{%IFq]&Df }Ĭ|ˇMNI:yudjo[& _ r NYwSnu^ މqHZFݷ44̟ncNO`?_:UDC$GAAGuի)7A1wq$ĵ'!w=VS_A]SdEAfGT.'7*Ea PxB=ӮEw7d1UAArAf,o=x,B̠X2/ؙF*~ WSؖ$(Q[?_?]qs*%  uMuZ0*Hq ,{n: Ɔ1m13y(wߝLvW>'1ىVβt,r!w eޓCx^׬$IcBv )G儁 Cy |,YMADOtx6(dȔ?$'t#c zIBvf2g{e.۷=j%|r$=Vۿ>?uObL6O^~.{l4 grX&.VaVddr.>"4i5]^vfgҵg(?g)>Z][үl ⷦċSFϧ;0mg%I/Y| ;u,I}^R1?˷dKzg3ؐm_8v9sCQ/9scvWbDG0eݲ? fql[GngXl V=[3W]/jW~]_W'  BS!yv6D@v^|+!c}DvV$Rf:}\ H4^~iI~TeWh-cυbҗmϫ#LkaNշrxҿb!1jdcF|%(\7{r˯I'\֓73h`$H`bM:|\qQܗwѻʖ7uBoěs*wEQhk֑tX^yq~,W)1j>`E|5:?u@aAnټn4KlWyKWn3plQ [+{vm;[xyT8II3JVtmuGQK es/2* Ť*HZL8 eE."tw|/Ʀz j̳(nN1 nlZXxp힌 ^g|*ts4`wP O/ۿQ~]{~}OAA*1!@ۚ^^PH&*\&b!aF"5/,yك:Tӡ+\-QPّSQkITehM(nٖ̻Av873bF5iPݸGk 56Rlv18[Ck_QGPVTWWo5>Ӛn)#H{>Y}@д8$}/%漦PbN܍% IDATm@Z)uÀ`q)4K>OO[ֿQ~]<ߩU^jaGAAjArZrvIW?OAX[Yy̭KR !oJ2ì^$D N7:3Z`@ru~[a4јr8[R$ -u$xiMZALso^_lb'Cxj h[%V;HPpPH(}$S}$TD0$ =3%g$וɧ9X|uO;x i [M85&Go'ImԒr(0sTli>pcsNa2Ew6"33s6uɅm$.&$t߮Tuh !b~}n-l;5jx7AAA[ Uw||ܶ5c.=_*;>ނlD҃Cd 4i{>4y?UP1lt,6+[GK!UWif:ٰ.4Tg4I^K)|>ĩzn,.ҷWg.ŽaӞq!^tn)+!D80Z(F\4@O,ؙ3mX25e ?lh{c֒\cRNC5>źRM188#zٛaUY:~=ۺdمɃc{g)JV=$:tnE{ Yy[H(ˤIXa/v7a1>r 7&Fr!L6 Gc'.ԟ@Y>c>Q~ 岲|5ߩTt7gӚ#{Xg*s~Quk_?e\n=   K5swKn& 9oy9-^а,*Z:@Za.+N$[#н @MT;[~oЇvM="ZHm#K6z}s~˿{>{O?a))ّ_-_s6ϗO;N@ ؟^=:gOaʯ`c8(|rߨQ:Ⱦ܎TR57~;nO`e2i(wNȿ$;R*ZUX͡"cHfى plm6 銎f @*a$~NcUYZv%  'WGѵ]~ՇFyߚl9[>D߻Jş҃EȶrlYNqo;iρbT G &&3-ibԐ''S(19{# "!̟Z/[+词76|w-9caNvωYt8N9ٗ^RKUGQ/OkoO]uGAAnuR.`Cfꐤ翓0I`kMd_&lPu9?׊ NY]m_Kjck{y_7c7YLj#lV~sG>9sHm eʬ?Pk~~_C'(i0M{{׫i:3T v~ٍ{"~⍯ i?_DDDDD$rJH0)Avf(gLa7py|!w=ŧdPкck\)h|vxVa5w"'mK7w"R O%TEDDDDDDDDD"t.pO%3cDbTJz7FJ$$teܡ 9:2cc{U''~ <=(3f u<ceڤ 37Mc^e|>z};'>d9+x2ƍVx>8/Tt :SVǖ{-2C镞LWD֗e|Se˰0Ņ,޲uۣю̄XZ \a8uNGRv KK`vV>w]㧶Iq_}1) b6Eo}߬+C]FNmhS7[f_[v#́=x{B6[aao1VeeCf*]kxtݽc{R&O~Y"c"""""""*BthߖkݔN$i1dj e ÁD_х1FTzȿdg~~.7r˸;ݾg1kbq(60x; [EMwM(OUu,֮{^!+Ԗ'43r6oyx=o/g.[ǧ/?=:'xӟ9K) TLfVoj#ujO C%bQa97piVh %dSFb+g٪iVZV*`e\paDXp#OrFޞC6p0qbSxrÆu{0]7Ց#om,KNpOn:׿h0^Ù8&w[*eJX& {XϞp rsްΜlrvꢊ]qsn'! W}7]>mJ&mܟ٘@TLǮl>pn -etkwe{xtS.&po_;#ϡ"<|~[I.W\ft.?| * ۽%־SFW^z {.el[uc@ya&˶ҋ/-c|O}{pƤ3aO)m{wCdߟU[<xZWDDDDDDN% U8ȿ9G=3Lbpz#]jܓcNYq%GfJ7b#h[&TVO؜gG 4@,d3okJ>L}1+I88z3 [/O!ێWCG%ԣAЛU̩a4Z|%*:ka8ltt|lNmz!E00ha"]^^Ru-A$P@ ?_Mk?U5/+YΎn{ ) PJ^Q'9wcU2 :Hz(0@$Wq]lK*;lC+ݝ/&FytU}}km?rb#""""""rR j֡͑ \t^SXTTP-ǯ3.,:ĵaLB^ 6( @i#jMB|!~?~2?F fwSc E9^ȿiⴳ3Ή@q}u$hfбka6ilQѳBl ¤m Bh7U`e,5LʮﯺiGh~TvO&N2{LW w5m*afİj>YQCoޒ3kQǪEDDDDDDNeH<$m϶xjLL2!!/61g*]Һg׬=jgLl,vJKN>;#:e`[}u_Kx#gw_6:.gwa9|p9cq!IU6W1\15'209〖=X4s,(hp qDui6:*W3+Q6j#.+?M_S+ĵ}]I5١Igoahף3,?c7Ng^˿9o\Y(u?aTƟ#z n;GҌJ9_ވgCXpβ}˟_\Z55GCm?߁XWDDDDDDDSn!痔aQA9agdcMzӦݏ1E 2M.83m:/{4MΊuݯitџcut=vװ|Fһs20?6LgI[!(O t`Tv(eSėU؁2:0잴} 2f;n?c e0 =Hzndh&\I.l, 3vPgږ^ bүbDzw~VDN[D?"5OO =%?bL!5 m831;_Ǫ dtf|9YqjTt$ں!_jcd۫qm(//<\ '`;FO[H֚[[}Oje ğҙcq'?w;Y4J٭ xoT s073If- Pyt!qcg,Xy x!z]q!+^{oGq_Ւ5c4Y|=׎~0+0,we ~5ރY }U-jJx~߹A ¾"6} )i~gҥe+ ׷(,SZq^r"%>/˶]t7C8: Z8P_%Ⱦ?}{0߿jS~S^x5׍(۱y?N0=YEp%7vb6EXd.l-wEyXK)C2`#j?+5i0 ώpwdюoڞ?_Wg/Z^UDDDDDDN^F^[v'yBn@3?»F,cQRd͓J-3l`jd;j2 'm\c^qo2F󏟓a1(a'9hOf6= ߽4M썾Ye\2j)L=?er3Y͚LYg^!pJHchmN#&!Htj z*yhAN;kKGNOP-CD)R?"""""Hj|?!+wcヘE| '7wBfb9(`ÖڳsHDDDDDD~X,3{"wӑT>رՇǜ3q}$;)bnn[sYЁ$x:">^Ʉ|Ed}1 YQڎ;[d2mRwUǦ1o2>g9L4'~M37 ;Sx;شrvvoS(]N#a'.ar Ye'A1bG3$ ` ֋<>m޵{nob7_3׳;~kvudvm(g/Xh)AOe~@\̞Iw0OG #/.!Ilђzt#8#f9xɼf<㇞73sn-݀FY1g2a%~<+f 3}SU?oEa87-k mw|f>m.?M#ޝ9?>C.# 4Mzr_>[ %^i}A.YQ{sX8{-8w!솓E3,b-" l=˯~@BLVQ g_3sX+&܀ͰJοGLl3+7@>nMW.Bl#'/bپ-0}cggZy(??N,cQnpޢzPRXs#OrFC6p0$ڛ/o+?eђl /AAeaww;X/W|T4\ʗoniGT~m'3bJX& {lYߴhim!L]bKiAn;Iv⪧@6T&+vn@|zެdQoNvx ϙ&6‡YZt*y?PA;] f@IqAFGG~2zC`G9&`"ga^1\yetrTh_od IDATYMUl3xdm%ʷӃ|4ّwO!#Jcb+$'nJ&TVc߁9kp4ACM",РUE)N2+76aɬ>1qVas`&!Lv 3A欺*_/ @)Bl ¤m Bhm۳ m7S1F(cM#$ۭuf$gA("S+2M ܏Rf/ށjYMfİj*HnxnL}>®%[5<*؀EODDDDDD䇬Ql]›KپB]:*{ޅw38@4͕xL6WL8M=IG0wFt")Us+2ܯ XN:/ /W(tC%X~m' 7>ײ[O_ZlT<ٗCh[(Kp1ٺ#mYY筊l_6\r&4J|>_F!I8Z;/@#ߐUZB5P9e;=ScڴFSW)-֑Z~DJsbww=iچ{2$Y 2M.83m:/{4MΊu] ##=3zL?WN5"fw$ʓ=2խ6J{.%Ek&%vຌL8'm*Wwq|y0m A/w|__{ ^=>FOIHb԰W{hY85PY-%EԼ[wLl,qqqr2M'+l.pAon8iJ6 y5$Ohk'7wBյ|!_3q}$;)k>dbnn[sYЁ$x:">^Ʉ|Ed}1 YQڎ;[d2mRwUǦ1o7cfruOYa[[pt_\X2S/q/&ys 23{&)l>Ym,lx NG,:O\4.xN1<Ƕ22#-<lk T\㯶gwCwi:N+X ,ݕU7'k;F9;7|EK) x.kP3>~3~]3k)}G їXH?g3ip|6u_̟̔L&`Vg7J[q;XT<|;M|/,XDDDDDD䇪R^L[d^3CyDn`]dng瘳p0aHj?nW >Ea "gy%Эѯ~+o-+ðy`7 ,refCnw}ޝ9?>C.#tao+qq)ק#c]l:X:kD_х1V0qtbY̚~9G >fr_4~55X\e=gqZ/ga|Vo烈Ԭ ՚=:^{)3;;V0,a&>[OvK+;s̙.}ӗhm\`y {)0ىKHu›+ؙyMfu pa@TH4m(pe|k6yi[Y:lxʨ6ەLN?雷ڷY q]֯efdmv=ٺ?yǜϲ-Ws+K,#e$9mlje̘w!7{ -z؎It?ܷ̀yM9_Yi;پ m*ۿo+ao0XP Ď=oQ~>H͚vS@lKT-OAЛP1oNvx ϙ&6‡+>o;ޣdmqw3q%GkØ#KS+ ~ja8ltt|.#HnfA]}DJJ7b#hSު6<2c5M.QVU^i&Uwinq?H5rYzq!g烈|uBtڢY}f :vF4MBf(Y5piǭ#`8챻Ċ3Ή@q5%Jcr8*vj6q`0X|S^hJ&f$gA("S+2M'jƿIŗT)M=|i>S 8nɼx}+ݕ^IBлi} XJ<\+&yxWɁ@yvW c9EA T- e|'}]mM TUϲU#ǣSW;O~易e6Τyf^ݦDФOcP Loϭ=znIǜ3q}Lv?z7x2[J^(;nDT:v?[Gk(]݁kmj22ɌTm2 8nrimSR\asF|CA䎽ui[édD6fb^zOl7C&Qn=Q˦эTs?W˥GF{g~| kX #ݹi]|]|j6i:fMmaJ&ݙi &gź,_bFnM@kzWQo烈T\yϠcSQWOCfgĘ_ "+bpy^D%Ag2'!);6|Ƃ"~[F W[=uҷ[\/uŅxyImWKfSjje ğa3oTlE2!v"v5䥷V[:sQ9z,nn9f:rk>E#.ZAf6Y£x`ݿjj1r,_ϵ#n#L| :o烈9/zz1l`6.|ڬJw2lVsr0̘>|?ˋOw' T4 RKO)R?"""""8 ʉqB%f"f0M{ِd*4g2j0*""""""껉H-LC<}UPԺck\ڨv~we7g Pz',z3ݕCh߷; u<ceڤ 3*Ǧ1oײ|psb`/$U Żױ_\y\Ť$`ټ)~gί^bENe_2l<ğ^9]iH0wgΏP }'r{in#c7q1 #:b .wce„!ӻ_~u>3_6GƌXU;ݾg1kbqn8zY~1.2.ٖ(60x; [EMwM(OUu,M[d^3CyDn9c{0ep?fs0W˰E+T(MY#V_0aRBU ]dy;}0eW^SY{^ipصw+9)rݓOTW`wٴ=훾Eh3LbU/.`mˈnsINqb3{{'`6pEx#OÕʪOas jU>37c奷TS',"7wOOaH߶ ag 3Yz_b]߲~[y͗Jvu,ZKU[_CeY>)֫:9P 2%TEDDDDDDjWE@Tt%|FGG~2lNwOp3wD{S>AoJzsc*+]Pr$9(݈aNy؜gG)4MD9XU!}{,?c Y<0Z(t~6‡]>@lKT߹eG3rv%pSHiRηjZ|8#s# wt|gQ(*93Z>qd6!o '#A8tlrװ90M&mdآ( a/'`O߇O4q4p?*&l*ݥǔa0Cg#.ߌ s^ 'Kxg6mU\?bM Պ'm{Ӑ^ierZW~bU1B5\u6-5@ 0uVK\\ ɽl_!Dَ5& Af&`|) +X͝`?SPtҲmcoLg+Ϩ##=3zL?WNȄ5,c܁. .O Q}=plDVкkZg/q7BbTEk;p퀞MmCZFWF=qW^Ӟzv$S7~2t4hي$Qpiҵ[:m:sޑ ~8kY[W"""""""?$z_ fYq}F*]Z"; y}w "a'c#1C%98؎柼֪cKg6j#Gō6g1>Ӭ/Y a߳,cݪFf^yfF>ɬJV3\;dO׏?=8g7`k)r:P9IT3i}eW_#Od*4fjS? :JuJ&SEDDDDDDC;,"!$:OVYm08>̛Es$""""""r U ;kS;iY2w&K;F)R?""""""/aH54>EOGDDDD~P^F__BhǺ@s%"""""""`*:`MTgӗj^]y:|}f^srrᧃk0DDDDDDD8J >%..FӴ@`מ}'mao;س 4>/ҤNٙ՞1q}$;)?daѽSZm罿EtE|(ғ c~ <=5gtMKavmGK|+nNfvrvnERnC+M+ѾowZy oz^9eA2/&=%_5O&ɿX1^ Irwљ0Z$\%+Ix|dk|gLM01㱪ylzUH# UdI4CTdآ;tgbW7L1>kFY1g2aUghHy%wDŽGw.ΞŬy)NǝcQvzK߯g ˜p`6W? `&I4ټK5?Y瞙KtL.n鶌/߃p2ҳcf??] enW >D"M6yDN /AA"i{K}&WewyEgsMOp-pز?'1(7l8]xoLg(O9=}mdzq+ww2.zp8IpV^{e~m,Zrw_q U1$fl{ /Re|Easy-3bZǰq{)w""""""""'"M(P10gnM'ɺhx x7V%Sa BǝXg ͪLVdaw_0&_0q8wi Ȍo SIDAT3MD98[Ԡ{(( V}(݈a@9;)d@)y{L  mcIe2`mĥߪ|.A ln;[CDDDDDDDN4%TEP~NRΠS72:YP16i†|,yu>EY鰑L |9|e~B$)kcآ( =4~8[;0]-8մisEf[Gc Y%EDDDDDDD"M) 16hl_6|rqx+ݕAIBлYܼ_#ځiV=W;O~易eF6G ,b/H̙ocuG۲6>[MM`i+lHS2pǴiiՓp9KŒ;iy)ȉ!Ӥktڦur5[J^(;nDT:v?[Gka/S3AtjߖN=Ⱦka'wetaw1~mx"hitџcuB&f碞Iԍ ̈́+Zbw"eجO|fb6j"I]I6eteݓ7 )HS9=?9i'0+ᗷ-%sygkL,_ψzJx~߹A ¾"6} U] 7]mb xٟOҙcq'?w;Y1zB_B @Oy\7 oF=8WN8gY][|=x%2{3>cODDDDDDDѫ9iGq^~'/io5w(X 3?»(:%4>EOGDDDD~4CUD~xib?V5)*""""""rR"dRDɖPfC4w"""""""r """"""""""+""""""""""RBUDDDDDDDDD$BJDH U)*"""""""""!%TEDDDDDDDDD"HP""""""""""RBUDDDDDDDDD$BJDH U)*"""""""""!%TEDDDDDDDDD"HP""""""""""RBUDDDDDDDDD$B?jkaƌܡIsh}qa `rbv !Ceo^^ۡ'h{e9;+|yp6P q':y Θ>\relp"""""""""rsxĴݵr)iٹ(۵[LGܭ:۪vӔx= ]30lŕڋ8ȘX?۟[p((Y 43&l͈" hm(8i!D8 Dh ؖ-ǽ-b{:9<ݭM4VX>0P$I$I\+Pei?dwN=P:w1ṣd.&!V[gC/dz=Nea'֬%?R8ؘc|oWyޘx?$7+b"%l[wt׏3xi}xz[$G4GI$I$IcÐjP0ļȝ~dKguY6S3GIվWbA@ضL& @ضd{W<̫G۹w2s<[C&N/_QMˋ>׫'S$I$I3dJ|*fM@zn;ml۟RK_êM[ۏ={D~0ɩ a6CCCuO$I$I1/]9|OHEbR6c< ϑ) Ԏ͛%ӻje -lV{FZs#إ8ahNW$I$I lW9&*^^E,|-kɄ+ɔ2_ドび8N74]#$ B\ ;Gw$F3$I$I4VĆ|#ȿ´hX'toIDxwS&()wK*K$(/O\,^<"_bw}!+sD}g;M+*YJ$I$I ꌾC l'}0ܱ_cBE-QPF* "u(SOۙ%\%KI7h|qʒH_sǩ,ĚP5jP/JtVq~2EgX,[|W9[fEΝ٦ *nb.vxΆCċ^|;{O^ V`ɃK)} Ͽ9ް$I$IƖ!ՠq* AStn.J2~)I2.ԉ=tvt:ࣟj3HG񺫌6r~AQ6'¾E,~ROHuͿZ =Gij_Z΢ 盩;ݾo _aqI!L''E;Q$I$IG0‘- KbC$I$I$}p 0U$I$IhӁ$I$I$&UI$I$I!$I$I(|$I$I$] UI$I$ImzՀ@U$I$I:5"rQĩH$I$I$EAvf͜kE=)I$I$Iz? 2ں:UI$I$I(1bx߽K$I$IRՁ+T%I$I$2Cԁ T%I$I$f$I$I4L$I$I4L$I$I4LX+28IENDB`treemacs-3.2/screenshots/icon-resize.gif000066400000000000000000010130521476710620300204470ustar00rootroot00000000000000GIF89aV  #%9!!!%!#"% $)%%(%%*&%+&&(&&+%&,-% )&+**-#+1+)0+-0-*1,,0,-0,-1-,0--0--1--2,.1,.2.-0.,2..1..2./2./3/.2/.3//2//3-.4)0,.155+&0.3<0)20200401510410511411503402621420622532422604641242544602806905>52844874:66966:44?1=31:=:4495<=9688:88<99<99=8;>::=::>9@>8A<<@>>@>>B<럙s& 2lQ3D,H~DISr#N!%tb eb*d &|"YG!XH6rV>ј'$K6#LHc|7PF\%GG(tDD6ha2(')%)Pfmwb)pI*6T)X IHqxh"$vxR׭o %62`iHJJjʩ ّ $I:j *%`t*\MR{!)ʨf ܴv ĘU!q)pGD[aI1+뮶fiB4) T*ײZa X᎛,2np>l8)eT fq (0H1#@C LLa"y[)z >I b(AoI&fCrZb*`|`1''w' J*  B3$aG)xh8#wzx 78n' 9喃dV㐛X b ).@`b"zC/=֣Bt%}[vb4|ey20nu[B H A[F׻UrI&>eo{]vW|3h8 Pk0 a@D# $t)CA%D"4qZH(S,[ ӴTD a"I 䤠#{m^v Ra` R-,D0JD`p;DgcgFh=HS615):⍏~L ?Fc@*'/'EV0-sQ2DdeIQH) ;r H6~ I]q) &DVr #rf pA F1:ATKA*B|"d tā4[2bR@YAD"1Lv(g%X)¢NщI\ؘxFX)`ǐTTLbbe2f)M SGCغ$UGN('B5U3_ƫ,5U!O ZyȲ u0DōQ#FfbS*sA"EoJw)`+DzJͬP2 y I־maHk@&&-=P?S1kj"n&1񴭕l56aVq6|ԋ2n Hc0d UpפTWR(ꈬw;޺*2Io5K9/Dl({n\7se0D DIe/z/7$p:VLZDKKA7 ヵ;t/qwӤ7l; [:HK>lԞ2ADہ8M[X2=i+)@.V;I5i'yѢB!,G X̬d n5RyR0$ {z egE3d@0FA;HV&ZSIks0ȩs:i?{&yz0ؒx奵m T:O 1yw(=RUw)УkcuI0ց;׽& Hf(mҖq[Dx&foH!Bx؍2Gf**']*%8&8'n 'ps NAC"&J_&,AxaJЈZfU#Na.sG07%A\ Q{N=_nnuяtN>Fz ,?t8՛nFnro;#_^uKdH_@ѣ Gk;HL5J1[1T CZO })O@bD7:F4;Ưlw;;v^$H_;Zdm8Sf17RP"L@DB''HPNhk*#>@9ߡ],rtt JF!r0@J?2a Ȣj֡)@G!"_8-X(dvc$!HJ5-q,(` ő $)҃)xsr@G0A,E3WUF,R0*%'91##8-%Ȃ9#u4(JP CJA8%||׈(@&o'G`o }pg}OG~ EPA甆 6cRD$fN@hXUp h.311;ba_crR[)0pd}5OTpaD5@$.`VE4X0A,".7Qb8YN7}CeNs Y4Oc55[[O( }.0Pޘ4.>T` @3S 0p6>0 @/ V ÚH^@qɺJ0  jګ&Ыrٺ"jYA$! ygs 퀨 Z),[" Qb0[kz꫖!j;4;{-<[XK3b)  PUhL۳RB/-;Pu T{TYp .˯CKʮ2;k9J˰1p 1Y{[(56cS6UJR %b9 q @ `   P:ܰ P  i P$ 0#@N  #kU ` p!A0K'ٻ[ Pq); k蛢) ; @ 9۾k bo*k#\:-|\!K \ )`DL)˿ܼϛR#\p/=0 C|pr @ $l(+,| ,  z|^|;fim/<@,e —LĔ;q;[aɏ<˙ )aLT)Od9'1em j> g:0o ]P>n0&X}^Q ι| 1,=- y,G,S@$A @ !GMihJ5}!=,hZV9}m"1;=,~( Ԑ`[Mgp0U-^XT$a|leԘxMRr}%-GЀ} H\,Q!   ͂F]۶}>iQjJQ_& -MQ!Mέ Pw Bܤ{]0d ]p Єݤ} MZy:: ^ Z5[p  "!co* g0I}Ͻv0}) Eҧm!]ճgz5~9N.)M$'*n13^=Q c02~]#JM0:q 7,? NM>a>.=N}>Ύӎ^eNږQO'N@~!^nžn!/Obv@0>>Q }ڱ;WNeffԥ4~'w/f qGJ^T pqό> K0;-NNJu EXG +J =fd/֞0gsy?c?o?wk;=0&A0 ԰ .߄JЧ@ >;)0[NxOtb;/o#au Kl_=<)p_ _gE_ӟac i)`TyJdBwTo@%0ꈳ"0<S&R౒&?2K1eΤYM9uOA%ZQI`ЪRJU,J%KTBZZ6- zJ+WSvZMa)HI]DJ1DqҎ-&rf +Z"w1NQn޸ʶEF˙ cx Պ7oPÉxpm)c҉F-1 #Vl P=Vhh\|E,؎zCt=ԪYƫ|zl 4[RN8Cs09Ƥ"sKDI$;n;l@NKm5Ы6@D azhqѮMY<2^m ,4LbPRsM6tM8sN:3lēT<9#RB@$Ts_ؘ-zOulʹ|yȁ nڙgRdzDȉq n⁇WdA\Jdt>$:SMs:$Xgu7H%(uBĖWR TTSTQe"XF)hT[&yJPR`Wm՗-d+4MT/i[oTz'8ݘDѧ v"ϓrlᘜoÝ\MXcUf%bjeH7gwOɖtzhY9QA.WUVWNZ[G҇]P{ FPn{oo:|ne(Ɏvoa Ru奢#ʼna숊\+Q6AGIz$̑"{b<Ǐ}HhO'|ywy裗!yJ'n$nީ(%Ư|5'}bu}Q{_ x@&P|ߔ5; ja*u@ā8`z l2BB): 5X- mxCPl}C QC$bxD$&qN=TbD(FQSbXE&^Q[bE0Q^bujRl ل87:95aG@R$d!{RF`\bF|O HCnդN< ʜ@DdBpq%,e `4d/}K`SCDdKS8BK%V Kbb&.yCFqR tǍ1)QRN%f;NxSv*IƐb*.!A0hܖ .tk 96 ]lRUrp/kYz{L`GX r҅D"TLX#lȨ'!XZֱ/XmC8*6Kp"$O@Bp6 B33B4hP")MC4$}S|B4MvbjDwf[w(a)QJUtE$!Acӛ(aFpi2^vL8&>/i+9.W G<1MbqLixm~s:;o0{ꓭ] AQfSJh*55 VJ٭r^`/A ^WY-s{݋s_ݧk)j2q9% wG^0ЀP(( QUp~^uǷ`.aQ>p syd05~ooC{߽I`_}Ϧ_'ko@Hz/>}PQ= O3SC8@@ A[ߣlо 3>Yh$A&:#ykL²h61Bȣ#&x=cB,T|+4(Gheࣁ؂->B b$GJH$O`:lʤ&7R B\SbBĉDLZYJI%^& m 9 EQ=s@C2Lk $C;Q8dZ&p&h&1Eerf:!v/p E4ԛ shF0-R eGKzFtibQEsWlt?2T΋Q{|ڧKr8zѩƒJTq)(qШJZvl\HBk r(R(ꔎ(Q")B)bx)z))*BɦZm"ctJl |Pu yTf` +J#,B,;xy`LQin8j 3V z$9"Lj«٫BXz,͊Β -z+ ڒ,bԭ-«.JR4\E2E4CCt8b.炮E:[没.00r/zP *bA OCzBD0HP&R0*e/rFrP/%s;7+G[3 ?P3QQ.=Y@0Cyl Q| K 0X&%F_H8(+b-4 ,8x2B2u#//]A˱1W2!6U%+7R!28]'_2yZTKTWQ?JOzG2܂$ 93;S3_+54DS'n`IA׼YEO+fQLӴAzdzR[FcІIKcluU2Psg%5.ITIMW,P0EDŠ=3CP̵]K^`65^5Iw;Ny@yE5Qi]1 T/06Xj0Qgh;Ύw؆x=؈;d,ݍsuqj ]LTWAvշY6@e UQO 1Hς!9KU8v (!Q( rK0u[%Q188@s;@ї94,Z=a}}x յš3 A(špŒx`Iuy% F䋪TQ]_]([8\;}~9;jNr\ @ѭT0Z\8Q6dR#KGP|_ 505Y T Z:Aa֋")a=2>$⋠09@>"ЂNH]%b*b+&, 6b/>b1c2.㣘b3Nc5^c%Fcop猓 *B6c=>\;I 'U5cr F: D`>dMdEd Ffh&}:L1:FƉHWFpiazP`eNe^8G|2 }h;8xh[y([1fTPiHn`&RISq Eew~gx. d$UJV:mBX˺qx/\++,DLP,rqK Lh߁ „UhP% `&Nh1Гb0(+¢uij5)X3iH Kfyp%n 9mnhS<Թ0]7%zt Tl[IU}z:+$uJKVG dևeޙ]Y -RBtlm=׀WaU+H9g+K;ȎgikY&Yȶ%z`4ٙwH [XgZNocڃZ_P9QGJjf|  ӻI ʄOp -:a]CA%:FKx ދpޘ^LhVы w0)q q /Z7&6U*xxO r)rrUxDH I3c*s2W:KHaT4/s8s,r9s;szs=s"ڲ0s/2bB/tC?tDg3+s>otGWaZ+cF*@UHtNg^8ML&QPWROuX0@uKG;UZ(b?3@~HTaR/xOgvgGDX$ OrriRj_kw''T/L`wwy];㹱c8F]lge1R&@/IPwu7q0-noD} wxxIw_B쵒 û_b`GaGjJ0:YT'z7L8NHT6SCe:hS@atx WzK`pzO3JNPvz ;H.HL;(F@)zL`&AwX|C&lj/{87edq|h|o&O_LOM'EJG~CчΗUupͳGT͝g{Tj91RKbx"'Lf`t!DNY#"Ow`t1ŗU5 IR DÓӥ̌`ƍ?ΧDJ5HL.) }c҇vJ(4mʎ[@r]urgϟS^U*EĊ;޼AՋ= g>*7$&1Riq `H^rB:ڷs;Ǔ/o<׳o}| 1>~mԬ253{x &w4b) [*X)1 1Iva dbEvpRRE0ؐ00E*cL6D{eWA'"PH̥`*h#:d|2 )wdI=ycHAٙf 9cHY uj9cd ;ci LYH$)pe `E zݜ:fki|BoO$*gIv9"++B| A~((ʌrA;((j+ܵU')1H"4uP N%x"Hm$ )Tqᅚ(ޛ/I/&efrYdc\ܰH H Aq)k/|r<ҩj$rL0I0|b\±qۯΜRrʣ 8[Y=6e}6;  @-+W)lQw}wDޢ,>2w(CIㅏrxGҎwڥwحw6K\*! a%GAaQEud8*fTDq-Lcr{{RJ3\ɧ42MߒL,ԯ2A`%٭_?" x6qo/3_S1OT 6u3}a)Y (y3' $ G/`?:C&mFt'=y'zZ@rd$$|H--?,r&86 Y'dR9qn4@)'h zd}p,Y)O${"P?}?R%΍Dq%J n)R!L[JK:!5N1$"V`N|2j'$8DE @A6f1"&RjLNӝF@Pz_&xabjYge 2щ:ܡvz\ UK|]C)ќ5_ kQeBX"qUH \TլhmUTK}Aj.J|kIX;pɣʥUlݺԦU.F1Afv @ r.x9Dg " o!n'I"GC;S@2Binԣ'W0"Se!d2eMAa˄ ONkE2W8" /xǮ0bkS2:m 'EX10Eh$*O!9JN[\$Y̎f- y ]0!2YR:>E'&G`;i.2'cZ egm(=œ #Kn2e7Ýa3]E@7`*$v` =u `'qٱu|7^q<`?]τ'TVm(ٽ8cw)L"+odž`P;r8>9Ѓ.t{b`~s'fwܝSy *CƇ> ޮ`/<6`yis;/xeրRx= gc˟P".6L4p)yʇ]Eewbc/Ӿ=xvIl(*[7o ch&_:BBfsK Cl-q/??_?/#mEQiQngoCHPNu#XM_!%PU, n v~`y C(ȟv,vP z<\ z1wl3D5LC'wd;'<q'C]G6lC^ !w;C;pCX!j!0B= wAD/ qĽ!ŠD 4'؋PX*< Ԡ(w( -w@=0)!́"D@9C:du@L&n+$B&+,Ң-GB" B(CT!3630~^܂ f=#A)88j`t%TJe*dB#c&K1:"- P\H⁠!&~&Acv$b?A ;p$xC:d)lC+$?E"CkDjG#?BEw@aC>>jH$IΚ5E#xdcIr7^IlfD DPA>RA48(3X أ)=(@QH%U"b)7L\8:DddC*'&"$¢h=਎v$|C:+<$*Dh*h0Jɑ&*E&d”Œnh2! ^8$-4) | 5i$HEXBd `…`0l<ڙSJ"y$*>2PC m5}6xΥA^9w.dB9yB#! d(f=&B<4LGFh=jf?C‘< *ZNŚĨ*2A@š : ԃjm,I+ ԩaw|Kb (I *(¯*В6{>4ȧ*R^>I܁7+| dL&̃BmVf9 !"z+|B:CL<$vǂv,I+ ll=bL+Dṽ+(tC>D%l @n-vwAmw@ٖٞ-ڦڮiLBX\f-76,D#zSŽzEC4<Q*I|jȄx:xC#Z^7,(*C;hZ@ڬanb"@%t d `n ZR=)D1/x-FNɽ-yQH*g64\D' - ]B^(ȯQȄ.Aԁ8bJ + &^vQ t'Cvhxh@0bf'ΑȃhD#0E o.%0̚R/p7HI wTJ"aR PB&RC$֯3FCND@5O_pP($`9LI\B=%d:؂ԃD+LA<$B< d$"pkF9|D 9ăejD-&7 xh<*:9@-BF@ffdC;@#oB~$'?K-a9(ivFR&B)D"s>?D'p@<ьCs̾B^Bk>Gb-&3QQuz-ՠxIlCЁ &2w jv nGŒiVT<@!)@|€"\5]C(`!=!0Ϛ-$B".!ڵc?6d0^PmtS`]B):lI`vd6jNjk6l6ٰl׶m6nxжno6p6osxHr`-CΎsavHtHuwvf^!wwap7y7cLas"!"{P%'w&+/f/rGWu 81cx08ev,-R.Bv 2Ƥ7e8*ԉ$D@m}[txFWltv862Duǐ+nFDNdJ\$9H}o9LMNOD3(,4B{.beUZ|B&shBijrELfe^Aej'0X;mNw#7<|fhnF&s;ddj^t;-l7"OW_yi^G%fLt-|?wz#kzle9Du:f t {CĪ;SfScT|eX^ffY6abc*c:fNcqs=HCp' XP_g/D@zr2Hxo~'|JfK)""2i iʧ 88tV腞:$<`Ɠ"$c%ĕRp:t'C-@Ėvi˿<ˋ/KLܼr=fѧ;=ԛ0r^ĔD 1қ|}?}?ԋϝ?RHI\ͧRЁ|oJv*&:f o=4&+B?NBAAjDAD돧p Xa@:@<+I#K?$Kɒ#D^zcR`.x ZW@$)8Q"D)Hm۸Q AStU S8(qA>KLEfHnܠC/RXġ*TiF9M'SԸQcɖ5{mZkٶun\sֵ{o^{p`Cb*O J$hUG 쓍ԦA- G>G8ZmZ@&} zy{7*Ó]uxǛtljK` ŝBHKk# s7^xrUSϞb;w/z_*ۆd)?4/;7^"褣κ4C)yrs\|emuܑG [6RbO,Ǐ%:s \h-)(&ը#؈9*QK L4$ PGK.&A(% RЂ;AEІ)x"^q;4~%<`SH-X~ Q)E$%AKdb( +A xǸx YHCZ"HFb$ P&STt~$(6$/ˈ3Fႋ2p#мX&ë?l먇) sQX[DT:Kvu#XX,[@XG 'ߡRb!e:[5?̍kU]*⨯ P;5|Bb`d)[YUX"Jt=bRHj,kRE4ʿ`nsn;vD[Ȇee[nݖv,`Đ\>pQf١4C592ڼ(Cۋ (1 4AKi+55# L9-C7a3/= "`8)\a*{0u`ݏkg;7b+!1_]w5pA;c9yCFՇx,F ,&e`QAUBbrk/Wkc3iV٬#E 5bk9t02FAAt胕Abϣhß͋>S@׼ w1x]2wg@ hqt>aNdԥu)^@щWk_SD`s$gj'VhRKrqpb<$vA>.P,Q3/5&~vvSPmRcwdY],^)صX-t-WFyݖ2{3P2nˈq!'ʏU:C 8h݆ZJ hfn v02G ]8׹2 b)!d45nMC ^bK˾G!&T Qew{b';Yf8XQQS"u;` =rQKhAR8U8)_y_NJ,@ lKg9IFzKY[PtYnSV\Dܼ۹Sz;çI.xǵ;bs!7~)}qJ'ecFjd/HrbiZ6yt9e_j .^  ܰ - d#]PU-VlnadHOb ~ VA `0Aiqx4BV)ĔAyp"^!v!Z)!8(2Aڡ| !A OPP[HMTK#4%,TːݤLm!,m  K 4V l`KWWA!&>KXdzF! " v;l!:!lޡjv&l!Š>Hh:!SS:"aD  0lJ~op ˂  " KP-,Nʨ`&1"3bw0!>dVJ!$#N2%WR[d∐6'B6OE`B&h& aЏ&qb%!R(i#:"*+݂Ģ֮'wH-MТڤ"G8P~B qd \`В>@031?-RA1 aw,%$Oa3Y[2c(5({B6h.B $>>D@ABR@ $+S8*x9[>H\KplO3Mx,8pܘHO,(bˎ:Alv=/-/D@cIFPv15K>*eWb(~%TVP$P4USDGD\VESTEW\33(,q ɖo[..(i,-4kК =M0 jź.>Ϟt,Z'!b d@`x0LT["ĕFF'FF > be8NU)g.%yfnRopfKR#URmBL.\+-6EMSR- KiK *vao/Vǯ5FAa>&tUSMan Ň||Bh~,aT%ځ(f Hz4bpRǕ\*RZlh\5bU B2?J_FAVc d!ȲA|HG գJI*o^SVeWi+25[Ŏ\j("``bTXVii'ifQt\VE}P[SlgsֹR6/0N\bblm=Pg\Ru* mEgJBoo/kEspqWqb@ @fZ Wr+r/r 47-s?tCWtGt[p^sSWuWu%-v(uAlB j(d (n'Ѣ: ]"Bz-b.c~ҴuWz\e06R,N-f` a#`@2-`$zB u7" ~~WRg/VgUg(si B 4 -z,HA#֢ywvɢV#NE>xE[؅_8S!S`k$) IFdNvT)/Y,~X#n-zA o 0Đ m!ZAV } y~7jF ]8 e pcsa؏^GSSqS Ϩ5\IylB|iR#hђ6 V3DC"X"(6q12AlPb]ߡ;!7a !ҡRq#5$G$3%Y,b '5v4cP4"lr26'!b 5BT4(w&)b)b!A 5@O@ t(#ך+ڢ/ڹ2=2W3;37"i534,5^Â4y4h$V-w 7 A#O#.6$)$8C9B6y[U?  T#FuXk٬]4`:Aׯ >v͢yATn5GU/ ND@B!Z 7-4H4 N75@Q&]gMM,@#a=PYnQhq2n5sg +O"{GU9UV!_9/?rJTWyW7B6AXbtHȇHp`^Y5۸ <0t^5I_ _93!b5"Ju>`qJ`VasD78_[ B B"jbI ʾ%bi)acmcȏ.(ײ~-O/D᭦`J-wʄb"k|xvkVF,y+"y\\Kkom.rLz] +#+ҩw/]7o\>=\̅HKߥ㔼!x|.Oy FAy!9I\Wͭ7NP|.NaaS~w-2F`! /wӂB $"w! *W 8f5rOO80w22r,T{"# V,PE}!s,hcM.*ⅼ~5}ze5w (S GתGX!U0) 8 ( Q 7"A#^uYơ;Pw;<āT ԁ,0 P-28#0pآx "amcwc5⊳/ߋ~K!S`a\" d6I:Iq# ylK{+S~KXaF9czuK'YQ,X_Yɱ 1Ǣa5}! A`olN AsUOwSy)])ĭC<;)ԉ+,[d ^:Wq0vJi %BhK aʴG^A(u82SHr*,cȑ)McӧQ9nI*] 2T=8Ō;~ 9ɔ+[9͜;{V<,thK.jX\Jʔ5kٴk۾cO0GUJ%L,~=z=ָDm)G8*F'jRP}eTO GHc y-,ѧ|J ;)O'S9 - GXa~b~A)7'¥M]ԓ KJHadɗ}%_'8`=e%f G WO)|Ƞ)aFx5rt%Q>qirKԽ$>ҽ grIgvޙhZ\;Аkf(.Jn'qJrIC0 - DC2}p3HC3R44{F2 ,*vb,y =0z%Φp7daㄕG#G&[*& } 8SK^JѾznæSo cKr$-E/*Kj)DLغ9sD .Mɡ s2LsK9  X.6/ ʧJRJ Pcb՛vILuY,%%D*ʌ(J o!}^"]M=ܴ4!E8" g2O 3\'xax,ݝ)pp"{]7F\O>x+.{v׃w,7K$"+;N7w.c~,K+8GSޒ$iK v柏~_ 3i K}Jo%BŸ5 {APVŒ-8p`3XC>#t["[(CGQ(M}2sb8 + D `X/#Xj(d4P0 YE IY5V5Z%H<KVw % \E9R0#FL%)8dĭ%C8$\F1,z ơ>zY00A vģS7#y1b$yX4Xv5 PQ3Ci:BH-AsK^ShȏHp ~q H烍1 0$wC) (. 0S e,$i,166!b.p=0 p-d>6@/2e ’K p Г<'!  3ik}I8sSl4  di5`0T5c P biI0'q 0p^n2yq"Vq @oT1%-fX115qf6?CFq1Pab {Nalj9t{3 !aU@ X) 2&SR%TrZb#r=0-.12HN!+X Uَr KU#q& 7 i_x )B)u)J` ͱi-, J@G2/9./e0Hr,C.¢bgȂ0,122T2O 3  PQzQx 5R5W5dp 6d@Ya=ȓ38ǃ=S8)<5I:HvD19ZpJC=#=$9ュ*(Tjʩ꩟ *x C2DC6C:dFw CCiF-:v+ ZKjīw:j[+$.TFgtTG GTGwKp2I*J%) P ȁ T[-a,5YXaTEYKYye1"rSVq5WRESeVhp-G6CSGkQX X zKLx~s 40-a- Pyܚ( &Y *9V`= -˿z ĸ -!|Ť.@qA`|;X_ vq$ɐ4Y<1Plg,8AιHf$ίܧ!| μ,RI-i0GFП)Z +u8yҽpS7D'}fsR F`+  ԁLD+J 9 LĄy < .@ ! L X+)E +E ( ːDgRj}CùBq׳QY'1-T+cp!׻\AO"4aĘ {-qQ~Mתyw-!aUI؝Y#R׭UAܱmٱڊ؎ܤ 'q-AmoY/ -]D'Z;T xyL)PKLK]A4n)V@1ہ}}LiX\Y "a"$@"""/%eh|ʧ JJ`y ^l!q=V!."'%~)2B# ,>+D$2Qd;j0hPPnc30ݓ!nԱc߁~Ϳ,BlĸnADs3,*+A}*A6c&`R1+b$s"/b/"/,*13/'+ڢCq-%zL5^.ʮꤳ.4J:)0R0sq1B<9-20a2Ak~N׶6<( G0.mÂNK褂,L +LLe0Qsj6W6g|6!63DŽ:n:::ZH0 3Ԧs:h DIQhp,,s__!A""Oa s4ݥC}Y*}XΙ[W!5qgy;["{=OqϨcن﬷n%%I~9Mol`hz@{hYh2.hk .AycK~@ p#C a.hBЅ@Eza 3EP?b8D"шGd 42)*UHxE.vы_c8FEoD wҌGK\"*2qucG>яX 'lHA>b0m49+Fr$A*0)2AɊHX"H)"T=r;Xbm"Aጐ3S" S@!0$Q&c";B vXV05M/y _%*mlCك/n<>|gKPnr%2MDÞ$O4r-'-"QM0nk)"'V!;)*8G1Ed `[1 Pш@hrEGc{.p#8BWn"ghs >!Nx!xʝ @vf)F2!v\:sC7n7fq&,f2gd}sF=f,6A(mi[`(Q& 4Ǣs=J#Hf i4tE2pӁ֠Ul2Zȭs^8##,Rr W |WX]~IS6#{pG# ZE7$\!vQ)ʵ/ !/OP8S z0}"1(R*2{QMj`c9TF(RHThU(K0[_ :T]ʩ0LqҒUJौ*v+y@H.0̌;8OO.L!qȌ&x,quC/CHC94/`CpyDCvH@d<I=BCM\>NCBD EC><;^ɌOB:Z(E+ęC,C ?D'"!0}trJjƖx@@F*2q$G C q\0C@k|4T.H.KH:l1%.#h(B#6H+”H:(V$zz@ 6T7Ќ=r Ho*$EKID3TpBB4|܌BJ^IpZH8JŊJ* J$J1Zət IŹ|\a4tTI)IЇݩmxH'rJL{BoL٬6XQhLp@66@0fRLYШpMd |Lݪ/%1ҹp HHTh@lh<0XPURՈQU-W]KYMJZUlVGRRVH=D^QkW?QH2j :~W:' T#W"}z0GJhylAx$J| ܴ},U0 Y"2jXgHh WJ 0&/9c85v҇jLcXO:''6[ [C!(Fie a DdR6 PeiR^1,,B6tZq2 ^'GWW=@_~"]H %稃Z6Kh& l6i0J抠PrcfZ8 9 hgz|}6؃g&6NaGFh臖艦΢6 }8Ƣ7xUXiPiy䈙V @1FN Ɠ~jAi8(顶 7ꩦꪶ&6볦ꌐd2)"^` s9i삗i'1X%rj(ܹk>lF,k4~px@&7Gm۱37gY=yþpHЁF8 !@H;AX)bqoOzL; OGS)ZxS*0LHAOp"7#S(F2^fqNHވ*,qq݁ZONhi'/H*4Wr%HRq?CO&rO#r,r2m0gt}r*87qt3O+r uR$?uCGuLTVTs?'YxNWr}|Z$_YSrOt4@AAvBkG^h0tu3J_h?o2v'WWmVgwھm3 ׈AXT1HYO1OD8(O271TGyՏ073N`;жv@DH'`zO;(kH0OO3LR1pzy7Wy'8T&7;儱{,A8OL1A|YHwRzȻ{p{{|-0klggyhg{U}{ψ}P|''}=ڏjwv|+%/7{yg~z!zKE ƗUJ(ŘU0RhX#;VmĘt颤$˖._Œ)s&͚6o̩s'Ϟ>ylF"5^N>&)ժV ֮^r*v,ٲfϢMOS}j#ŪUJJ-&r2 a3F*+0|LI5ᔆNi8UW]^UDR0v YH)Li `FHVv/aQЧGH5LVhhÉk^=t)S QU+S0ǘ# kJLb9k$[pH)_s)TwHRo"nvYhϵaI .KW}.5^|3u8x!K܍ dpiWsґ'SvB" %`cYgk41cYw#gi5*XAWZU*p٨BZZ7'e ]*zP饙UQvi*]Z АڡWNt*LPmH~I H I %YFc DN\'hrJ'$ZdAJ']hF)|N[CA]iӱ@F{^ܦ/ô.+^d%jKC1ERb! p12!r/ R7kK }aG CZWcX9c--SE ^e $E 򉶃$rU vRn[ 2#~դ6`JRJ cbC5[QH\r^zЫʲENz1aQmuطs&&K(/԰.xq`224)nw|D>ŵS/h6z[1%"%:kW1d֕=#z qt]]\< oxx+`sƌ<n Gx"G)Or O$.܅ j*rD$䐇G(k#PfTx:qL0q5/'I\};I~_olҼCSUC??6_eII)*PFM M&@<A* J}B'PZ}ZHOOW}𙠣_ńd J& ꠙa OUԟXQ)YM` šy )h9 TUBPBi AAt *A>a& Y`Z' ָO8! ""2b#:bFU!QQ) ]TQNJqڠ!M&T%ET!ITyTY#c11"c2*22c#FbULUQ|QMaK1YY'|B.qE١aQn몭.Feo/b蜦_\ ^@ 񁌲>B At"p 5,ڨЎH8Ll=,.cbD`Z,$Xi:< d<@BC&bLPi`G{B9p p0l0;p=p 0ںp&Ӱ ?i 8$;.1#;.Fcho r!oք`*hJ]tʧD P3K@tfr R0K<- \*ClpM0a^zc%r+ &*$e`1s=3C2'i.2*22,Hr )4+/׃/H܁7C>133:Si&,33/74h!s?|@@?C$"D|PlYo`25h'S r*2FC4v/D:8"e]2{1%t\ B=AK$wgP۬<'Pw'32 ȳ3s=4N__n0sf,6\ʥ|21K0#m:`Bq:CsI7Vܑ< #{t:8PqpC<9-a';7-<$B2uIdT;;W-\;s<{C<;߂;F;;9K; Gh|̛,D DhBT]Ä-@h!4K4 -(GM&%c\af\_؟||}FT(1B`D3Tz>`(hkD ϗ|![6xF%iW~B"PnS&jӄfFhܳ~Seܽ轙4ҧ4KfD1O#EkYAO A-:6Dr7?~kS~췄_2Hj_/ >v^=i2;Fxu <@'E5zb }(Pb1~zcGA9dI';@eK/aƔ9fM7qԹgO?:hQG&U11OF޺e5)Z=a5u_ =[,r4frB1+ĊO!GE-h"N<ɢ[ɇn+p&jɏm8&F2yGHpA@G fԩƓJ<vi+ ڱO:Dm*mX'%# ㏣H@ l[ϗ.{k58NnL9)j$'d% BSyH KJIK iQFp$JMp?I DI:ha$Hu#RMuim!XPPU-V> ]75ץE XE aAbWDVRpZi5J8MI[-\館r* .rX S㖊,Z6^{+ Ұ:48fIϑ8eS0"@VēU((U2iL:k,)e6  C#=}f}bvi `gᘎFQŖqgz;ڹZn,]u#:k+n E-Sϗ(0Z.z _>٣+^&h7v)NIE8YE;V UbS: BgFIAjh=X[Qq$yIkniYG}w)igu4aC$őgW zWOGT{OxO+髗>QzG' WC|G<|4`O{+$!#] xD< 0wF<;]˻`7Xoy1RHī/y>t!?"_ 4)B q bS#3RpvLD- iꓟG9AwLހQTU8.щod#f8ǙSt'8 %8i/}j_R્D七1c/ηyqw|M~01d$ۘ9/z %ٕ # N3-<0wCDغ̸}q.er?AbcHtOUP7X'9Ep!]z6A]B҈f ̋;9BrXkFBWTdbQVsḶepA_GFׇM[D^9DQtEKuBi=A|Gm͑pod x p6n{֮涷[U)O)HVkM[;[ȼ=5gf`v$+D-\nHb.9="Ä VQHlhSgÑ.nA.P$8YzHXu/!;tA:55ʷծc(~4Dm$h m7Ddv{D X7vOYO"^yOӞp v :pg>^OAZ:f{ G9_x_q^ܩʽ-C!FVnso?J~>;9 Ya\bE:3i RH,ARO >j:,)!G RJ Fd>D>:#@ D,g10ͨ-kϮ4=Άm&'/^oO0H͐P(pTg^pj(P+ AP i }Q0TH0Xap\$6 o/qOЏ#`o0Fc8 ,O!u&$.ddv!DqbaTe@Ħ*[F:(lLnAء'! #g0/s٤ G5=A=Փ)F#84EQdj7Qzl9bg(l,IDMDB,R#(PN6ɼ'$Ahp&$dj&2 2rt1[bHi)!nF[pDQtK'>@>K ME$B(6Cf[>!03z[<9GOMDNAO]BOrPnD;tQU&"!RݡUOr@ 8S^bj83#@%DTBUAVYuTTT;:R}WK"uX/XRuYYYQuZUR)ZCYu[[[ ȵ\\ "t>AQ,H5(u^^5_2`N枂tbRa24S5}fN#pE&6&2DN+#BzA:rĶn&J:z]RHd_e\J$&#FLbge"j%vLWOQP,v;jC!DqUb5abc_Jw@'*a–2`.e3EWJ#6(v'$#n߶'  $o="/Be[tfJj&mj N |.A < ca JRA_8A" e]0 fո.s4s<tGbD.;2A 0- 0al].c u~<(|ց@b.98c9dh`I7;d~{`I#::PS9~;jWS[ |C:ekY$zng}gHX菾( ."(*_0Hz׌H$NjdMD<g9e+Xj˪Rʥ`JhʦpJkJ4; ۩J&g.a {ʛ*ʵ +ʮVk5REޛ.+$0z#D*:! */|EzS d1 -dfişK: ` 뺬g7"OƵz ShvO VAp<ǣѨ!<ǭ .,AT|ܸ.U˹\Rj8dzz;6|A 0 K դ! v~l37±m$~~[SR٣Ɩ ^z 6$9akCb=dKе4A~ aĴ "```l$pOCӧ\H20!U=ILt] u[Ӱh !.#0Xe`"~6x#;Ãm#^:`J>!wV @g| k{5x 4>˅E%U|7m'OBk;wݾݤe-מoڲݶ* rMpOFݜS ܼ`\A (Kn4Mݪ( K XvebY6}QoQna~!M|\ȰÇ#J6> EYAj LQ(G1C?,T;]|ToLAFP\h mZ VږbK eզیbeT)Ӯ[-VʥTU>:5)UjV{~ea((CB ҴS9S^\o:q.q C%y+g~S\O}LQ゗lgի.QÅ h:E&ٳ[|!`+7nvIP9 U0o2zڳ'ԯ~ 6(h& 6#VXa} &b •D P eIw2HA,b]))XQcJ`'tG)l'"&Bd)|!&89bNP%b'MYY>'X gbpo\(2-,RPVTt"X CCf ][qÔ]ЃUjAo1a(RAīpĪw=} Ӟz"2P}Y*A)1O)ܡDi<:Ե'~Y[m0R+tgjXmAPEPK9pCI۞N=[/-/1\AAY_^,^)'^-1J/ Xg\w`d[Cz'3#@rbjc ))$Rotא" 4bڜ8@B 6vsG*dR]rJ&[ 瞇n~g*Do*X;')nsHLC 5*R ЇF2J,D %ms Cc $377|r 9 SjAƋ)?ATEkF C=Uh)!aD@A7͍3x )[CnzcATec3Ab< $Z/0BjЂcUVԁ5FՖ!y B:zC>nMa $xE yH G";>nn\B {#@&T\uRX%~H_6bYD rj[ 6%f bqcH7AcU&;P"@*[W@\sYA=֌ Ф_ԔTYM듇_o1@CE;v?mnLBЈN4F;ѐ'MJ[e47N{ӠGMjiԨNWV^SOdB@RG-H&VèܐfBC5ngv;]q;@hv!G? Ӷ~UTvk 4xlc4 45%tf-7@E0W$"#=r;Tdq?D)O1!Sqn4 fNRSyHDzg]I!v8*N&X`tǻC6A\!^~b&[B"w?0CȾ ?h;Bwĝ"/כNc:Hϼmo# [!XbY7p Z7G h"TpF4 p8W Y6?ǝ1f"ǟЍwX<kO(S(:y\H]LO*y6Xw3=W7}|'}1"@SU|"0nu~'W}@)!v|UU|7}w} }-ݷ~{6~b~g~@@p~7qT'S6881@?bhhSphj hZ[Q^c\` #ZWRgpB4<ߴ s G ԰ +!l 3DE t0. c P .} ߐ# @ 07Y X` Ck@!@GvT*J` PgXrUg)` ((28hv "I~= ǘZhDR(HH0Hpx碍p-q =|ŸΘј.hXWV3>P6af![q8Z m vP$WY uB¶p38 t Gm3l0/p V-|*S  q-x1k11 #8-~ 8@QնiYCw/6) )阳18y )3xyy0|A1YXAT٘1y3~1 CYĔ[C9! b Zf qgXW;&Xه)uWhcS d{0@{&A){q-91c 514q~ }auPZXq)BȹD 9z~. H #XAAHz71zFwd/*zBZj8s L&J٥BI(>*:᢬Jw٦nJ<9Ԟr P+L`+vu:)vj"~* u+~=wz)N;Qu*?~ x!u g0QfǠ .=RMNe<~ȡ-GСxex8acj+ZVŁ>ѣ^5:w׺ ӫ\:sgl{ڮ$d-Ӻv[Yr Uq bo { է~ 밐° ,|#d>v'sR'q3'Whnȳ)`'Scٓ=) s0B&".+S1dЉ/R"-Wh)"2 0 >Xgk嘷92"SzY2Eµ"/ѵJ\ Re0g+k۹K(; K ROaZ`(|MpQ~ະ+y, /pv!2;;:Huch$`{ϰ=# <`) =`@1GuyE5~t>6C:HP @ ITDG44DOE>髹 0 2퐝kGSB0$CH-C` ^%'lRɥ L\d7ľDEYC>D;{1JԿNER#>)47J`F|j =J`? Ř* UŷVOaiMK٩Lksq7NM&O`Ѱ W]`uL R0{,NGW3VXBT{X%V`0 䰐VmYQ5U+WU[hv4SH݈m@QOhڧFAY!/ wpx˾W|ȫȌe sY>TKTQɗɡ!YlUXUU>\O8-U[_ӱPGQ^˲ZNܲ"E^|QZa  2+jו]q]nG _`ysv`v =%}Ѡ1xlʦ` 4]ϻTZp M`/`(f1ƁzVA;X^lK?=0M n'v5Q]kccA6d&ăBBldjr=ӺT#vz~PA{Mۨ1U&kuQĒ~} h|o=&w6 y~VjM< g-iMתڸ$e,yCab{{ۈz<(; gܨޓ͔ she#^Cj-Fb5}o&]:- k ߈kgi~Zh5 6 GB p` ư]>eJVooiǕwpp0ecԨ-⽵r\3sAqsAgNP@` NQ7uU-Xƀp6y)TΔ ="/"xxvXs܅3*_ 1P|" *'u}hzƄ=x~鷅') B\ ܨ|"DC<~1h &aA8E(7}0h}8e"H'-x.A͞N~>ׄX~K^Xďs 3~>^"vS|F>[ y6@D㰐pUSPXs!9Ca 1>T)"i߈_#o6O qȘ!x H/*/ؐ8!F/Y ،㻑>Ϗѓ 1+ nlﹱtm52Q9)Pxj[* w@0`Xɜ%-)2i 1l)陰Gzɗ~I)q$tٛ}i/9+ ӝUbv^yѿ52;P yhO-j*.ϡHС aXZ&z-Z/;ʭ7'\HAR D"zJ:48ơ%z0*^a !D$G* 9K!JReM2JTK͒5GK"ӼClp>5+m{Qs/5pEZYiծe[qΥ[]y_s#DW`ĉ#|cȑp{jՐJV jRϒEL͢&mJY;]|t [vIw,Ui7/O\y 5՛jT'8OC?Nu)?uS\Z0˧jC*n :Pcmi*[ͤSDDk4STqE[tEcQ1F s'{G(kUHU>쳚B2#&,,}RВKpKAPqtjRM7\IgC&M"rrRSΧ`K'LAO>Ss=zTNRMSDG4kCmTK7eV l͉SPvҡOEk:ِ>%cZlv[nf\r574"[vۍLHXHJY%Չ\]6!&HᦽliHnǎn>**xhx$n$Oڱevrlm+K%qv\%N Ac)2޸A RyFYe7Ua!~URmYo١.ನ΢q,dzzbCg馵 )iAdS`ͺr.d qnt"mu[B5tSW}m#c}ousG ^$O V|Խ-Q)G:Җw!Lˊq%ǖǭĖWR@v1YDȉq>~Oa oށ `xC_>rI=5~^O7=J~8A:NX7qYMvkV1ܞC>[$3 'q r')NQŐ|e 5E0Qc]hw3ޮ-; c_;7f"%NzJOZ`-vDT0@e6|8>H?<Y'|ADc'=IPR/fDc)aF=t^L" EyK~A#=˶%t0u|"UɉY-0ZSf7EJS:" M=s,^$(EozSNCϳ']Pc1'Rzʐ@ >PF0 'Ue)pʼn4THMzRT+eC)ZQ]t"(m0!iK=YRUC%jQzTɼLK"`=EZUfU[jWԥ4Z8F2D5$=C UiCH(% w,Rš1Zlcp!Kk[,5SAL9-1p"khaW-agz3<5{ܝߺle38.lr8~vWVݙϢmnCc ?E&4߁Ã8=|;ηYT hڷn7S!rL ]KgK[خy-j=+E|PٔkƺU∘y]$a$AE|^kb `z"f0`ZeRqExc' OHxظS7Dr cb@D*ї- p{޿ %k_!W!.)Xi>O۽?s?s{軽yA?tA0<#?ȼC5[>?A4 2K4\AlA哽>+ 4A:*l#Y*ٱ*t#7sO0TF ;iC6l*-Z,1H)HҲS%±DT<;?YHty9 (D@DT? D 19 UD: V RtS>I.E@D^4$/X1p_DIdja,FV|E FĊFc\jk2iC=C?EA)[CTZ<^ĚUhFud1G?CcN4DP UhG#GVlO#mD\ulȁBpQ Iu6s ˢ/TC 1OxCv /PKJCpt9U/@Kc/ƐG5";SDj$JʟrKAx/LD3N,qI4$ʬ @ˠ˲@B,KJI J\F,S8 L@Ld0L8T$,\+ I<1ܾ}\LnԮJ:M$"<ʣDM4IMଋ.L 8Зd/ҚU0*p$x/EƐ:لJbM}̲NON`?@8\O10:90? $/dЬPOj~< mPT\ +ӯĄP$2|`QDŽːЬ8MO\EPPUMQ+/%5RDRQrR0 N/ҏN"1$ǖ4T6D6E8lU|ς}S5Cd˳@UcB=ִ:FDJ.KJ=u`ԚS@AQ=\s8-M:@ 8NAUJRXFpȄN;(XS/L`IEzY 4?O.GG ّ-ُJ:Xu=諿, H!(91HʒDث=eZ1X;* 4KkbذY[]SKsGP[+KlBj[eYYp[;۹'Z÷MB2m\͐$*Y5ىZ\ۦ۲ۗ٪̍R͵\;Eummӵݵ%]و]U6~-^k` ^^F1id#8N $Q?5-{?Pe@ewQT SV ){YXZd]f evi^wL8';`E/Ofifj椲H #+a5K2fu^gvnq9ytYwbg}g~[B,-4 5>hf|^h~hhoѺRZȁhFhhǠhq2FiyP@[آ؃[pi6HNi_0Shý+kQ jg i@ jX꽸i Ȅwp V`9`j0jvk& ki 4:6`(pikkl&f-ij[h' h(Qhj m@(iދ޶ZxedQVX +WHLmyfe٦8nV m>ޖfKkn(6XF욦0j+s"Z'0xܿ$Z_ w  !˭.qٱh ^hN8K: Q@ ^ gpjJHjgvwePQhXPj-@Ȅ#j ʄtqnx+oXy uPvsxx4Od.zy(ꃘzt;w3O57 12W"O4Ws6ws[s9sN;=?G@Arw+ A'tU9D_tqtHItLtAuPsv6 Nރ5X(*lqs@<D,RFa+[rJhg0}wgJO>}__)i Q0(k ljWpWyHdNhZL INoHu@Hy4IǚȄg H)/H` %0TADw[`yyKxؚXrxyY7yWo?G+N. WyzW w0FOazzzƗzx'GmY068"5ѿmw/t41$C3ğĄ  >؆N-jXwPxj:#prO v +xWXy@y=Ʉ '! @ G)@ `TU$l%4P:%tazHc@H]ejH iӡA$!y (ȣ ID9Ņi*֬Zr+ذbǒ-k,ڴjײm-ܸm#k.^ukϞ[R|ך Npc'STۘFHBjRZmncke}bJ Θ).у3hB@^ZjTzJTM oOnTQڑ4Q=f'V̝?=auΙWv}r TOPCyJtH GI9O)/)!U^K'*%O'dqoq  0!C2Yu1ϬTi"+Paߚ}6i6&b-ܶ=775ɕAR* x1 B3QC6 4ZʌCCP X~Ud!y+8`I;QhK;@rnC2WPR$TKMsӝ>)W8xY9PQ TGr*OjM ԭr^mձf=+ZӪֵn|@zVʵv+^׽&䭈;F\S =,bص b1JX,4VhD:lArKcl8aq&RVmAB$%\ove"FԌze"+]t/:Y8XtT ? 6veX\RC^`1,#yW, R"!ցߒL\A/):ЂTB0{ [-e0ï|x+"U aXaHD&18J_D7>6_dm-ʑO:&cA\!8/ Vym[Xk߰HcU60[(0n池Yskl8!K$?6YdBPW>&vӪ*gC.G=V25^j9qCJTDLvN ~&dyR%\KkT"E):qv%2Xܜݸ;ۤby9,553h~2e_ I nq)H6.vu0p(AeL#@M{Vᶷg[e `p1 $OlƕWE y)d&!q8Yxs€p;J qcB.ՑFHC>U2v,7(09S0n#y :HVr\"poANFF#˷SJInun|zm]eOt*h} xBD!yr93In3Чq~u孾 .n2ip6yuC C>Ͱ H`YZs! =n0]nRېG0.uCꞱJ!{YTol( M$>T{Q5N@_Q324W~_)|%`M 5|(t(| LH` 9*C"DKH<$ȃB:t$|C:@:!@$'MABuCB:$<:%t7ܘ&":t'C-]&NLFˍaa "-,aq|aB("8\%QXEv"١ߠ4 B &2"Vd*$ԃXKaAȎBԃ"B"263& V!bMCԖu`GZX & ev:&9: yiy]\u#%g`B*|B# yu)p T_Љ6ƚA\d|Fn5 ŒHl[ IZYXF HiKk((GHFQO܋4pDMVIVM4e ЁlAMeMClYsU$%GTXSDJ̥S@AA^x|;JDBLV@DPT$BhDxDeJ KRԽ9L c%fDpŠ!gD\BfG|DP@XfabfϜGPVXˬ&AXcF71X8^1UW:%@.b&6#..tJ'uBB/b0*5a6"" d hgxh4!X#d/ E F (:kH4oGT.(5V VױI9(^!LNCh4$3㬨l ,|kPF%쨁(& F[eBd_/,MwPi=BNd)v;C9wHC,HjlvL".쬸ΞR*K K2sy*V^_ 8j̃+(tyJ*׆r̰HGG&եjeIHs8eL j M^,$.( 50\pnP|&DTր|NU@ *.MCn^! n.t.ZE`CLBLĊAx"ҔM_)Z=Ԏ}ogxY Y<^q7rC:%\o69bu'x"x;(%I`GZ-0F_8Kh914>7%hzm=ٔYJe8\PX@9M]sAw9ZY}'YyCyV=KtXF(LS9a\+՟_F/[0`-$|lYDW:0:V':XW\Bӽ-Y<:z x׺:Uz::w_H\ֱ7?;HXwwwx%DDT;;K;DYtPi#{tA׻; gRy*/Bsy!Ӫ[vU Z(U*eɬ sֵ{o_jϞ^R,8  +p #V`y9wthѣI6'.sp3w5ѤJQWw=Zq˔N8)׎Uo&[;yNB"'7D!=O:ew}`yE)S*O?TpP|OH _ 0r,t( ' =EԀY~Z %UIDȕzyyo . y.L2QNa%$i'4S gJr%l0!R@lXeZm\u2Zl 5U4w):ZboIFaN4p+VW^-t]v}^xEA]$Ds_ndF%$}SP“u2 ȍs1ޘ=Ei6zM(aG򢋈ƅ+e0Z^YGiӬCFXȎy])Vx4ꪭ묵p^_OV1G'xD 񆛧#"Z %y bh^0/0/3:ТgRBWP''LIz>!Z ☆< 8>HA+HH p,D$#v8*N'yhE'~+璫lOE$!)VM>yD!> F?%(YHC8bPюvd'DpTe CJ^2_"b7pR[(Kk+MqL혇:`G;!-ɍc7vbu\ KYSlmr\"]z2y,^"*,'Ӹy 91w#)#2tC UB5Ɉ8b۱J*NхNBT (JrpÈȈF6‘x"7ҡ-6ӘQ& HY* AyAJT>&r`uKAv#pcD;j'+mi ıӞ4 AB zآgFE:p$!43+q K"DՅ|ЂDRlcUbЇxbH';P,ed !5y S< aZԪǩ1G DR0B3NO0+؁E >G'pdŵ]-$v ɁČ;qŌm&6cD~ ><[_@HYKe- $_d -,HS>%*(d-)ιbDul=`U0$Th ~p=$2qTi1qġ,f=ein Kd—#>k`'?Uo *%°eRD"Z1q Aܡ Q! c Sj9l 5vy!@.i\=lF91>_TS3 |82"J˩Zn4DS*eUs uo PvtyY̔@~-D6q״1fNQ<;;(hBzrZռ-#pd`ِvSpE|{эٰRlDzԢl z0VC\fx,- p ,^L}Ҷ0$n!|-Ŝͭn;:O\s#c,$WrG90щvw0gSw$WBLzТ>M1:=ys-Z7 D{zO>aam ؃[@M |C,?w⿗GԩN _yjwFBl{ʎvH@d~} mD}ʟ]ErFd`2HTd xoN&$ 1vceZM[-uոb da-B$D#P>!+D4'ؖlcOj/%AaRbIF%"Pr`2<`%‰ݶ" A=ʀND $ SbAHXaJb;pP א ې'MBGI|ɘ#;!K G($0Db0p*$Jf!Pp 1EBK1Dn  /0jP$e0"+6S2Tl[Q|p'q.2.Q^o#@9F-z ÞðE[>!S?"-ԂS H(%T%F 1Ti+nA$ƠL`&P0(:a I⨳t Ob?bð'ƈ1wr o !.o!ǜ!, jhװp>)4 ` ` 9Iɓ隲ijVO 7P$c:"#$# rvR))-+){i,c)"j@}pR3^Gh!'9.NHμl4 ކ,j.>*FL I#bʧJDJ$*M[,֋چИ7)6Ϥ93Q7ʓ(RJP6>C3["皆bgvR?QB&8j3rVa:) !b2`x!~PDT"jY"L|@BEuQHg(T %OH>F%cpV42OTee!&fR,l^^EZNiK=f,ʆEt 2q-M?LKU~ P!"*ahH QWbʶJQ$4M E -&#:M""2 M: m;2900L< -("#U/!5!K,:"Y 2Y%v-l);HV bKmƭbMݨ!܍d(fX: ,u 'Ȟb)&]m[(dU µK%b>a ]1a(, .QVA&)O n.&OJ)f5pHoU+|FRҁcu XVV5/6cNnNxdqGd!^ 3Vj$$/1j3d) t>o//n$@co$tw/M`7Qi>A vP@ 4nN?l*6"jk'rq%jK4RR&WbYﶡ+uURV7u/U%Jɳ\dw&Sw>`Pv1 sxgzyluwry{7 zz|W|WuE*\zǗ}}cbuE i&!}["s[BRnct 5ݤ]WS uHm#aqbObPX&7K"~4t}5G} th"RFByQ#x%,5ՆH .R-4D0̏ņ5%'f`xRc؃@*]K}I R8%rMcJkP >@tqA# ?" ǐ$Z%$׎xAAُAFbC *.E/%a2eiɚǢG)I0!Vi8йrҒrh㦈*锾c9ϛ"<=9-é3>DzI/$$S2gGXC" ~;bMj9kV"lj7 _ BbĽ7ăs)*ŕӼaqfw?)cɎE nF~da·j3n $" C00-BA`9 =@A VmUF]`\A pQNQL^陞$bKꗾ?It !+`N'\bLތŊ>#RN^.N uX[z_ٴb^[>?"~`2^O{NL) N#pLy7\T4aP_+pBMCW/ u# M`! b/?QidlU[pa%!5!7-DUDV?#T"zHRLcz%:1ĉ+Z1ƍ%xjՐJVjSRLYu̙4''b"<%AwHthѣ>֛NܥKOD6l DO ^'gڂa^ lgaԩUM ] %jԢ}et5`RG'/]TVjul[Dk XY}ZNVΟGh1O˹j#yttY%hlǴ&]/уq_&>{~0>Eקo0G_{I/{$65-`>aNHa^|1# .PGrP"tUb  O'@=G[0b+ #6BEd BV]5bHe~'X|JJK/de(]5AJh:JP;:W=;"Jsg w(Q8\6ϑ1,jEABPw0֣AB;Vd>YO$xڊfiPz5J@0KD> It((EhZ&iApb;DƊJ*z>y긳^TxJ;}"c蹋D(P4Ar|%{dA2pDf r"L2Dr0Jt-7sT ;1E<@RK< YcؐCC$)Ҏ)"] $8`I;L;my T6CgLwXjd*@BCt"_Z*M64;$7 T[]US">- )pN'xҎ-C $)El=vRD״wZO[_֬sCԺ+pzkmsLD?U_Qkn~~蹟z^8u)V{ C.LőG?/tsm3Xhf-R@"G& ZhD=qLwAaE"hzf<``/# ( ‚I–,C0q!A 4D RHe! ^V"dH 0cl2Gl@ܘ<^D\-BG9T1x3KE+m&9i OǐT$#˙M#D*w1Е`=z_[UO)9E/c¯/`_RcMxA ԰ 0{@  @ 8 /7 Жz/G B 2;NL   4 I 0V" C"I@` d]!sA73>[GK'44u)Ip7CLA(TV3Yg993$Y!9<+ْ/k +;ٗ?q3B9F5H %PٔOɔR&iWi[rIuyHZz :%Ygɒ. 2Y6)8!>ɘACYE@错9wy##`HfF"2 o)j񎘐 Ga"zbz)5v-@Rpqt[@ zɇ/ Vp')C S > Yw\0!q,u.B*rVJ*n767:69ʢѣ+jSx1j ڠ:0Wr\-%:qѤ?Z.JAEڢG $K]z&|AQWwc /Pp0:aivh= 7 h&Pfcr!twv7h aJ0 "۠F   zRA+b h#Aу ;QZlw TTwѪabڃ-apE<^%ܪ4JъjE7Z ֪bٺ\Z: jLҬ :KZabT  Dp(/Ki(pF:|_FY9 A`!:0@k H wy("A&Q`Bc7~!lʀ015,a-p~F|A0o;۷l3 k~+R!Ƒuql;o\s,z;|KU!AAqt+lqu{ 1q0+vgt2Fza 3;p]ѢL苒hhHG*Dh⻊ȇH!DQx|Z%^bKJ` `#x4&3f `"s )'p,e+Rv.̒).b)r;s","vu/[+z'p~b002'9Rl;K2B|]e g2 B!F{V{Bu+'l>nA 1q*jVa3b&oa}^2.>b~j&v)pp7r[2"bq< .,Ģ,Bܱ(I,Y)!%Djzj&n6p6ikuF.n쩦rVj9ݞ^ ,21A0 6<9c;cCLЬ QD-^ĘQ*N9JPTlXuj UbQfc*3稁,()(9IynqlT4CS)QZ6-2CF*%QМhHIѨp48uR[J͙i׶}'PvȥFw]Kj:4F@XaS'WLifwy+΂ZtlڵmƝ[n޽}\pō?x\r)zh"ٰr),K5OBJGb5QHRWZFNf_k0Q0oqBJFc ϳ?#D&2J)J+2K- 2L1n"O`JF|@LVdUVTRimPHńvɅ =4Q E&{$*-p:8!)=jSFol#ihTiJuk @tNSMu J-/1 f!PDmHXC{UU!F4A[o7\q%WJ/y&>S\wݨLJ3LLVd9Sc<ӓ>WAFbas!#K DJ tC5TqVE MyC39xEb@TQ ]8amjS9hMyU}vXU:jjcZYd&=N ''LSXQdu=eN0S~m?L3OoB1UX7N5ˁf Ayo"`D8BЄ'$t0c<(p; XE"RCL8‡D!ʎBC2CW?`Pg.Xޠ>j' ޾iVAإ'H\}pŜ(#=zR>gl*OdȭHbB8CX>D0d&5I 99J!D*<ɕ@H"Jq 8{J2g̯XF4n)` SqT$%2H, %,F 3g|,e4x9??1#bH6ɱ:Oe/Nf ќewofChS0r5)mƤ#)%:QVԢAM4ZvJ@B`P4!<ց$%GW G<;J9ZZֶmn;qHkE+ց(a1Ip?wL>P9>ZWÁu]v׻ߵ Rm`pҁ-+tc:J |4Mv<`~ni^\RDe=" ;.aԁE/'FqUbۑ`]eXKa뎡tM.M txSDT?9aSD0*`XyS'1qfue.]α_bFs<٭kM/[[XfBbUKP"' *6K^{%{`@@  xE"2!VfԥQV5OydYִVY!9؃߼hf7ٽ6CˆDHQֳ"$E"Lak[ B;:tx"P7]g7z v)0хoBn QX^͡ 'WD"/Vt5>E>rgwF<1 VC0GB2Ax<YZu hrIi1qp#80[@nv;ӭ{u;qԜ 7A+Z d x͓3tG<ȑ!i:L0 ;Ak!N1x.%D^OxB\~򈮇q_zn~ 2ҕ||< ,eo>vStV u qE= H<HG' t 6<mnຕZ;HuKohPnCDhNhZ@?c?uhKDK<t@4ӫqK rLcDA "$.$D4& CD'0EsHá34Y6y|*Y_X^Һ>+y@@? ADE!$2zpArÈx[CHAzCDBxāDMBk8NPKSDEU]EXԸ_<ŁHE#F(26KhF;tri{{ۗ~Q:6{=̱L8TvDGw(z8~S;rXcǁHc\G^(uyp%nHu9$zǐG9X -ZȆ|ȈԬ8IHgƙI vIl{#9| Gu+(P3zK;6yʨJӚ)KB-0h%u2˳B K\TuxzHJL2TDЂKLt,KŔK_t̺L)EFΌ,>>>ό{KYyO0ʣ?KrA%pFBM Jz)ā%qo5 IdHD-K;LNkd$E!-4y ,.L_턣$\OErCP/AvP㰷!!GǂK!xnHHnO[hS[Q%Q;G$xDZZy+n`NHOt[+L ,rNh>l-HW<-P PuH@V)mDz0L`RXRjR5=L6 ,R78Ә"%5mS3R`[eFuT#_LUjWPٴKN/yUrrLXۃ[/$л*#5oxHKp(TԇԋrP`UWU[\5N]VT;r|xraMbmnETfLVOB6G؁!PKP?`A7Heˁجx OE]Um5ڄؘ٪[n1'Z 'kRxDQ|]ڦ-KZ˩6s3ڮ%+O.DC)KH@0S#Pu{ۙ[[۸EWN`=HZpDpU-%[@(\%ZZp硅 upWЌw O*".2z%=1oX)WDZ~X=E@)x^+3K?zKUSKU@a_ ^g\Ue_bܚ-q~xDpz|QE8] ݱa@UͨV``  v `|[.   . @T(K݀a-1 fn_-rPto8G1xO4;+BotDc-;3*{=2n;GIKJ4L1XT/"f]](!䄐a.Hd8dx bXFfL>6@dBQ NFH T UNI S΍!HA:Ȅ VJ?䆐!HHnY1UAyLH@!0knVfT|K}Uiw8XkXFP  |a|^YG6 e腨gۘd~fnVdh臀hݐ>h} R.8ih݀&f,TP>~hLvذEgݏeTEVDW8r.vE8c(ЎÒPA6L8RؗфF4L[.볞0 97|yeOkVFHT@ZBN`SHNe ƷATLplNhR1cVlꠞ~N*|9mlmkIdLl m}G>ၠLP%\Tkkpخ.kl nU.% ]b~%hNmln.nOx`oWBm8l.oKF>&&kn8nGRPvT0X*H5 Goc GK|p!UJm~xqOOp0ai-![~dNax+zWtwrb)t꫎>5j+ꄈs1 ^O1O#=[0` t>sHA7T1F_?Hش "CN01;cO1S O30)Y3L.CkR7OR1l|tb3_vxHT_uv`7Ub1T OJ'd_fgu~yX L;jMT7voy~wMvwLpqguWvf|u[!xxomy uw.SOO;(wsOyOogn3 y;Gxg `6x1@Tpv_w.Oz!Iqe{y>r*n{Phŵ *̏zuJ4ƼJ64QsoCƷ!a|TX2AL;?}|/\Y7}Z(klp aJ轆 I5Ж2/?#6n?LHXru_ hDW}o" |1|!}O^ˏΟЎ6HT*HQ'U?0L˪WٸhQ"ǎ=RxQHB;RHe)|Lԝ>]P쬘re˗)(L3̚)njɑ"§8JʳͫSdr Uv$V ّS&+R%=!WX7+'P,x0†#Nx1ƎרQ~/KE0zHvF2.<:Y~vo+%q VðJUz4T ^ r--#B6eV!#y&SI7q;2 H''HH6mTd.MEm߲[&k!p68D -pp"0"L@Z20pBCm u{d <^ulL2v=z`N "en[47Y$q{ȵHt^>kca2uH}BaO % s$GwR$li-7 aޢ#FFCЦCSNW-2H\8&as!*'d(ќwB6L.17?)lA. Њ^c:Y"~4ap xFa`E f)SWDBUԔ% V5{ YH]lG#BȄtf'j}E ;Y=kg{ޖ##?7nà !Hdw bœ*g* p;%06%c<ڐ8Ǜ<"9Knr$8[Θ<29kn<&$P\{. <&>3|NZa4' @)&R9E!6ǔCxB& !&x@- "b"*"F}0P".C(A@0G(x` )Jl (*",+@)" 0TȠr'4H@&,Kt2NLDCLHD X ~P5K E7AL\V8IC@AcEDU\7EP.c>cz 00@R"0[`("Cv(C$b .`0@.+~`z*Ңʠq rH̵$ϴh )ڣX_H njՍɟOG$ EMFHI,OG>JTRI?z$) V$.dB RGXHbF&HDjdX H( B)" 6 FKtPl-ZMEhM b lNTVehhV$).$0.`bńHC,n\&D "Z6$ *.dF[^`m"nL dapt!º3JxvXx@nĝQlQeJDJLPUmQ&iÍGC%(H&`It"@gr2o~ e[bs  p*B`rN'a)#$S*aicP(*LO/ULC9',בID\= FU6TOa+Y2蘒iۀ@a,dGXv ~'C[h, DbbgAhy@h%BjuJiNP*,WsXLȂY~|ٓ!G9 Xj|e ј|9}ij Ú&D iXbiB06'Zi[ꉂ*ƩC.)J' MBQ`Zƹ+5aj.i +AF L$bI%pb^[-DR`)G"i_۳uiǂlUfAkZb NdrHel6l*FD4(l`>ZuÕl:nki t`ʑ -Ԋؒm @(pku1- њmcH$( [^dZl2n:˭\G|< N &f |-d;+<7颮-nnald6:ڱ۝Tw ܂/ $ЃjG0*43~p m܁7C:BFij<= t=4d<l|4KD4=wF/7ctFk.f9g'rs=\ ACF_%pC+'7J4K"O/t \ m8tJtK#5GlFCuTK5`ur'vFNFl04GFii ACP%4K|5o 7'KWxoBlT_&"I$)_M0G ] |C:$Dc#KL\B=%T-4+$-=Q8uB-B`mvͅ+h2^5GTd+L9' wLp<܂pCU;C9d-@vxK7wG+vzzs.^@/&|w~~w{+nw/ZA18CxK)[cVxsx{8nx :.ve<7u ɸxp/3ˀw{/B!*{*-޻rk4}K +ja<9ϕkJ!ty9F"^޸$ wyo.cԹFg/G9Gڠ^F_ +E{G0z~Tǝ8G4'R<3xwˎ q 'F ;w07DpC;̃:\ 'q&+tp:x;8 opڋB;nUOA7@-H7Xδ1x:z|p SGh;g_{z7ؿE& 䬽+9pD||>>+=wlX%2%ț/?A0-0ph uĹn2doBO;SJBPCi)Th$IQdRe.B$LU4KSL70?[qTW}1XTsE4YWM!0w}W_ʖtigWY R$UUá .NXnaмUFbO$;.1seJ WAKAe1;.MA;CĝD}YT3D kVٲj)GjI_n9!*^|֡+XSZk^/ nZhZ0B)v{ʓy0;h>af$fQc.[]I/QO]"̎ )eeđs)KnnNvLyPygDZ)n$Oڱevrά]ގq,dzFZ>~蓧`R r`pGO|bW/}kh@*$ |$A2 $X1O(*2L:q..I\~lAЃC u{c#(?XF1e4[gAx"@^VG9 dlD_6D8P> TYC,#> -2CBHюy" G!E5QTtԌ7**3X' tf*VZԮ2YTњVmUSϘ53gP M㡮g׾f+]X.= \YNe1Y/AVgAZюliQZծuk/s2 S%go\ mRЈO"C)Nq $wT >=jhv҄)[\u{!R5 '2 Lo}̈́3.m% [a O.qI2S¥ t hmcS;G;c<) SsV Rģ*3y#%QKQU򕱜bX XEJ Db"N\N%thG-rDxJ(V'#u1KXV nď<0)*I>eQԥ6ø,0) UcծS$J /0xTR4E2Pv  0HB+ "pЃvjmo6kRFqLŽތi9%<\0tC-!Jl5|Lav&toB5c _0 Op㹢 " VK VxjH @0C ؐ3mܐ2ТP Kb 2  :5 L Ɛ $1IP =_VkKRVn7:t@㻔ch$0G#KCmBoP*9c 9p1)lq2A#q5)213ɱR^B N@ $Q) ؈0aoUA!h0vJ^ 0Pꨍ $28pCc,RNR!.1,A"mv7pP UR | v(f`#ĀR%c(k/${$MR R"-"$bN HV7RaKrr%O,S I!%K!2"'"/2.9%^2q2'R(ejnr,e/{R@$$ -}(=sh&2)1E)JA'/qp**.^C1G"18W/&ČF$`L$S2NA R<` 00;;a Ni F88 \.A 7LA/0d#d !cs 8A*;3,ԓ=3c :>2`R;T?KR rg@C <0b U@M t&|>dF T281R8bASB:?4<4,;<ѳHo=fGs>S>>3?ICTL?2K !:'Ja (r .4C3m:'IT2tE GT 4,\DME-C5KsKS/ZEc"QCqLմGT@T!= UO!>'U8aR7h^-֢na`@WqB צ z& UYo.cBH EnV!@7WN_5!00j[6V6 v7.Φjut1 W!fns a:D RA/ "OAk ob`ao0npV/bb 6r Vm&Hpq5ppC2N<8q$6W $n7Vo'7Twpwpwq7uwy[jN7fr"s6z%um{szoGt|1w; u}0|a`|~Nd@dW'`̠ .Xx ؀p-`p91a o 5lwjmv հ 0=NjE؁w~@m|`q|)؂1+8@Z=x8,xhVZw[T3qw8؃cX 􊛷m:HkP5xX)$Ra7pks0~юW~(n:$. WBq^v)SOM_w1ev&WxS`(+Upxm_df=_`ZP ̀rY2zQZ4ᚉ ucWIZ:㉱OtŦtyz Z QyCraź/[QtzzZ%zK:ǺuZ:_$,H{5[Gvu{;ۺ.zpov`ۻa8hB;z,!SԎ,9!S- " B$zKҾ2-_SS 82P@a2 Ed'ũ qC_uq'$c4p< 1|g;),E\5RC7 a|em<Â_9\"=y]hVwa&OʯE<Ŏ͡cСr -Ttf<)6}6t4P? Nm SCd_ /+EG2aJ}=qaP]3b`$;qٝ=t=td[6a}3l 1k۟}==}}8}/G@g !aNa`E~ ^r2 =KKdhFa2:3jFq4@H]=O+LH)-2`?NAc 7,qS@M MLa$(ߝaR@Ϟ'K",|=B)fVeh:O)2An,\ lV ,F>%?82lʌrxSa읁(G& !\J/ޥ s$-"I,Jb'gulpl=6pM)D @G'>AB'#|N"%Vר R7(ImCȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͒.Z U sAE8JM{|=qHmhԜE5EՊ~iAȨeǶ-*q0-ömSMqc Z7y\`Xiۋ#KL˘3k̹ϠC?i*JVJ15PzQGy=1,fњ]{IН.t0Qrk{=ӼO1P˟OtEV`*0klfY챛 )H,bPaePۈY!<Aȃ<4H= %b-E=N u` x1'TViXf\ZEv &i"Z*`v-a5,59p.33P6QhPxҎ)"̣J ACM"xCCeyI$N9tҎ+) юsA/ 宼+J%Ex'ʳ :iYTl4DI483,#M4p,LL)G] u><ȍ-"ASBg;k~"> x;B ‰LF)*:aa> Ab 25~!<42ɬ /H ᅢІס!Ef2 H S8E*1iU\b>H)o@c *GX Z0 Hb ^!>`c[ܘyeBQށ ) WÍGI׺$f9O4bf0p`PR @ &A0![:O @+rDtb "̡r + A!H6mmY0۲ Bh o}B:AJZղUTgVi/m _ajh]'WMz ם'm'BA$BH|2 Vg zs w42uKm Sµ0^P/G,Y@11ȅAzٝat a`797\sp_zYH3MD5a Qa7,D:&C\Yas9?.FBYK\".Hr,J;1P=}"Xv3ߌDC](}NG<5=_ɨN#W Hy, !I! aJ*+G8s#5;ġ(\6 y4yίdRa0:HP<}%$iIM"R|ڭi\܈ - On{h T$L)ͻ;vkzB&3=0M`O8a %^P>Y'> P 5D8)Pj/ҩO:7t$SGjRyN"A H"(7щDx""2_kaE"hz\:5:q|T yyg=nyjUU!̹AXCO0e5+Њ,QTtXEխo \*dѥ.v-nL-`+^w!'X`n8H|yY|@[_+RL#2g)X<ʑ|7>z¯CH{`I[/"s|<ALbA\Z+$W21C:{2.U&P AkP?і ("8$%+5-::t:~0;HV8:x'+kIPBx-mMFF=B;PуRXVxXqT\؅^Դ`8dXfH9 1=*xR&q:s> QR‡:A p/,QՈl~X: |ܰ$KR2g쓋p?ыAH>4a𣌕1?{`d@$$ aP޸JNxxa *S1?(7h@@V @kI04ai0aُZxDK4_`e`L!w@Yr !#Y.޲ETy]:MHHF")Ki0GH*G x4LGJ CHHTgDI|UJZK s ʖ"DL”KqLɴLLIGh49ٚFLDG f:vv:<Ӊ-r:P~ i $$"4IFdK 0 љʒy z)dLȤL 3JT GI `(jam15l˳M[ZW$$DyqaL VP 'XA!a-"Da4 !]І&R[R) RQUR'R+KOhJRLTNEpb5Q0TK uPERcʦ,R0%S4eS8g=UVF{# hVl5UP S0#[VGM >:{p=ԫpc`dH?f'ԫGxvl "/ 2/-e*G0g s*@j@:ssTerViV n:RTzSd5VSVT*_"J` X;TʝãK4zWeU,_WR0 |B Qm{b`YX@ fYA[`SZ%[G[[`P+J[\^Չ m\E_\Nk[U0\]Ed߇G#]))@~`*ePz9P `m9k`?P)p pu|oa[PS@VH ;s]US\åƶqc⥻ՅYEj>!\XK^@^b_,PE,k%(U!Rq8`[# FCv#afaQcl3Iaqby"$'c{`pK.Dc^0` Gbk {:9<ÇÒ;?yj?poq1 ffb,7)UY|PAACCJ2n*va1yj"~@f`ܛ#daeHJQ PTRee-eF vܬ§gp#qg\"fivaf"Lct&ʝ,}gf!hBf6ii1Vogai@le-F ŞpCYk?{P2ls63qwnJ h=fAYļc ˡV'ʴ,Yh0vi&|q;¬z`xp&]GY =x pwڽug'Ex9h,xRgԒ5iU?!̰-@ XG.B=k|?yF|$~ z ژ'Þ{{{~Ɋ~|||'}\ ~~}g~{{ap $JW~3/ޜ. iGxٝ#> :G//0) NI p]^Ϊ Kg]| "'0 PQ(R~ʞ}~ޗ5Zi>j5ۀ|Nt@!u;;yX8@-QH8 x#/ AKY;1Q33+d@-vDaaCсKj%bǠmک>0К5JVghQ A #!5qV E2]cLI?@[s 0pC$61@J2_%m?/_ȟ/[bZ"t=4o~ LzUk?_,'Xb_:3x_H)LcO_{6tLNDmvE5nG!E$YI)UdK1eΤYM9u#vN:T,qZi TVZrOB!#唪ax#ZlR+WhI]r3^UHBmaĉ/fcȑ%O\y$АSNK %MS DTeB1z)qf}zN {NI^w\ H\v­az2g88cH0ǓvdKA+YaG 2zk zj.uk+|0IAjSpꝙިhºjn+=Vz䪥k #QAW݄o|pףxCC34i8}pPw)%*⊂q@Yt?AA88lW 9lB@84eȵ\>}hpv3p _B&R" " ""?C:C:<ڣ>@ZA%"@$hP'7A{#Hix;)HYC>#>g$k>C>_2cQ!y؃sUA)IRYuZ&yZ;ʹQ?ڬe-Єs?Y#\̿wb=-T]VjP@%MhrI]T"y[ #|Nή۹![rA(qAe&ٵܞ9EɝI/A敝s@\eN\Z _(KB*Ե=4tܠG441TQ!"sʜ2aXCZ*!LB!`a2C`8 `F"1$/aZa R 'daȽ5_+M<\=#?$=$>[EQdc-]jD)XjC2I0iWJUtX"zgQ%Sڈ!(׋@&h$&Jd=^W%$$O%Q"}\J^%mE?&0E%A6}e褁%UDQRNFS͓U+wEzJ{ZIe'-dBhD5nFIT־K]gpz(r)R|*0)v*w|*:E\u(*s畊)ܨ( g2g^(LgB+vnw斂ʪ r^_9h:+g^GnQzvp8U0HT Gbb HN,EQ)hX8dI:ixt՝.-؂璕XɈIR-qp\\Bh,..jʬͲ-"-J^j&ʵ 껾Ɣ#IrZ)nYi40;f åOMЛp; ;Q90 {Nnm:#L`f3Ì n-6\DXnNs┱1SnfL4|  ˜ sLo\o_-opop p p p 1E˞w9p?q95αNM`6hϕqqOFq2oOqrӧyQQMp;;UPr r-r.r/r0s1s2/s3?s4Os5_s6os7s8s9s:s;ss?s@tAtB/tC?tDOtE_t@GtHtItJtKtLtMtNtOtPuQuOr\8SGU_uVouWuXuYuZu[u\u]u^u_u`vavb/vc?vdOve_vfovgvhvivjvbrRvmvnvovpJ7uTk?wtOwu_wvowwwxwywzw{w|ulw~wwxq'wTw?xOx_xoxxx}xxxvOxyy/y?yOytoyy7wyyyyywuyz/zPOz_zozz7zz'zzzzza/{?z_{o{{'{{PW{u {{|{eP@e{{WJhJxZ||_8cHxسmPx[|_}o}/H9g]݁J";o|rW}9 u=gH~eXX?ycӟu}iOW5/?wQ"]Ɵ>\GP ,h „ 2l!ćXƌ(6jƒ F*{Q#G E4y2m/Hi&:w3c͓1bt@(ҝCwR6騌RH-ZUYr+ذbǒ-k,ڴjײm-ܸR,#GRZx`g[F Lm1Ζ֧2%CˢESg#eGQ"n5زg#h̺Rbצn޾Qy,&r?tϷSqzuCg^yc|2>t~CcL(@9wԹ3xutw5Gxm^:9LLa(S`!Z4lчMj4U'% K4-fb^U*@4J}|-lY$ DH]Jg\WGypH1|2)E6[h2qRI|TzOڽ$-A4ks5!q:\iL>9MV'*:4ט>=qjT2UDU$1+F]6:{9F#1.2z9衋>:饛 eTԔ x4a0{4;_Wep)RSgAeYf2;<,6s6\}7QLh CCŤ@L@(qe䀤](iq57txOaz$h)BľVd| t@X7V 81⑲' !*P)r3hȹ.xҰ6!sC.!ע\G Ը 1`D$BwU#Q#O% A^k f{aKXEiBBqcAG9Ixx>M';eӚu0B>rg6G$rE36 EbAjD%0]%t! /<)S D;%.s][!Bt~E!@6$h#B0hlqb )qD6ғӇsbo/dNɠ #<[Y;''#IcSn6ꩩMR2AseGx5{r-̈OR> plWTH`1+CfdX() ":*  hvW7IO/Ad% (h?>Izt*FmB5?bM~:,P"O|auXފ wVQ~GT53wy,Ez^2\C"2\ù`un~])"( FgMN|g"O# 8Iȓ?nZ'I,\)E3ю~t IS],02LSv 4C-Q#4Sj`b駫wnźֶ5oyU׾NHs-a>vwe3[F6-iSiQv?6-ncc{>7=u~wvˍy;e7}^7j9?8[8DSWD2s8C.򑓼&?9S򕳼.9c.Ӽ69s>9Ѓ.F?:ғ0N:ԣ.SV:ֳs^:.f?;Ӯn;.ӽv;~;/?<3<#/S<3s3>/Sֿ>s>/??ӯ?/ӿ??  &. 6> FN V^ fn v ~  !,M "*\ȰÇ#JHŋ3jȱǏ Iɓ(S\ɒdA-cʜI͛8ɳϟ@| SѣH*ItӧPJ(rիXjʵׯ`ÊKٳh-vNM*lʸVq-L-lRޚ!&vjo^)+,yrQ~ fyƗ\xIVsHQ3ݚ\Ү l Վn 2|pBlE"WN:^enڜz]sCfyۅNoǣw=yz7!mݧ`UXN'!!~U8"f8!y袉%݉4:Z~} oHw8.8X$by:f䒳ޔ<AiIyᑉ];b9ƙg_&k8 xg cj'u"%`ٞNz5ڣrf h ߂v8Ygzz)٧ k† 쌢Z 'Y e6Ro&V;wetV'~6kr jt*43nh>*z7h+¸zʋGۺܖ.h;j;0wu.[Nrd̬层JyLJ콼6? Jk6eI78_àQⶳ/#Laa{O0 gH8!VJ)0K_Aa6)Ds5PJ_f ϙ."LB=値WBG:z_ 3EQnt T*Șկ\!5?zvsHҏWݵF9CKQ#T8oyݳ>FF+oOeݧjKhO<%G쎳AJqXl_n.D( \ k-Qf9=֭Oˆx(c*^أm2#Z o"tz~9` ^M_Zg%}5CMq|xؠq汢Vzl:_dxM +V1.tS`hNi$fL:xs W2Ϗ$2ps!Fڝ+ A)Ffk1Se[dž3K L/$$*6xKTTk4]R8OSjy&֑AmVsʆXX|ګib*U)u-p;d+Ԕ.Y+f޸Эntƥckow@>$knծ3=Sn)[5}ۯ{kv&māsgL!X.'ٳ)T'߰- 2Sln7[xˋ~0^PEaH &NSLDOIŏGMOwkz8K4;q[V}h7h/.Лe{Eo^O_'%kGْ]߿ȃm ?>^;T vnӯ(9VSgBrq/2qVvxMWQ%tm Hv=(uR\ExhQq$k7B!<(%fD{z%:g}AxCEJL؄Ec4-]b?#jkduD`@VWMeh-ZyarlV`vkVm vmBO~stSdkZ1wwOg7J+t9i'Nf8ʹvGqU޲p%mwd}xOD`5Wp wk9v>^>&xoƁ2u#R'8,/by=,sB5MæqG떆ZfNx6$[Ep8eTEEmCu~(x@d؄c uPPŌ(hui`Ap!f)Rgq<~u82M7tՁ)R u8go,(RH|,v5gTh1ɉb'G'rbKKZZy;Fc&6Ʋ,v߄4g6KJډe9*`'Z8Ir#\[kI R9e t%t[f g+v˹Xkl#wh8 ]:GfG~G1ݹ4VC:7؁`Nd'+ Vl%$l+xBtD G/3*E ^|A5z7Xixp< h*hhmUyEcBHaȫiWEUȆ ˴gv39jy6~9C\zHkKX9ĤԿ$~zhI+kn8]"'Tb%*G ڻ*<ɛ% `pNSrB_+<˕DOjsbBJO#ESz8ۦۤ~l,wL|+ûl@=1|{2} H ȅvќH2%\ ҼO:۱wԗw<YԜ<>M~\/ڛ۹\}*dg~+pר:ճڹM΢+lf߱*tIy=3Qrt|z~}ۣTAkr q.h6) ٍMڿB;IʚNN*Mp^tΓ^. ~]ڎm9#Αؾujܜ)N9N.+ ߞ><~^YIT# P!χw=]9N}|15e0MNru҉?N_~v~NĆ>9bď\U3ᨔc,رƌz yQcE';Z(eɂ/'2)F+i"̉?mt2͒k$Е*BشNڕӫ*9řR&řP`5*-XyE;)\˷Z2߲=q[H_ZYQXVO|=g=?w' }v`m&`z 6jVe 6h#h`%Z,"h/(#\1jV8uco+#=BDf#C$dGRP:$IFi%U7\ִc_v)uYhWvgAmtZ5u'y֞ŭQڗF^&dyA菒U8^v%i鉢U ږVZ`*i+D+Yj_b+{Ƃ-땳jktFak"vKڷN*nUĥw}ټioP/Wc ,wpk 7|E,3xq1+0f,$8Q+̣.2Q3L%6Z92?l4-taF&L5QiSW@jm.עe8=m6h7ڰ]2~t#{l/Mݒ.;-~3i+hJn;Sy{yATnzevq ;Ӭ9N0x{k, + |-ϼ~E/ԇ=ag|zɐd]G@2k|#)8RtD!& M '#Jr9%Tʇ $,OY򮖶+\^T. a|<'1{&4-KeU-]Yy}Z'@zv(BeP. }"*р5s:+zHrbǸ)RSet%&IS:ϕԞ.}i>c*S~Ҵ)Nӝ4>}IԖʲ0=*RgԥڴN)TөR=€Y*XAձe5+uĪVl"Cɷ•et]Zֽm_yRWAIb:b#KZlb!m,O H)\Ç#JHŋ3jȱǏ CNdPɓ(S\ɲ˗I.I͛8s؇(ΣH*]T`Q`8EjʵW=I J(e4*豯pʝZg *h?fK{lPQzVLĘ3k>s(JQMz`e-̺kCijU|ͻcC+_1ނ}QGYșkzYGU ӫ'˟_0;Ͽ?(Kh& 6F(Vhfv ($h(,G-h83 P`8H"$dPF) -!@Nd4NIhiX9 oB2eD`w٦~&riqF}ra9じYi4**8j`#IBQXĢ+Z [ "@v=h!%-IXBh7JEh-Y[cD @y\ 5l##9J^2-Kpc7EO `1V2-7RI -" GUVbkY[۔.5NG]cXKCP/{^ʊE(w-,a^3G< g}@<&kg8/m ̃ŭ!HDmqǢmnBec+W3PfR$`adm342/Oi!}mUa]:KA j(?@./" Kj*ߌaJҖp%L xh)Ƒs"]H rМP'LZD$;@;\BЧ v9*!z@Χ^u|!H&!'t#X:ֵIވG:2=E;=ܘ{q=쥷%ߣU#-@\AW@"- K|#,_~oK; JHhWg* Ay%: V0>Brw> K Ez'0DAh S0wwa6dX ÷b Vr@,WWq PXR—Fh 4er7[p >׉vUtqsL0bsMW (a H is0m8hxs8p]tx 瘎Sw `x -}t8t8e-PpPCw XW0tGy> @XHK؏(J@Ȇnzrݨu V 0O'um_{ 95Q99G Ç"Y8xMOyP0(EyqJ@ @[ܖ_as 0; j]/taЃtJ3=05 ٧zzWv7Yuwwzz@ zwwKw=Iuduqi1q jrʺ p !(G}@|`|ȇ~'Xy.Mg 0b|0~ oq=k/@bZri(tVktsY+ 1:s1~Q۰vG7ȍHAKxt> QIzYs 84˳]Kr?G7yȎ.}Ǵhop x[ 3˲ڵ. <8{۸qiE[=9< PYcx;~' 0[s1 zuXK[ %ԩIgY93؛a8§i _؟٫~+7vz/ʚk 0Zr. p|J:gXדn j ;i |q5ZKо;ǰ ۭQ yK~w` {"AMusZH)Ŀ1"![1TsP^`bpuI;Oz,WЊ)y>'KMv<Gm;k1)lvۓ&iHjСے P繗jwWCWyps+v_;(%(aəښYM԰ :ͼ lt^v~ Ib sqـ. '1拾 H{uu{kv x]QlMۗJȺɕNJ` 0t|}m  }̀W'ݳ/81۔lJ8 7܈g 6#nJ߮g'n&.ܓ q>΍l%9'.nA '] aL<Xg+vKtN)~*$xLDi?pU@^rJm<k+A>O.w=|oAMɵ7i곝깿k>ɱ~~LjxNiɲ-"ۯ<͎ξՍ`%Gܺ'MOݤ,ׯ  ?+x0BFD8E5֛bBSAB(py|LRFES ̓)W|)fŊIҟI*YSQNZUYnuP/8=c; ہΝ9׵m;d\p9_{Y{.'e̙5oٳDq"< <@De1jӨC9;]|\,,񁾁 G({6v]ww~0.}L/7:Od~`Ë!.&/Щ>W?`VLC׀3[I[ZӞ>qģ \CLCS4AMjTִV&O#*%x$џqV"Lm 9MrSh7 nHnt?ցNxINi..rs&HWӑTZWDt +H'buF*2OlA. B*fePRD)3s9Ҕу&GO%ޛbKa ԠntPJ[.֛zkZjI*Gm6?cB xS7ø{s,#@sr8jɸ8 ,)OB᪹"#: y V`˙DP/ /B: ;9Aobr[ #{0qH)$\CYW5ljK'CB]+ R= ni>\(6P w?拇YaH69nWC& \JOkూv2s 221v 1W£) iA.Y@yR7VBٞ"AE0DqV$.;ǒ=d#=Rz˔Se{8VKP)Z\-mYK\ޮ >Y10yxƗqi\4ef T6LRfh3uW_]XFAţу26o.x˛pQ!Oڲ:-E֊75ct!X6})$osheGjT/KMZf޻f pUŗ( l85.s,>q/+ٵE֖Zt r|ҹERy-MbKR>64i\jy%.hGޔηd&}H_ 6,AwV?u}g>8L(U:4 _ y;:6L-9;=G%85!Nӌ˨fO_"{ZFzY䵥\쉲7n}x yl4\哙V{/n-nWJܱ%7Ayn`5!gn2fVnbD|Dk9﫻MqƳIنAwgoAtD)]3qO \z$/ti-XyjryΣu53󩒎9ȳU].z;{7q:j.u+il(}v]O eN{]h}8wy}+fv=ħZ *r9=>q_/GS+a5C;rk/>7GO׎vz#vu K0PvbDVg6=>_w7o~Rj7JGN;xՅdFw48B2]ⱀf%q5p3|bf'vgk= m}zŁ qW>K^r(iQz悻FOebGlrS.P6DD77l=wrFtii{'78(7l@INx{Fmv7>sddĄOn8cxx|y{؇TH8ad[Wo4[vetz_tzie^w8yUy{G4aKXB's0W`8{/HrӊxvixJhEҶ0ljbޗBHZlmVax8<ވ1Hx금؎x\8!Xq帏XGIݸyw IԐ)ّ!\,Mo H*\ȰÇ#JHŋ3jȱDž~}Iɓ(S\ɲ˗0cʜIMɳϟ@ Jѣ?_ӉӧPJJիEmヵׯ`ÊK,M>ZE]˶۷pʍ򘟹x˷ߨ=LÈ+^̸ǐ#KL˘3k̹碀NZUc`ѥ[~!Ms5븧_g\iWs "OJY"w៓+ ͟ gEbN.cvۻO?13jЗ:o{{b$I z@*dA68!ЄqE!vx(j&&,H#S&'@bp)w "$"b)pR@04r S$dG*R $b$yȂ?M>IPe*C#>䦙qcF)%^3h\&6Hԁfu()'=ydKf)cqձJ< abkBJ돔Bj*ɤ"Z&p"П*&!C)%yw`"BρErbt""1&*I" B b$aG)dï_g+ b ;on,}˚5 ;q,* 2$\grZؑˮޛ@KL?@2EKkb M%"/Ul*!H* &q#nw!?>W0AovJ'E ENk["^=wsc pCIy8"@g N 8pGЦ t(3:V'15aW.BC0,36Y+ M$"t` ;|P ١'40i. RѾW!q!_p"nR"QHIaHG@P!0P` @WB@ALafQL82+y?2!`K*k` L  $(eqU0[zA0icL25RLTBЌfGP 4Jj6x0>ssミ0OTY 2fT5)%}22|rH\g;cGDcFI"[ib$͖4*a+32%D 6 w&Ā K <^XE214bdw 69duC)`'J$'Ѕ?LRTըQ+[C 8*CMժ#ˎ T2U6)AtN TհH$Q.vЛESc OHTZU"lD#W m amҗLē:(#,8SeO2BJL(D'GɛJl(Myn*fW|VUph$9+L!I{Ȩk_ b*^2qăQ<^fkxֈF<ґcsBHMYCp@.ю{ִ<^tkMx;qp#-۔-wxH>ti!c]Z7!c./8r\ A`p[Kŧo@ݘv= Kpӳ82xc BCp< z3J(v"(o@2 H|#rE= HQ8.щo[G"R{aqXz;0X/1y@B>6'.$>1 Y'tMW ~ԢglFriC `:}(t`A@V l耐` (:sapkw(H$si 1` atn7XB+t q al!FXL8H JݠyQ k,jSw 22yÂW[y8s'V'wg|8pHD@l% lX71}Zo0#]  EpPh> sS2u  p:Jp8Ԙoh `~1~5 S 0 p@O<7Pp P2 @ @Dba ` p 4o @oܐ X `l86IWw+/ X6Y0xPY  Vpu5q @wܐ4i dQs3SGV'39@CF : w k7w7I>ևAj@2hBf]#F 0oٙ p`  kkV\1l0i99Yyșʹٜtikƚ(1,ajjjkYjfn nѦ I fmئmmnoV癠6!i&"gb:fؗx'*1jq k(^)uT@^ @v,xrvLu^) R4fu1`  ?Yk+:u19vMGv Q(&bGk\zBz DZ̴MOkv8v-cGyezFzuH[jn u,ZWʣ`Xl?mv+Ow>tHtXtttJTZv|vw䗢JB{{8'WIxxe 0N'n |{ UWkz{"ȷz˗zxxܚ|ߊJ)*7}Xxxѭʗ:|wʏj|ڬԚgNƇJ}z}s7z׈HzzzlRw獩 S0kw6':H1k5V07i3B:ڳ.iH+&O+Q ~A`b ȴN R[V5{A;ZE1lZ_6;XH ƂRHpyR!NHh` "tSo[rQ ':+;IfxvXxit[wGHXkNi8kx ȈSsiȊ) njX`& ͋۾Tp&K (K!oLrA;%C'ّJ3ر숴l˸<˝˨ Mͼʆ lk늈iν<2I `` B WڤBf)Fy鐛Lc toMs:kAA93;A({ p)V;]S %'ҶR.-0j44Ӓgos$VQ9p󐕶[-k|e*%+>Aaۀap=L#ך} Sy>( Aډ ڈA5&CP :]}۹m }ȝʽ܎f=n՝ jɝEL ƨ_g ZJ a|0ukw]۽Xm+[[k5ܿBX0H͙S z@P\,\vӜlI:6-$-T?e9MFyL=Rn==XZ\^b  0){ c>00orI t~!(oa>\*舞陑 C:~Zlv wru/ 1:%gQ24{隞lNxNョk}Z^yZj0ѕ1a@z׊dk3؞ <~^ xޚJ述˻ۺȹE-x$OoXQu8k}=ӯ ƺPSql0\Vk@^^hMq9U_?Lj> 7A ?P ogz1 0  /_J p1.MP Ǡ $XA .dC%NXE5nG{~Hm 8 zH\ 0eqq ȇ+g4s@ eHME$HJ_!YnWaŎ%;W@FAlTJO5x;6ڨRf*t8@lKJΖ?mG+a&yڵ&tJwl%DN;oS3gqtxMƎ!/n8'y`zx­|r˙9wzti{MȨ;í=H3նs 6X ᬂf@瘲:CCqDK<( eFyf-gdiFFaqhr HIKy&[oұwjyTDAd.L2Y2YNڱuĹoXQs$)h.ȕzyyI(<(ms@š)޺oT e;N;!*$\4)2KL$L4PCdM2dKdTQq8Td1}tBA|y OVV,N\G r=Ρjɕ88~Ya!鎛a“>Yz2֐Gc9f;Xb[b2V 8(a֔W>h49 Euo,HjC fF~O*(itdP6\A!Bqb)J9GPis ^}vFHz44Az7u R] և 9CEyq~zKYu珄~ H1 w@&P Hp)P"X\#E Aw]BwB~QnDy\(db-t.1Á(BJ K"'CLK C ^zP9a "DlRXCsI<"u_GG1;!A$q HHFR\Az$ H;8I0RJAKr;C??H+%jBE94F)8 R CSAn)\q1fDOyw$6)<6ĕ +dIˁ</})_#p Ko+'=f|'2IVt ׸&yQfT5 Z B_d#pE5D\f"Dj-a HBvP[ YCJ/z|ddH~,tΆm#8&.,N>-"eAWH9B |g2s@ sL I|쓚iA`{p\3GH:);d9|YKeOTr*$)Ij%-qiVa&k [*hueZÉL >ZΤ!ai5{X&aLcnD]'7DȓI]s]?o|(`'}CmGRħs(#~γhG@ \d#M{@7?x?>YMU{PaӘ5ׅ}ߑuk^a n\GOeiOꊠ.ae,$њr?L@< r`#+0{21 .۰9klA|As.LS93AA`شNB#q17TH*KʛcӖes4T::t|jTHI02:|3,MXxڱ~ٚa陟 ;;<;;3A?ԉMɱq;q٬͵M)/ #έ)N\>˫,#i(28R3MU @YM EѲ  &R<;فOK+/WP0aPڹ) e"Ii Q$!Qh#'mER% S#:5&C*"k!/<+<=4}?S;#Xz،t06E<#WT02"61Q8 K)J>B=Nu/iAu!>S<>8 ɣCR\Lr):çæb LݦX jr>dmdOa>`ʾ+5*@8VaeN2fjrť+k rM9U>$hpdo*>%VWAցjkl5WV~B<(l\XZJ]?Z,˪,P mS4-h!KaDxH,Ŋ:H@G1PZ2Yc#cY¬L,[ٜ5؂`Z?ٚYݬMjBTo=3=\ȭgحJJj=.b @C0[P01xx0Ir0d]0C)DHKm+ A,/ߕ/3^0@\\LTM][ R-c=ѽ5w@]]u2LX_$,@E*jx*ҭ߱`@ń4D`3L6%[H"0s@4K`^Kp R̈U\kaaaa b!b".ą0p@C"FXE`Cu( 'PÇrb 'Lo7m4#F\(A$u2%&;FĈemmR}SR.!(#QR"b E=Ju'ż著+MR-sv wRPp/'p*N_ M=mx6ŹsbVJEr7u8y:¡@iPӂ=hrFe!)gr{q7BՁUR*#3ףT[z3jTO#UERAYo%n3F 4HWgbXb}Wkb%y}uVqھh𾧔q؅rׁsvE l=ľ@guh2H'SVtU'(ׇA5V>JX XK7tjomFI@;%ٝZZmۯ-je,0Uwz[ZӍH`Z?0L-dywz{v?(ZEg_[q0c-.*k/ah9"/M"Axo_Cܢ o^m1s_nx@ߩHo=uzo{@-_%oytv:cfgy/݂\D*2,e32+_ g!f`  7 7fV}`Fa‰hG#}PaaFp}H63$"\6.%XZn鏈ǎ&&,/?O_/X8x6;HSTj+h „ *2!Ĉ'&tHbD;0rhC"G,i$ʔ*Wl%̘2?DhKg)R* 5 0 *ZpOLzhT7sf+ذbǒ-ICᓪ!&BtHW窻&پd˗~Ւ ,Ċ3n1!*KRqRS) ̚9{fҩR95S*Ou ht)pJ*b[ $;9 ;8D/^S#MDW9oORj>KNTk6\qv * "fxprpB WA 6 M CŖi菅b! WJyt8?\hAv$I*$)qAf'fI'aGRVb $aG)')B-c`P`bZ)!% J*JNw'I'NXᏔU>z'u>ХMec_kY ZP|28)YWfO0(&POl*vl"'~;쵫dB1qid|0 'I CqM!+)w$'e '|*EC 7DV pг\Pl>"p ͲVc]qAMc6";]225 ֱ?pB1[#Z^fw yu i YޫMM?߹] {9衋._UPu ZN4=F*dQ'&M)t?byL/n3@2lT?pi6$ T';˙2:EJt=(BXěREcb,?t!i?&ʐLtw(TDL Ja 1\6$DS4K]꫅U /u5R`! n鏜"b=J1Hg,QUOx F9тIMҺɔ6-X*SX bLRuoq=ΜWmQv5+F?YLg؃_S(lc+G~!7QC€&lN:4(#l[ qQbd=ln!NSX3d[y1K / ndr"Ӆ H*-H~O_Ίr )nhK@b{n"]̿؍I %,7zf7!> d8p6?l*$έEN%ͱ?N]fF>2 Kd&arb*&s2E``@Y%ZN9,1fϖbL`̣C,9yt_8a:|3-AІ>4E3ю~4#-ISHfD=>`Z;8 ṿܘ٨K}jtz=iCTդ5G[Ҿ5ÔtHsA@]<^LЖ6ma?2. =g[!Ӯϭm`E-yӛ1v5G {S$h&^=kNR Wo$\"..#Dl73qxclw?SF;桎`4- v|u+!ty!<ኂ\w3=6'K/HG^򂈃8ܕ yܢnZկ.gh-F$79Ur<"<)dls+A?~tM7yNuc)0-6s Ȅ*"_їnqE= Hc\ D=ȁL&nhG-b{ѓYzCAS8\B'|úyՃ8%i1)N_Y?uA|Bu  $tA=dAMIDaZA`AB9 z`  `A ͨ@"88:9 c b4#<6#EVdݛô{FXc(}0"]}2$fFd!#_:"$1vGd=$ ԁ8̌/Ad#0d0Z DAEn%WB;$܂| A\WP\\T'E(Y(sK'[n}"Fi" Ni A-:ld {bY)))Ʃ)D6lrci;jX*eIDڭe>*G)Q* l>B!ӷbDŨA)[j*ۥFDa8@**=".)çj|EĮv*F,+Djv*E\khvrJa$'iEDD˙EԵ'h޹; C<ER!!uk٥A+Zݺ+C\B<4ADם]$4!`Nbl+%N,Q ^y\J^},2Dܻ9]y+*_^뽞?U%1DC% ?--8`8&$\]7P?`Ȇff___-B-Ѓ-_V_A@jDz^2`mR`mr.m-R^bF߱v~a Vd pj#"a A'\'?!dADab`a.<i\50dDf-pc}b? p6*>pK#pM.d~E jZ1f+S;6B>V.6 q=1ȕbBb-"&PЦ?b#'.28 $9bA?EÉ0+$/9cNqq7"1%pKo2YCc*e1`@%pB(@ d<"d/*1#=ڣ*2D+o#B:A1<2G0G2)@fs!G;$2kO23(3r472r!r>FjdP*GHϩ1+dHM9A"B?_Ur-cP"RC/gu'^X~YZi\/`o[%YsC%Dl1 XS'hڵز%B<$B<̃ΈfXۂjkVdmD^ffn&8uh5iiB=BQ`bG afaCBk2]f^~\c'8h[gW06ddve2Dj^Nm_`a"bVGL(sh:E-Lguu-'"v_g…gp+(+B$(w(Uwز-_s+\f.5V}S.87{wB,ހs'^88vr'9'Nwg&\8b'(kFĈ{'wg{'tK!ҫ(@qOD +D(LLLWT#DKXTk6萗L02I>i$iILٗ\.rpiIyfL{?:GO:W_:gwl((c@(B/(̢ΙDoDJ1LT6zc@/[ꒌEnWLD {B;B0G;ItzDDOs `ĶKBESDƄg&Ǩ(kϤF[:+7ȃ&)$zAi)A8AW{|B1(_;8C|2#? DiJoЮ=_,Fo&*ܺ C^8 ~*Dނ w^W6.bق?Vo}VCdt_~~%pAWDGDCDm#͟m VDN,,x@VS𠿈+Vأ`E&Y%zHbsU!H=y!|Fz.)Hn [TRV3 ʤi&͋>u*jدcnTϪ?L` ]5bW&N+lլߢR-^̚I6}ujիYvvlٳi׶}wnը՛.N0Vp[ kSr[t|ܟCێSgRQztRG]'^=WK֜[P=Q߯ qyFt\,y>Ck40//K - Njy\QnǿP.K*HDҊ#1Ԑ ҍ&|(*m<->@K0cɏ2ӻ\/4* 36BS#N4l,XZ0$D;hDk)K)K0S“u)PEFH$Aշ.TDՇu/D`QE'2Ëz͟W!#WGt`RqVBܖnpŭr'OpZU.b? :!v^>9{Hwm!0g0^u,-ĎAHd:+ ^\⚗Ź1Fzܶ~{6;ᦝO.!].!.(:Q</HvBH_u="m<^R<:>圫^BaiwIoҖvLyHjgaD(<;#$l  oWAxCZ 'qwăs;Q:Ң ]b#E0Ze x([<^D\9SxI^ҀH=q#J6У-JJrD}9Oє4YM1nr* ^0?FE/)>1iY_m%KC'!l@NռӚ@ ZP,(uptP aD8SA(lO$HIZRIJU8&@P,A[ 6*j!LutLAPZTIURT>QTZU^YVUʤo+ K 0zv5j V鮫1j ׶ClE!a}Bԁ4 c@G<^LcgBHC9mjuCYj]kYײD?rKZ4!tb[\Ʊu=QP07Z'F4(w50Wnĺ5f+%U#kt !> q\޷r[LCYV ȨM!Hj& VK& ϭ8QKW 8`~. rި!wKM,l?0v1,,o:&_G?:W@Bh'8юZ`$HMlN@預8ց HbvKY"B?z璐%BjY \ie%NolS"ԧN5\aiLj0FOwb"40=H8{>‹6Wxgo{^IyӞɢiկ5ʜLFi%J,-luף*C=gv3@1 b2'yK\"T*Z8%%,R|\_ z<4kA,SG`>CBd?-Yn+F9F"32Ċ Os*ф1H tꎺ(!s?>6QDRd!/ iF@O£ HQiR_M!WK`d HvzTC_)e4H$6IFJ~J+2 }t?Ac IW~|%QoԚ3s[TϾz(oQگ .% RpUzeA-:%/ZT8%Zԏde%/,C6Pof .I1GcVeBmmr&3vf Ec8jn+|0janP,:pb mffB Q  V;D]/ Plpj`f؊fo,& M% jPQ(h~l'Hy|}H.2X~-?ć|g.-aT1!0 㦀xy$IfNv(>qK!&QGzzp0.17Q-:{@D|e0 בOH&f϶$8)|(&ָȡB%  #clZBHiffaA`~F$O2hw+1iɒ((r Rɑlq-l `ڑ**+R+++,R,ǒ,,-R-ג--.R.../R///0S00 01S1112#S2'2+2/33S373;3?4CS4G4K4O5SS5W5[5_6cS6g6k6o7sS7w7{78S8889S999:S:::;S;;;S>>>?S???@T@@ @ATAAAB#TB'B+B/C3TC7C;C?DCTDGDKDOESTEWE[E_FcTFgFkFoGsTGwG{GHTHHHITIIIJTJJJKTKKKLTLǔLLMTMהMMNTNNNOTOOOPUPP PQUQQQR#UR'R+R/S3US7S;S?TCUTGTKTOUSUUWU[U_VcUVgVkVoWsUWwW{WXUXXXYUYYYZUZZZ[U[[[\U\Ǖ\\]U]ו]]^U^^^_U___`V`` `aVaaab#Vb'b+b/c3Vc7c;c?dCVdGdKdOeSVeWe[e_fcVfgfkfogsVgwg{ghVhhhiViiijVjjjkVkkklVlǖllmVmזmmnVnnnoVooopWpp pqWqqqr#Wr'r+r/s3Ws7s;s?tCWtGtKtOuSWuWu[u_vcWvgvkvowsWwww{wxWxxxyWyyyzWzzz{W{{{|W|Ǘ||}W}ח}}~W~~~WX ؀X؁#X'+؂/3X7;؃?CXGK؄OSXW[؅_x5AgXEiulCy؇wW!6nxv؉$\6xXx5(gCkXo5 7\@mQcK@5tx81F( ؈GA!>aa 4 A Feww`X4(ْ Yy0 'x BF 8ٓA "ٓ%"!J#-oy dAux;A FA@@b^뛑) A `!fY#xoY i  (A}Yb"+BAww5?z%tX9#Y逥]zF1B 4X"٣bYb :y(aBY3:iza|h3z٫W#کgz. aZ"zz_Z @ |z y1";';!z8A9&)a<ڲb dA y2#0?4 K|(7{Qz/s;8Z#ڋxYeauy+vF #:)A#Y9{0໋zmAج?{x [[۽y/FAu :}]@<{+UzYw|/ozɻڣ_c Zós)6\ b˕4`WXn{Z=x6 ! ,eS( DP@ $Ąhn+^<&=WGȋI#!2UoOmm8PJK#B}ꐪ‘!,,eS( DP@ $Ąhn+^<&=WGȋI#!2UoOmm8PJK#B}ꐪ‘!, (П*\ȰÇ#JHń)2jHŏ CI2ƍ\ɲ˗OrFpCv#}֩ۑeR9Cn fZY%t\fbMei@W%toFH B[x#yQ"2ni磃$dFed22 =Q(s@>髬I)r0*qҡ(.H1@?,e@*$0DʗB0jlaR 1J>kZ5[Vݵ K D(*I*2T?[ૌ (+1L VƷ.Q.!rL$s:?}z0͌;-¼@W-|gqqܶqetW Rl3B ++! I%vJl&b& J?bv.ˢ-<ېܵI)h!)(wE*旫G㋎0+M@VnX7W݌"^jKN<ք 9ϴG#GPe]2Ms@r] 4'D#d!;*C]c}3c+[N6,eQbe(aJ +A' {Ű`nOz_('aSHVmW:G@SH/>ѳ dl;FaЀm0U._X?QK!'!WcL#r6pA:q̣o1GqXIBt"[#C:򑾈"'aŌ%7)K$'G.O%,C#)WySER%+galF.e4fI^ǖ%N6K?T)&!sɱ0d3Ȍf2o!BN'fI@+:"ίHPI:n*eꢧ>bφ,% Q TЍԠ)@iЊ*1KA%zD(^64$IJWҖ"(pM")?LIS4A8evJ˞GJIJTRuI~U>M7AZ^^4VUd~uKTUMQ> UJɷB)N@OVEc+ zU$_(mlb+Yf75lgɜ`ZњMvZ_"+Xj3-og!r,.压\E.6],y\zdY]J>w8pq:~;+w Jwʝ{A۹h*aBk7.w֥ҋRLhF^)I7S cŏq "po=Lh@fHCJ=>FVll.6ea 9@8f`0|R2 ʊWPo$xBżepX6hӼt8@1`PL#,.ۤ6BkRhPڿ~s:(y GB=+?ckA)ڢEm+dP* Tp<&J2mZ\sE`{#HxG=}3kРbxPǓ\%XZ 5Ͼ{UشrO׿wRvb*?GIj鼏ĽYGKE0qXTaTY85~|աu)i8vwY ȁ%Vg"T'PHU#%myoU-8$N5=p>H3f0 jAH`3E7.FȄ1E3@(sXp4Gt!)uE_r4gq-q0pxQJBtn(2N][cqixR4Bg*h~h"!"w4Wv(xg恈l$18WbovYWȇ(uuȀsg~ ~hHK9vW+'r(X}؇7ʼn H$5imX(VH pHb$dVxXk6qoN ꘉ8w(*$hMexhth %+6xiWfؑ~fLn_0gюi'i-ّQDS=64YI"78c!a;'n엔J秐U|B9bP0Y4ga;Vcf5YQ`@A` 0F5XB;GI<&>32ϓb?0{9 2do0Ȓ0ϳ2M6ɘb 1W0iveG#02A/ aE=B3:$F#יl4j)08s m0/3/t@96+,bC6{C ̹7 3 6͠6lCw!l/nyƖ^&ShMք.:v(4 ZC ; ;y]&{ɗg2F/[A<@V3b(nÛg列%h;`g$6i603c>cD7Gz63t!m>Z ޲CRP6ιA5ݙ874 Ĥ1*B+fzgAcn$0Úif2 gI2]C/IY=3m5|ɕC@|3m0 D\/ä0HgF^4_Xf9?هG;gr}c$wzrź*_toulLgJ3t qI&  iKۥtcZfqK:$t ȯ*)+`)WMz6Q͔y?w↍hFt I$FW3DzzNNu(N+dž*H1;xeM6de{O O*W^&9#oHeÀ q$";Bˎ[kSI_uP oц%#o+lgwQy (o'(AM"RG4덭ص_+VgkKMkѧ3,HX}+KE8ʒU[1a+YXl"XUÛΛ Ȏ#Hrںz;[{[q 껾˾[]84{;;U | [Q! `[S-1IydJkR!#]Ȯ)+̡]kǐᵣt!:|=6<#\Nj1. CzPR"т5|\^uԡV\g䘓ąGwHqˊ 7zo?[ֹ)"{TH))ٖ9ZFZ)2?]UlDŽjF,0;IC 2z-h<ɡDqx Tl)6̵Ctlk֓v/'/v/Md(#9KB(FDSU4:/3Pm7٩ĪЛf[l70LSD/;fi2<9,b5I[3-9*ӯ^mc;AR/ӜuveO\jŖWY,ji3Vc<)ՌMDs(* ]&( R7;,4'vȄ:9fd&(S3ewjh>NZ/Mf%6.,nĦj^/j(] BZAofC= nl4C2 m i\3f,,/;c-k'1d !(s<Ws/ ݤݤҦ-߃3hōǣ>gF>4*sD[Iʕb{Y*y ܋8 _CBz?FE9JJqcJr0D'G)Ú?)ÞguȾyRC=؞a>^~I&>\awo^^x|ڞxj@ +DM$_7td.71z-8O5FzJB?-+hkD9?fN?TOSPM'U\[aT !Rd?WaQc_l/gQm?8ֿ|~Rnt_[OMOǔO|xVk+t"uf'HkpKx/ؼW6W$,Xhe{8uՊa5 ZADXRۍ8y?$8a8/6_A .dC%N$XE5nG!Ev`a)Udʓ%3YfM7S)PM= yПI%:SQN=Ynڕɓ325Π=,[FΥ[]W]z7+X_xb4KxÂ/fܸ˔$O\rPR:&gСEzl_Lmܶy_Ms7}Rr̚K{lGw 6^>u}oOи>@/=$#йRҍ@ ;p:j`34pC+L?80F 5)1:q5qA aM<(E)ʬ䊫Jj!jJLH`άD&)if\ 0s,0S1L4#PSځTʝVt)GL /sS>94ROT +>۪tOvNPS2#2TS4Q,՟SKլUkcee#JJ N(eXVYi f&teme(w}]н\hYh V? ( 4^slӬi߄ ӐŠf6=H]E-hR2>Y7#snfl֠`^Nɚfځ J`ڦ>E X-(y~[֟ #Xufƺ)CؼulW&78󴛆xpcoo˛qb u8Q&UK׵RFn2FhP-wQoq[6Z |#?kk?lCCT+TKBiM vi03qM7MpS/t6nS8bs*L=yO|bR<SEJy #3|;F")Y(C@j'ECaʡ!<шq4i_DQ?WM{ڴ*%RJpc70SNo'[!UO9V&j4S**~NUtծ:`Ugi ޢSdѫ+V5,XEzzXVOW)e+SC_J0LIW +yWfX"1ֱW$bW5-`Zāv}+JjԆ5m*XTl{۝&H.hS)Ar{<70]rHw{^猷"D^WAo}{_Co_88pAC`'x1͔\ H; gx Nc%a c;-C|2bl6G..0;|U6^k[x<^g*d`51Z}F/02_,gY"N~ :e0\vp[ 6JЌf5Se(_: OrU;پ}͟hA7.q1\=iRp~It@~_K0}7Fi sq ex~XryPf Y3lfɴ9{ q,Naoǯ mYܪ8BnKǛ?7#F‒^~(tDD/vRG.ٴFuJ70# I+ys97 Ix|Eجi{\@@q*y@]A`Ÿi "n >`G"1HE9K/ьcT9Ɵj9|& O|NoG#}6Bii#səi$RO~y/g.uM%^kYb2aڽT?CSְ&&ttb' &w |[좧Z(L D(ܫ@ SۈEŮE_`&+544F(ŨxFhCiF73.m).m GG*GTD`aGx-z\ǹ2}DŽGp HH,HML8#\6RQ0}1-N0HT90$ Q>-N; MYT̃UpQCTHPe ]b H^KhAO-TS7hW>ԂՃQ-RH9ՀARHR7Y:7KăksTpӄAcC[@OAFcB>dG;6H״KJdGH.IdOdLdGdQ.eLdSNe$eUnDeW ZB[>e_]e_`&Ds۠tw[ff Py$Li g,`wdlebnv .CDF8d1[+g^^gw^g1z n^g>o;g&Ϛ2:CBǚh颌.E"4i1h3ETe8ݜjԴiZNA`2hlE=&?iKcOYmm(ȈnlAj&mȁn'_lo[`+ɾP8[X'5PlF'vU=_om؎lo' 5vO[0o6؃noppWFpn'. PP/p6qݮq_Pw#gp/7mg_lM(4osqΖo8Gr L8q0<4ml'Oos/n+_5- qAtRn,v2wn/ρ;_"W+8W[fm?%n"sBFpIbρ ?DGcEq׊ o[+wPm_wrWm u+Xr4 (pofnPol>wZW%won'o.rCO9mXp߻!d.KfR]7gXvcyf:2¯97A_9g_/C)VZT'yF?êN7,4 uzT!+9zЎ1/UGDՊŕĥZ*:2,Floz>QE{% {Cܡ2E_jz_d03 Až c'VDhb~iAQll}ؿ}חsNo}yG ~Rk ~}7]Y~Jbcv~~w~gioUzphυA,j(ҤJ2eͨReԙNy^)ذbǒ-khk-ܸr߮Ƭ\5/KUv.tkOXl2J޺E3ТG.Y 5ذ9{.m[S*^‡+7wo9ʧf:샥S.RAR4D;Ϲ{o>T$(D0T߯R{( ҁ@ LJ)MX!%@RJ)TC# a?rc*u0ԃ%҈/8?NJ?UdJq 2zbC>'0,zC*7ޘȗ)آ?cpʊ]C!(qar 'uɝxbx 'F*^*_tŃ@vrgFg&b)>r1ZR* 2F.?"hQjiJ0k &f܁}EVEyZ[Ҟ|#?5b >L]8 04m1:1a )Vxk. 垛.'Xz,R-d7z%CT*2_x _*Ms^|Cp),<5G!LaCD2D,<=fZF]-? ֬7bOd8T;>WADlH's0CUmy P6Rjڰ9DN@&M~t?J`"C[;C5?>u䒃[V^" Dȭb8k n}Ftl)ܶ @{ "c$ʸ%?C=Q X^tC8 <yW'b95½!Jc:QhĐ8!D bb0 #uJ(L E!C T"cH~lʳ`d&'%Ø+JN'—%5b|x53fJNFxF~LEffKVE'ECzd$&H>Ar5$"—L8P'J12\e)c)S(+݈˭Ȳ{"|*$'yeZ6̍}iϙi(Gm0&8λp8ө΂Ӝ oyҳr9"O|s'@1}A8! }(NBSjRazD}$04$(M6,(I˒S:Zx)GKҴ'Nsz5HǢ2S!( VSa&2iGEStU֍*_UdXIIլZW%l dԼu1+)z2-}%g!+G>nQ,b3ik&-*]?{Lˎ}f9φmeC[̞֏·4j6-Mn3W.&q,moG\,"т(f<:X„T.!n10!C^;|ؽ 0~w?cw۸Ent^=( mh+F1W4> v{ Y1b;e,wi~| "kv򓡼Oή?ļ䉴ư(|h73| m4D bٔ t{ @u&^3t?D_W;Zn^9"!w8U·p&й=ri"!si]]a;-4s,g^W:/v{=_10e3E.5YhAC^nxI=cwؿ rG-Y~ʹt{c(F! Daa~/|[l\{NC2<w[nWr#'2*ͷe69=f:pn"kJ_zI.ݧCݢUm6^۫s6Z,:*vf Wǘn;.ӽv;ޗ.QpR4߻N?w5&* ߏ#7#+Q)oPūU*#wǧb`Y$tCX{};@o3}xŃ?o~)w0ް ??qZeZ9_ ܲuWV [-۱]Z6ևܬњ}`j` |u)1\ r`  &> `"O ^ \*Vt^RQ^9E]qa~!!!Ad.UR^nU ^ @$U!:^Va#jAV5$ Gɞ^^&&rbbx'jG*Qa*j>&v""-sF'ȀJ0B261/B 5Z 50B76^#6FcK c)/A0'-cg#=c;c<#42D5 ?t9N3JL#DD$D,92#=EJd@BaG|?,@ LD#?$HE2? T\?-<??M@LL#=QDRC8vc+yFvNuI|<A7D|?0–),*.) ϶6l=8Ŧ봶=h:܉zkl*T"B=%C2^ rZ('2s? B=X A0,բpkRbmm#r, )wfn HC<@ Cv)K=p$' ;pC"@7pD\+ߪ(~+Ϧ8%tB;j-)@-CaҎongh-CL"B"\B pC<9H'ފΉn'nڀֈ7;Bl2++q,Dz"2*2 ϲ.ò.r"۲!31132'2/3373?34G4O35W5_36g6o37w738839Sp9s:2E;;sQ<`.X̳JsJs\s>˓i2!1A`t@S4+E(d4SIVOQ׳e!uG|@_5Dc?aaQl]4CTwZUouBHmXUPuW}LZW^SuKX\5L(E\SvaucWS!X_e5[gUVaS7)ds9Sb5YuFbGu[VRQi6IkVVǶOwIook6ov3")w276!,M "*\ȰÇ#JHŋ3jȱǏ Iɓ(S\ɒdA-cʜI͛8ɳϟ@| SѣH*ItӧPJ(rիXjʵׯ`ÊKٳh-vNM*lʸVq-L-lRޚ!&vjo^)+,yrQ~ fyƗ\xIVsHQ3ݚ\Ү l Վn 2|pBlE"WN:^enڜz]sCfyۅNoǣw=yz7!mݧ`UXN'!!~U8"f8!y袉%݉4:Z~} oHw8.8X$by:f䒳ޔ<AiIyᑉ];b9ƙg_&k8 xg cj'u"%`ٞNz5ڣrf h ߂v8Ygzz)٧ k† 쌢Z 'Y e6Ro&V;wetV'~6kr jt*43nh>*z7h+¸zʋGۺܖ.h;j;0wu.[Nrd̬层JyLJ콼6? Jk6eI78_àQⶳ/#Laa{O0 gH8!VJ)0K_Aa6)Ds5PJ_f ϙ."LB=値WBG:z_ 3EQnt T*Șկ\!5?zvsHҏWݵF9CKQ#T8oyݳ>FF+oOeݧjKhO<%G쎳AJqXl_n.D( \ k-Qf9=֭Oˆx(c*^أm2#Z o"tz~9` ^M_Zg%}5CMq|xؠq汢Vzl:_dxM +V1.tS`hNi$fL:xs W2Ϗ$2ps!Fڝ+ A)Ffk1Se[dž3K L/$$*6xKTTk4]R8OSjy&֑AmVsʆXX|ګib*U)u-p;d+Ԕ.Y+f޸Эntƥckow@>$knծ3=Sn)[5}ۯ{kv&māsgL!X.'ٳ)T'߰- 2Sln7[xˋ~0^PEaH &NSLDOIŏGMOwkz8K4;q[V}h7h/.Лe{Eo^O_'%kGْ]߿ȃm ?>^;T vnӯ(9VSgBrq/2qVvxMWQ%tm Hv=(uR\ExhQq$k7B!<(%fD{z%:g}AxCEJL؄Ec4-]b?#jkduD`@VWMeh-ZyarlV`vkVm vmBO~stSdkZ1wwOg7J+t9i'Nf8ʹvGqU޲p%mwd}xOD`5Wp wk9v>^>&xoƁ2u#R'8,/by=,sB5MæqG떆ZfNx6$[Ep8eTEEmCu~(x@d؄c uPPŌ(hui`Ap!f)Rgq<~u82M7tՁ)R u8go,(RH|,v5gTh1ɉb'G'rbKKZZy;Fc&6Ʋ,v߄4g6KJډe9*`'Z8Ir#\[kI R9e t%t[f g+v˹Xkl#wh8 ]:GfG~G1ݹ4VC:7؁`Nd'+ Vl%$l+xBtD G/3*E ^|A5z7Xixp< h*hhmUyEcBHaȫiWEUȆ ˴gv39jy6~9C\zHkKX9ĤԿ$~zhI+kn8]"'Tb%*G ڻ*<ɛ% `pNSrB_+<˕DOjsbBJO#ESz8ۦۤ~l,wL|+ûl@=1|{2} H ȅvќH2%\ ҼO:۱wԗw<YԜ<>M~\/ڛ۹\}*dg~+pר:ճڹM΢+lf߱*tIy=3Qrt|z~}ۣTAkr q.h6) ٍMڿB;IʚNN*Mp^tΓ^. ~]ڎm9#Αؾujܜ)N9N.+ ߞ><~^YIT# P!χw=]9N}|15e0MNru҉?N_~v~NĆ>9bď\U3ᨔc,رƌz yQcE';Z(eɂ/'2)F+i"̉?mt2͒k$Е*BشNڕӫ*9řR&řP`5*-XyE;)\˷Z2߲=q[H_ZYQX( 2ϠC,&e\,ְczu[mk -\!~l.n8%;>8XHt::WDl'O{벮z~r첫L{-ߎ;̺>ֺ^w{|[{BTWKgj?/>O͙_S?:ן=Bd 'R[36AI$iuN>pv'L S"n,$Q Ά!cBp9~D"Ɉ8D)&*qO4"NtB.(B2 2ИF-6N#@:6 c47"NdG9܋ 55D"HU!3K.ȓ&9Qvr4&S. *YɼYr$-cF\R|O/} `g,1d2\ښ)gFSfdKlNӕ7 ds,g.MtzM<;pLizS`<)*V͔Ch) JTb*=}(FecQ^Jt:0? P#)P?̥% KӘ&4t@†iiJHCP#Ԧ5u(T7TUu7LUZm\MX6ְzUaY!moj[*4SkpEFo+Tj%,kS q,GSƲ~lk4K7ΊƳj-([R~ƴ]C-U!YBQ]a;&mqKݶum儋QƖ5nP方unoOnvOƻ/!,W>Wz)^ת=o]K蕯{6zѯ"-5~`"8|0`UN^YaoؘՇ_x[#Vb -܉Q,%z1+ql=>]l!@>t?&ǣq2'|c)gr$ .K T('UWԌ33d~s,gY+wV/0(MB9$F;ѐt!V,O H)\Ç#JHŋ3jȱǏ CNdPɓ(S\ɲ˗I.I͛8s؇(ΣH*]T`Q`8EjʵW=I J(e4*豯pʝZg *h?fK{lPQzVLĘ3k>s(JQMz`e-̺kCijU|ͻcC+_1ނ}QGYșkzYGU ӫ'˟_0;Ͽ?(Kh& 6F(Vhfv ($h(,G-h83 P`8H"$dPF) -!@Nd4NIhiX9 oB2eD`w٦~&riqF}ra9じYi4**8j`#IBQXĢ+Z [ "@v=h!%-IXBh7JEh-Y[cD @y\ 5l##9J^2-Kpc7EO `1V2-7RI -" GUVbkY[۔.5NG]cXKCP/{^ʊE(w-,a^3G< g}@<&kg8/m ̃ŭ!HDmqǢmnBec+W3PfR$`adm342/Oi!}mUa]:KA j(?@./" Kj*ߌaJҖp%L xh)Ƒs"]H rМP'LZD$;@;\BЧ v9*!z@Χ^u|!H&!'t#X:ֵIވG:2=E;=ܘ{q=쥷%ߣU#-@\AW@"- K|#,_~oK; JHhWg* Ay%: V0>Brw> K Ez'0DAh S0wwa6dX ÷b Vr@,WWq PXR—Fh 4er7[p >׉vUtqsL0bsMW (a H is0m8hxs8p]tx 瘎Sw `x -}t8t8e-PpPCw XW0tGy> @XHK؏(J@Ȇnzrݨu V 0O'um_{ 95Q99G Ç"Y8xMOyP0(EyqJ@ @[ܖ_as 0; j]/taЃtJ3=05 ٧zzWv7Yuwwzz@ zwwKw=Iuduqi1q jrʺ p !(G}@|`|ȇ~'Xy.Mg 0b|0~ oq=k/@bZri(tVktsY+ 1:s1~Q۰vG7ȍHAKxt> QIzYs 84˳]Kr?G7yȎ.}Ǵhop x[ 3˲ڵ. <8{۸qiE[=9< PYcx;~' 0[s1 zuXK[ %ԩIgY93؛a8§i _؟٫~+7vz/ʚk 0Zr. p|J:gXדn j ;i |q5ZKо;ǰ ۭQ yK~w` {"AMusZH)Ŀ1"![1TsP^`bpuI;Oz,WЊ)y>'KMv<Gm;k1)lvۓ&iHjСے P繗jwWCWyps+v_;(%(aəښYM԰ :ͼ lt^v~ Ib sqـ. '1拾 H{uu{kv x]QlMۗJȺɕNJ` 0t|}m  }̀W'ݳ/81۔lJ8̍x0`+^o8^m햞zx&nx= \]6XX8}2).́, Xg+vKt)~*"xLDi?pU@^rJm<Kɱ~~LjxNiɲ-_"ۭ<ξՍ`%Gܺ-Oݤ,կs~ ?1wzCNDb)*2BHc x*FRzJ\,y2eˉ!f d!oI'}'q"Z&"'>wq坠vlAn:%yc/&g!q.rDvaHhF[yw%N,&lDNJg2.GOšon鄓vjYKLaK?{1x8pFHJsݍlBAlgk I# $H2&ӣWx`r\γe̞%`O?r^FA(|1 #0ƥ\|Lm8 VF9a7ՙ-$ ,)hTPX#!$Tm;(a ' "vG:nİŘ>w"鰄KC>tp#P!Ag䄐%5D"<5*"Ċ9vE%2]Iq #B#!9d%&Q['::49*թL Ae01HaC;p(YjJ{*D)U*լxJs_UQR`~- a)Be/}%p~yLd d2LhFSӤf5yMlf2f77TZ]f9-VebY'T"fNxf DtCZrfhHS#xIZr#iT@=-jS$OSUa["\#CD<:nJ Mn $ٍ-ns: o$I)7EiDh:f*cȍ a%)Z}#$c/"k]JTd0~.>HBPO6ĥ=!<+9H[">++uL1bsb>rŰ:&~LtRxxO3|9@z^'}Mzɩ58ʼn,)OY"g>y &3A h57hyT4`Hi~K^}ɺ꭭oή 3Rd#Pt~xzu sʺ. ,,}?p88ڸ;wO.ߪ!j. Aj z`Fy@ۯB"/c-.!0!;Ԧ!y H;COB1V%k'䭔ˊÉ+r !,MSH*\ȰÇ#JHŋ3jȱǏ CIɓ&\ɲ˗.œI͛8sɳϟ@ JMFcLʴӧPJJ(ҧ2jʵׯ`^lЬaӪ]˶[c'ڷxg\0 È[p_ULgL3`̠C yϥϜL׋5&Ͱs=oJm{n̻M+WmȣKҷs+WMݝ2'-{ꍲO~l+c(h-w 6lVhfj (C6(b%0Q2h82a<裆4(D"ڎE&PFI&JiR:\e`ybifdp2ft)!v 蠄2$h& 6衎F'V'f&v&% %$###bnzv,l~6]¹&s6Ug[-X&xN߆S'}iĹKcҶcٱ[oB;VmASdp%ԼmcRa0gp^oY⒧Pץ||0isr}x#/˲M,4Kp k,ιLt5:U s*rL7=/PuH'Yf]s$5 v__'C iGf#C +Bvx~\g 3D2\[qs~曛,RqUӺk{M߫';76G.ңG^؛XT}ۥ=%wNn;zϬS9AK3҅~VX.9oh&kG5n l`73Aq3[!Ӹqmu>5ljK'CB]+ R= ni>\(6P w?拇YaH69nWC& \JOkూv2s 221v 1W£) iA.Y@yR7VBٞ"AE0DqV$.;ǒ=d#=Rz˔Se{8VKP)Z\-mYK\ޮ >Y10yxƗqi\4ef T6LRfh3uW_]XFAţу26o.x˛pQ!Oڲ:-E֊75ct!X6})$osheGjT/KMZf޻f pUŗ( l85.s,>q/+ٵE֖Zt r|ҹERy-MbKR>64i\jy%.hGޔηd&}H_ 6,AwV?u}g>8L(U:4 _ y;:6L-9;=G%85!Nӌ˨fO_"{ZFzY䵥\쉲7n}x yl4\哙V{/n-nWJܱ%7Ayn`5!gn2fVnbD|Dk9﫻MqƳIنAwgoAtD)]3qO \z$/ti-XyjryΣu53󩒎9ȳU].z;{7q:j.u+il(}v]O eN{]h}8wy}+fv=ħZ *r9=>q_/GS+a5C;rk/>7GO׎vz#vu K0PvbDVg6=>_w7o~Rj7JGN;xՅdFw48B2]ⱀf%q5p3|bf'vgk= m}zŁ qW>K^r(iQz悻FOebGlrS.P6DD77l=wrFtii{'78(7l@INx{Fmv7>sddĄOn8cxx|y{؇TH8ad[Wo4[vetz_tzie^w8yUy{G4aKXB's0W`8{/HrӊxvixJhEҶ0ljbޗBHZlmVax8<ވ1Hx금؎x\8!Xq帏XGIݸyw IԐ)ّ!',Mo H*\ȰÇ#JHŋ3jȱDž~}Iɓ(S\ɲ˗0cʜIMɳϟ@ Jѣ?[ӉӧPJJիEmヵׯ`ÊK,M>Ƕ2˶۷pʝ31?t˷߿Q{hLÈ+^̸ǐ#KL˘3k̹EJ@ѤMS&rQZ5׶/֮hDAR4D pA+_NX@C=RI"wϴѥD؝'(}6F({8~ zI5KLͯ???~^wy$)H Q'PRTaA$aD"t ]X0b A,V5U *@@cp)w "d"bhX!  ّ $Ԩ&I*Ñ4%Ƥ@T )8ȣܛQ{a% eq6? 'f$6) IcEJ^)&1P0znF%e裲8*D&*Ae 8Y JE쒊YhE"P%chi@`bt_tDc'-c`≊8Iv|B?Bx$aG) d/bI)H*Nˮ}N%p+<o↓y2G tr.; bp"k/'>Dr@fEG1lc[BG[Yܱ`2 '36p7Jټ36MI ksB5b >LJ4p"0rq^Z裗~<-PjBhƚcU(,GXXǃ<2iT>ъL R2Dtlbi\C3e|cEB̡"jGVd'9H5٤%!i(BB.) Hƫ aAN ў(IBiqiiAS9ԩm1R:i9 yf4Baі;iPڤTO<IҒ&Q 4" 簌 >@"ƐTC8ЄĚJA2]B [11щuu1LjȘZ22ݡ ?~ԡB)OUI"Feju$ӎ EVb s)A: $4;UhQrTPժb <Fo i "f],!T"$l0, W$]M;R9*:A6J[/prR( J`8,&bTӢ'V!D 8Tbm jyU  mDi^NN;0?؛ ķG#0&WI]u n<<k r +Ѝp&DJ0*,J m1[\LC+DdAp"JN-e [ʖD//6@ ;?,hnI -Rf0L:xγ>{MBG=pL AZD‰x@G;1&n F:BmE nH"n-};O@<אu7$-H`;|178i(qHǮ/Q# ꡤKC&!uB h-Qc q.GLCaod9-Bt#;hC;m_bOЏ~\" }"0u-j;{$H-ȁ ;'1"\cXo~ ˕o'C 9@lQojWHa@s} 1` 1s hs6 gp68jq wAw JݐxQ ۀd ,pVxS{ ~xâw!.sV!8p U7׶;ޠ(@Z18N!p#{pn0XLx9 s &0Yc2u  '0 ;AhC0rv"WGȘA1r^ 0@ P 0oЀ~)7Pp `2 @ )H OË2w xCno ^ @k866b8*p ّ5P(Y o6@tV(p  IC 0i Sg YUt‹ @!- ( w Y7WjI>%]lUmF##@x~@k ⶖY`!iJ 8 Sjyi=sq 0Lަٚ9YQsYj viiVfٜfDm1mѹ֩m(Y)Vlǖll mm6n97!h%0wJ4Ieq6ip9+s@'t M 0uHq^)S 0Kt}h7y iISuGt` uaA5%z)&Q7jS6WqHjKz/<)8<*YuuPJgS*TWt5W=&I&#R'+t \q_}DX,r0's s7s6sksCVgvGJ!z60pzrGwvGu @ 4'{vHpzܰ P {Zz y3Zwpwj{ъZ(*Jkw}z{QJz{*1qʪOgGygx'yyy&jzwڱAg'jw@V}q}0(}" iXV(nWSp.9 }::5=rF}8! !jO{z;>;"[-;H;1Eh~pشgC tCnh'=;8AT;kи?; vہqh;(幽(P(!+ 7Hdh>k+ۆo0ؼD˻jUkthx~ 8]x|`|xm2jbr۽w7r[tWh1(0[[Kkq[[ 1 ۾<ۛ o{J0xE]z~p,K~.Fs<4<6t:rKArk =<+uPv3>\@, Hİ85@p) Q;:/LO@:b  !fH)C ж4Q9:.(9M3 M  ѹqYDtQMҡ  -&]N)?/Mk]/U> v;AXgI` e %Q-} ]vpq- R69a7ocw?(!]]؄)~]2AsFCP F<(Qٝ9ڬڮڰ۲=۴gFۺl޹=yg:m,J|ZΧ\!*: \+6KSm{ZKk[۹q@X \~])ŘK6$WJ8 mL˼Ϭa^\"M:+m70.jmm1~ظ>ޚ=D^F~HJýN^ 0){ @O {QI&m`>q_0[NM@awyN焮` ,8IIܞ_Jʡ ڤ#~i^P1r.jߊ&YwÇZJxv$= UnGۢf h9s]Kc[r~u=s%[>J$ML˞([,r }a!`hx ٫_w[<>z†+jp  =Uช43ÙHj ` {  A3˾<߼L̶1nȳ<0%y)F`/~.'>!)LN-$m5=2 jj~S8V>  q?bq A\[ H!Tn8Y~p |q gfh. 1 0  ϟlJ 0޶?MP Ǡ6n@VA Ұ;].ypϼ$XР).dPm|9Ȩސ0ѡE5z\ܞ{~$HJ1eΤYM9uOA+TEs6j@JΘիTQmT)9{.^K}zO qGΖ?Gka&yڵџn٢ w5 `^}).dKAuj݌_}fȢ Xb.ؠ+ָp` UN M1H%DZk;@r(Qf[JgGJ"BV;gp.ȒÛ\!B΁jy F%Pyr.J. 1\tf2p;ǽoQ\jpT^s‡Ϭrf_ 9'~aIalw}GP,hٶDeePc[ݚ9b*䁉RJ8 crdS:QqXA G' B.DA" Ry]OyHJ@*JW6Dw(iIL dfL? dt9I` "䤺qMQփO3e1WJ"XVUG|S䧀C<5GQB䢄? hܭAW\a HBvKjWC q|e,(N&OP'>H<<0ۄD"\4$sATrbo8sg@G$25 A(> C=h Q$}iAPGZԣ&LRZիfu]jXZֳum}k\Z׻gCcu}ld -|&TBTNv}mlq1C̐0#9q L}nt[ ycv- m6әτF!1 ZL#E A^e0َ?|3gx-NVJPvH,APIO|̄&(E.њ#H h[9)WSZrϋ]C8Pd@DVKB˜dE0fzu^ 2+5j_AFt]Ɩ յ#K#':CpC]޲Wm/r޳Էv'^ۙiK<&Á8ЯC38F+qMz92uÙO7Rhf:S4V|W6I]^w)<5SMV޵ ^ԶBkaS<6g!J1٬{H;[b/Ii0/⊰0p/ k }@ @j‰n c(2 A,AX3>3AlA3LO{AAAAAAA B!|2#NydK`"B?ӏ`f{6q-,0<1 @2T5L/l6lCPI%B<IJ̊ n ?ADHî $?\ \ăʻ3' @I CNHhRbx78 `op ب7nv3ސ0q3v`ӌb|~#x qobESL El77W,xXlנٸE(ߠua$TGoec_ Fy$Fm4ƁDĀc"~+_ #g#/딓KTyG9;=I>Vٸ]9_qxK9Qc Cـ(I8 *|l:"9ԸW1^asI"IKJ(JJ0JιIWqKĹʫĕQF`yȈۃ=pQTSC牺:z蘋h:X30s$r0"ٻD[ 12AMѰL !0ͧKMHc.zLLܘs"2M;N(x2 4ɜAaKDk"ӹ;qؑ0 Dyp%n0̜O]JC!«i;+Q;b+>b>*&qZ )9rV`;+Y:tg)()Y=JX,bX{Nج2Uw2-=!YX[Yڎc+%Y’ځHj$aq=2}][,C.[/ *u8ZHS/ wZpy?[x=,02ADoʥs5@ꔠ[[ȿ yXeM?hDž}˸[͛+ˁ]\ޅ\U];^%\D(ہȀe[ O1XVEܡw11!_1ߚD_D_@;^-\SI Ԝ s0:_N˵Kx z`[h4Դ`aa.a>aNa>)`pp,JlBgĽaaBc"b˜:H a#?؆=[8CDR _1tbD5C;\21c0&27 /|c+WHL,<DŽhpQb8DTD?ߍ@xD ޅ&KבSHہ(8m@FקjC[ʸFU GpX rsEu\ŃHe{LFttjƅcf8\X\iǴpHgh>Ȇ0g`x<^v8^tǃ(AgF H὘LBzP{{g}`c8)e} rъ%J$IʔTI9$ȔZᔬD9(SYK˘KY؜ʝĜMֹQI^S,KTꚫ@F6'˝ɋPSDH6[meX赽 :((gSd)4N$ 4;uilͱ9UA Q4TvЎlD*ׄT;NN;[L8 lNһ9G>SM!Aў9PMЂx RW: ёQƶ⡷ς;G].T252!KLFO@}~/~?~O~_~UB~p~.5;HSH/ O~/U5 %@~PD,h „$AP* '"ƌ mt#Ȑ"G,i$ʔ*Wl%̐CB8fI1^\ I!H4%ΝI.cÈQ<)ԬZr+ذbǂDj:At*'+/J%UHu=b-\ {-ȡSd 2Z,k$/  ? &P'Խ2XtMQuo@e]ҷ-M0/D3WӫD=uEl>g-P5U.y7}Ğ_*ڼTR]2T"Tۗ2xDG^_N\Ҙ 4&u"USONAG$trQR{ Ĺ%U~x:1NXCB\U9>_I BH?#;xM{7޾'7?Yձu :;tR;,`bSX!Q1 ty`'AP%V"F@L @NЄ22@@ $1P!_pX"/Hõ$Bi Odk"mB/Bd_Ҩ55A=$șDK cl DmS*.E䖉-^I $J2lblIkҘ_)qD' a p੝ ?XwBN<D'Tqb'yT b @r(HBGʣ1`R#D.!AbK>E1j< DԣAiNw:JM̧@)@l C QG ),1fGUGE Q}hD; T!X*W!Uw>EMqSD:YyRm=T r2}KИ?Uj '&BTO6K* cB&rNCl ־ fbhb 'ĐR%24ZH# *i ntբȐ$[ڲsص@6WV(<*:"` ܉LPidZ0 B{68UH}SqwbUu)ֿns5kKԺwmq9 &&5b UȊA_ JYb>1+I$3N~2O(2̇-s^2,1f>3Ӭ5n~3,g2heK|p"a:nЂ&t(~ֈ]@K#{-0Ms}S"cԁ7^HGMHcV+q5CjQ%ٵjWzֵ~uд-iׯ΋ȕb$bbqke+vBMpA.jӻ7!=83ncag;B!hǾljw"H%]qcK;bm=yH&y=L:F&!q0E;M|qB7[?Gp_CpǸ9q(Wّt3<9‚[v;C Nb϶HG',tHD@$h1z=BwAp%YpEX@K+ ` &2[׽yNp xO dD'QDǼ9_σ^Qz=k {`ٱ< B@`p<죷c& dV<@_;ƤLٶB;$܂<ЋuB"x!;pC"@7pDB=+Ђ)#%}!+0-<#AMNKB7|<C9_;`%eN?O eQYb9LdR.%$4Sj$BLeU_#CVneWX?-Ln&gbٶ;98БL'C=\T7;! \ݜ;7 -<$BbAhIYb9$Sx;C-tgBh,-j&Xljkl Dm"A-n DofpWqbe^t&gA$V]AXb:'L'<V:7h^ujDn;t٥eڅ(BCi#ڧINhģ~ħȸV*BHrziei*9%]1\u &6UeBH}j=L-u(]'C'\+C8à(@B]-{{ݷ>B\B@j:g rZa% ZBAZ'`' .C'`   _nBeF^lKaouofo.𔥹U$ br@ ~oJ/j7a-$@60t})"#2(&z&#I!G]j]*0*E8;ÝA^j>+tG=;D3E6zA@H3Dd74=d@.24M%O.]_^QTbPQT1L%RNfKW&e$!w["-@B-_:+%l+$A@NKnm DҬm:sώ^~ `d_GA9W{Cv?o' O@A8lC89Dcs?7/' p.o=(5@ b1,VWa졇mD9(Xz5ž՟b #=p'%󎨃'\ܮhG(Pq0yI'XiOj o!obģ4ʼnCKcr3*[ap%qߍwރݘaomuniKAL 1i *RlmzEۦ e|m l_Î׬PnnS Ep;bDZ♧ n$Oڱevrzȹ$ulFhygDnK:iک$-r 淞]qם'|y)te]tM7H}Gxk[ڙg&U#;f_(ό$i@a4Ҿ`Q%6BH'Qx#%o-!re-|HF[΅{~65$;QdBpG(7u8gY(i<[i-\jq?u+@ ZP UBP>D)ZQ^F9Q-hr‰x'>ƽxT~Xd:bf1)J]ڎ?%!5IJԁ ST@@b<^Lz[W7?HCWEjU@5hiYքի`^Z&TR [XÆũ-r:*џdŢX 8kB$0hY퉅I-X,{Rl v*eD:!8︜/yf81o7$x+Kxe!GUT7DHv^$w-o}c\ 67∇O]z cb;ā\[( ^p!_Vmo"%׃FMu!Ayn;Dw7߭xK'󞫽Eo=;b3w> С5> 90QiD<=N'5[F:#vGڕ4$c.c pZu! +Q=KcPQ)aDeэ^Μ5SY~ŖEJv?:1qM盂 n}Fg͠nsoM>*[#&0Dϵo8ϙ]FNֱNxG$b ?4 DѐftkfgZ\F)>e{j)E(r%@JL,$xuU@DSoRs{iBjzXA<1O qyJ5YNC-;ӢԨ*M)R?S< <׽E(J_O.-qKCr4z8JJ\|DEQ#C>뱮sLf;pR)Q5W)dsd^.!2`#"\`2B`,P0!.pzPA<`֥  2" ; m+@apd dPe ꅥeFe$M*I. )i!z'wvGS>>>?S???@T@@ @ATAAAB#TB'B+B/C3TC7C;C?DCTDGDKDOESTEWE[E_FcTFgFkFoGsTGwG{GHTHHHITIIIJTJJJKTKKKLTLǔLLMTMהMMNTNNNOTOOOPUPP PQUQQQR#UR'R+R/S3US7S;S?TCUTGTKTOUSUUWU[U_VcUVgVkVoWsUWwW{WXUXXXYUYYYZUZZZ[U[[[\U\Ǖ\\]U]ו]]^U^^^_U___`V`` `aVaaab#Vb'b+b/c3Vc7c;c?dCVdGdKdOeSVeWe[e_fcVfgfkfogsVgwg{ghVhhhiViiijVjjjkVkkklVlǖllmVmזmmnVnnnoVooopWpp pqWqqqr#Wr'r+r/s3Ws7s;s?tCWtGtKtOuSWuWu[u_vcWvgvkvowsWwww{wxWxxxyWyyyzWzzz{W{{{|W|Ǘ||}W}ח}}~W~~~WX8~x -x,(!€8ia@;XC@.@Xやт .-2V!bҢ,X… i}!`! ˆ+x!e؂X:XxFa+x"8F! B h BF Y,xi dA8حA FaW FaAa/X)A 1 j`_9gّAYY֑И ǙKB$َwwb YY)A(䙞ӹB x]Y8% Xyb x(a͸5Zaٖc:=ba xyؤ͢aآYAz"٠Q!( ` ©'9szo!ˢb K H b dAǚ ,[ٚ);:{ "axg؎#YAaAKb  y)a8Y;_*4:sگaT8^[xù{o;)!m3Xi[ 1yda ؗ-XoKM;A8!y\C [ "ɶb"碫$`!Y7s8gR|u5Zowƃ6 !,RPKB *DPC>8PB'&x1"ǎ?(Q^T%A.]D9SdH'q,&Ōwi`@! ,WS( DP@)WoHAR(FEҵs1ccaT@Mb|r@ҌfM;s6t((ў*<!g,WS( DP@)WoHAR(FEҵs1ccaT@Mb|r@ҌfM;s6t((ў*<!, (П*\ȰÇ#JHń)2jHŏ CI2ƍ\ɲ˗Orz<ʴӧP*z#Qʔ2Qᣉd)ٳhiN5UQt|fpl3eG$f5.ٴ o*cf\H̹s[|MG^2B0%=rW-vsF9b%uuQZ9ېyͰ2pJY.OsQ^vE Y&A*D TdeAk ĊAݔID |i06Zaiȧq.9cTe(k6PRGK(M$ d0찚 DfUWk)Q]RB{W^!֥Е!` C!dV}pUx-B(|%32!'TU4ז<U.]LITDլ4g!@eQ!Q,d\5UBSHd]T6C. -?Q5-xL_OՁS]3mvX=%'>4;Zw3oN#Y栛xhvߞ9ࢣ{֪:/S.;䍛N{osn<;;~N={kNvGK8̻̇< moW \ %iy)!Qۨ0-ag^8?p34\ whN@| FDF!$P<HšLX :1'dRVP]ZFIQJ"\V@Y4>{02xXSQ5,glB%l%M-$iLwz٥ʾZX24n,MGdihRj2*Ț#vM]t|pnD<[QIҊKiݎotkZQY \ IUlƵTa AJu%:fxk] ~E)҇lIhq8Р`[bs-K9A:ֵnԌM|",Q.HE\LZKVF9/m2 &0u7IvxO!wPJFR@У(:Tv\MoWcDS{ vd)ܳh&WrrH[nLv~x*Z"Չ<|3rbҚIF*첢+)z,cS9r(V#LJedi]ؽ+Ѻ,Ro]V̬7Vo)i-vP.*bYr0tc^WKv%#B'H򭠗L@9T!Ʉ)fS_GKӞf9|3NQNr)E0/*D榷?6NDE 5~X™pDaYz:?XJVֳNªs]P[:.v9;mKn޽xϻNtx )_'%tR%[&%e'#hQ\A7Ҹ4i b^ಲ1;yKĎqAGpֳ0’Kh0Ii,#=Ґ_aMH+eNxn-l ޥ,d/8)mw:JNE} W$$Pdq0IWEzeIU`$Q}/b]] U-Q&0.sv OrT+1"CXi36K_Nyf_-B"`VI?JɗajMaʂjq f``8P&cd;0D'Ĵ d'L&'ux)5L agGX%FlSLs[gӴbDM/HcDh7p.@Lbt7gXTV|cBO7qg I',yiG߄G'_AiHxGX\&p$Pefgh|G yHdYd8i fNEhwgw-*Ex瘌t+mh+tO %Bd,(L.X-ׂRѡ 1jg(yJ.da.b03J4&0-&rt%U$xm/_m9աcF=R0xKEJ#89278I22%-%R{nHZ"f-[#.u2o+%xG R=P7)w yC@)S3#6Sww:>0IFIw.Ivs^iךv6y89ٛM)E9t)șYtP! YZvu0Grp%t۩8ExyrAry?t6a!@?W:5$n9 f"5Zr*9 s#cSqa=;k Z?w:9]w 84@c~WZ i>,7R_1[7U_[ s[\\-ף,ZS)ЂR2hvus1^*HAmn!ph6 R^1hscŢAa,a_0"b8aj!22h R0/`UmW)|Qa:RaKv?6%$"LfHaL]*bb*-K4YH\V4@Je.n(LmeYQ?1r"[f#D䉫?qrS''ڋzqt F kfz(ڍ uVdhzsbi"(B.0⢵wO}j#q&,ٲ-!l 5b橇B 3k- >[k)kjVæwl u!0x$ (: 66"JMBwȰyD2 \)ܢ{i)0]zy@89t ۽y]禾wyn|Nxq`N Mtvh=籎ԥ-P<\}۫0^np맞 ~ϫnߗ s-d}ݝ 0.w =MM,>ݶVNҝ> 1{-ٗۃP ٨mӯj_ؿ䨀 1ϱM> Ϝѽ ]' \NPҵQQ/JUl`/e5c,l?]on?vU_f Z=j>h";ͣ9X{=Z#A4>:6:!w:C:Y/tn`9x=FA1O`0M W 仝>i$. 9l_*p 7& r Pj??9s䞤rշ.ʿ'${|EW_odXPA#JP`nG!+l8I)UdK1|@|y/_ ֞?}Z(pϣbЧ(S 5ߚ9Jpط\]yۗ"O &Lo=LWXO < \l?1~ }KFl`$ZzBB5L͆_ܹu0[p6X}-FU7e0G7|3ٴob{g}2 'Ll64|[ 0B˨=d;/J.4*(2pC /#ƾdEPJ*|X A3 gQ( ;rH"#ٮlcո T(薺9 P=2O'̊tM8;:'[{(n Ģ21Ks6xĒ@CsM_>ñTDJ;CS"D( J55Xj(+>1p6UJҨ+0(IPTXBTheOTj+Ɔ#ԭMijˍ=pUw]vU2ݶڕw^z߃zw__XN` )%R,Ba+'"He/DvHLFb5xbNʙ!RA71Vڮnyi^.&lҩ#;RR 9FN9) ;4ZA)b VpYI4 {tRAHQA͐U-iV`cC2N,4?v[rғ _$Dɣ%K RT  lr\jyq2i6A`YS kC %OzD$3eU\B H>18~gC0щb49m.cH*0x=C07<}_Gjp K|A c)DiZDAnӝBK-Lu*Jz|)R;pT%v2h8!D 0 7{6ªX J1 k`r7m{ {A0L`l7^haOj|0&nz cF~A}k^ H^1AaǏQ % )si5^V6^ 4y3⻪+8>=pd'c#6 4t#xɧ4G* ??2uKp&Թ=S; u/S7!-H4ledP{m/CQA]>)>'͖6|khW{]mc3ZN}OP6#=ƫWֽ ,on 視e: {ݺ>iC& FCx{47/M3+Krzȓߨx=m `WWN֣:#ZA.Ysa]rϠ }iZVykU-1br م4O jXSx7׺]wᝆȼ[D$cs}yOzUy^7j%wa$ՇH|-YB}$ڧH}.}7GKys??۽=;#ۿC?@C@@>t@? #@$@,K??|AtK t۾d|\>"#9QQY@B&,?H !4##:'>!ÊB/L @84@5, 혋. T ,C:lQ:@`(Fь`HDL2q5yH AN, i@9 y\EjyE ϰa"EeCi 6 +В2YtAFV@8HBE3BNlfMLdkSNȅvPWv>AYnls!8PQ.nȮ@{׉B?AF`&We|m("Bas)I".]e%HˌUf`J,IdK@Fʰo(pXD˼I4erXX %抈ȼr(LJlɬlLK<\MVLLlΥ%Drwq*u>M{ ,,ND m|1Zf|NS|]j!t所>M^lL̛%%utoEϏItͬKot=rP Lhd!VP M. Q%Q u2'Q>JZPs-a=0HXiY_D/ R]9H7R$mN%!eqOHQ*wijnL;`Z8M,'>@:S<7Mx>bSF=)+ِNN&*>e_W`Y9BpcJȳR'l*)`;I63]"8P7ג޼N-6D;m ^-uR冪 !%޴*J* b^ v *y[|q1;;$'y|2Vjq-<%C;2-W=3(WE}4U`M;K5U[ݱ#~􀂔d%2:T`yȓ+006N^7Y*qLa˗)!a<"O'd>7P {s #i7I~÷∳$J:br{}:HSQc Js}߄;N :|{43!oJ|JCucܲN=bM9=8ѪNml (%:"ds`2uU|(1^< u)C=FWB XpXsx1rU{P x }~Vn!LBH+|"@Dָ "4ȄJxD<<}Cb)MMDQ*ZJ7a{pnBZP,S$2nxg-([F:l2+?*|*AjJ%<ʍW5FG;"O,̆vR z(HQ SͦIY TAR_ItwPwC,7+>iWj\MͨM$| Z܋|\b2C Yю`G;gָC>Ԓc]=^;'{"JjSV ]ת$jyN> =A*A DbLJLf({u8+¯Oe5YM ǣkⱳXBR/8:JX2Y,siM&f -924cl/K !c3FX?#oCAD۠3#-鏐 LY' |4 Ь;F;} Ռ4MIӺR+A0 BAWlӝvYW& sYy?tmTS6JN` LE^ ^C"j n~7D93œ .HR4mq6j-X8c.18 f8q"9rC{ȨEуZV_8 ANޯ?O{c;>}~?v0v $! NS ۘx;^odZBG]jW]s]0&\;V6j]&ߎ̝ԝ}gU[* mpdܼ|P'̞uËU>sɠYi]TЖ>W|Ң} < §ۿ~ÿ``h.` (+)`PuG>j ^f`9q ޝ :.   `H`` n fI` .`F!*\  Y:aN!v R nu !!`aN`! a"~᫄!F rV #.""$ Jbnbf$a%.axb(!>!!"bb%z"'baZ!+"m#.p #1&H 364Z1N5)^6!n7L7~86`69J8:G:;L9c>?#@@$AA$B&B.$C4$D .E$Ec*V$FDf$Gu$Ar H$ƌ@Ic=4$K6K$-ƤLN"M$$N"Nj,$i!6FH %1"`0QVd a00a`!VaV2U~eNeCVUv%X*MXOVnXY2Zb2&6\^"f%%L֥r%avz"ce.>.&Kebad>bZ:(I"]!a2%)&`ef`._&d]z%.f&h` 0& bg!Hknb'J&(bo Q:Zz&GZRP'vڤi"vd<~'Lx$y'w#zJR{'|gzV#}ʧ}g} ~'(hPn$C.;6#F8$f^f v{'_{h('&̭hD*uvx'Sި`5g&e[N&h*B攦s%F)of n(bep4'` b%"2^ej&v'&jޠ#.n^":q%p $J)qj虮b_z$F+aBgX鑞 yѨrj*VgΪɪBc檊*h᪰j +&.+6>+F+M(^kY݇v+$BڷkQ~+* ̱+f1+F.hD2t,ꄧک’` ~B,^%V, 'nfZ&**ng~T^/bꨪ,g̢#άDͲc,n,?ҫ-І,l.*-FmҚ*^-fn-vmyr׆j΀-؞,- ,έNݢm--d*n-ߞ -2fjii>.f,%lNjǒ.j'jfnkVʡv*p~lnmlnzlnvnrm"N/Vz:foվ,J~/=ٮo2,r og)k0,"&.T0ͲP^dbNn_Z-6pZ6h#"i6ྰp&i^j*sirfo0kqkᗊ. 1 e pn`6 h:2Zᚬ ?qǯ~p p⪊"6-$q"O2J%/ g#1'.gr~En,) )*2+*j,oqFo>2 +31132'2/3373?34G4O35W5_36g6o37w73836221s.߮1Ě<%=wi=,T3=#;{pq S#Wkjft.1,:rtf>jC' /42v0,DOD',E^f"rJ):+&eO]2֯nbI#q˖V [qGS&kqH1I.LA"2S^b1MSe?]N{ҒO~ilcFb;ttO4A[4K&Sr:lZ*fuI \7ε&4)XV{rQjK*Rjf{k>jgr@!,M "*\ȰÇ#JHŋ3jȱǏ Iɓ(S\ɒdA-cʜI͛8ɳϟ@| SѣH*ItӧPJ(rիXjʵׯ`ÊKٳh-vNM*lʸVq-L-lRޚ!&vjo^)+,yD1<\c㢞B.<уQcRF?V}6k%9>8c5,woM-N8!`;}N]y/~\pӏ;!1{^UſY37>:{_굷^Vw]z&`s8!}z^X V"d) x𝘡#Ȗ >t"*x^Qa%_>8-Yh% l))1% bEXZ [2*&'P ab2$?BH)gFfw^V$YHJ:$^F*t'Ҋݎtj)JZar)`jA5,c>:ѝʒ#k~(|y>ˣnJlbi jxbzxfdߋWblb{/NkzmWc͊*f \u <1^oS_jmNz[׼jh_~Sc ׺BdS.΁ n,2}Ed [Wl{b [:Jx3̡w@ _ضPl4,g o5d=6AV mQֶuNWJIX$gc2E6"蜳=H:,tddK^ rhTJW#-GE X2eC Y tǐq0"Ǜ`bf2gg'`Y\/ct'%A*BvUz% 0E˘[Nrb XLf>6pN΂f-G.V[tk^r&%ǕƨJ_>ںoPTMfvQeUҝTAx#sVt3c/Qi@<OA})LgH[̄S&u*uT ;<&-cg[..1ǚl bطxTw{B.SǯIS$bSnF;ܺ4Rs4V;Td>πI{5o~;󙿻}`ʼnc{O['Gr xݻ~nM_ZX~Q#Ue]4TEmg[1rUDj,_bud&+Ks,O5_iʧMQ.K rX94W4ibmۂ[;^('\*={J{ޞY!́vb޴Q{NJ1nfx9 9&HcT[P=(̄/U~ƬsCq߯W-3YM74(z{?\hEh_I؄NP*HcL4W.9U^>(j^4VւaHr]}/ 5d"\^kicLv]vRnK/qKUqe2(kxd[E~J7lPuwlFd~n4lS.(JWtmEmfyv]FU\'xTVfq4B7u9<HQgiHqcdo5Sɲo.8z&hv-;HUċ5ULOylܨm`yh;e췎:8W.*w|wTxBexӘAdM$BRg2g7rhVtmVb-Cv5hd4c8#Td8Gpָz-VtVSHmT)wFw;b/jljۆ}DN;cxhmVmGIynPAk׉D@;֊4Ubw>X\ʧ4c^T8Y~*TQna?maIg;ԇ7'FhxMhsטZX~(|C{#xGXGhrf#VYD8GB3PtxXD-WQYGhgzUjQAim腰7Rg~Ol^ 䔋oi?Ħlv8ɖx?ِM׉9Dܨ≙[IX i4~8x9Pt\r؉V5F)tNte+ ,E8ՈNPt:aiQp햎8R)?WI*QM8dQIhɔ ;YI@D>Q ZUw)RcWNU`'(U xR ǎXnE)DWٌb<V3/z7QewNZo:3vhK{=+$MFvTSS>a>@kJkߛJwGE}Co)_|IYV_(hYjyj9YYœvxxDuh$~+Ċ DØf{訩˚ڲX2kɖQ%tC U9]̥c :}pLmT;lBdeW}l=ʸ S  94; *Ž" |˦2 5mt|nYR 2oܺ]dpJI`x0˃ \bLiELiZXj\̉ī_:3wl`* k<5?4̓ ~}\4p)d'ii=z].|) . ~i|:' 0+Qܞ<` Y4;H<;@]a܋廴b|ErTLu>;)+yӊZZ xcVTYmlֆ:&Q|P[a{njL۫^3\$F=mM$(ָ̻SLWx 5+Aי (=y }=,u{O6J쾛LR :׻D>ڂ:<[Oח 9 )n8?.3җ`K3,}$[KjKû ))|eE4MblXy7mյKg7|H>j8- pFtNzo8=J*}sޜbm^٘zcyydo9E,gk==S+,'lͼӂ(I^ªzS 9痴ذ{܉-Bۮ^=-~QۯnsdNp+p\|ȀIج.>vN+uͭ]z=6茍q{gZMYY;sM)i y~~ZngُnNo39ޒnlN>NI{BX営¢A%Ěۯ~\^ē֘Enhl$(!7;>^fhoIdׇ] k3m }Zdð }GSy-L{߆;jfTj!~yn!.zYzn&ħL~ oŴ: 6iZƱn#J?v_&ԾwK4sMKZQr|>Vy[_Woy ߍmI$>+݆m5n5IIٍ ɮ R W`).dC*H1"EnLXaGCbؑB'/z9rJ_dIH%oԉRdJk xeˏ@gTgЦ JuaƘYNIshҥO~BC"i5Tnyƥ[4ZH{%tѹv64+Ig( 2ϠC,&e\,ְczu[mk -\!~l.n8%;>8XHt::WDl'O{벮z~r첫L{-ߎ;̺>ֺ^w{|[{BTWKgj?/>O͙_S?:ן=Bd 'R[36AI$iuN>pv'L S"n,$Q Ά!cBp9~D"Ɉ8D)&*qO4"NtB.(B2 2ИF-6N#@:6 c47"NdG9܋ 55D"HU!3K.ȓ&9Qvr4&S. *YɼYr$-cF\R|O/} `g,1d2\ښ)gFSfdKlNӕ7 ds,g.MtzM<;pLizS`<)*V͔Ch) JTb*=}(FecQ^Jt:0? P#)P?̥% KӘ&4t@†iiJHCP#Ԧ5u(T7TUu7LUZm\MX6ְzUaY!moj[*4SkpEFo+Tj%,kS q,GSƲ~lk4K7ΊƳj-([R~ƴ]C-U!YBQ]a;&mqKݶum儋QƖ5nP方unoOnvOƻ/!,W>Wz)^ת=o]K蕯{6zѯ"-5~`"8|0`UN^YaoؘՇ_x[#Vb -܉Q,%z1+ql=>]l!@>t?&ǣq2'|c)gr$ .K T('UWԌ33d~s,gY+wV/0(MB9$F;ѐt!<,O H)\Ç#JHŋ3jȱǏ CNdPɓ(S\ɲ˗I.I͛8s؇(ΣH*]T`Q`8EjʵW=I J(e4*豯pʝZg *h?fK{lPQzVLĘ3k>s(JQMz`e-̺kCijU|ͻcC+_1ނ}QGYșkzYGU ӫ'˟_0;Ͽ?(Kh& 6F(Vhfv ($h(,G-h83 P`8H"$dPF) -!@Nd4NIhiX9 oB2eD`w٦~&riqF}ra9じYi4**8j`#IBQXĢ+Z [ "@v=h!%-IXBh7JEh-Y[cD @y\ 5l##9J^2-Kpc7EO `1V2-7RI -" GUVbkY[۔.5NG]cXKCP/{^ʊE(w-,a^3G< g}@<&kg8/m ̃ŭ!HDmqǢmnBec+W3PfR$`adm342/Oi!}mUa]:KA j(?@./" Kj*ߌaJҖp%L xh)Ƒs"]H rМP'LZD$;@;\BЧ v9*!z@Χ^u|!H&!'t#X:ֵIވG:2=E;=ܘ{q=쥷%ߣU#-@\AW@"- K|#,_~oK; JHhWg* Ay%: V0>Brw> K Ez'0DAh S0wwa6dX ÷b Vr@,WWq PXR—Fh 4er7[p >׉vUtqsL0bsMW (a H is0m8hxs8p]tx 瘎Sw `x -}t8t8e-PpPCw XW0tGy> @XHK؏(J@Ȇnzrݨu V 0O'um_{ 95Q99G Ç"Y8xMOyP0(EyqJ@ @[ܖ_as 0; j]/taЃtJ3=05 ٧zzWv7Yuwwzz@ zwwKw=Iuduqi1q jrʺ p !(G}@|`|ȇ~'Xy.Mg 0b|0~ oq=k/@bZri(tVktsY+ 1:s1~Q۰vG7ȍHAKxt> QIzYs 84˳]Kr?G7yȎ.}Ǵhop x[ 3˲ڵ. <8{۸qiE[=9< PYcx;~' 0[s1 zuXK[ %ԩIgY93؛a8§i _؟٫~+7vz/ʚk 0Zr. p|J:gXדn j ;i |q5ZKо;ǰ ۭQ yK~w` {"AMusZH)Ŀ1"![1TsP^`bpuI;Oz,WЊ)y>'KMv<Gm;k1)lvۓ&iHjСے P繗jwWCWyps+v_;(%(aəښYM԰ :ͼ lt^v~ Ib sqـ. '1拾 H{uu{kv x]QlMۗJȺɕNJ` 0t|}m  }̀W'ݳ/81۔lJ8 7܈g 6#nJ߮g'n&.ܓ q>΍l%9'.nA ']^N<Xg+vKt* ,n."xLDi?pU@^rJm<Kɱ~~LjxNiɲ-_"ۭ<ξՍ`%Gܺ-Oݤ,կs~ ?1wzCNDb)*2BHc x*FRzJ\,y2eˉ!f d!oI'}'q"Z&"'>wq坠vlAn:%yc/&g!q.rDvaHhF[yw%N,&lDNJg2.GOšon鄓vjYKLaK?{1x8pFHJsݍlBAlgk I# $H2&ӣWx`r\γe̞%`O?r^FA(|1 #0ƥ\|Lm8 VF9a7ՙ-$ ,)hTPX#!$Tm;(a ' "vG:nİŘ>w"鰄KC>tp#P!Ag䄐%5D"<5*"Ċ9vE%2]Iq #B#!9d%&Q['::49*թL Ae01HaC;p(YjJ{*D)U*լxJs_UQR`~- a)Be/}%p~yLd d2LhFSӤf5yMlf2f77TZ]f9-VebY'T"fNxf DtCZrfhHS#xIZr#iT@=-jS$OSUa["\#CD<:nJ Mn $ٍ-ns: o$I)7EiDh:f*cȍ a%)Z}#$c/"k]JTd0~.>HBPO6ĥ=!<+9H[">++uL1bsb>rŰ:&~LtRxxO3|9@z^'}Mzɩ58ʼn,)OY"g>y &3A h57hyT4`Hi~K^}ɺ꭭oή 3Rd#Pt~xzu sʺ. ,,}?p8؈ڹ;wO.ߪ!j. Aj z`Fy@ۯB"/c-.!0!;Ԧ!y H;COB1V%k'䭔ˊÉ+r !,MSH*\ȰÇ#JHŋ3jȱǏ CIɓ&\ɲ˗.œI͛8sɳϟ@ JMFcLʴӧPJJ(ҧ2jʵׯ`^lЬaӪ]˶[c'ڷxg\0 È[p_ULgL3`̠C yϥϜL׋5&Ͱs=oJm{n̻M+WmȣKҷs+WMݝ2'-{ꍲO~l+c(h-w 6lVhfj (C6(b%0Q2h82a<裆4(D"ڎE&PFI&JiR:\e`ybifdp2ft)!v 蠄2$h& 6衎F'V'f&v&% %$###bnzv,l~6]¹&s6Ug[-X&xN߆S'}iĹKcҶcٱ[oB;VmASdp%ԼmcRa0gp^oY⒧Pץ||0isr}x#/˲M,4Kp k,ιLt5:U s*rL7=/PuH'Yf]s$5 v__'C iGf#C +Bvx~\g 3D2\[qs~曛,RqUӺk{M߫';76G.ңG^؛XT}ۥ=%wNn;zϬS9AK3҅~VX.9oh&kG5n l`73Aq3[!Ӹqmu>5ljK'CB]+ R= ni>\(6P w?拇YaH69nWC& \JOkూv2s 221v 1W£) iA.Y@yR7VBٞ"AE0DqV$.;ǒ=d#=Rz˔Se{8VKP)Z\-mYK\ޮ >Y10yxƗqi\4ef T6LRfh3uW_]XFAţу26o.x˛pQ!Oڲ:-E֊75ct!X6})$osheGjT/KMZf޻f pUŗ( l85.s,>q/+ٵE֖Zt r|ҹERy-MbKR>64i\jy%.hGޔηd&}H_ 6,AwV?u}g>8L(U:4 _ y;:6L-9;=G%85!Nӌ˨fO_"{ZFzY䵥\쉲7n}x yl4\哙V{/n-nWJܱ%7Ayn`5!gn2fVnbD|Dk9﫻MqƳIنAwgoAtD)]3qO \z$/ti-XyjryΣu53󩒎9ȳU].z;{7q:j.u+il(}v]O eN{]h}8wy}+fv=ħZ *r9=>q_/GS+a5C;rk/>7GO׎vz#vu K0PvbDVg6=>_w7o~Rj7JGN;xՅdFw48B2]ⱀf%q5p3|bf'vgk= m}zŁ qW>K^r(iQz悻FOebGlrS.P6DD77l=wrFtii{'78(7l@INx{Fmv7>sddĄOn8cxx|y{؇TH8ad[Wo4[vetz_tzie^w8yUy{G4aKXB's0W`8{/HrӊxvixJhEҶ0ljbޗBHZlmVax8<ވ1Hx금؎x\8!Xq帏XGIݸyw IԐ)ّ!",Mo H*\ȰÇ#JHŋ3jȱDž~}Iɓ(S\ɲ˗0cʜIMɳϟ@ Jѣ?[ӉӧPJJիEmヵׯ`ÊK,M>Ƕ2˶۷pʝ31?t˷߿Q{hLÈ+^̸ǐ#KL˘3k̹EJ@ѤMS&rQZ5׶/֮hDAR4D pA+_NX@C=RI"wϴѥD؝'(}6F({8~ zI5KLͯ???~^wy$)H Q'PRTaA$aD"t ]X0b A,V5U *@@cp)w "d"bhX!  ّ $Ԩ&I*Ñ4%Ƥ@T )8ȣܛQ{a% eq6? 'f$6) IcEJ^)&1P0znF%e裲8*D&*Ae 8Y JE쒊YhE"P%chi@`bt_tDc'-c`≊8Iv|B?Bx$aG) d/bI)H*Nˮ}N%p+<o↓y2G tr.; bp"k/'>Dr@fEG1lc[BG[Yܱ`2 '36p7Jټ36MI ksB5b >LJ4p"0rq^Z裗~<-PjBhƚcU(,GXXǃ<2iT>ъL R2Dtlbi\C3e|cEB̡"jGVd'9H5٤%!i(BB.) Hƫ aAN ў(IBiqiiAS9ԩm1R:i9 yf4Baі;iPڤTO<IҒ&Q 4" 簌 >@"ƐTC8ЄĚJA2]B [11щuu1LjȘZ22ݡ ?~ԡB)OUI"Feju$ӎ EVb s)A: $4;UhQrTPժb <Fo i "f],!T"$l0, W$]M;R9*:A6J[/prR( J`8,&bTӢ'V!D 8Tbm jyU  mDi^NN;0?؛ ķG#0&WI]u n<<k r +Ѝp&DJ0*,J m1[\LC+DdAp"JN-e [ʖD//6@ ;?,hnI -Rf0L:xγ>{MBG=pL AZD‰x@G;1&n F:BmE nH"n-};O@<אu7$-H`;|178i(qHǮ/Q# ꡤKC&!uB h-Qc q.GLCaod9-Bt#;hC;m_bOЏ~\" }"0u-j;{$H-ȁ ;'1"\cXo~ ˕o'C 9@lQojWHa@s} 1` 1s hs6 gp68jq wAw JݐxQ ۀd ,pVxS{ ~xâw!.sV!8p U7׶;ޠ(@Z18N!p#{pn0XLx9 s &0Yc2u  '0 ;AhC0rv"WGȘA1r^ 0@ P 0oЀ~)7Pp `2 @ )H OË2w xCno ^ @k866b8*p ّ5P(Y o6@tV(p  IC 0i Sg YUt‹ @!- ( w Y7WjI>%]lUmF##@x~@k ⶖY`!iJ 8 Sjyi=sq 0Lަٚ9YQsYj viiVfٜfDm1mѹ֩m(Y)Vlǖll mm6n97!h%0wJ4Ieq6ip9+s@'t M 0uHq^)S 0Kt}h7y iISuGt` uaA5%z)&Q7jS6WqHjKz/<)8<*YuuPJgS*TWt5W=&I&#R'+t \q_}DX,r0's s7s6sksCVgvGJ!z60pzrGwvGu @ 4'{vHpzܰ P {Zz y3Zwpwj{ъZ(*Jkw}z{QJz{*1qʪOgGygx'yyy&jzwڱAg'jw@V}q}0(}" iXV(nWSp.9 }::5=rF}8! !jO{z;>;"[-;H;1Eh~pشgC tCnh'=;8AT;kи?; vہqh;(幽(P(!+ 7Hdh>k+ۆo0ؼD˻jUkthx~ 8]x|`|xm2jbr۽w7r[tWh1(0[[Kkq[[ 1 ۾<ۛ o{J0xE]z~p,K~.Fs<4<6t:rKArk =<+uPv3>\@, Hİ85@p) Q;:/LO@:b  !fH)C ж4Q9:.(9M3 M  ѹqYDtQMҡ  -&]N)?/Mk]/U> v;AXgI` e %Q-} ]vpq- R69a7ocw?(!]]؄)~]2AsFCP F<(Qٝ9ڬڮڰ۲=۴gFۺl޹=yg:m,J|ZΧ\!*: \+6KSm{ZKk[۹q@X \~])ŘK6$WJ8 mL˼Ϭa^\"M:+m70.jmm1~ظ>ޚ=D^F~HJýN^ 0){ @O {QI&m`>q_0[NM@awyN焮` ,8IIܞ_Jʡ ڤ#~i^P1r.jߊ&YwÇZJxv$= UnGۢf h9s]Kc[r~u=s%[>J$ML˞([,r }a!`hx ٫_w[<>z†+jp  =Uช43ÙHj ` {  A3˾<߼L̶1nȳ<0%y)F`/~.'>!)LN-$m5=2 jj~S8V>  q?bq A\[ H!Tn8Y~p |q gfh. 1 0  ϟlJ 0޶?MP Ǡ6n@VA Ұ;].ypϼ$XР).dPm|9Ȩސ0ѡE5z\ܞ{~$HJ1eΤYM9uOA+TEs6j@JΘիTQmT)9{.^K}zO qGΖ?Gka&yڵџn٢ w5 `^}).dKAuj݌_}fȢ Xb.ؠ+ָp` UN M1H%DZk;@r(Qf[JgGJ"BV;gp.ȒÛ\!B΁jy F%Pyr.J. 1\tf2p;ǽoQ\jpT^s‡Ϭrf_ 9'~aIalw}GP,hٶDeePc[ݚ9b*䁉RJ8 crdS:QqXA G' B.DA" Ry]OyHJ@*JW6Dw(iIL dfL? dt9I` "䤺qMQփO3e1WJ"XVUG|S䧀C<5GQB䢄? hܭAW\a HBvKjWC q|e,(N&OP'>H<<0ۄD"\4$sATrbo8sg@G$25 A(> C=h Q$}iAPGZԣ&LRZիfu]jXZֳum}k\Z׻gCcu}ld -|&TBTNv}mlq1C̐0#9q L}nt[ ycv- m6әτF!1 ZL#E A^e0َ?|3gx-NVJPvH,APIO|̄&(E.њ#H h[9)WSZrϋ]C8Pd@DVKB˜dE0fzu^ 2+5j_AFt]Ɩ յ#K#':CpC]޲Wm/r޳Էv'^ۙiK<&Á8ЯC38F+qMz92uÙO7Rhf:S4V|W6I]^w)<5SMV޵ ^ԶBkaS<6g!J1٬{H;[b/Ii0/⊰0p/ k }@ @j‰n c(2 A,AX3>3AlA3LO{AAAAAAA B!|2#NydK`"B?ӏ`f{6q-,0<1 @2T5L/l6lCPI%B<IJ̊ n ?ADHî $?\ \ăʻ3' @I CNHhRbx78 `op ب7nv3ސ0q3v`ӌb|~#x qobESL El77W,xXlנٸE(ߠua$TGoec_ Fy$Fm4ƁDĀc"~+_ #g#/딓KTyG9;=I>Vٸ]9_qxK9Qc Cـ(I8 *|l:"9ԸW1^asI"IKJ(JJ0JιIWqKĹʫĕQF`yȈۃ=pQTSC牺:z蘋h:X30s$r0"ٻD[ 12AMѰL !0ͧKMHc.zLLܘs"2M;N(x2 4ɜAaKDk"ӹ;qؑ0 Dyp%n0̜O]JC!«i;+Q;b+>b>*&qZ )9rV`;+Y:tg)()Y=JX,bX{Nج2Uw2-=!YX[Yڎc+%Y’ځHj$aq=2}][,C.[/ *u8ZHS/ wZpy?[x=,02ADoʥs5@ꔠ[[ȿ yXeM?hDž}˸[͛+ˁ]\ޅ\U];^%\D(ہȀe[ O1XVEܡw11!_1ߚD_D_@;^-\SI Ԝ s0:_N˵Kx z`[h4Դ`aa.a>aNa>)`pp,JlBgĽaaBc"b˜:H a#?؆=[8CDR _1tbD5C;\21c0&27 /|c+WHL,<DŽhpQb8DTD?ߍ@xD ޅ&KבSHہ(8m@FקjC[ʸFU GpX rsEu\ŃHe{LFttjƅcf8\X\iǴpHgh>Ȇ0g`x<^v8^tǃ(AgF H὘LBzP{{g}`c8)e} rъ%J$IʔTI9$ȔZᔬD9(SYK˘KY؜ʝĜMֹQI^S,KTꚫ@F6'˝ɋPSDH6[meX赽 :((gSd)4N$ 4;uilͱ9UA Q4TvЎlD*ׄT;NN;[L8 lNһ9G>SM!Aў9PMЂx RW: ёQƶ⡷ς;G].T252!KLFO@}~/~?~O~_~UB~p~.5;HSH/ O~/U5 %@~PD,h „$AP* '"ƌ mt#Ȑ"G,i$ʔ*Wl%̐CB8fI1^\ I!H4%ΝI.cÈQ<)ԬZr+ذbǂDj:At*'+/J%UHu=b-\ {-ȡSd 2Z,k$/  ? &P'Խ2XtMQuo@e]ҷ-M0/D3WӫD=uEl>g-P5U.y7}Ğ_*ڼTR]2T"Tۗ2xDG^_N\Ҙ 4&u"USONAG$trQR{ Ĺ%U~x:1NXCB\U9>_I BH?#;xM{7޾'7?Yձu :;tR;,`bSX!Q1 ty`'AP%V"F@L @NЄ22@@ $1P!_pX"/Hõ$Bi Odk"mB/Bd_Ҩ55A=$șDK cl DmS*.E䖉-^I $J2lblIkҘ_)qD' a p੝ ?XwBN<D'Tqb'yT b @r(HBGʣ1`R#D.!AbK>E1j< DԣAiNw:JM̧@)@l C QG ),1fGUGE Q}hD; T!X*W!Uw>EMqSD:YyRm=T r2}KИ?Uj '&BTO6K* cB&rNCl ־ fbhb 'ĐR%24ZH# *i ntբȐ$[ڲsص@6WV(<*:"` ܉LPidZ0 B{68UH}SqwbUu)ֿns5kKԺwmq9 &&5b UȊA_ JYb>1+I$3N~2O(2̇-s^2,1f>3Ӭ5n~3,g2heK|p"a:nЂ&t(~ֈ]@K#{-0Ms}S"cԁ7^HGMHcV+q5CjQ%ٵjWzֵ~uд-iׯ΋ȕb$bbqke+vBMpA.jӻ7!=83ncag;B!hǾljw"H%]qcK;bm=yH&y=L:F&!q0E;M|qB7[?Gp_CpǸ9q(Wّt3<9‚[v;C Nb϶HG',tHD@$h1z=BwAp%YpEX@K+ ` &2[׽yNp xO dD'QDǼ9_σ^Qz=k {`ٱ< B@`p<죷c& dV<@_;ƤLٶB;$܂<ЋuB"x!;pC"@7pDB=+Ђ)#%}!+0-<#AMNKB7|<C9_;`%eN?O eQYb9LdR.%$4Sj$BLeU_#CVneWX?-Ln&gbٶ;98БL'C=\T7;! \ݜ;7 -<$BbAhIYb9$Sx;C-tgBh,-j&Xljkl Dm"A-n DofpWqbe^t&gA$V]AXb:'L'<V:7h^ujDn;t٥eڅ(BCi#ڧINhģ~ħȸV*BHrziei*9%]1\u &6UeBH}j=L-u(]'C'\+C8à(@B]-{{ݷ>B\B@j:g rZa% ZBAZ'`' .C'`   _nBeF^lKaouofo.𔥹U$ br@ ~oJ/j7a-$@60t})"#2(&z&#I!G]j]*0*E8;ÝA^j>+tG=;D3E6zA@H3Dd74=d@.24M%O.]_^QTbPQT1L%RNfKW&e$!w["-@B-_:+%l+$A@NKnm DҬm:sώ^~ `d_GA9W{Cv?o' O@A8lC89Dcs?7/' p.o=(5@ b1,VWa졇mD9(Xz5ž՟b #=p'%󎨃'\ܮhG(Pq0yI'XiOj o!obģ4ʼnCKcr3*[ap%qߍwރݘaomuniKAL 1i *RlmzEۦ e|m l_Î׬PnnS Ep;bDZ♧ n$Oڱevrzȹ$ulFhygDnK:iک$-r 淞]qם'|y)te]tM7H}Gxk[ڙg&U#;f_(ό$i@a4Ҿ`Q%6BH'Qx#%o-!re-|HF[΅{~65$;QdBpG(7u8gY(i<[i-\jq?u+@ ZP UBP>D)ZQ^F9Q-hr‰x'>ƽxT~Xd:bf1)J]ڎ?%!5IJԁ ST@@b<^Lz[W7?HCWEjU@5hiYքի`^Z&TR [XÆũ-r:*џdŢX 8kB$0hY퉅I-X,{Rl v*eD:!8︜/yf81o7$x+Kxe!GUT7DHv^$w-o}c\ 67∇O]z cb;ā\[( ^p!_Vmo"%׃FMu!Ayn;Dw7߭xK'󞫽Eo=;b3w> С5> 90QiD<=N'5[F:#vGڕ4$c.c pZu! +Q=KcPQ)aDeэ^Μ5SY~ŖEJv?:1qM盂 n}Fg͠nsoM>*[#&0Dϵo8ϙ]FNֱNxG$b ?4 DѐftkfgZ\F)>e{j)E(r%@JL,$xuU@DSoRs{iBjzXA<1O qyJ5YNC-;ӢԨ*M)R?S< <׽E(J_O.-qKCr4z8JJ\|DEQ#C>뱮sLf;pR)Q5W)dsd^.!2`#"\`2B`,P0!.pzPA<`֥  2" ; m+@apd dPe ꅥeFe$M*I. )i!z'wvGS>>>?S???@T@@ @ATAAAB#TB'B+B/C3TC7C;C?DCTDGDKDOESTEWE[E_FcTFgFkFoGsTGwG{GHTHHHITIIIJTJJJKTKKKLTLǔLLMTMהMMNTNNNOTOOOPUPP PQUQQQR#UR'R+R/S3US7S;S?TCUTGTKTOUSUUWU[U_VcUVgVkVoWsUWwW{WXUXXXYUYYYZUZZZ[U[[[\U\Ǖ\\]U]ו]]^U^^^_U___`V`` `aVaaab#Vb'b+b/c3Vc7c;c?dCVdGdKdOeSVeWe[e_fcVfgfkfogsVgwg{ghVhhhiViiijVjjjkVkkklVlǖllmVmזmmnVnnnoVooopWpp pqWqqqr#Wr'r+r/s3Ws7s;s?tCWtGtKtOuSWuWu[u_vcWvgvkvowsWwww{wxWxxxyWyyyzWzzz{W{{{|W|Ǘ||}W}ח}}~W~~~WX8~x -x,(!€8ia@;XC@.@Xやт .-2V!bҢ,X… i}!`! ˆ+x!e؂X:XxFa+x"8F! B h BF Y,xi dA8حA FaW FaAa/X)A 1 j`_9gّAYY֑И ǙKB$َwwb YY)A(䙞ӹB x]Y8% Xyb x(a͸5Zaٖc:=ba xyؤ͢aآYAz"٠Q!( ` ©'9szo!ˢb K H b dAǚ ,[ٚ);:{ "axg؎#YAaAKb  y)a8Y;_*4:sگaT8^[xù{o;)!m3Xi[ 1yda ؗ-XoKM;A8!y\C [ "ɶb"碫$`!Y7s8gR|u5Zowƃ6 !,RPKB *DPC>8PB'&x1"ǎ?(Q^T%A.]D9SdH'q,&Ōwi`@!,rS( DP@S@Jܠ q 8r!'&&y0Rd<&ޅd8L;[3nǬhBq~>X)DPSdTj!*3:4zlkV^W!`,rS( DP@S@Jܠ q 8r!'&&y0Rd<&ޅd8L;[3nǬhBq~>X)DPSdTj!*3:4zlkV^W!, (П*\ȰÇ#JHń)2jHŏ CI2ƍ\ɲ˗OrsQF2 vDv7Q*= °fSner # ,`@sM1ɟ؄?&匐 DFinR!dٵiYȟmĹ 'j+\5)?6PrpGF ,u|^B.XuOvtG 8$y excedYpE3*GA6Um?V[mc DD4E!xAK!_"p;(r(J_ÄpJ-]]ME/5-E-7n9Q^uBYo~̠.褗:sUL 4S.IN;PO'7G/Wogw/o觯/{n#Bx\yڹu6'( 5S '4*\6@%%AT֓R6*\ _'Ҙ&q]R%t;L4 0\A:x+J{DeMcҒA ɢ35[qC2"z&yDed6noq֌E#trc6(ҏE U(LMaF26zjN*KEJSDCzDq^$^l*>iTfag!0 g M ҥ@xQћңZi7w d!F2g wA% #:Pq9(K0H ("Pn'y33:;!|ND܌[LZ=pJaw<ݠ7&0HMRԦ:PTJժZOVծb` XJֲf ZӚ;љiI\p xR<uy~U^`@&0L"ХP5H<[# W6'0)XY1`hs؉]v%J!- ZBVhԨ:Z M"pbv EF[WmIfe .qDv6#MnJCglnDZoykZ_K,]E1s>;v<ۯs][o-XDԤf b.4 !N g`ְnu8#ЇV+-f-Ad& fE@xd3l!9cKW4LH|ݒX=db0҇m͸EhpL2ӁYzu`FaZVnّ̘\z#85cNu2F2I)H mHĠ& 91([&Pm @FӁܢVlԗ7%AG`Ӥ.pGu2L`Vʋ5-khњetUjPe I(C-9jq4# iTC/R(<5ǼvL(^Tv7%bK R nڒ462RRԊB}{ӽ_cq}d6)N"̥IjPneL!:/Z+KL$+HϔJlw^CAiC~ n#4 c] ZFsۡI,1ҕwn;S&idʳs*M<$Ƅ)-ӧo>u>?OGֻgoϽwUO/5sm o٦N7Z|nZq}\_%nc$q!ɺ,mã"_6.l-}GEȥ}~.5`65%~׀"(%>x^W_ǁ%[W/51:􂰲6Xe]0(?vuW33 5LX{UdSWR؄ NzUXdY@_WdQ>@e^@膪6 ^~5~߇(Է>UIn^p(^rh[H|x5^u^+?Zɦ}慀/Ht(#8? e?h6ȇ~}XR@E)h:x;$3d)p'Z3~H0Ε TÄuv(HL[s$&1t>jB4$$Gw͂~slx}V.P"u(f6 e$icP#!73 Ǝxt+ddFz!$l$a7slik`e$2*YFF1> 6F7#)/e|&"c 6ar%F.GzWa .g)a j9#l#:6FjQD4mqybRF::3<2؁dI_+BdwĐ 7s$ׁ%4Ene3 ;P&J#g6ck_&qdx&I/pMg&DgouCQh"fo(]I7Io5UR6iʂHo˒/6o34Xi>mhhU55J"j">v𦝔JaovkJlw@ؙ63Y6KPay0%&(6s<fvYGIy)*;:y!nc.FH'z*LtCAjOjù0N&2Z12xq pZ" te" k Z8*/Lj"3šq{&i-r3{j(y.!INNstJsƥ鉨s2wtZ{'xhKKz-{87g稊LJLT[bKchO[UQ.ȉ^[W˶}wKWo{2IlշI{]@RAxjw_[o+ gޘ`kp[OZ~ #$V苔{۸B1`UFX@0[8хͳWkT8Xc+UȼUXW~eۃ};ہbKWV屇m\TZEk;1)wukltYGc :O6 O5! +eƺf*7-l-v!Bb6x3S#]fVYu5,2dqBy Z! /%^pA?q19!g|0(}23:qS>*bt.-J鯔NRBX3$.>lVY2"!A87$lS.qCFmq̖F4@:ETjȈ7HsÓ%O7"R 9VD:T#H%ͿU-:$ӏ5͏d17[C(EOI&H(TN\eK1El^\eYfSa5tKAV"Q$#SO%&G30DftULpj$C #IU4(g pZ5sێ6U0J5ßLZ ߞTr㪥0T"4I_x^Gucc{FJS!hO8OG./#t8;Zd:L,V %VAQBq˞:}hh6&;i8,t )Eyl<ԓe{DN=TPɤ7%jp$O3W'g_&KЀM&@Ys #9ӟ2MA(iLd r ѝ{PU`RƓ,jYt )|P) h tq28`Rwj@ʒDVuz3%ժIz~ a 53O'kYntcUSBu kgznV*ijW!6kOG5*0$I_9ilj%lu W.dK۴JhGo<4?G^QRQh/InӰwfg' &oOOȂzGRZVi`{УN0z̯<)P {Bˬ-T`k=8C 6$j PčOXt*{K1X`x@ׄi<V ¬Dg8Lt.\u;*8Q;|" \'0LxB=Rb_9խg@)|PKߖ1"R4QA.( L0÷ޅ?8n#)A*L!c 2Z 0@"{0n'h6 NQr{CA_ӧ~ }AzճA~SP- '9w=L\Z3K?KU?t8D9'Ofc?*CK{U+p!$:3H$A?<3;sU@f<9ȶ A? @ 'PKNعTh>dAX>1 B?/AкAr+,'Bc pÂB%! w#:$tBB~Rq1KG;&L+c?T@1HT0?ųR.GHzAe<"f<gDRȖ+F;H6Q,!tH5 6SHD:Kk*32@I\ɥpҲIɗp2-II|@4(,2_k5IN"!J,!LJ4 & "-Ӡ3JDJOW)JSK5Uc#j$?؆XA3$Í624˗QT0/2LLJ`(Llc؆`M? M|؁<|$M<MܜMӜxm8M{#?M<QQ-܆\M<χtMT·NTNO>tN_h[,-؆K-&eP>pPNͼ ` 5L4iN|NC->O%EQNL } uM -N[^1c&;1k^)OgM+gs xMI#~!ugz1a{"҂? }g%5Qb%]:̅؇U`u ڃUc|NgՙW^Z܍탑ВY~a]ti6爞- ؟賬!0``hYF 6ԭ> %@DZ벞jm^a|ij>jjn駖jRK6MQ͙5@wryohy`jyҮZ0ΎZ3ʾlrywxttrnxvoKqLHyع[lqVlncǞi7ڲuKqHLUmD 10nnzHWnxuNhZ WyxHtKt7kl.jւz`=z6F oF '=N0 WXqW H!AH=@%چg i ϑ͘yp%nH r |(rzr&mTHhOep Xz t'.8q<tGzyQuOxu=wytGfrJ%x[HDuyblfvrz`[`mU zz:pmYUɏΠfzX%׺O.JE{gg5k%ߊjOؤ`z=_{l,nk~J6| vnk[oFKݺ<ߜ}؏}J] z Olj=(~O~\~a{{`VOP~~TZ53Ϳj||{Ɓ_ q-?Iwm^" ~|\"XX1l!:l@hD`\ѡF $ʓWl%̘2gҬ0~rgB ]2"KJlbhI)U2j*֬Zae._As=TK걭G8nx9aQ39y!%[h}iwn36'g~͞RUD0tUO+HMi n.ѫsL`GNܥNX]I'P]'ζ8Zrm%ܐ )'YȐGCX&yJNT|;I9eJ^tJ3IJ') I̝-cQ!~p2G  "Iu {hA?ăhCM"|ͫ0d< S:Q p + &ؐ3BH=趨P7+n*TO'*mI8?0p;d9#-CBd8J-lʜ^ 1CTLe<, LC:\/+g2|`s;W>[0)+4e6m J$tZM(t<*ف T}7zۭ))>KR\\_ΫO9ܑ֞79Ux譻Δꐿ>;q iԾ;.;şC{r ;˷zNA= ;o3Q&=K<oc VX%W_2WQ^? QX ^—$f1T=tj|:c65K$MpNHK&n 2q!ѓ І{lȾ=hNQuIS%=*AP zpn8]㘡x#nͱk cƔ#SE+>n#$σXq}^ngL!MoB-Qv8WZ$c))anQi@(ID&D)lBFxbh(i~J3 L̃" h,h b W:P[Qnt$֨)XS4/A<V aLcg,O9IsJkhOi0oZ `,e;CCJ\&n)Ju0)})EvݻgMsӝ4=$ ~ӡFQkt|@Ta4U*V)ڐ [+4I0%O̪,TS*UH5ҵsXMV N)AҶIqRe"W p);¥!vC_QTf$~:U͑$!dJW˾$(Ht>Ņ0B, / MeBJJ J&?m] N[>0zJA|(xG@Q3x+ұ4(<[#D nI[d ~0\BCuz/ɋ,JءՊKV#KAϹ% F:|d0ng l caYf7R▝%)p1^`Dr#kE51`c CR@ AKX>G'j$ȣ#W Ua͐KYi\-w PHPXA\K[:D?|aP!2-S'$X0=(f٠ lazi>sxq:!ȢPYLV7A#%q.X> ͻȿwy!X7CJ5ʤœDQJ醸 B=tbǩ^ڌB5Oėff7} 7-n?C8{ 6P%[ آ-aj 8v"X}퟾ۢ#Fxfh%ԋ?1p,?+cL7H%#FY(M(Җ>D^hY!AwCl(66Awh hq0D 蘽(u@ՃCKQxB|+,Sž͉Xh} lxer1P'4:T7\#ذ)"[2 鎎(#ڭW{IQC~5$ ipW1hQG>DQ;89|qp' 6ꪊ`:z8bۀp::LEjpѬaBu+">. 蟾*ȹ*AxI8%@!<굺n* 1QdAlnjkwmh^`"%"icc7}7iar98'0T1;ے: *[fyЂQA7<-(ކ̍~[ mN-C, hCiTvWY!ioA 4n@BĆhٮ-n%# <-7pCx-C8&-Nx'" $,%$ ).$7p 7Ђ+ +q(A'¼rnx-`E -T@7C|+$-DE:^FdI&7B&LB 'Ђ=9"lM"kFccB+8̋k lm)j{j`* -| Cn"<'G?Cj7#a=|¼}PQЎP E=C-G:GQ̃8$"ـ@,or`q0hT*`0+g?`Y;@+"#)%ZZ/ <-7XQ " E*% {pC*=`0ФH̗Ȥ*9N,'{F @|r:1LI43e˝؇3gr"r?xbEݳLaGtׅ؝fr3Q9OQVhQ2cBp< l-t9h6gNs@ ɳK^ 7`BdFqC`jCltMh-BlIC 2@`teQ}4$NtO uL5 R .u``E` T;gC$E(̀? l:DwC lwΨ(lC5^ugX!VypWBw6(b7[(aC \6b*Kp]wJew}WGh+KaCvaZ;v6V6j{׶5Znft)ډxEvk6D55r3D[jsD[(0D\o(d(Z/6ٚ77w vauv3Ddhuv`36u{[Di{jk @K%$GhkVa#a3\7}s7wsC,(@C6($ivc6t1@usvuvkh^gUm~rv(wC0z kvtoxEhA/]%yK w[#̵n7Dthx89j*ZXC̀3Rl5zt[yjkuyeGb{X s7OR'qS+8RggNm+o:Tџ_@-U3>n6D(P+{:;GO;W_;go;w;;;;;ǻ;׻;绾;;<<'/<7?>'/>7?>GO>W_>gTc|uHOCT᰾L~L>Lx^eGYžVDUɾU9q%0VzYccU술{;TIOC_T>;1NEGAbX>A~ݿ)8@6$x!CFxQE9vdH#I4yB+>\˖BtfN4'ʠelH(JK6u4&Bmz6\AkhkٛE~TMur77\n޻W~;ٯO|W^}zw~;treemacs-3.2/screenshots/indent-guide-block.png000066400000000000000000000454541476710620300217150ustar00rootroot00000000000000PNG  IHDR MW IDATxyx}ygή}ږcYl( $m, r۔_ޛimmڛ4Mڤ i01x/x-/,#gfG%K:زlIy<39λ|F/ s=̺O]|&+O]N0Qcm!Rђ h(@+g+H@U٩vVuX! 7r),a$m))$e`;)Τ*n@_{gmHgNn6V⠥߿* zZT">!611͈cݐ,)fIy6gj;1D Ak:`2|38\rajOqmLj՚NV\H;^NVKeOEIayJR3mPQ:X]:ܾ2- sR8x7-i;m9\1 #lXRբF=)ln3FH :.'NLba[e-x1ӑ "G4-|e}KLv&kh \|g->@I)_JiZJJVYñ '舘L&&#OuS=ݠ3|)Q6ܙy Nғ6_BZ(E(Nk$kRҥHK븄(9s 4t`X)N4."s+Y9sX_Ζl^<`ʈ RuCAv2cK)Irp u6_ "Zixxr?՚SokHT;(Jz罚Np+Ѯp\f"H) (wp RͳJ# 쭩 5!әcp221܌>ހƙz@QZ>\PT) &] KS }q[x^O)N){ /Ub[9nj+iϥЖ}S()xԴE> B"6)4&&#"èaB35Gr$M׃EUQx8U-HG9%4/m>ZM WS LAW3-%^NVOS0D{( Rg=Tuw#9y%X4^KRx > f33#ONn\:21Xnwر[Ӌ]>ljaոF#t6]D(*iBcNdsUB_i &oF]^AGOh@ Jybp:A;PGω*5/Ǜ1D 2S\L{-7/0111Lu#z`HF! )9LLL67,$;UlQ&1PP\ [TT;aq3g23 CjᛳHw[І,#U^:aOfotxC?OQq%_yc wu\I&ʶnbs A>sֶ0aG0*XYf~='{j "$jC}ϥA $na%onO]d#g_0|/ۃ-a+"#9'"g_+( u.+Gty #t}u;%w dbnNg8ۆEnB"(ȴ v\z`ɺ⣪kp[Ɩ/b9G;/[ȿA {*;@m[UFϐs6la-zYSlSF;Zbwm5=ML.ڷ|D"Wdt$#ׇ vga#U\_6M;p`D<5{ޞ5䭸gZ:BWGcXI^DIK ]v?@Xs\#OY?r~ښEDA2c<#= k/zZ71cV$СwV݉3  Wz[ࢿ'knޓM OXrY )E(4΄& K>|U'p.f`{-@?ṻ́5$DtI4}gK7o7kNn{;{AݙBX-"h8&Px:A[?FɹS*陂A4(%d8i;raCx[Kpcr'w㟑tv; =FEu%y /$.ҴԿ"ZJJ6o;ށjQqu z:-y&P&ӛ65Ѩ)[qXԼ/u;BU4Ο?P-!.pG# {J$x`ɭ#lwc9CC~k[%[N ]APP(\ x#v|s |Aיm;Vu?FFJ$Ψ..2xdzs̓Om?xo*)YaO:E[WZR\ڿc| ^:Νv}Ud[s Zݳgdc]-K>Mt=`q(q7) j tBܾ,;Q>%i!/%I6 ۘ)%: !p(~Lo}|՞c!Fla-l˃ `qTv!OU2H'h` +ffuwb^J0:}~0SF-LXɼOɚ?Lxף0 oQ,N w#$k{_Dt)v֑XDF{ycha =V?WrpKPLokQXþFo¶EPS7#j^toY۾n&xa)oBߡP3DH'+;yH {y Gm 2,U{q2SF~d_X{~uҌTC.;@x #8^1!rHԴ{Go2s>K%+,CxEmǝS#Y[(`"%™;̛>OT͢v B ZBF-}Vof5}+nFٶ9*w2qd( @M&f,]3s%mނڈѦѮt#I+=:%Vd(]A KxdI{+њ'4tmōEU,,/m6՜{ߐ*.y7JAp$\ʟҞYro} N:?ѰNv=@/&UC˻/ A*+]9R_ݾd(p p7h>R@7\U]>.Jedѥ# @Xl/`NTʶ'DOXſ? 0tU)56MA+1EX@M9-7SvnFK_i*4h0X$UV4$Mhx#^isoيR uUe =:&b*d;kѬLyḼuX]TB@C\(nSϥ Uy-tl 22$䪘&Cž۷asZ,4?3 LoNrv.2waG`HtD}.‘z%b:`4SqkJKC5u3>IPf1~?m  u/`⺕9ùgE" ޼0|w\x/b]Nu01=Lj:dsUoEF}_(OczBa@/j}- |?H@GuiǢZ1LJQEݮgf2y&CiSWPGMg2TkIKP+vz,c2^~p 1ؕUKI,d^z\``WŬl C\S FB?_abr%|lMJBd0-yaEc1m ̇HͰaw9,,]ިbObENp"@UԶ8U;{ %[Șgz&ZW.`_Nͤ]CRF dN\֓6R TAd-\IϩǥނV:7,]O֢ͤji<͏b-ZG[ko[hMEo#cRKbqLO!(oռSP@ c&& dx&Ci2^dL&WCK1115i111 d~L&&&dhbbrC]bFIOda? (3~"W821 LZxÄ́ ǃP,Hcï j0M&1J&dM1MN'+ɝ6wZQjv=2Ib 1ugQ:bT3W21&bɵfvE[>ey #:5oyvE@mkʋwe5ܾ4}E8IoԪi=]珢;|6@d/Hj~&㿣aRhl&Zs{dktL+pe8UOljDy@gq?*ie+P֓=7γA=>Mil!yvx=\: ޾{LL&kb ՝PM;?-kxC&Aݶ*fvLMȁSݻx%1`&F`JX&x&p5mm~-Xq{τ8tԻ".ѐ2i0!1OL`Bacb'uB&ˎW"&x+1uMqLLg"U?n014 32uMqLLqO$xU+2!͡@2 $dbiLhb2LhxLm4b ŵ2<}l1 J QXKZΊ7Gކx-n&F i0Z3&CHL{yE&1!sɔdBeb+#>ܐ#4 U!- #7X&&&ב5Ҳ1$?ݷ4'!vۇyu213m`.PЃ(X'n)%?+|210!`LG\I,e$mcVajt"p;5@7BMH)i^6qLehFʨ0-,ժ\&L1M&&&5>K3NsRDgO3u4݈(%%4GtT%ѮG[`]h!-~f*)/)d8_3 ( X=Gifm'G} ų2yhǭ/;/LC3 QXrY )E(4aP )}6wBoMe}ML’_  Y!^A/ WϤ >K3J]b]_!{;0tҗ=@;ddϩ%w~q}bށjQqv B!AG)ڲ;JLL0.,ɃK&܄8אWQP,xY۶cUlmKJu -1ayg,tLs[ IDAT \Tk12! Po;z8qy<H:Hİ<z2U cq ~Dz?2}h@$/jZ4s@rZPidML8.\ Ѷǰ6~0Z}qxA*+]9R_ݾ!!++%=ӢfQezk4JzML2.șv =6mqv)>;STn1|z_:111L(`X㹷ٱrb ZK7 s4gH3PjH4l(5gEH NeկF1"$%e^KҸ  /H)- RH0@v"5BJI8%w"B dĂV 6 {ҵ|K4ha!Y#'u.ŸRӱX+>O']::UaSdj3 1Pl\JW^XeC Pp-\"Bi+=FR011H]B"tlo!($Qt;3f='T;Ur٠G!c{Z_qg{i|0 Iɥ&R QTAZ4.ۆ;JF$rr]"<@o5Wޱpa&5Ǐ=|3%vGvrɘQM喍E̞NOwf/05]T|L. +BZ^P7}ܺ1i#K>i"&bs`oVj=A]q&#Î07OW/EjRZ:ح3Ԡ[oMZķ>U4d^3mC|3cOJ@ 6 %AnU" ]"  &b]Ă~Сc:tʎ^@ǚn]i|^6݆qu!%jxi;>HulYfeܼ|9Mߠf-co_ĽVl_Σ{*;XV88\݇P/w)vg ;3$ݻn;lŽVwyspo^Gr*oHT[ݺww۰E*pp!}e&w}{N@3y**=2f`Ki.k@js)_|ϖa vj đH#H'ô:QbU?KޭG%/c]Fw 72X3$quο.ȳ*hu7T_^صܾhđy+%V?:ZkN`:ӉltA?`Gw=C?呻f&-@tRQpO} jGۖ3l۰U5EyYI)2]1 ۬ gbm>9.=!{hRGOg DA5T]$܆V*҈ Ђ<kH+G>YJ,JeZfCjoBTQז%-@KDQyr҉~1{Hձ'#sl—5q#{ Lۿ87%4M@9?gþ`p6$닅=N_|Li|†H ݙ̹lw.ڳ]y݄Ґ)@,RE HO@+H=𪔣K@5񓟽D"`]J)ӋMW6`\Yv;yt#"JlEle׋/Ι˦m[z?sO>Qfd:qO8i[Aq#iUiM? vwޟ֏KB::äeQR&TOghA$$LldZԜ꠵/䲓[B4lVA*',&VZD6cX`1h=e!žG悔plڴKq[N{qSWVӽd^CII6;Knny+Wŭ򯞧%u!|9̱zf/`Xv]xw';OF;Ы*)\Mֲ|A)v_#<:'z9Noh]̻y=};8\(T6m\}%*;^7m\OE} Ż?WJ5u׳~B Rmn܅x'CGDyâ>bIbтܫ/xq\UUk)f1;{-i)nWN"5ÁnChkb_'XScͥOт;Gf~~r[bͻCK4e&%xUK.yVIQp (E-BYKA8)T9yKK3?S=xzIYE޶ o&xd<+δ >ϝCf_)YBR lҎb(Zp'F--\ h1U ;_i>Z3ϜE2LE"HU 8Ij8AJ"=DAЧtCy]7 &ƈu^y~i`4Hpv͆:RbDF(EVϐc> eڵ|!%n+ cye$cZѵAgZzOѫ5!@&&&˴ >5ZE3˘9kEXF5V_JVm1hA'9elj Tύ:nDJ;I˘6gBqXtFC͚l{ +,gndY`? |{=AtH_G$ꗒ(_GB3גVT0MZ3Z3&-e::\ˆD, I$,%i|'xWu|_!e/.XEy ɘQL%dzf t"%/ے >B uZ_qY?IDQ>ƾOw#k^F8u aIfG >.52N[ a_&CLW1 ¢7f>VM| P{h#G_~bo܌$z/\0{? 7-.BԞ:̳\_+}w7̻YWbd"+x2s V^}g0m6 pU<5|9w38^.Vݝ;8[6O5+o] ~i|Y\p}`X9lyh#Vj=ś':]?ܿX_Xe\}<wA6շrQ +Pi2ԃa:DR롹%|_~ʁ9p 'ۻXVs~kof ?|ƽ3<%wl[6"VkZ6ZK{/px25ws?|D:[Q㮟x/^_|t\nR;sv5m2LŮ፹O$P͎KtHŚ?9N $:x11j2 q9 fg@GsD sO{u'?'{|{kO~66ODw9l=AB[?XϢK(}`hUkϥVoރ.4`7X'RpĹ bL2h \0"$ qӥ!у|GGMy0p` .%iK▭o~A/^@_yedldǯQ< w>0ߚmUɏ7hO?'K~,$Y0aB DGb>@_S'K:_fīK}cb1v< Ց&: yAe ۦؒ:6u>GW;mtyz"&[J#)o3p5?{iU>{f?Q5Zŵf>g~^c}.K}0Ox Bccӈt륏-$n8KQ>l?B>@wx'?o ]s{i5D+Do;a9ǻ&i| DAc&íMfӃlyt>YN 솕PG{HU_qT{)~3 (9G_Y؈(|ksWEBMd($Bg8Je,fk[SQdݻ9g/ogbf(d-|ϾCSo~ <%^@="ڪzkdb.sU ֝4ɧ0x.ׁm<Γo42M(qϕryWR_owW^P)=w^ť,\{_rL.]hUVEq|o3U-H"0tIIvs]f848=[EQ:D7OHwBm_^<3?GIvC;~Uі?xG>/~mJO{c OMXR蒃Vc$>'U}'lz<2nN(}4Z͏MN\R濣7Nv zstuvp>;h%5f@}U'h+pb37#L.R3 VQ-E5bMQ1'| ȉH  K2R=}j8 =Z>() $#eph7{!$txfL'KLx"ᑝ|U\m&Q_@%\9KHd`T)"!z4i+S:LLL4 >]D1.;SINZ!G]D/_HjŴ >W7?8>{LL n}}d`^&&3$/Qe5O?b޷+y뚯3|b*0xkտu1<PSk}# ZO(&S sSh!K1%_{^SlWؚ ̕do'V4쌛n-%lmf+l2F5"ef>8wW%I59|XXs<:`Tx5ff}-&e)&~=y(gv.JJ 9w݂$M!~߽Do{5l–j/ߣ7U+%cJR2#X_Cwg5l\PF@ B LJ fK_}KvZtK?CLӳOShK(ytetoզ^F׎ 2`ciC 9f:! O=GW> /nEm:BQI]¸Ovv>'@ 56 ~c+G_nz.ũ l$"*64,ړ\j H ))홉MFN8vz|\RPN ##F W0j9BDzyO wa@s,yfDP[J3݌ Rbz! 45/{ٸίd܊[*_V$HGϩj:$^@ kT;mr=1O #EkPU@__zX:H*u84'3SQ8qeQN;HIS=V]]@qTq w%%BчL|K|qϟ T i$د~ z ;o&ks0Θo$gc2Ӵ ϭn%/'oU x}3#D Bj zE#();/w)9El 8)p;UOa,[:cˉ7t̥SފuqI Buők"} ZC6Kg(*#S(CBw.* i ]BN$_{, zqSt2yyh]( ^w..G)+q_:Ĉd q^; f,-'k"\HL<]"_3ES9WAWwqcKcb'];ewނG)@υ<9v .{tP=M\#~G!v} ӑC#C0OY,Q7r “Ϳ-zv[hAZ i_d!,aKIɴH>riq&}u+1!I`7*|Deh[NᵑR(Qۮ˘LGPL J|C"tPk:E$ Spiٷs󫯠kt 7f_ZʯpT9XB,b6m^|mM@\FCXL8_1( &DYz$@C"f c `$a6. 5슩 5,NM;rdlaeђakU u}t/'g* w%%SQt<~Gg|ܛV.~!m;z+3lܵb?’`T.;qznҸH}a/!mEnŞ$xo|?|Ӧ!&bim@jݎ@8ZVɓ%ݘcdi~H΂+)z~-.YKo߲c޽T[6xW*hǘ؏HDZ/| zmQ'#ܳȚz/1/d2FϹ9+QbQ{h%sG̯(I3~xXBMH4vv#ˁוfbr16CU{< 7Й4lqQz~@7O6MJH̦4!NC:jj EM6:OM_ Big;.7AjwC+.>a@| [lۢquu{iN?y薅Cz 4 ©#΁hHD#hVq l{ -Q  mp]v~!+--IGNN._6xjiIk 4U<u. RfSO(dѣ;2`Dn%fǴB'COd=xVaۏ Z0B |W=#10b ӘPp,8L6$X!\:VJǛ_q 'ڃN Q<ɯaBL"s5DCW(TGPL J| ŤgH`d|//HK["_}C`bOI`mwAϹvL'pPVzGO'Cx.*j!"uӰN75pA{FQ@"b"FB'6d*K3 cu2 ZN!Dxd4e6 '\Jɺ!8r֯N kd!>Z'p4,iIPFl}m8oMŲQCKCOh.v9Bo3\s$9xj n''1Z|~`(Q(Fl\_LOw24BHi&RFzݼsw'1 odq!N?7H̆kmAvF,,,%X_V#mP7kzz7z8N*.hHَP IDATxwՁUqzrΣ0 J !@DGlo볶7x}~^g#l @49O箪ьfGhsΜ#Սu7~K/ t`aaa1!H)G 0%#EQ".ӗ'H@U٩l6uN7<(YXXX( eTdw^$Ð0)*m>IXbdFMEUԵxQJmXYJfPt}\.Uj2ԂW1F:RDY K`&;J I9h'9%4t;?zv !ҙivs8iRQ1N6эqbt iJ S<%ٜjǔ1H~U!%T3醀O%FGa:>/*JSbs%Q0^k.YŤ d3%Kpɓo#@wp>}&vY6@J]sѪ 7D"}l'7,ᝳu|N7"Q.%B9}ށ]N!%5  D?Co# }VԲ&#m0wakbY\ZۣK4M"cp(u(Z.fCke+ivSY%2N+ CATN ;IOJp@#> |)e(-]NK{%-b+Y\ ^ڻg{`8Rx2@#}';j4_1IH10Z8(s ԵUb)IT~ThDul;\˝ì9,/gCj62&RLWP J)$>֜g[F2=>. 0HmLg8Wi<^ y{)Ț̌LF>8yb2"?p:ph bf9!Ħj]OvR9>j6 LAox^಍'-,N@H7q9!#Oܳk6f֖68Yق)!t" ]Ε0R?ŽnD;ڭmDŽ `!*X^a~m{8D(k$jGc陋AL$Hp777]ȹ#!L]4~k!9y{eC%?KrNhnM~0ChQqPzP'+.<6s\irĦ 2mDXJwz7в8S1p-c×HNm""5O)vjS8'$]|@ ko't76Ac5ENrYs?)(q+ m Z>+|g,[#4,>SwJ{ٞBƏ\ #Qނ6J d~8C{L, 9w/|_%=Sж4ëXBf}g\ڃ7-ف;gv(I΢56Zj;mғv`/{Vpo If)R<'6TM3#ݏP9oX-3LUFMلS SС_ѻ?5 qo=}/E=MVRt-@ax;0G9~ (]հaW߆ٳekˮg(L;/V \ ķh!K6!g &z]AxQ@R{âT?ŵ_yEkuk̺^lN"7սQڣ&ow oN-.W()Y!iz_d@W:ś;-iwJPywدHo#tzSVp-ٶ\Bݽ6th_I[RSA(X4?KMɝ_Bi ӯ`ξYSdPp_d_8JfRƗ$FWOmNjT$:J8-.W`H^~'pjCҌq IH=};%d.v*wc^J0۩zfRcfm#GLȼ*TiyGt6u  !9kQ!kKݛyo8ڞCbFBH)ɺ/g%V?)<4 L=inu,{=p`HP[L]&lr:\CfO5¾E8zuoxo//qh :6o3>At *%x7 Y&u2Dt9$ vm #?2/c=CGuRa*zg>Dho+V"np߲Q6\UR.=~[Li&^x.g60ۊ7hR|ӽxrJpK57P{m 7AiM 7|v Zu_B!Lw-4?B%U1xUb6\_*D3-.tAxâTOFJوt86U92Fd0zAMeƽߦ+ؑxOh{?h}hO&tz/SETDNzxEos9|`'sBW6 .tŘϸO`LH&#d̉ǣFř?~g`1AX:=9ˁb2iw.O1c9Y\!L{B׊<GSo ~ $ßoR\/N8O-zVތƌx @,Aa; e?/a+e2%k6,]3{-Fa_w&P}0)/[3̛(^-*Aш'^,#uݔ_mK9aZ勢9smJʳzvӗ@(C?Bxq?jŷl@Fy㍣eٴ峩}2CaL?/RpJ{0uVR2%o;S }UM[?(33=1epuGɻlHG~m#Jr A]^ßP@N^0 D wspa@tr H&81s<ŕe_պi㱰BSIst Bӕ~ۋ@dlEʹw !bP49KޗB-&i@c: yw2;$T4Rʘ!R9^I )& ?]qX0ao«Jm2\/t809=H_1^1 7©^8(&XZXPM?%S0Bژ%r0l]GIkR\DuP+Zxb9s WrΤ+T'99nt Do<ESʸ 9(ZX\Zxb:q GQ8j y)bzo!{F&ugZ:(shaqX GMBc3XLX GMb9ZXX\v&#d̉aaa15U- +I@(G,,,&7r;ﭞ6m[yfTZEUh6;(W?4ܲվeS:}*b0m'pCGDhLH坍m*QV摗$C-:Nz F /r9jE|WRxtvKV/Ί:&٘YFNu)cvh%5f4 bY\aL;QX6;kgpL7i"z>Gۑ2z#cG"TMáвHVܹ(2DQο"\-)EUiCCmX2^#- ? zm%Dhl؋f ~^#1L;Y2+T.:zÜE7d\Dñu}H%ς}b @o{j+z$gC1Mz^8qB74:QTWq %Iߺ#񛰰,ʝ'o)Fwp0dB2Bo}E{vo܈vM呦_ #l .'Hؠ #uFj$z+6u1L;9Ymrq;4؜oQQ`va=a;!\堦QxwHӦ_|Χ]O_BGO剡s*> Vlb Ťf Omkf? R t8d;FU?SD 00!#!e^4}Yp%y&l4xĜpї"ZXLf.x뜩1=:. )$ <<ZRJ|z~ ]zQ[-,exDved,"3oIh6nvq Ht,񱰰炐De̜b4@Up5"bZjȪ*qJ18(,cH+.@" T %Aas2HIu:4Վ1iz>qps#MRVކk{o}^Wv+guwAi*؏/y)99nXԵ?< N[Dl cO5:pL( :Lt5s\]^y}'<:nBx@(nݸMsd{,} Vgm4ף1Ħ*:F`tdrP+QMsMoi Չ7'S7vĚlx2e /=e%|G/ 6{/?{ɲumpx_ٝYZ8^IFP~ˇ;Oզ'7䛛Kո71Y:kuu^vDW-iF}o㧜D ݇ohl _,=DfX3F.M6zU>9n!jNwQ_ESU+KMbj*Fuš'`sBҔ…(LKƑRjo?CS)CmL33 ⣱A"ԾaNn/%4t ߑ}F>ocexC'U)a|Go|1O$wXX2`{CG9"*NK,#!Ӌ+s3p,U';B5'; u)R"LPMj(hRE@BSAqNˑå)15ϟ "0p` !%iK֭o}~{_?i0eh ֳ_-=ȷg_#ZqO$@;l࣋38*Gs8}ޮvn)^%fSp'pTv а*6]E@o w}{֐k=)Q8;Zini_ BQPx<ؤ+ 8s8_QhCBq/n )TcA»v55Q_0#"㖟HF#emY.grBB7'!9C.kU ov~̌"uֳYG,bwu#}?;[cx.ڃko W0_ |NG™\Db#ϱHO4$BV .CS.Doc3I<8u;ώ$oju>7{;CS{w9w_\bLQQZcD 0:dpB` H!?Jw&*S^tzOtzM-d}s $hiEc !0>ܞ98JI2K'=64U`t)K>m<tY?\0CD6kh =AHtc*9Kt& Ry+rb E"%hvldl}M1m2bi ,@,B  r 23Q ]xb\#IQٳP6"!#T).rUW΂ +*gn d栠1m\F):>".qSzKSδ ?%IK+D߆)xK/epVr0号%Dx; Z3F,@pYr0Oq` kc3r1]ܷ'_5Px# 㺫磅Zr'K~hղaY*{Q9Tca}oc<seݧu70c rE+:˸ռ掋nD_b9N~ T (ֽGbEKԅxr{य़ GHXt'W!/&1b9NG:t!48OTkN:N(hkˑKCs/7߸ CFbڧў_?Hb-#a&ցpO4!pk$iFphH)1hqmh'l)k7qZ&J"J~Oaq4&3F,(@OG؞Z4z%Nls 4cI~vc)' ˒/I$haq2: Z3F#ᩃ>fl<ҹ8LȚEP2s.ʚiwAڃ,)/d7귿Sq;O9KYh3f{kRQmd[9k/˂%x7)HC"f^m&@(D7>ʂY%̘[Fש1%_HBf-XAע1Nx?zEX9A{>:XTRe+%cXC1bH?;d|^#g>l% ܢdӝ$%9HuᤫO!?/ 34HhawRGk6Gwm _AJ1GY 9|ϒƳg.po_2IW3{6lA|󅯭Giџ>н -!]a/|dU~4z??ڀybkcB#4Mn/¡K>cep}~эz,56N܁,BˁpLBvHx`2@hH=rj -2c9^ $r GO&TsO, ,B  r P,' WypQYXLUt ˎ%<Kx, [HW]2]y;25sbcRP`F;'+je-39hݡ-\TkcԿVB׿Hrz생{cȎ5=э?8y%axP!f`s#47?}Ƚ_"3?a"[I""Nwaa|8cw@MϼF0^M__E{IY4gf FWoL;;Ýӊ- RJέk"zZ(9r=dTFO~Loho0VJチ>[`M%[ Oxrcx"1#5A+|Yg.ic3$'3Pz']ų8PWgP9LiAճ Ǟ㌍>Ig66'h9@Ҭ!px\4? U>EgO doQA*Vgu4rI.IMLs@ 6ݍ;RI$un9sDn_Ådd9BAu6f-ش}D dص]%1ftΤ<=AD*Z30%zB2kYvQ+7ഇ|ⵁJ }lCn ӉN5?u4Γrg ` @6\BAVaćn#a*:Nũ0E bŁ;ˁVZ:$ɥMν%A΀ ]'}w#ϝ()9-C)^柕 i$8}Lz -ד/!zڿ=' >[Kxiz;e7Nj*TBF:>rBd"9캪 dw$: 5PH G0#!`<|!daʸEy_T?񒺸2LKҺنk|2o6*>|N9))Lr6${pT6W޹$E"HuK -d;=HH̒A T'μ\,"SA=Nsk;BGsONrY!d0_~ed>OqIsP%>|)I8dK4]x(iμ<k֋Ϳ{7^[#yz%1=E8 ,XJy79u<\edݾgz>k50Av(ot/e$03*<ʾ8)M@z|n%PjOcJ7V]ϧ3t?-eJ?4ZIeTnɷ(tM$e_?{(vz5 Sy U5tu;7~M3HѧW!Zy5g4hTHnv %! :1֟8o[(/РK8#qr $7#r4&/ǐdԗ^[\6,$2<`,s3c sAH#` r8XKx,,Buv~(*c 0 b)kݿCU)_z&SSkb8"~a2}/z6M`aM0hvNtSKx,0A7m AU wSiIsa l"UCp4-ƌ%<BfO;T'6/&hV2?9%HvҼyTBI.B{y-v L2o[Aوpod{-bc ä$݁tܫ`w^bvKtÀ hI_Ɲ 7jZjϥ TU |XXcjJ3<6LnlQN;Ԥ$RhudCZERFR"(qћ;/ }mTx{_a"C`K"i8rϋ'cgl-bb iR[J/ҨiUgdg .@tlB 5'S1$j{k&"|@R']4ulE͝OwU䡾'nC^Pk2:2vokb0BǓ uKUNҁ?OߎWlr?ٷAٺD.]~Eؽ ~>Fq7}UPjI>p>W,2oyZvؿʷ%<CPMIW$ӒI\Ȝ4%5y}Oމ(ot}d3ݵЁ՚PH>x} 9.FSp޶wu[q~nsW^1mn΃}Qst@._-*uUHNXuRy+xR!#RR (JـRo 'Nc4Wh|u0,EuY!x=.]QMq~Ay=9'8/~ܕGy\HH t\c;Aն6a_fugXټ ߏoKka7gܱZ:5>>AOlN"Mח~bq@1uŦOM.3,*hfE]/h."gOrɌ?M}e@cE߿xˋ|u<6J),D4^ߌ GS as%E)a ORVY=hZ&a=¤B,R*e:7!Jٻ]~:Ac0Li}r%}ɽ4Zj~U^~)5\39RePMJB,ReΝ|Id6(pnr%X4͑~7a788D8q9c;*J>e\?8=@62@JY@~^A10A4]AIuEEIEQuEU^EeFA5G$!GuJ*[J00JXKFDL31LgMML7MUaMNX7NozNuO72O8;OZoOgOOO_PQb`Q{XQSXPSUE7UNLUc_Uf9WNAX20X:yXFCXVIYuBZssZ_[S\[]\[c\\L_P:`E! NETSCAPE2.0!,L &(!&@%%*(!"((-,,3,,4,.:,0E,3[,Ao--1.7`.H{/9J/?Z0/401=0X11H1E^1M~1P[2##2FL2OL3*<3?K3_46:49<4Hq4a5.05B>7a788D8q9c;*J>e\?8=@62@JY@~^A10A4]AIuEEIEQuEU^EeFA5G$!GuJ*[J00JXKFDL31LgMML7MUaMNX7NozNuO72O8;OZoOgOOO_PQb`Q{XQSXPSUE7UNLUc_Uf9WNAX20X:yXFCXVIYuBZssZ_[S\[]\[c\\L_P:`EDH`[0 #JHŋ3jȱǏ 3"Ir$$C\ɲ˗0cʜI͛8sɳϟ@ JT&J-g ROTիCԊׯ`ÊKٳhӪ]{>A:%7)p=u @Dl+^I#KL˘3k[[)dHz~A ,cN1H۝sl N==aaM;kuAN@PS-q:I \g&%>%HRCɋFI 4 lt-G!@ t.h 4X9&ZY騤jꩨQ*njgMJ' ,PCF~b% .%tHy kCyvjI݆+k.GŐЫlƺBr*ޣA@ 'F@cž~D,$ YAvPߦtw uR첩B,Ѡ =,ypxb'D: T r[8e<TWmXg][Ε,.GC.7@Pq3M ~.\C"D0a06%dp䔉6AC0!: l@Hòq:8{*CR/[1S2a AO0Tg )wvb?OϘV/0Ah6iT H: Q )Vf GHsiI@! O )La 8ᅴd@"dȞR!HLbdxXB8*IX̢&c)"H2#^&M ԰ bTqzúQ)!7@Zu QoSj  1ЀmI zh~GRϲo0s|i,HNi~s)"ޭ B f r]/vY,7"Mm0Zd0 F0wq 2,dlDFBi2AF0(#I$i;*DwUՒ6 l@PԤBkI܈%5F]4Gmk\X:򖈋b;ɊH)M EIpPg50Hgۮf2~~+-̙*^)OnoX `q͢(Wj! {l"&;,!0a8829Ź,lG^޸פ84OEyr%޼>8sp ԍe;3yVm D]]L ɪCSp`ɥ<*lϻp [T_ w:.:S;O"m{3;қ^e;OO^gOвwqkyOq$$~+^qƏv\e+ `xL wʜ&3iV ]WNP~I | L'V7P Ey+O2g"~ nlu=@VTP(HQ~0TP5HMHr1VNP!LU'X$lT!PT $`N)7!P2='6I@ih@A@M؇~A `&h~8- n4phg'Bh"XdW81QXy(-X-Ӊx tx3XXOP G8k7Iv+cUX+( 28CHȁ9ÇXhQ(kk8HX?;a$E6V PG9l肸x~4 V0)1Pk y(*`P8`8NP!`x["IP ;L`, 50U0:ȃ^ՍVy⸒Nh.NSHh'S>XXpZI|rwP)!P-wԏqYY}w|TxwȓAGy 8ySFyd9鏥`9`y`Yi`G2W'wz) $Y}y9q}JJ}2h h=-BdVЃ1Vy|ؙ}$'MtD1Y} LY_JW.ȩziP:PI"VPX~H.ڡ6 zzu1Xك!F(A@INFZ/J*}V SX%P8AxB̈R7eȅ^҆ka 1zUp'T9 -pVXMphFRPІW(bE~]jE-/3)&Vch)n w9Jq߄IPyB$j]d"BagR !DÝ2(lڭS7XNv"fӚ̑TГ> ~փ6آXE8yJa x~Oe]9';ȋxZ- H H z"@+nɊʆnȁX8=Jn6+}ȕ'䚮G`g󱓘1:j3Tֳdj H1yYܳ5{d{\3 9РH`A@ PzHm>:=,*!p,;E(;=} /I=­e;iIY褦K6UDʃ5S=/}7@6W[ -IMY˓9p БB٪h7{w!c>wӳvk*Wngw)Iy)|xGɘˍԾ;OL &EP}Yx-X6}ӔM-= ==¢\% W?܄X` a֜A͌\˜g`(},0  JP^pm}Mb`ɴ ȏ ,\E y`E=Pب< @az,RUȐlRmR:FҭS qi黖%V=eI^EvC^νRC;x94S墄~ǿKxOZf]'yUgmKp^+JFvc=| ~If趧o[k0ßMǎS#ki~S `[ N$Q^돮1k끐 up WznNn쌞n.."AپDuP٠9TU(fth.Wبb%Tзgh5q vD P'T q4DŽxAB? *7' 0*2=:FP_,/?kFI۵鳜<d!*V&Y?bmȷnKo=n V>elj ^/l5 z"K=HOE !d_w[ ??&OLOdn™˻I~5jDD?dA貾Oo)x/xҿ|޹}9=:=y@ DPa[UTU^Eh c~ lpgNd I mZ)0ַuśW^}XtrX8; 6>hAŊ YB*QvL 6-aJZlڵmƝ[n޽&[ŋ/tI=`6@ЀMnX@% OFܛݿ_| |(+,`(؊Z- XNzN 0m81DG$DOD&⯿ĎSh*f‚ԒpA'rīvщRdI'2J)iICa* 3DCA*R7礳N;3Ͽi F@LL"a xt@=ኋ=.SO?5TNE@N S+d(g59$t``Sn[Nx^^7ځtI{_ F=g}P_hp b'"+c~Le JMF3Yz X a8#\z`5$!yh5N1Bp؂+8I (@[9 ` AӀȼ#;raY0}`Du G8E*D GiA RPtX@ h 2юwc'ѣF0!4G,`BЃUyd&5'$ ƒx Lb"SA 0@cD0Wi.I^җRA*n*j@P ,I9F<2 (lkG\/9NrwCI!1xF XA3e[&C 'E?9iܽ5s ]CU)LڧNlkö` ,1BQA(:0+S I`}F(8\?/.|vt3V'lUo+Ayni#& 4C7X:B?[ª8 3`|$#;9 4H94#,GvskTEp\ &5*Px;O@ãw j f[+ X'4,hC@ᣃsv{*;,̃H#, :pa;&47+$ A$ĻA`.e } 5LA\<$ؽjl,)1O$,+І`OHcMȺS`S-+1( V:j;rF3E^\KA:\;D2\<"<,`48fD>[?24g QF6d4A,vt0G r؇}b@5SAFPDtAB#,Z84,2ti3AE%Hj- Ik 4#7ld,\G"Ç,++,{4n\x ?"Ȗ\6{ǪJ@#z3r T $PT.4Ų9YEG0 p4:j:󂜳"hB>,&o "\@-2nD, L|K`@D>:G H(ÅTHE8:`L\0aTř֜a8=`|4DCvNGytG r"Kt D`, VۆZ(L,5#, _;5p'$8 h?>j47J_z[ oCsfSHGÂOO14G@OlhSpmkC0h[@3fOdhlΏ^c0,l.09&Kb $2GIS5m+7y43cR 1UeXOtc@r85CuC1&#˲GOJT*TDMEE].HEQUHKUULWU.@EUE@.0UJe_rX%VMRsS5UpH`VhbV8ի`pZV(̙j֖j׊- qת,W8.3yxWBהb=2Ts:~׆%H|m! PaXXX 0 ð 3opoh4m؏7 Y !+#K% 4p=0(ߠh ٗZٮӟ=8;J]سJ?v]!Z`]V0or[Z\,[X5RH3TCM hWA@hp j%(e+@AX?X !=Հ;<8 pa5]UE_෫ۄ5m^*܂Z;94XZMDh(n(0t["9x_auh@M8;,EcX8hE]$W^YhBp,`^(U^ KeZar="س_HFN .؀b"<d+0 af `b'bCpc+؅ QR\!hpxZM8z'Kn7AkF卐Vh \@F[aPG`{TOHG\8T.j8nfpY`8Nb /MGV`IPg 5os֌VX^^% Nôdh[ zGE.鍀[9 \-1F$v/MfOfeK$@x=iGZ.`}#UiΎTԁ^=.%阎bcs ʯ G5K;-E @x_g_Axۻ*b1"fӍa Q綀]#榃( etր<`ҍV_l.nz;J2nc6 -NھS 1}nki# 8%ZZ )Uc7-{Sh?F%_q4hHPQıq7LzUQUq)#r;q9W[U]5U(ל)1ߠ+G/OV4u/X_X'97*3mUVfU01?3?W&Z[ws@gtJr{2EoK%::αtL'uMRկ/0Q/X#ےt {0 pY%ek8_Yv8߈sY8ߣZ 26T2?SZmZlř]qrZ XxǠ"<3JAH}۸틤 GFvW >VxO+ T-5=\5}% ]U]u΍]_݂k_݅@feylϽ3Ol_c`]\\\/z]iOu)AB^]H[߅fe_&p_ `L`66`-^>h"x*8G`k:( 1jPv`VF,υw2Zo=_W_Xx&fx~ ~am׫aًD݈l ">$^"V(*Ob.c1&c3^_.v(fmzb*F[vs E(6NȈ1! #6Ãa zX ȇ\ F>l$2c)%Μ:w'РB-j(ҤJ2m)ԨRRj*֬Zr&k"UwKGXH2 ƅ-hiZ_&&;1fʮ }DY(Y5\G ADTig)<mGݬԅW[EǏa# a KӻǓ/o<׳o=1#ek#F*\r]._$5t 'D0pNsdA+|Q Q\`.5$ZA7xC dlLlqnhЊ-b3ƀ`YA DF,DFݍDy@Mw&i&m&q9gyfzAB>ԣ t XW(]eK)Xy eV5Jd XIHQp{E`ewLZЩ rQPg?[1\j*QG D)Fzk*2@ ]Ji6$weD'骻..չb]E$S[oB ">rCbA $8q% VAIr4 ,B q"J$) 3I+L L NG3,-H8Z7|§AJ<`U_AtR[,:COc;Ӽy7}7ngW0#SO>ԓN:@N hSIM51HE#y=G3iǻDЄ30T=:QV / l0y8S|iG4՜ xs&1 mNzq <6_zAOOv'8(< tD* r@.m\( D#42+ p4FiB(|UKnhBO!(!F<48p.  /<"zX/,r^"($QhFU P8'-Mv#=ʱ[ Eq`AG8&|$$#)IRM~#j4(@C|F谒idLLU|P..\7&e?`<&2(KLe-0d,ws$5mrrZfV2yF@hieͭ2,|'<)yRV$q4,D2@Ϭs=(B:P{Vyg%t ^j(H)Щ =D8]<"aHјҴ6)G AC:2(bƅN*VU)g%RA :#G\DzѼ(@#@p [@IWG%.R|ɣ%VVS2k4u=~=,V P\}mV۔BԱmaiK[@F. :E4) ˭`db~0_`L  Dꎑhg0^7ە^l\b݆T;WisZJE݇' `3-SȲOƢ .('H64DݐZqb@ Xb;!XD5$C()!I j1"8@oFff4d,dЫT?b%2.‹?in0 v;!0Ÿ( YA&e9Q8"HHb<3P|۪^gx2N@LOFӜffy JIKr d86 `',fZ ӥ@t#-,1vcT2 H(Ҙm(4ġqS潚xVaUsm~ JqBb6$G?}ꏆ43 ĥ ehCPF1H.ьHD΄>WNF5 ,N%~^b8)q\:AaNs\ءv?ӡNu`dN̎0dO5ORݝ1.|C"܀ )BhχmNhu6_N_ 4 f-P=PMP]hPS-} KЗtPi=E 9 5A^/{ڠ`KE FYQ$'@A5! a!⚴QL!E"M7"\ b= "(z ![ia'~("."d&y')",z"("36#AbxВ-.آ3~#84E/631*ݙ6f<uc8=6.8 9E e![; @A>=.$Cv8IE@ T6`*'nd`26$HdKP85DaEa&@n;H$MFIm.JKK¤7$Q6MbTJ ;QS=UTFd3~dQn7eO|UcUԃE*Zab]}^UZ0q\z%O,Vc=V>`dUBQd@b֢lQyHeSV]%]6cf]DNm%eVo~qr)0s&tIuYvv[wEwxy5 z\hbtuq%W_yYЗf&)T1c>'t:\dꄄY]X=tKؙYyҘᘎY$ْ5YN 6ty@8x!H'~ZKgbtFN@ N v4|D)&VC^~`܆UiH]͛Ԝʙ˽ ) iH!]AtKX jA*f5ȃ\HA݃5e+ViZ bp]&؁NAPK h 5 ܩܹʱ](N ĝ`FJ `A+,7YKt^^^!K@= ؼdLC| _9A 4YMHDmL͆Dڬ]čM ,6,hN%] _K_N6NnKLG`.@Nl)|Đn !mK0RІR(0aY! E! QͨDP),a..ꂑ HJV !&4>9g..#F R,/ߘFPnV *""A~/Mn/r'(]joKH-.@/I;.9Rc4b&7Њ>9S/_UDVB?GE [c0 XIBPE1 ǰ WdSJKeb01T$eD-PS"*-JU _qWT/XXYU$eN1HUAE[L01OEeX%_Nn B`hfQfyR1R0g,q/2#'Eްmn]fdW%x&pr&s&{jrWl&iĦp&r ro~fp&,)',ro&xre`pAeHqحN,''o.:$ k#O35CsoEuGZe\qgw.DgFzRY{^ِ|'9N~ A() (>ǘ> <#8YP@/YB!04!N1e54IDb6Gqi 2ډND.QYGZZS")(J( )+5S 5م TF IlNO15Qt"G3VZI6oʀŵEAyb0ƶJF^ΫJ^`jbC!),0 ik(Z4WZnQ*8egTjt*ͥی̪& +HBp6ZUdp,srTviHWoZݟu=D9髵jky ݬ+ZAkk+7I\0耫kAkxtLkZ޿8"Ú¤\NJ/x ˈl> NЬƸj,= \_Xľ80@ T/ bf,۴lk_PyjҶBUԶz_ ؎2x~9߾mڭuZܟfD/ y^mm . P9:/ 19nAnRHUn PS ; e.Sp.ARQN.&o:ήÉ2EM/j"b+%ϻOoJo:;x»ogx-o56o/Ko o: WŇ|6?vS|Hgȷ|.{DYPd@p<;SE S*dE V3dN$#O}c0S:QEIa(D6Q=><էc9XY%ZKބ@O}AA1=ȫCT^BV_)CE!"'#E>##+=eJeV%Cff,w2({)x-KrnrfkFvuC,3*~ 3ks3Hj2Dw>}_Hm3v\6HxC9'Gg;'3tGs8{=@})퇃$ܸ#* -0rV!GȐH.U*dI/qԉAO=hQG&UiSOF:jUWfպkW_;lYgѦ 5UH.r嫧HqA4E&q@F X\ Od ;(A p2<"/pl`ř7w>08R$^ܘr- y ˙7i:B& 4ieM!Cs㽓({Ǘ?~}׿b˭!E.eg|!TPpZXC9ĄA< c,b łXi\pZzɂ HZ:oDCF.s)p~2FB$ћo IIsiDN3?L1b;S=? TаLˇARF}!HpB  tIj2"شN` `NPq4+oAKAC`bT- 4H$#K2))bBH˜hwZP߼*9jsMWumww\s GH!g}R  e.@PFB88EU[$6H8P8=[`e/ 1FYmVYi\J8 9-(I%8%ٺ i\[.BѺH!L nE| xA"_:`pē;4X2 |99\8p%E՜uh`Cm!dp}trWs]owTՑd> &醺OW6[/OͲAiz't޹ oT!KxԌhz@ X 4@bt("PA(p(6!#aw3.QS@$tI 6! zJY@&\H&!8،&>l Mb=Q#aK}e4јF5LaY@@*P] "oY1I"`XT $NZܑǐE1 Ƞ%B jh?dFQ4)Q 7h `HA ;*C{TZ(h*.B\L1Le.\ A@n5( zCilÄcPNutV>t! =lw:gOP5(U>Ԡ hPC.@A϶`GAzʄ |@ ECzƔ5Mq*5HJMH4-3%QT.,;%B0@@jihTBkZWְ:5,h% "FBƕu]JV^i.tqG]T]^Ŗbuc!Fzik]~="oMdd2WЎ5-&˕ kACskV5%F@_.5qj}hD*ȑz# %Dz]0GhE!/X(B!nr_η+jtM`+ۨZu a:°&aF9/Rv,1a ľX_St"~_0L@"R2 TP J`!eYd4Ñh oݮ.+fKcL< hDӢҜ&5ldC݅ TB7jK<Bbནzg34r T )A:(el0a%l*ͷdE/2lt)G@좙d@o!齈Lkn*UeɧrD-QԤ*DjaTFUSjjE'{V=`V4%0јQŭ4Qzu]*—寷Oh`ۉUgRc DF2,e+CZ qH hl523JZ2#>{u$jS8Bh[wmnۃHܭgp{qr$r,s4s~'tFtNg/'s4XpAbBPb`FzG$ P{'Ђq0 }~'gh (vڍh.(6>(F(JRV\P Dax8HL' H PMժЋhhPJt0qE"('/n*6I$h ;((*Jqi-fɰpIlL/nI0lq¬ɞ1 Ϥɱq)1 *RJ17(Q*JRj ,J1 q@I 6đ"-* /2$E22Ar$Q2%C$b` ` `r ̏NR%q2'1bA!(r &u(XR'Aa&ځ(Z v2)+#+#G` Ʋ, -+B(j+.2r/-c.21S!v2% $z OX 3- z 6@4 `3 + " p7J63ks1s8b-99a 23' J n@4* J vd`si >@3 n B;S.ώ"s@ t!AtAT3R'. .B@ +ZF&C/d ` &B/Ԧ@mFiwA}4A2Bs* 6F^\t ,t$JcrIɯHIoFqK4Gs'z@ KOIN;MDOCNiMݔF4L5PI!L4('@ҏ0A`2%(`I4J#DE C_BQG0 TPQ5UH!P}4Q ;=>_43R@O dJ `4= nc B>dV8n)UZ^']AaZ6=s1@7`;MRShH% zY]i J%\k7cT_k2A5'Vq$@IbJQ \# _b-6]2r (ہc=6(`BSb/dQO2%[&]6fgR_;@bsdSvgy?(v+6ghgQgiyR%ij8(.)mj6lv=V-LX@ pָvlvnBi4 -FMךY"drchG w YE(pjpp6iXٕ 7c$ 2!^+9PrD(эYpXRwu?<>vA j2263>#4FcPCgf6$(ϐW$01.@J`jf8c#c^cd* o(~@7x7m2*XKyA:py$(q@ .AUyήaND$DN$XE.kGzGNF~؞:,`FI2eJ8PyrjW k>:ZlG#8y_Zܡ-廘BOPc\%qV *W{ ;Wvp!2"{#EN6x'Jvj {8zRo;_:J5f|/bЯbvn44cF"dFd/e6EYjqﺗee-fh&dXr+¤~@uxgdy e%s;y{-Vw) ;' pr*gss$tu~i!G{''0-70p\4ng'&āGzvZ(ƻxGTP U+0|OV0@7zc0ЁQ(HEP0 Mh0 bX7aVDJlT (rt5D( !]С( ȉ@ =Tl}@$ޜU i`d W}eU_.zav{P%ĝ-K=~7X >{'RG}$!;ُKt~ #b Q7L9~㫃(,Tm=lvmŜ^'o9 ~=k>%pwqM:S>闾-3wsw^m'>GQWuUw9veW]~+Xt7)TsW*(GՅž/֕y|zzQ OFrP{/)({'(|Ӣs3/|_ 纂6~B7)?'|?)8z+qW9؃qbCFL8{ eVXȈ`8Gfxsx@vׄX(bbcX!X5fhaMͪµ N!JXQS4"dJh~Db-% ',xpBkAÇJhe!HLd TTZ5֭\z 6رd˚=6ڵlۺ} 7ܹtڽ7޽k2囐,T>lEb ./`sF x&IC[S2O^$E$m:T),LL[`?~F6!WWh)dDPW5HcPS9J _I>0%)dKw;UD5.[N|h WyT9tYGAi~=_b"Hb&b*b.HaPxc3U) p™ 1L A1x@# = Ɣ&Uİ,2x tf X'(ubNK,0A1\ `TPxD5'@hnKi(dNn唒"(9U'~"UJAɔOzӡ_1 lKll.[⌀xEhqI&AB6'XBKI" z!X`.!%8T .8&dLII(wȣ&ir "pB2''h1 e B&|îFAs0_GznS1tJ/tN? uR,_5Cr;;EV@nB"P $|v#/rEj 7?$w[Ae8kG,ʀ3Ñ34M2O|v}ߖ 捗@[zMMM||/U$u^s̷F}rBgKA nIZ%p{Hp=xO* ԫD]Gf 2I K%|X(T<}y4 op:|^0Lz^R.h 7("`a*?P+L@`_|"?gAq(2 ᣊd &2%@:%S :hVGHTt>)@?aAV:,<$!rG{"I )0yXr-oYWe@%cf $'ը0YǗ$°C0jZ}aE t* fDc"c(R aᒠ,Gt_|L"m!઒}@ dSt^|DHQ!0Q6NJ4 =P~~KP ( CW 4MoӜXԋ`nt-v -SBeo)*J(U˨! : YJU $M1_v ׸ut]Skp%i*1:9C56mc B-{+јd P7 KiOԪv},xtmHR(fֵo Jz!%}pSۣ=wԭu<18p%t2[gHwm (AU˗ `. aDK.} KxK4P fyx$k碀 Tn[b41ocX. f 8_1$+yt@,fWiuF^ 0eni0pf`A0/1dh@f349׹+zJyЄ.BfFVL x+0{& bVUz,JCzԤtF(1&dˏdL*OvD\m&M)%0 2`,^#9c*$0"`6DRkavvĽl||J07vvj^hL!8#ç.p-@6̪͘L|M2 f4Ajf6Mnv 51N>Ȁ^\2U,c2_|3&,'OF f 8[!ꄋ}d-hG;v$#zk{$U**Y KZ⒗$&2 Mjb$':i˔3$#AS2YX.B0OIͩN΅)d.Y4&dL&}pn@Z2굎+n]rt]/}b( !YtgV;`NM͸U$`=LR9+Xn{(YW@h[3[cDb3|wyu::l:sS7w>7}EB 8s8c;:@cD @ Yķu=2h81u EEiO7ee=1DD6C=Wq$=Btb>G&C?`???y6:ys ?Ѕ3*HMb=]'g@o @0~0=p gфQ(H84dhBdYeDʅDDMDQI}FIZd \E`$FddFhFlFp$G@GV!@3HBTJJDNEUa9.Ac$e4)Ԉ9Hp s20 o kw@GWd'](Is^KdYTL10^ͱLLϴQ Mִ0M/N$ tNNN6OIP s)u 'PLV'O)OL dNdN tI*Gc $'LU[],I?TCUTײ`w[T U:!ZW(u0QUWYJa\m=q闐(G0(p}d?敓I"`iWYM3XeX, b0A4f YYueJYY 'AM򆕁bɜlAc[P[p4Hd x%{!b\ȥ\fd]uD(ƞɟ9IE_pbQ``pJ`qah&a' !)bh"/$=c"@e,0ע0ʣ=dOQe-Ve,Y;_mbxmtZ)P*vM*`a*_ZafhKijf`Wgrg9[Gsvk Yc`eLFjFi'ai%҇[a+aJYpiJ4M!hajjkD1,6lVlǖl?n͖mFn"Qn]Q2 qOQ6( lv<1A1*Ax*Xjmn6n J#Sɪ 'up q!$WJ9r !aHrQ@sWS9ٱu gqѱT3W6s:g?J/$76Ty2$w%wQw]%a2&2xi&?&V>xTy93(xR5|%]eV;B~Up[)~Qz.E\GK{{|D<2s.ɷ.|l/-0֗~n~"9d%}$c2A9ʇ.}7}'2 ~#~u 0D+B˸+:Y.5:h8h7x z7~cE!hBX ᾂ(Y{-8󂌃ߠ{15sZ9Ur&=Ȁسߣ:">c>>{HBP? ?ȇ5A@VBA#UEo,Xc=H@?|H^AԇP]SRAtӊhXEBEVE_F(¸FmFqɈ| PH)>]8J{JhETwȐ`JmliŒȟH'Ƴ[ŧʵNT= ILǔL9`EMMeMԑ$N?$Nt)Y7Yo }` u@ 'ڔ' R-R٦D%-R3ɓ7lczb)T|UGTٗ69o9UriUMUYQ^!@{XT_z9VNU~X;20r)  1_YyCٛ#: ZJ`*CML([X<+N vB]SMr:Qɵ\R]_ 0r 1^.Mam=J"Ȅ#pwcy͝{͟} ؅mZq;pW@I؇-ٓ=' gM١ Sh` [@Wv vڢ-wc'g۹gWQ9@umܲc1` Mg!GMSmv@OT1TMT`R@TH`T0dmP?Ip!=!P= B^Mp^`6} nm0Q 0A !4E-e%3 9- Md)n_ I0N N>" +@=B.i\c^y.;6MmLNpA `_Z>?N-zN1.݁^!`9U.>`wU5N T mL-UnHn "~.|鹾VE_'9䒾.|ޚ=ܐM{nWmtZ.ޕ?c-o ޞ '/_0נ̔Oyv0p׀ P#_1 @נ* Kp2zj ppא:%0O4t?0 9=_L^/?cdy+ @9?Lt=bO{;^0\K:^@ݸzK: rm 0 4mwO!kNv*?t0 װ p$[sKps:BEgAqq!nʼ3W p_>O  =AB+C Cƒ n('' 3 ,` &q@F XAC9uOA%QG$EZSQNZUYnWaŎ%[Yiծͥ{oFx}:1pgD Fc)9@ɇ&y#m!U?tjرeϦ]mܹun.Vw.sR+`7gJK, V=e\1EPs m`p@ 4@TpAWP(3s pf"-Jڈ| SN;SPCuTRÚr(<*+C|ZP1 d`W j _9.ZRl XaO\ePX͠c,(aidQ*hRtu]xw^zb(y/|L.3%,8!] v3jP@zZȌ;cCyd U .Ω9?Uj*rfg8zh6L$H9{pFXD.ji~n l6lNPpZ9<@ n>Ko|p^zB_&Jz|r+r .41?0rK7tSR[uI}vkX֊zw~xuhn'>7ٗwyPz7칿mk>|7|zWzw}M~Gz N(^w Xm<@FPNj9\/x Dрs H\p ́a mxp,(Ƞ:,q=c>FQtz#gvm8bŝTzP}F|GĠL)`2 TT-Y@ X o  ¸B[ D!ei!x-Q$A7 s8b=ԁ|qC16–DݐZq210'@p@B($RCѫP ؘ DhbՐ&"dg;W":zB "$ CU%1@N`1B fa%VpNɂ\ 1zPE'1Z6uS+e)Ǿ9>81|ώb?VHQ Xlrc@;>z'VPRo)miYzֱ($PL)Z|#Q3՞SBSQ8` +I:+d*iD7U^ʾ|\e}8QSH>tKHGCD )8*$=tdXƍ"Z$д@d vRplu{]xQ[8}9 D9NB6 HAƘ"ЂmO1E ʑd_Y@V-`X\ EQpYU pucYX!c55ۇp CD"9c,nVa63$ŵzƀ^ h3fV|e,'I2E'I G !HFfQ7ssu)tS 1G4urs }huU' 8hHGzG`moX.Јt= qP#`jԍ@pܦ?jX'5kZZ׻6y[&ikW[Bt}ml Vo&wm\P q[ d"Mo} L탛&P*"7-~w'v= kP VogyGk 4@k HV#F„rr\r.'zѡgC,pQ?Qd5yC}BXFhXq]CB87Q`SQ+C}uCq.^sB$g4q $vA4UA g`|Mo4g_ g+=$B%SUJrw'~Cu5Wn'E-l)䰉$j_7~͏R hVp'=qpp5 q0I ;a;?LA:vcQ+:9NO;Ghsp2d \9\A{#p99.r1Qh 1  =kA%\Bwa@pٺ7(ŸcB-B7Ћ@,B2,C86 P `?}14C8LIxA1LB9C>cS=7=CC<;e{CDlDG5E04B|DKĽĢ@cDLDP6\X:PLEU,؁ײ3TTEYDVT/8XE]lIJ*- A2\EeC)DB)#aazcܝd\Fp4Ct;.8=8= 0Bȹl w| t jZ˃k0aN8|*X r؛J*m (x Db)0(O K)A*l.P@IXȫQ|DȃN`  # ȑۂ.\‘%m-RhQRS,ES⣵xEȃ| ͣ@ @o B/AS KQ=>]q P4Q21/2DQF10?qT0EA%SO-c+D,H6j , A1k^!q)sfؖF[ɕDZؖnHKhQ^ԤHTnBg+dJ#<(d* Z {+ Q!AԑY>hlE mVG s (ѴؙpX T1 X8t! @)x ŽlDŽDHʴL o/"<$RtM$cJQ͒8 "6M,ټ$ &($Ma/l=\}Ex9N4F$U=Z$*mO׍0φ.bF!UMʥ^ÑPOj R<uPP^Q00Qa +nd[^QLSK`X8>$2p +ee.z҃a-ґY[1S4фd_:łI6!;@+S_ +BS@T^^hs H%I%J29@1\Ogq[UR5HSEա<0CY^`E˸#Eʃ1b5Ai 2gdՕk=@~p=XrdX_ȢX,6W}W[j]3̃eznNk؝ْjOYSZkQÎlZVAs[ZllBl.mA[66m.m;KHN;5km~9VXd\:#^n ;PKPK+Snn6 .HKn>oٶnjdHX`>HOm`c\C(a4aAoo\~mplЄ~XMVE@؁|I+\cUbeS^"Pԕ1o qvn oN  )rH;Ũf9RX Su}VQoxdpZmeg}Z* s228sw8twHY$ωWt-N5b0W(dmȎa0mtS7trD?@FG7逽 S־&X3 A&[sRS/vA704OtgFlj)![Pr;X+I/?:7vro(rnpsG+0L`n(Kbr?xLIMxoC[09ecûa @ufHNmȃ [؂eB9ݏGwA3>sv{{EHo0HoYf8iC>~< ^ͥyyC8!w]Ǻzo?wdxd{tOn93xOQ! 3OnW|omS0{ʿ|{q,CoDrfc}ן@ *@V& }~&6POxM.+~g P J@ݝԅ8[}~_ P((,P~82=`a lp!ÆB(q"Ŋ/bhǎxq$ɒ&OLr%˖._Œ)s&͚6o̩s'Ϟ>DP*o1`h$ P H>(uh\ߪ ro mnߖ Q.ܺvͫw/߾~,x0C@ #OA˜0 \܏qa`(Òn H ^m )Hù.|8Ə#O\wȊUoxʒ:VԩM]8A<9`m"QB+CGwXD(DF@Nu1@HPXCC߀@ 4S)47'r "DP)֢Dh7(e}d#:"~t5SRYWbE J 8>S;xJ>xw/ h%r LbL@Sp@¬Q#Ѐ |r ;DLWGg(2^Or)*IJtDS1Y4ATq p8zZXБr:еnDj[~*'y][P@!)hx#!E')Eޛ\y/3/D$R uͼ3P +.`Q 1Z-4  @ 70YgȞ;P[wm4-osc*/#@5F3̅ tfAg".X0/y tAlzLPٚ,9X^Im$駣Wt7D (pPx(j7$8/ G4VY`3 ➸r,$CB;<[ 磟C(=c @`ˀDCt(-DD7  I7qH( ;} !GDh0*,޷L'!\PS 7R1J\"w]DRD| :8$J/щH10[L#7m4Q/k#?J xD(2\$##Fn$%+iK员4dPXVM2F49HRd\%+[JS:s%$IZ2#,% &1iL!1M2fB3Ҍ#"1BTa 3oS^D@"xt#-!葏3Cf -`5jqqxK[0 ](CMp{4A@/!hJV,1Aȃ"L'MiE6jn64B*`Nb %,R (`g>wdra-pkpV̇B4"А4#RJ :E40U#؅OET6[5]\È$,Ԧ:vlÞ heŸA.X`y.e׃cNvfHсOX@nHS0$x﯃.qkMڸF,Z{x.JH`hڣo"\)q(E,cmmI6m vYo/q lDy11 NL/F'h"`t:,  `l3h@q- TCRk#xh~:pl##y$T!6֢D 7j%1Р7}`Rٴ [MfCs8D{>3$N/z3X؇ViGF[&ZqBU8EڼNY[W;#DWȚAs T`h(tp1h4G8kG3MZe`h]p$# tsuncʆ)x"C ` sc2$̹ϓ鹖,`4&H 6! W/L*J~7K>\Xᩏ5%;e0Q+u7Jzq.7v >G?eo7i=|Q)?>ȭ|> k?'o?I ?>/%'s[``Et2`:2 ѽR`]'d+l`&h$ZX-7 7p! ޟ(`^80ל 2.0a )X?afaP,"a~a8C?=aF a~!8BdPB'̜Pa "xa888tH$ES &'b((b))b**b++b,,b--b..b//c0 0c11"c2*22c3:3B.4Rc5Z5bc6j6rc7z7c86~" c;;c<>c??d@ @dAA"dB*B2dC:CBdDJDRdEZE8jFrdGzGdHnd9#::bdJJdKKdLLdMMdN=dOOeP eG#:BJR2eS:SBeTJTReUZUPjVreWzH@:A:&RbYeZZe[[e\NWe]]n%IBI\_f` `faa#^*b2fcrcQI%bRfeZebffjf4* *t$,8]zA hcj$icQe_#h$$@#o&p Nz8LC'F-sb`,*@srvrgwzw>><>CH?,Ђ*`-'4jAmZ#A 5* lb#A 0(\&b'%_f;@{B'T|f<~{{rBAt֣p4h> |ʧ!(>@Bt@:@P,B ixBiJRi[,:@\@+|^hP4B h@zv@T#΀4j6@zAd~XY@0Bu@Lf<C,R6hRjz#Ђ@c )#<k)ң `*8ibkjrkA6==y">,*pZ*pzt̀@(kv4 A}l}*A}^šp%" x\ * ,8pDN,h, Al(j+'en"&x,0BuJ-B9+.$h9C!d1&T3Ѐ٦ٚ0)9.ڢ'ۺm9>.3D穂`,tiB&h-puJ`* z~*B"vʂāAJBfnnzZ0AqR+vj:BofdyC6C$'x*4tvo@Bjpoypxr)gH0軞|(-^7 ́g@2(@8$h(  ЫG|@r& fڬ,F , -c%*叞,B&'[1ã0@9<"j$C9 ¨996C-'9<3p"h'C9A~A*;* X,N-')%nި*A"\',tBr!(-.-`4-,҂,*+u:i,/zJo4K4SZ@65/> CP>̃g6c~s8g*g6+d<\6gngcPswĽvp'L, -B  (l@B_G

/z^h)W.s3w.^@. Bv !<34-ZeCgk!xi;vgp.o&WsoowLJ&s6q7Brwpsr3s;syЁ&t-܃&xv?;6@@{glw| AFs 'ρ ,RX*|lzpjP1R'XBASc[1U#hb*#|o($|3f's`3+61mWXK$3(('^@/;.&`-rn@0irrAȂ *y!\hhfWkv92vzo{B,w+3B^)6kyvy3>/X g59kv T/>'xscPϧT!4GtGA)wh@ +nEQLM uvh R lHp/dd첎#|^<>.*m(1:;rh+9^+p2g:@Ȁ$#s/ n;FvBk9`On΂璼 $*62,;;z63};WVy^5$Hwg'Ut>q+/_2x+}yznp0GklR81OH'35QcQé U\8l oqk/;R#d#c*|ƣ{v<5'j |Dhů9 p4_khgh^q,0vAɳߨRk3v@,h&+ + =$C *P*<6*Tfi"p-4Lp+YtfL3iִygN;yhPC5ziRK6utx:<$y= lu0u+|dӪpk= T`n֪ z" d@C=HDk@6DPh>a@mN`ƑZ<9Y AkP};n#ڳP$ c4ŋ;(ZH\~|׷|@?dhA@`*lh@8ŜW>Ѧ.Ĝr1朻f@r^9sb)EPTX!t 7衖> i D?YW¨WIV2Yh9T\ NL-0;`M?YtSIKN| H%J-L5ݔN=inTx |yyxꞇ05{Xuڊ|&R) /|* >ܤ7Q`>ڎk`93n@\^0Cܼ!5fc7E޽17h88^0>3o\ 0]3=q3:īW7DMo?(SYWRp07T 9ZZh^•"O1癉0 m&^D0Fs iHQ*}@d*%nDg:9!y%8tJdM: Y\@014\1q(׽1nZIІ6U1 lJ]emRV}uUu*xTgxJ;`.>!mO :h:U|G?ÌZʷaʟ}_0d TȘ?rp&!|U *x j&-S5A %#ڔH0n-@&xPT)#nWXbi4FNDn!TYE/~{:`K&HD &9IO~(-]CK ]bBL$G|PYK[}R6Ȑ0YLcɬ] e,UuhmLdNvYMk^%A14R8YNs[ty;m'!0>OSYP(/ P>D)Є^ Ί~!HIZMi)Ui H1LiZӏ9NySAPZTIURT>QTZU^YVU~aXZVTE@Vq\ZWy^Wͫ"@XUbX>d)[Y^f9Y~}kcD[ZӞUjYZ׾li[[%mny[p[\Unkw\>ѕt[]^n]]~x[^nz^|[_Į׾~_,~\` Vl\7)\a _9a!&E\bE)VJb1i_9yA\d#/GVd'8O\e+1!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!, H *\aB:HQË!^qFcAD,ir~F2dRK~ ,HM~@ŨO,YģH$!T XUe+V+:-:h=Cɖ>c{lt]ڢ{uBA\#Wx+UlmXaSOi#j«jgU;6R dUp' u,?}eX}Vs ]p,q_%/co{X{)LreȩW6h_kP[S;Dž#^ܷj@Cn%>=!!,Z H*\0B#JHÇ3j܈"F CFxQɓI:DҤʒ-cf|RM4kD`ρ9u 4JOAa3/Tϣ2T' *bjEաׯ,:Vdgydq"F-CoExkI FkG8JVXe5ܙ:Ǡ!+M\r Sg:ױeO85?ܺOgvpT ('q DgN<󍰳=m:Hx G !,F \ H*\0BHŋ.4Jŏ CfԘPC\pdF Ld`˛,]:)8~`L~HY`SӆDI\tӖpIuBWiEUի-I Y+BOP5c[ b[ݪ/`h[pՁjx!@``/5Hs(NHw`j՗el96Іo㶭{!޾ (|Įa'0 !,$!0*Lh #2D\T`O\4QcDy8R`';@Ē"\2%8oܩgJ}Z.ĩiBG(UX)уPΘzUXeWCӞYU:u:g[7y+v_ /?g].Ƌ7T.@ =<*ҥ#Z2c9w7#{GPm] !,* H"\Ȱ "0ఢ@bC5 E#B *0' LDR%˖b:H3-[YsglZRQI]ONOJILSY>+0=J=Wڶ>`{B;kٖջ7iݥR(p-/KcK3f d~&,6c`kBׯ  q}|9!, H_*,x‡:|B  !ƃ#Ȃ &OLcHf/uӢЌԧEѓJ1aԥV-xzu=Nv] VhR5Ӯ\2&OjP۸r麽7Eνg3QoI$ D^<'ǐ rDI# Qg OC !,!0!¿"4JAAL5OËEgGU"c1FT(g1o&g#Ȟ Х&\g4ԃR(8y5֨Bjez׋ 5R"ӌ d8,Ș 6eZw1n=c0!, !!0@`„B)XÁ2PE}2 Ń)U򋳠G1ehgH90$j@}VH2yT=C=6=˭Ij Y w6mʜ (@ړo ̗CEѢ(]y8x11Zqf!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,N H*\ȰÇ#HŋFȱǃ>nHD(S0+y1͛ j@Hi = (Pith6lB8[<:S; hY.ShK X5CpBklKhFe` qXK}tgn?@ y&(@]%ʧDGcۇ|2= `т1 P'A (28J^{eu`0\gcb&"-&~\ A`!qR :PrW\XR`FwJ'@/m` 5|8EVYk%fv9wpi20 pP-J l_R߈&62ԩ)?;Į ۞@C, $c%<Y YBUj6,Hg(.B=DZr FpI !B)ĊL S1Ia@ī|0bxŦp{1 8c5j(lD(%7Ji1`$EǜQ@a"G`,||# NS@(q(L*W9(@HpX `.O^q@a3Lf2+Lg*q̦6Mlr *uF!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,LDH*TxË6~{‹3jȱǏ CLɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧP I`i'ikI UÊKُQӪ]˶۷pʝKݻx :l ]jKÈ#]̸ǐ#KL˓&VRUJ//.lM遘S^ͺװc˞}WS+R Iȓ+_μsMcpOs!ۻ `xx˟Oo􅙐BQCvUUE h`AsH Cv6H~ ($hB7tT J6 av1irH{E4HPyva $j(F)TVi啗Yn3!#B4J HXHI,1p. % &r`hmGDB?,o hn %@-Dm?@b%15 kt?T; $p`Lav 9ɄP~2,@ 3y \(Xz(\pw<;IPφD5GbE{wѵhyw/ 0BH^tNgw>Zj/GaR 3Fo)!r5J6tz-Q0C^F}@fnKÛ (A nJjjI]K÷Zͮv#b]{\w.`;bxE%uqFtddIOJGW!MvLq% \x`s [6V5w 2Lٰ\xX" 8vzHgL"W%HNl!A`҃(#Fβ;.{`\‰(@aN6E+芛L:K'>πMBЈN7E;ѐtaH7N{ӠGMRԨ$VհgMZ3wT7ҽ\N%QIe;V3<(j[ζm䤡Ye0`NWuRKrxQ|ONpހ !J;−hϸ2ɍ{ G27?Pp&I w@NHO_Ds;^5ԧN[XǮ({]Nhϼ2r^2Y|K+}O|v_)gWbt[d13AћFuPW:wgo"Ͻwg?`\ȿГ;/OeϾyRo^$k7};1^8H/`GfQw, W^^aX&D !p.-bH/x:HB.i  h>XHB=h1a%@DȄTHIxÂU5QSEbh4KCFGh,fHcBSmx:2F~x,Zȇ-As^ l(88,rj+!V7؈x%\N ?x%؊S4,a{'1(X؋'҉H'q\al% ،#(%B)Ͷ8؍]ȌޘaX,x8؎4(,@\xซ1ȑؐg99/Q؏‚ܸ&yBx2/B@03raBy> xqPsuTsXXys\Ysו`rWyaYgfjlٖnpr9tYvirxz|ٗ~9Yy~&ddɘIj(yjTٙ9Yyٚ9Yyٛ9Yyșʹٜ9Yyؙڹٝ9Yy虞깞ٞ9Yyٟ:Zz ڠ:Zzڡ ":$Z&z(*,ڢ.02:4Z6z8:<ڣ>@B:DZFzHJLڤNPR:TZVzXZ\ڥ^`b:dZfzhjlڦnpr:tZvzxz|ڧ~:Zzڨ:Zzک:Zzڪ:Zzګ:ZzȚʺڬ:Zzؚںڭ:Zz蚮꺮ڮ:Zzگ;[{ ۰;[{۱ ";$[&{(*,۲.02;4[6{8:<۳>@B;D[F{HJL۴NPR;T[V{XZ\۵^`b;d[f{hjl۶npr;t[v{xz|۷~;[{۸;[{۹;[{ۺ;[{ۻ;[{țʻۼ;[{؛ڻ۽;[{蛾껾۾0 {[ۿ[<\|  Lo0\| "<$\&|(*,.02<4\6|8:<>BKl2M ` M`mQt@h}>L^Qt> D=@n @tׂ %q̞ tDPDp`[P^kpD@|>ѵ`a~_Ke%@   x% P  %A]% %a=2 (x`}M&!= dPM) ` 2}m. &00)T |[]!JMܒ>t_v/Pd)~ %|R-ӛPY/zmtPHwN(2)t N ݳH L]N= / .L-c߿| _  o%,V&A5  =\۰&W$u"  D? T=|gV\xC2:8 `!8 _':aeh¿Y=Y2G^!@]vJT!AP:4Eу]֜ZmݾW\uśW^}X`… FXbƉkp0_:l6/p_{-1+@ZT}a7ɝD|"Q(bߌ0ƙ3?y[ۙ~{:ƼY#@?$ @> /0C 7C? :iZR-MDYt>f"J!ah" #Zl(TnP@XȆ>DƏ$zVRE :@r-,t"tbY֦X$*v#j5Le%Zz \ %-\؊kdeM)m'd hJ^%Hz0;'+EErjtM` ?4`* Rk;͚WhG X* @Crck+{/,: @X+_n t t|unr~?cP-蒗y5yxS]n* NvBt2 92+xn亅[@D/-jCTv]0z-utXTCIebKגhHTtҀŇ$tUjVկNFz:`z "SZ.r{iݼlf7Fs].ovȤt_۰w=nrܰNl ̹#s !{*6Lohx|nGx~U#hfw;vcsow!E>r'Gy?uR/|r7yu>?fsGGzt7>ҥ>uWWӵu_;X{>v$B{վvo{>ww{w|?xG|x7|%?yW|5yE|E?zҗG}Uzַw{@!,K!,K!,K!,K!, ' HP&Р‡6HD31#ǎ/N09fˀB oDpo2DJ2!3a*pR:8(P!)uon^b@E đK($`@ π)@>ű`=heP_(Eh@!b)`@.)2 %F=1Jb|@ %?( Ȁ_YIQ1 H5( F3A%p` A@ t_bxrH `FpA ԠF4B`K rD3?d?A=S$?H d?XD?H3P - "&!,K!,K!,K!,K!,K!,OvYH*\ȰÇAHŋJȱǏ 7IdD(S(r˗3-F&"ɳ'dɒj_|*ibF} P997,)XdhcѿJ Ҋ*.!o NȲIh".`vl٫Yv`+V8@i`)I?Yeq埵YAr%5Ű6d8ZbdNrٺ/ qTڷ "|ۤ&f4vRHk=| \ h,HD4_7Z$%B?BX "*x "{v0A. /d@! 8XÁ13 d)1ΈB &c/`vdQG8Qf 7SQO"WfIU"W8G*"0 t#M.H9A&2ǡTAhy?miRm3t_D-Z:Zِ*) t6+?\T7)0dEKN0 *0 =n+Bj8 %( ĥ0h65#Q)\s>dÄ ֜hk rTYОDZ{@#48d@XdvSl1P9@Qt}F8T8? 3ɑK*Wxod))GM<(=_@LG'-l{4Y/buPRqcKRdZ}1_l6/ɂLH&p4Dr_e!#/X3]蜢@9c,@p`. pSG35s Kq$G{RAH ; G/;t|ԗ4}w/G`觏>o= G_:} 'H0櫠7H DrQ D`0p"X;Mp"0N61k,|)<9H!h|"Q<+1.~@(L?>|`Fd]/H   6i(h&-%F ?`NnGLe6KY̥.w^ 0IbL2f:Ќ4IjZ̦6nz 8IrL:vɱ~ (#`  S ' PzBCByQ# <;88Ԟ$Ũ>QFԣGN:ϔzTV(=mQ{ࠥMZӗԣiPzT{@@uPT}jT9UXA=U*g+?jVB4IݪE!jӭrg^!,K!,K!,K!,cq H*\ȰÇ#JX0B3jȱǏ CII/\ɲ˗0cʜISbJ5sɳϟ@LѣH*9ҧPJJ`SUjʵǫNKVaͪ]˶-MiʝKDXw.޸} \/`ˆ+iǐ#lS˘16̹ACMӨS^ͺװcL۸sͻ7YN㱃+/q/2حS1;  ߦ߆pꟷ< `|gNO)@x 'J~F4@xphF@$ ׈ xۆ~h\\bzhq}tO+$!8 ?dPr<"( M> "-]hH'x'wf&9?`6fgw%<`J(XO4.fL: >P $@ > R-X01 pE2Bր7+j*NhSу,}X+;h0+@!cF#@ i_z "UCC|K?\ ,B/6``aM|$x "t(R`Ay;-/L MD I`X@<t҃F(?`D@ 襖`J~H kp6#2c%I#HOBx6) >E͈@Iȅ@`< H 1= 4x|t'I8CN(c< ī%T  G M^_Eȳ2jo$ E`ފpт6Alie> GBjKCڃkjHZޚHET$*F+_ &-v+ tٮl ~Bɧ^=|yC}Cuݾ֝oC~El` )!4pj$Q`ͅG]`0~Ql`}hbc+?>1Q^#;78"$0Lc}$yX{aTLfX \>ri 0S@İ0ps~\y@Lhp"Ð=\|w@'&\ f`uj@ Y3дp5(gmC sX=hג1!L\4lȜ9af dF (f0A8@Z(CccζbHu LL]pu;0y\܀m^@pB {x'>dϸ7{ GN(OW0gN8Ϲw@ЇNHOҗ;PԧN[XϺַ{`NhOpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwOO;ЏO[Ͼ{OOOϿ8Xx ؀8Xx؁ "8$X&x(*,؂.0284X6x8:<؃>@B8DXFxHJL؄NPR8TXVxXZ\؅^`b8dXfxhjl؆npr8tXvxxz|؇~8Xx؈/q((8Y0( c%Q'(0@H(0t@x[$QH0op2)@Ϩ)x8OaA1 oP8 X я8T  9y$0zqɈq4Tg0)@ В4DY6Ia ,Q@o:ɓ>qGoȒY7pXIn5 XOٓ?CؓLYK9*9btpQ"q9)0gD@y2afL]L9+ْ `a wi1BIЏIɚYjYYYj9Q©At ؜DyvcԨ9)y)EgyB[tQVEg}qc(6 :IEP9Y 4286ɟ J.<;Y 0EЍƒgPTЌb9ɡ<}  1J3qGLZJ.YE aЛIKʣ!PRʣf*kL*9 8 4q:EaʠʦФZSZZJz:\z_ :zfcH{ <hH٨Z)oP"*ْ Pȫ EPjjْ9Ȋ8)bXƊȪ̺c a6Zڦ9@2oPΪD 2`GɒHpjZjڱQHp$ఒV+Qp0J{)@p(( k *J{Պ :ꬹY+*k@:c@9ڒT\I>Iapqۦ-"*-4rKuc9!X)Зɐk[sK H[n{ۋ+83{q ! EfK˻W Kz9$9+i H@v nyK+i;K9c }۸Jo $ ;يXY K窼ʿ Qܵ ЋBqy(8ܸZj陽Tٽ?L5ۻHܽ;aiTL4|37Kc |+9 Ѝf{1KAiqd[:3{q8yܐ ZN쏬xX)븂<bT2ȹlLq )F)S\ꛔ<ʛ( HaY LʦlZ轲lX..{*[l[,̍*!,Ԭ]<ɉY:ŅYi(1Lʌ5pϰ(4\r;*% z7lI,LۉLǨٍJi}}9шɸ)xk$ ^h "t뙤 DPm**ɛ]jFG  汕R:^>`VWNr A滺oz 1l1V֚LTg䖾!,K!,K!,K!,K!,Nr,EH*\ȰÇ#JH?3jȱǏ/IɓE\ɲˌ*_ʜIe̚$"'F-C4T)K ǿC+2ԕ4BرeQm Ws3urCC `]AÿTrI{$Z2r %) LB遻aX4IZ9KJ1䣔#Ծ;ċ;zس-O>pp^M}*WIezy@ J5B)M?8FhD'Θ?Fw]@ra O^àb :}`A'pӉ3@0]\@A?]0@B!ZW(X! @Y1\5p3_AvNW 5XAu@jCrVT 0B[ ai.iIVpAygрgj@uJ sbx¹1K\EG B8w tHL$SnP*$A  ypP[ h;ʾFǁptod 1)wȿ3T'\\s"LgP~1ГHO F6DQ_)tVapZvc=v=P]_e`v )K &>@@B`4I^[]SqJS1Jϕ1D[>P (<2Ez>ѿZkzA΁广*d{Vd`N[ٲ`+G6V1) A5]4/nE*p`F#H 5hDYٻBX8&(l` 䐋Qh?҇# ;Fu6!(x_qPB"$,+.y9FX CBlCRqX"j:Zhic $ 8gg>8y'<#1HbAؑx8.= !hF`:(AǾE6EL9,0#)SYK'j-C *IFJczg8HdTY.ГSxDޒNk>D<4 7;g* L$ S4Nx c|3'@JЏTfD'JъZͨF7юzGGJҒn"&MJWҏ ZJӚ 6ͩNwJQK< *Gq*Ԣu>ԉPjRA4B}*Vu S])6n(@0pU*'UhU+Fհ `e@W<`E쐀h* 0F] ֢ Z׃ pWrֳ?$KYb |a^dx>+fzJUf܉zd:өr3j\^7msFTDo%z^d=@P!d W pا(qgt! fZ]IE `G%8CuX#=p؊>b5>р^]Ї0ho2##.%7 0 ?q q œk`T@,.`F@ *KNLD dm`v=Xt0טA Ak{?NW?:ψq/f7YtNYjKcz͛C}ؙvY5 4Q E `)^w*% ! r @ Ӻ=*$c 荭s˪\& ajZ-AGr~vwz .-ow@-^ow5\\Z#pY;`1u7O  j$>&n^^.@Y=n=h_ߨ>`w[}4n'g]r6垁@t%._h0'}a֫g}N t *%  b@7ɍ{w'/k|柹ȅ2ox~8O:k:ݞ}b~_3jKm G7]k'Q6\i*wX8r{w -Gc/f}ɥ~p}ptFhUws%eny=@~_7 Hc 8\Հi00S&QE` q7nGw s6 yGUXGWfHo 8dՐj~p XA Yvu 'v5 )`vЂ\A fQb@x؉ j2 tWcX1(^u(fWWsIFs(e`@(ІxGK_0a a.+gi(XU.`G4iR jMWQU Vb`UP Fzjp5)  (=7hPnh(^UV3HQҥҥWi((IZWőT@eVХVeE]OW+9g&\˥\1Q/Y4(Qz&ySeQPQPY:YQ^]7I3ՕXIR>Ix)^RcQZXriSq%= 0-zٗ*Um `WEF#ŗ#*ɑɘ%Yq We!,K!,K!,K!,K!,K!,K!,K!,K!,DH*Tx!ċ~{" jȱǏ CIA(S\ɲ˗0cʜI͛8sɳϟ8j04IG JJի!jʵׯ`ÊkS(VtRٷpʝݻxwY YZ+^<ǐ#K/jW.SRˠCIӨSL}TFM{1'FeNd#v &$I!pD!?dvQ(`5+z 62Xf/ŇR!DJD 쐋4@d \  *mm3aAO.E?+z$($9)KXe]# 2@7l8@%q" a}8Ё ᡈ&JtR%ԁv4 ?L҄+80lQ j?5Y} ш g!YGu 0JLKt4MA)`t#`xNWcI@1}F> :R2 2sAD]`/y}KP._hQ=jNQq."E ">+*i82%DHݽ[jAMpaHzdec!>!bL(|ދeA@~mx.CY*|tn.0Oz b0ޘ̏Jt^.zWt:}axcǘ2 r ə$D:q>7TsaIQO$%k^7,F " f1;PD,a5~4#!HK yⅇhӺ8t _;nGS~î^!,A|?^^m;vYlf|+S%W"}߽ixvE珿`0`7z8%\I} D ` Sx MP`! X&q*,0!qt44:aMddvMB-0\8Xn2|gMff?hA8XA #gܷKa1zPlb}<1|& $ 8sgXwyF:hT@fWjx~S~{g؆-0R)h`+Mk A Rቸhkk*Ӧm-bT,Eg3(G;xa:'w8w#,V:3An`5`f7^Q psw}sh p:8W ]`kݓ4#8Qg$7>ÈX>jsSt pO&2 `A8yА@GosgG7D|tFѥIiXF?ŎAd>csˁEh?X5U"wk(vBw$w|KN48LwMٴMݴNW 5IM޴WR'RBR'Q&YO)gW SuT 0Ðrg/ ,YSz+&{Xryz9mWe({rovEx9~,1QI0Xv(/`]yW ^!`Ygc `n Pyfc<\lp\J39c$p Zl/& 6.PPOWPlz:q*(U <@NPWZFUZkʟ8i&ڏ'1pɡIX, p Pz*\`I &8pI0bp pO&<3@ U 8 "P ર*GjʩD䭕zZ0z蚮e:- ) `#p"icI^G}Ȅfwݖ;/"k-VF#*qGI@)@1` [ ɺۍ=z( #; &SpL.=:|3-˰ZWkhJ˃詡O{:J&kPn0| +5{+@i{;%pӤK۩8Xh|Ry끫ʷ"̺uz"Ei6W0`:r7P:4p: j۬nۭ*KGk|XH룫+ |ZDoO00KʻPu!tlڻJ({ۋK JE) 47+ttt}hF rL˄ lP/: I{>P7J k:K3R\ŵTVŐ ޫb kp-#4l\Kzg|v0 `r|w<@0& Ȅ9sp,`uS=yB(aʐ\pg< ʀ I؈;SDeZ_Agȋl/cgfz!s.3`n7v&,`q s' ! nBf"i#3 p <#qzV^&q%0 F ϢiK, (}oiQhtz.1i $ z) #Bђfh#|i,^q-<p,w )v"k*Fmv2v* ++*@FPws π*e0f(qկ3 .1)AxkupI֥ϐ؜H3- Vl,,o^*AE ^G͕ PwAًR'@n2"%s221s@3633?CdGI4FS-QDq(۝PWS4GUE2n8m-yΕoz3KF]yC2cڧ\-M[ >۵msҘj<99:x:?g;=@ϒAݾXe (/*n p8 #=^d'UH)CA2}% 6z.^uԴPmϴ 0J:C6oBsH=BT@h: @-(DAA20-iN)}nCswm#۱茮q` <8=q\5iXt `aLibgˁHEndcTF3@olFrHGG.Eu8WGn>vE 6guG8 or)=t o׃Gu`VڻsY̊ncN憔GLTzLoQt`kVyYGND~ 'rx OCw}w,1PwhXtxMMkCO; p`X2Jky||ST0TE%T/=^%W aBU2  |(0O8dE]U.1}o5r#{ݙWJ l? [U =mD&N` a ` Pܔ/qgDYUn}4!.o?=E|In0V Z741f>o`@!O]fpv[P/!? DPB >QD-^ĘQF=~RH`z'o;e<<\(SL5męSN=}2D! 4EdxHRM>UT2KKAB`U]~Vخ $VZmݾmuśWo^{X' R@KXbƍ`P_YE>mV Q H D]uΟVhҦUc޽}\_ e(hkF%W'Ǔ/7: Yr[z}p ѿ a.t /wV3S(Ck/B 'l `px ~gId 8Vy.!LmV$H\xOLD Tj@AR!i q[ h_:6Cgtƭ"hA"M7y npp!p &2f(I9O 5o,JAAň9?SY'f@1u6x$M&Gr;ܳO 3HsL}3ZiA}Q0 D_` "fXBA5Ճ ~p!!.8N"h`8 H7w`4bY(fZOk LTD[n bέo壯?.Ti7 6xpb6cX`kp DNR`4lGy>\cNeV}[SJ# #? rp.͂&8%LpYsgDdhDmj!6sgal@,SQn{ ~/N˭n7.LՊyfH] +}R?\kG< ˞W s_|~)j;L8!?v) rA"ȅHCA^eAU`@S=VNq+X)@I  p?p)J Rd3A"Qr8Њ0PO p 7E"p05"p hFB?6h)9CøCآ#:L@D'Ph"*PPя2A襐af@vHdxF } yKv ??ҔF Q9KZ# hP$Җ&EfxӘT &3d6әϼ NBӚ&Hx͏Лf8ԂlSf:wNviH9OPӞBpxOS(ci}A@t$:QX hEsr  i^2Ё%A 08TGL!mA4>ԣ iPRtPX: <Max?Sy?RAu-r^0GTV$H2CڄN* ­]NцXz6ؾU{W(r `T@C$Xͺڵl[xm00FZEA`T $AVWT!&@ A-C @ dN ?( 8AKYS+_֗+|̩`V>-?j6^`+$c *)P!Je++X%:Fr$)XeL_ָ)+1Q@P)]!\6plF"j* $q<̵ OFlTL4K'^Lwvʶ$``KFgexxD Ѐ1 <lǀ @=DZf)eV*%7 (9vsRaE`*#` ^hCV4U4feg`Жvd' ޱ̔0)!aj cb[ ($ !e`F>+:AX!( 4y wyPp#Cc5z ,@? I;d5u#E(A tps 7##-D4 G~q[ʖyD3TSE9UO;;$RTtG9lLZΎNtUZѦtUzwOD X_XͨrX !* XW/lQrf <ibepQs~<Tڄ Abb,s=_k_$-9W{[/R)HR 1c<x5v"* @ d@`Hd DTdt'b03>@B$ ,!@d/BH@P/%4+D,<-B../C/$03,1 4d5;dA4K=H *9A$B3,DdA8'D6THLB 5>T]XrKh4 |5$HS,ET4E,C\WTX47dpCDl tE\^E*D5C=܅r(}]B*,@_@hi BjE]hFkjkFmGno sZFWDqV4G]Dc,x}XHC/@VFx,Hr4wDȅ4rTǠI>Ŏ&, IqiDMpdhn`>a6 4p`68pPM6ȅNLS|NܐNd0M(d`"fpNlM6p4FdqKLLn\,vlxAKe{RF04AOhPNF [PWI1nP#Q>4O Dž|KO̦tl\OdE/RCb,De(FFPA <pL*P(0_@_@?#}# (P<oOPO18d@(TT<ڄIЩ`AQ hL@+ Ҍ$SSdǞx3REKC_eW*qI=ĿDRʤD[/ H=OFJR(~dSVQE#LV"|*k8R[OZJ60VCU.S\^f Zn们fxBYF&1e[ CB0K-Qgf=R#ײMjd.6X&gTc&^=F;5Xy^d[ }eGgFȶp.4ÃLt6%@JI4X^4@DfHUBAe.oX h]h\``Ix jI~ hQg3Uصeꐕk}fLmC$̜j?$ f"^Ď?Ŏ0m H>† &vl6>m6mm&m`&Nfծ/ml샀(Vn<YS2( (6>'RƦrn&:n&>m5'7%PDwо p̾ W97GWgw !'"7#G$W%g&w'()*+,-./01'273G4W5g6w789:;<=>?@A'B7CGDWEgFwGHIJKLMNOPQ'R7SGTWUgVwWXYZ[\]^_`a'b7cGdWegfwghijklmnopq'r7sGtWugvwwxyz{|}~'7GWgw'7GWgw'7GWgw'7GWgw'7GWg|߀?:jyO  'zȾ/'  O}ԧև ZZH9 oXٯT З'}_ݗ 1:07@燈7~z8H:Ȗ}Zqa'q9Jb -Cպ,hEj,b "(0zQaɅ)/\y%̘2Y~Ĉ!1ˀl*J&_({N &gLG E2VĝN0V?}5[zA RK%,Qˁ !/Q xR "db"7@ֆA (5zDz2rJ(93u4q1 P!bða#KLsLk6E5Wmf #pFNQaEE@Ncqfg9{o λfcPQ=/zY+MO,8{ԁMrk L7y(^!x+*$0_:= "|K&HD/L ӻ*(< xu{>.!3$Nd$"Et]D_jw;{ /h<%oyD^21|;BUz̃>FC 32DM<9 5QA4PDljBt>%:-g lX$ (IRTp 8_B<]@ƀzqa\`l: av?X7joYQa af9 4W(PT*3f^tIһĽ]N1 08A5lGv#\ذo" FxG5 Z<)ݚȦE[UR$QQH)fGT'5BT$k %fU,P*pVw>a Zu,\:*k{ˌ\RwK'YⰬ,C-,J_<^^<8lĹa"W';îGٸYMnWJ&EG&JۡD4]a״H#]0(IDy=ίH{I ؋?CD|D$D.0`K'홱s:̥0@Ѻ?@?(6L-@ÓO_!@ dHPzЬ ppJ$L!Nj\@ID@mH>-EB@-QuyA%R:!\VmJX$Eс ܕ-Fsm$ɸ jz_paQ%!A_rYYXdUe%RyڙEF:JV<\Z!lY$i!2J< fЪHJ` 1,0A1W*$܀(b-B'<@ M-µ-YyDz d7C,} GC0DQiP$2nO,˩(UHQOU 2`(GN,cKpcl\GȌ Q2~PH]N*tP鼢PBYID @?T4BX9G"U5.LDNd E&φ%d#R cUaܟ% %> uRhWݤZSE#1E5E*<>\l5N d6ZBde7\Xe6bBxelUNcMn80YP\ A&F" &+ԁZs| *"A$Gp+p *jE`4 J0084 4p=ʗ,@UJKcdؚءXBdHd TQ( 䔋ɴxDnjtġGT@ ,SIdء@`T(AX-iyxg\UUϧuf_mevjB0r ˅KĔn oӧ' %DUۃEnP uf,xL| e EpBHd`ᨪY q[rZrIȎHgBGl.\)Tnv UW(h>˖NPaGЇE@}@cx }4@p1Bn`0vK(jdPpjndi)>S},ĪYVEt`ģ=+;ɩn` VgF0@^d@&M&∻Wk{8 G+EE0^+&o(b,oYA,+ND뫚vrERhǞ,ʺjƺE@!,K!,K!,K!,K!,K!,K!,K!,rY HLj8hz4KC.m9=Iɓ(S\ɲ˗K$YXAwӗ`V sC`*]ʴӧPFc.Ͽ En<|fQӪ]˶ۃ0ڶmS[u9 o LB $V KLrK ʊhg# ; ˨S<&HzGYbO#b_#Dظ ݶNKN]%Z;νËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(H 4NhA-r5 `%HHEǠ$:HDE]CD| bBGuA$РpwēO@i 4L| 5['1{1y5Tz qX@\WXWqgW`}`;Ns |%@0*xƀ+ l`@;zVNxvCR"ZOӢh6i0@DLUa: I^⠏9UA2dA0PT9A(5rNs Vc:^ө< PZuYmWEHTYu+eihFNZ~kh`K¾`|&Tzo BNiI04B`-Gxp@1nc\GAd#1BY2 'i4i1cARߎV:;U֪d&Ǯu!R 5u,\; ^@Xg f@l~Te`ht\0>P`3V+0ƞժeYR0JPHJ  _aMd;o\W]@ Ag?yd²f0`KDZİc` VfYaX%?%krg9?~4e.UYX[Tt8. 0c<ٙx?KP:,EK-RgB7P,s&ϙwZmfz8$n6 -PZ5@\YM\p?{zWionqkn&S]l^ɶǽZ [!VȴtCɁ7AM*+pAnwÅV׽n}J"np[ I8>7}pixD>9(`sZ :9psa@j0`B 4cÑ]-`ҧ &?NEr9x@U !,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,Nj4 H*\ȰCJHŋ3j4? CIɁ Hy˗0I"1ss}Pгѣt(ҧPTʔSXt(N"KٳhӪ]˶[rZoݫV ߿ N nՠ}"`Lr >lP[v2ӨВS7:o>=P~L[nҹpJ?[])q-(@Z ? v2w]:u'w~I?Ȁ \ $pX1pj :X&( "P{?>p?tKp }AO%8wu<'x`8`ϑU!) i'bifn]:jY2(R:VWf? B5X  P"7cH`1 $`m>Xƒ- ẖǢ\ /,؃(!1P҃ZsO[EB1 5VOnu9v);h]0C`o73Og0uWgu=čy%߰ 7, 0Ǣfw9!8@KaY]2vw.yT,H`]p8.$~|CPu7^ -N+x_d4:Ad=iO,Ò>e~b_e L@A? jAF B<@([P $%6E#5Y^h̰8Vf T`Us;8x8aB7;Q Gt#>uEk/=MIMX@G#,k]{30k\F Uu?-G=l/trtz6ᅉp8x 4D[Y4+*}ro ${KG|\ |k]a,pW3"pe ЋM'Xa6t HnFHPFArXP@ p :B G KSM% vlK0sg r3%~D <)tQ S.) [7Ru5GQ)'`t$*@6003 aRh8 -8A+a;L 8 `\ó >9E"QSK9jYI1? DMA =Фg;1@$@=Gb>XSڎu|5U,S:d?\A`ii賭Z|;ٱGINe"\,1e2ݳD׳ `D@N0$DFƼnQn;i i-~#c/L`$N;'L [^H2{ 7,(NI0^HbLx3q0-@@7 Ld#s27#0W<<@s/='z x]?'w7 .3p aWp]=<S$v/Z !@$< (z6 Ä ``2*} f)4mJ&1ϐg vvhrFjA$ t'~s)ks`~;`l ~ =7c@fiG@~ζdNeg~0 4g p1CkP) fxie# `˧`IXYƆKexikuizwV7z8oׇ% ~ksF 8` PeGnmhqCz!P/l  0sΐ y3 0 7s| f0];GwM ((`Xp8xsGY  8=2ܸf6v lr=xi_l Wf gqYv N &Pj&WS 6z扉3@pզFuh(la `` 1- j@  PR {j=9?&pO Vʷ(]hoc,a`?v pee6IaVeK`֕ vnYa`FYfav p (`O`_e扠s` ǘ(('P dnsa?IYb&j bGsaw Acٚ񚺹晼)d!,K!,K!,K!,K!,N H*\ȰÇ#Jŋ3fȱǏ C,dɑ(S\ɗ[ʜIB0mS$Η= UߦZB8[4)Cʴՠ $ey _ON-9 3Q H@Xl6n 2Ki͸8Gdp% ͜= Jnxdm~EAmu!|Pt;Uܻ}N|qϱgnh,%Т[O=^wP/jXHHP!ق W$# ` (~xǀƒĂ#p?õ`^APO8M :a=4-5>`("ݗ~ hA5<%z=xyc%6E VHEՖ49? VKB BjsgPE2KPG }i)h Vh:ܧ`)i0/dB~zAuꝟߙ1R{vg!8c-:hGfQ+eڊL5`eFxHkQY?bբޫ-F;-Az@g#<æ zE4"%Z 4BsI0Bm!`"yz @@ $ H(2bDdu.aE# JmT[u ,VRb:3a=5j%Sl1Ru@y>JWT0I8L '` Fm:bq<5+`'k\B0N)VT`#U4Su:9!X+}3+Ȁ(|M }8Xy_Z7&y"㺼q ,B/``iBHP5>6 Z(9L@F - W[(1A?rQ^!~DJ+/3 kP2]1I_l nW`&p #)EQ\p߰d9qa Έ3ъ(?h\3#?ǰ@  fꘔ hU܍6 iMME`Ľdhx%+ǂdAҕ?\=)0J _,+bLX @jB朦+9m f9u&;sMҝ8$%=kKzd\τޓUE# rt"Bu!D<ҡh=>A NwӞD@.JeBxOԦ:R@r `E-> ծz`W{YVֶի 0@ʏP0׾Lq]ӺM?ثb'KٰpE[zO fHM- P2|c  -p3dֱ .׸ @״yqZR MKv1@e^ԢEu)m~4 8`G.D"52mhO7L(NW0gL8αw@L"HN&;PL*[Xβ.{`L2hN6pL:xγ>πMBЈNEJWz%1}&M_kAQSԥ6QVհgMZָƵEr^EaNa]e;Ў-j6mas P'Lf±^2U@nW;.+Iӻjm_kDY @O -jC85}$| +ߚ1O_ x9p D2W Ap_\9{nj<p!(n lE4TP1H[,[^ oD^.;蚆ӡ΋@2@y8[,&5qSta ]'mzկWr/j|;_/[ R$D8l0#Qa_~ T0( r, xh9d0B!^8^ Y4 '# s@"Dip{@s Lހ F0 u} W|}|jG7P@{ `{|Pi*`~v 3 @` y`[]$!p|V  -P` y0aq p(qwgi s` ]]ajkoFmzW,w:ȃ>( BHFHvwJn3s@8hi'{uOp 095 vFC9`  w|!uF'jsC0 !u (8xFȌ]r-gYE|a5Ji(xkHXi#P 0R^/ӏH 797 X ``1*p?"XiXy &q p u!)CpȏX") qqȇ؏xs+冕S 'dI74 ,WX) ]1s(x39FrA#ǍT)>9QiPVy|hst鑴W9H 8` |ϐ||0Bu Fuِ9rC`RiǘM &P- Ys֒ g 079 Yiɚw ҹ'jǩi؉2,Jzr v\gwrYJp>p iu0Z7 )yМyPi0  $R') pµ ݨ~7 su h*2 Emfȋ p/axw|xaF_8/|i1kf6aWHmƙs` )+ڨɊ:mZjn lZ!,K!,K!,K!,K!,K!,?l H?*\ȰÇ#JHE3jȱ@ CIdB(Sh˗0#Ic̛8sɳG@ ̡H])N'@FzN`A* QS^GaWիZnᙇ $`lP,X]xA~p-V FN`Fk,]+hDGҵ @u1`@[] /LlubϮ-`NzI+3u;L.a!!#A>&Pj[Xf :dBǟր7)?p#p?v $P ! 6`PL8U{  ^xYXyq- @]=8u]^ @@J/=@bZU  {P9PE2K-l?bi&jF{y68v3I אTZei IddwEd vB3/dZSmb-tTWɪj₣"$UOie0M8,\ʕgz*0B?fPlf0u)j)B5P $@&{?(7T^ծnYP:^qeʨS| nBWI҅U/gmB8Yja W̳@S`L\F{!f!=(Zs$$g+Ƞ(}s`0jWj=$/&W"?5XD/  ʐW@tƔrRy?$馣^CYe]ʇ"nSYOp pg" 8$[!ͼ4B??C&#RB &+Δ{; ]i~l iF48e\ 1 e'¼lf(NPG A%TyfGIde U@`l +b&Ć!bb( _|1(a 3pHc2?D<'R Ə2e(_82BI#OHKX IBL`7bb@JZ\ &7NVn,>ZaOLL* UT,ePQG(P ^fR% +\-C^ l%4iɱh2)JgR8 2\S %<& K] Tt*2X  tA>UD #n̅ѣ5X*WM@S"jDݙBz*ZjH2֏-}DS (!uB#)dM"a(L>A`5&!ZY1iA#|Ta\=mjkЀ'XckL7Ao:ಙl_H6WgN-lY3*n ONpv2`Hcc r<05W8ƲF+` hO3< m50|+ .H&5a`hX W&B#p2$1.p8~1 | /./0];ُ'FM4YO8\`~v?^2"Od0"  ?j5qddfDYd] ta񩁛!MUĞ`hL>A52K׼&  X.` AedB[ |^UD;_W80JOS ` f4mp;d ?`rOp ~=k(EEG ֏(ÕT98?~%Tc P>$v`F"p&hr;ק8*gp&Ƞk +ÙK`+RfRХfU"(t+ƒ ,_h!LAXDO @@,da3@$@4dP|SX!P yuȅ"dTק P_^qڌgSxt&s+@ F>=̀ky0̯O][@%lVE".J|m@qn?5 r le wdDX%˄-7@ӣ//^a+O?v ?_F0`V?Qut v4H*;"3@D#X3 Lp@X74 "1LFJ&f tA30h{&rdE'D3~ 2MPL dQ4z3]L@@22@q IsrdrМe* -O@!,K!,K!,K!,K!,K!,K!,K!,K!,K!,`A*\O@!jȱǏ CIɓ0\ɲ% 0cʜI͛8sɳ'H. %KF8ɴSCJEիXjg`> ]v 6ڷpʝK7&ж`KߜxKÈQ,tlI%&,僔3k*]dysХS^hKJ*ֈa[ͻoËuK46D/n+\У{<^$K[} F&(@|l˟??8AIUUGSu Y )SJ vf|mFǑzSQ(㌄X^3yѸC(]=~(!!51[LF)O67:tݔ29dK\)LUZ=i_p~d$8Öq$m.pycIhH}yS :H5&J% 9}T`jd饡 )E/!i zm@J!eV̮F\F+-bMkتUN9v>k.L%{zk!+k,\(' 7G,Wlgq l1,k0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/o觯/o HL:'H Z̠7z GH(L ^0 gH^r@ H"HL" B%:!AhO̢.zшL/hbLF6?4H:2|#_XƏ#/أ I,Q>4k HxH((e1yD1ȚaJ-.d*\vG,1!1GDnQH IA @ k* xA 2U T*o yICڦ5DT&:+IO{ⓆA#T#LH6t(B RJ\s ,Bh2 (pRc GDMSNQ8AR0:=hp"A)*K2]?t :`Gj-cҥW }#JG ?xGT摖0?po9WlU08&p Eؕ&iف7XJԹwulvʠkL%^kevE! pE^y!1)_YnH29}Jң$Hǐd*2I aQWzN^tNB#p3 4q](СR@er&&ENn =,?KS-9I7AH0t52Y&Ta¢N_&Dưlv%ponya.,4ԭ gs?~-0?lx K&߂fI<QZǟb8j<$=G>CD!9 yqH$_w~QIq=>#B>!Ht~Rր1+hOpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwOO;ЏO[Ͼ{OOOϿ8Xx ؀8Xx؁ "8$X&x(*,؂.0284X6x8:<؃>@B8DXFxHJL؄NPR8TXVxXZ\؅^`b8dXfxhjl؆npr8tXvxxz|؇~8Xj_>kN0ራ6!A4arGgZ_U ꂓ2!ɋ9?ɒGE I( FXnWEBI*Y]ٕ`4Ǐay0I.Fa4ɔP9MFb Iuyd:vk^ė?hGQJԖF fٔ|wIɎSY_9D/I#) i@ox2I(DyiJY2xəFi)#FGi[IsٙɓY刈؈r9ٝjɍf EǩߩIv霗ҩɞَqɝ镣g)ʠI*h)z㹝!੟ J9iYvi2Z9xY:ʛ hmI 9ɣyq4)zYN*A<9"ڝ$߉-*) =Q9Ѷ}yYo)-)N:lv:|ڥSJ(C\*H K9+ɕԩ:poiH%]=:VbtJJ:Iڠ dZYڞ)u iz:*ɛ ٫}I9ڟxyZTZ;*:HIYʬyy8>H9爋; èء Q2ڰt yj,Jh (++(2ۚ8%;++1'y-=!,K!,K!,K!,K!,K!,K!,K!,K!,K!,NDH*\ȰÇ#Hŋ3^ȱǏ CHI(S\Ф˗YʜI#̛%ks Ο{ MyEh$ЧYcU3(8djS.}cڵ Muj'`M|#TrN{ƄņA {8b ~l=WԳ/K##{4l5̭Y<0ikZ)y.lTW4Sēl?kJd32k%apXZ%J8_0,12 ށWH* ] {'}kr G~Ak GsIGBI؄x^rĂV ܀2t0ARGܘcs ^060plł-MϰF"$L8׼0d Ģ ո?iB.ЕKhg[/~EgE\qQ#M.j9AA&2lUEet‚fA]p#x@iNDvy-'A.dCF8x,d;h 2'}Mp )㱐FxD2/ Z1Z7`͙& ʚбzu櫺' "kmc)ggBg߹*C6L` `~ )@ /ʱ ~C$#3II$@'Qr!|2pl?6J@FP?2`kT PV"HLcQlx`_ӏ7'2 <(HfN|grbq&Ysl"poq&K2(d3x :Qx (q tn`2< | &b.`R0 Eg/N)GP:UG+<`FFn4`U?``2H@[H- c$WHX~T@Ep} L_պ1׺#w5!D |SHpn-) ~{k\zUhMh/A``+s0gXrJsM @-zzj /0C@s JJa7r%@ؖ1%{GK7-±] {E(zh/yS׺ %ywzQe/GMV@b9t"3~M%-O: %%WDsDh;bQah*()xx hrL6vEV Lȫrjc91 nPf`эf< @p R@y_T`c̵%  b@D4iEt:o\]3W* PY('oYL`\bd+8mLfV3~1mI ]e5Jv\ C8 ljk*2 d[5oFO\qa0s`e6rK[$pw:u! P@|']Yp`&u^.LZDzQ5`T50^hyKX0]g`AŜl9h6HPBổƷM E }v@o]n.5+UiT&?UVb6( pf YCYĴ gLͤ;αL P(F=VDh p#Zs彣T~h1:j|EFyS02buE ۀ^d-_]^ Tv 6 'f_U}F7O[GT}PJ8G( F OFg EHFZNpf['}ڗ}F~ LhM Yvd.F-\Gc`k) gN2G4;f eZ؅bH D>\ ІqaCԆuyxC!,K!,K!,K!,K!, H*\0Ç#JHŋ3jȱLj CIɓ(S\ɲˆcʜIM/sɳϟ@MJѣ *]ʴӧ+JJDXjʕկ`JٳOŪ7D7<7jCWC \2†=5*(B G Yr{fMpцD0^[E:Wa37"h_.iπD?[KRmAD+$o(d EvDtrA'C v8c v4]`BqC6]ueWv%>oµ)EԁCe4 @4"3 F!M*X3ɏ&J>C?d2dQ+=p?5540?=3XsC/,F咀6X+F0(Rt)Qn0*9BM'9 tq t 9?Ʉp1I2,@ eLvaXW< "N&G*ڪ . A/ ª+,2ZvkJ/./&p]:t7 1 tYa^Cd]` FX2)pEオv(?t⶯!D-ք5|2L;4B56P C $ W0(x( 5#| č70'a7dv.iݶI;DPOؖMk_,r]nl8mҶű~r?1Dj> a.H~kv8"ePC4^7 ڞ1Gp=NC9K%>hZE*p`F{HA%Kx6b9/@&gd#`g \BFܴ3L`CND,VxuR~` Rp x@bM^H C4%z-0"<ɑs$!(X >8Fy'<#;(?! bB6衇ya^ T!&4q u"|+0C"R hcڨ0^KT :+8Q%0jYF41I\mOl$kM<€${&692ΈӚA:9DM ̝ca>Y|քKɑI& Eş1BІ:& :JъjDEE)R$ .Q(JhVZФ0LgJӚ8ͩNwӞ@ PJԢHMRԦ:PTJժZXͪVծz` XJֲhMZֶp\J׺xͫ^׾ `KMl[`:4KYhle7K\08KڬxdKڦZK[qlmwۢVZX-o %rMbZAˍHZ{@.Bj.j]WHkr7my? [ت.w ~׳pda_W@Q`w,y(XoPafA )aF ]qۅXy`^lhd ;ڄπMBЈNF;ѐ'MJ[Ҙδ7N{ӠGMRԨNWVհgMZָεw^MbNf;ЎMj[ζn{MrNvMzη~NO;'N[ϸ7{ GN(OW0gN8Ϲw@ЇNHOҗ;PԧN[XϺַ{`NhOpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwR'/A~p7FP 1'/I0't@I/NA?2/~|` t(lO0op2P)@)p<q 8 /a#A+1N }h oP7 L&.0n @&3c0}$Q%(Dh9у% 0yHx$ JOj 88=Wڟ!*JEzDXM ZlZ(0-J0Jf,_:8[dȞ[H`xXc8|* eԌާ7ZI@ZpZw88FȬQي=J EZ8tꗬ*: HȭzzJ `Z{xۺz()*`J*8HJ[}Ez: a J~:[F  oPRX 8 (`H~]،] 6:˳)ǖyy"~~懂<7jۀ=;E@+]h YꗷhwWضj*Ja~tAK`k}6︳nKC7 ˋ 9J8{)[' ;ʬ+5p~,سXXɻH:,Xh*;RxJHT0;z;<KӚ;Ȗk}|9Yʻ|:ī;+dZ jǬ˖=g(?ۭ̋ {  ˋ?ȿ:ʗ[K$г%@!JAyp Vˈ(IQ{t@(GŐڀ8}JjH[(Pn@1[/Iǒ$(hxkLEzǀF\RpWЙMyyƚrljgBh~Ǥyܙ,R)lݫ}V\ Yk|ȷ ,Ǟ ɕlYlƪֺMˬYZ:ȅ|1LσI( 8:,m|Zڍ ~jXx)(\b܆L;Ym Py}}܀t sXL)]藬Xņw%=}l⧎ + i8 }͘0mӕ\-ݸ|!H :9+9=^?E VHЀH&݁6&9 j]_ =2H$]ć<xK빠E%:gM=֭],a (=;mVl|ZtM5ؑY&o@J!,K!,K!,K!,K!,NP7 H*\ȰÇ#DHŋ3j܈QD CIdD&S\RǗ-cʜIK5s&N@ УHc5ӐK>JbTUjMxU֯Uz*ٳhӪ]˶۷pʝKݷ˷߿ LÈN̸wCLcɖ V6Y/S P@ԫ['Nҁ]KZΤ־b 0\y]^|Z[ ]:\=zz'Prl}`3r( \3e9tdKڭ5#?< 0v_'_zvgWh ?e!У{z!<`J(XOuχ,` `A @!ڂ W$#z` (~xǜVƒR H`0ygAL ;8ܐ\njpfkf6]ZJw3Z8r(@?ug|j|'oe ]4x[»?zVKB YE2KV[ v2Z۞k 0B8E1'\L.LʶlLH+=$ còfVtd1}B3T dH Mc8sSM"Z&eS|? ev'@hͶnLS\Ȯ@R?2p5cKkHX}3uF &V^@h8(Ai7Y%@B $$(\MF$#<$$xp#7=[oYSU*x0@gsM͖׼c ]gF4ɍ;j]Yx`k<8t ?|[q0; xT4wE; gvӚfL˙!irdE! ֚HvCdzYYB=ˉ((`3\!Y}P;y+@!<pp^M}*WIezy@ J5B)M?8FhD'Θ?Fw]@ra O^àb :}`A'pӉ3@0]\@A?]0@B!ZW(X! @Y1\5p3_AvNW 5XAu@jCrVT 0B[ ai.iIVpAygрgj@uJ sbx¹1K\EG B8w tHL$SnP*$A  ypP[ h;ʾFǁptod 1)wȿ3T'\\s"LgP~1ГHO F6DQ_)tVapZvc=v=P]_e`v )K &>@@B`4I^[]SqJS1Jϕ1D[>P (<2Ez>ѿZkzA΁广*d{Vd`N[ٲ`+G6V1) A5]4/nE*p`F#H 5hDYٻBX8&(l` 䐋Qh?҇# ;Fu6!(x_qPB"$,+.y9FX CBlCRqX"j:Zhic $ 8gg>8y'<#1HbAؑx8.= !hF`:(AǾE6EL9,0#)SYK'j-C *IFJczg8HdTY.ГSxDޒNk>D<4 7;g* L$ S4Nx c|3'@JЏMD.":D'JъZͨF7юz HGJҒ(hHSҖ0JcJӚ)NwӞT>=)N[ta`&T(E[65O*EZԣ&VP<@ e쐀h* E]U ATSup\jW6<0/׋ _@ K@ C0gE\C,kZvmDIk6 .AY^dk'e.bYH%vsFJ\C@ ]H6Ld, Nh?*xz遳Fq_'0k/ dw`xFӭno|k_:4-.`T $_ `$0vm  0!## ?*X0\`<`48C D@pd`~f/!z:O8 @ Pb(s$@4M2/ GN-h5ohV 4Q E ` @.?z@T8k{w\d,A--SCKDWNo c;|zspnZЌ̌>:g:lcgDy;vvu K `*fj'"3NAR߳d'>QDۄ{TĸLx~sd."8>> P: EkL.C4=#ń^o7E:R_MٵgfG> D =@Xp T-gxCSK P ( HmC~VBLy@/xMT{#V'Yn+>k'{S ( z8oaz#/-. ޡ-,.u䕼 8ױ_?Xt evnzqvepU&\qH{`gu{F&UW`YL%Vgqqր Z%n\}tq 2`dv$UXGWBl 8bg~p XA Wsu Xt5 )`vKl 1Pj\@rDVlh`Kz Q5rG?׆1(r[`}0e(FfWXGsIŃzwq vfh f 2I8 pЕGK\eIȐU~jPgvJP  Fr5.wpp|ڦdJ }5hX7  ^'ĸke \TQ叹ZZ%[`w,8z}+xUULZ,j/f`@@EZjMEՒzR%RTQ2)'ZIQC9QAِeQØZ(enEZ dYNƕjٖFuNiq@fYnYQl|ywVdui}Q{ynq0 0Syٙ `u @癨ٚ`YٛYN yșʹ) b`9Yʩ@Ye e)깞P9 YIi$~by9z@S@   ` ;zB N _Ph(9NpPp0k z6z A B*Cp2H: IڤH3B@V:rZjR!,K!,K!,K!,K!,K!,K!,K!,K!,DH*Tx!ċ~{  jȱǏ CIdA(S\ɲ˗0cʜI͛8sɳϟ8j04IRӧPJ*իXjʵׯ6Rya˥4]˶۷ʝKݻxp L+^̸Ͻ#!p˘3t̹ϠB.eͨ 3xnTƱr}vd۸s=zVaOG?nl+dѫسkҐbhiц<-{עW \z8w|MVSDJD 쐋4@da \  *mm3a@˄`al J2:cMLpʎBU?  |ek@Њ3 Z2AB% a&Awx'vex/$ԁs4 ?L҄+80lQ Rj?5"> 6A.T>zYw٭߄w[T Ju.|4B5P}O 䒎#.`UzTP4> CJS]U?~\;zD0]k)H:F zwC|-`.bD]`ӾP`Mڂؤ50/Pƾ0@ #<lZх\=L=[ rF* @p(B'c/Dqwk6 U$J2aGIJ~p-1L~ "80#bq=plHz$\"=3Y,  F3@ 3(f "M4)&r3lG5$nzS/^@ܹ`YIlB$k#8Jx#k NЁ⫔ͨN9XB@(Dq8K,C 81 %YD`(" C Hrk(#rFLlΐu :PuT[ @DBId [g@*C`^QىuR0:׋jMfLfV:ň7t.p'>-ܶlAjVM*jG7Ԯ6{l;ѵH&HjrMD-TfK&I $jT|nX ZKbki \\WoGKla@  {KľNpv<x 'L$E D~T Q(S8gLkO(o<5Gl 6(1䞌dp$Ρ2DCCIL2$SZ?) !rAmvB~'+ )'G^x@r⽒{L8qx1 5]H2XC :8Q"o~>Q͹!:=F0kcɱyj_"FBO7SɚzKשR]hO;^GJ$cּp pj=y}r( wC[NkŖ1'՜C+YԴ.`h[KF(y_[iV=0M`+W>VJ̠@8ݭ[̘I[+?Ͼ`d[jORj~~oÊ(Ͽ?@8Xx ؀hm33,q8}5i&dd7"fe0An.tk2~`eq"8f)&9ggg1(~48UWfhJ"a @!2?tNRhhÄ}V$gh7w(Dx5(@ MA Q!Vwhn8kj)І&Ejc(yhإmBm*o2@&qw|k#+V`.s$q44ZtF4&x]q˧֐ r ]k+38`dXjg=dzfX17n` +9h" @Qqfs=BȈEFxHiqE2Ջa1rGanHNsv(1vsSǂd.wtLɴL $KwՌgwDȤL̴wQPOCQ7P-oȑBCzn; RU= J9 `!HLY95Y{|WYXp{eXA9h z tniA:Hsu9g'|9J+H@ٗg 8٘977 ]]df 69m94!!`\aYF0rci_0\ V'،yHl vܙ`i%RGL|0QvQ*iiIY[7(0y)i BzE Xpv 0 [% 0Pn  0CP `; ǀp1 0 "J5'{dTj:f '׀ `b z _ p PX0 М _ h@wQ L 氉Vpz<Vim&qSz'ڈY 0Z:Сʙ{`}Y WZΉ<"Z 5` ǀi `(nVg)ؤk) (p:㹪 ۰ `Uź=@@3xuc;.}G8 i =Dqݵ=c۷Pfmg-ýwB)E6WCr?O?@-@@2P݉ep,@=]%m ?e#5~=((@@;=|-^"4?- ~X1 >>ʐH}q^3PO5sESn_FeGGGtnFFnWgux )tF}edM=N <.dltGUe*]QjaN\ wDK5xC`tk!$`O4MNݗI ̓WiQr vpa,Nw0MqG NO~MT}^ p ~/2{znk'S@S`S8KS6YVUKT.͜c9W"4wUJrTVp~ͼe5i5W7s$ &? L KTlUXUo\ a `  9w}绉UYZ|5׮311d~P枵4U w5[bO`o@O KVd Ǩ?]Q`O( HhPo%)@/+W78ffگ=T=2![Q7<^ Q C>QD-^ĘQF=~RH%M4"-Oj`,@P|qA*aD%sD2i3 Yrj(TV]~Vؖ*ɒ}p ѿ/TtŶ/ň7"ҡDΝv- h?kjD0(Վ\Ҟg3kT\3Y3F#>:eݿ Wpp!&2f(I9k Ik,JAň9?SY'fQq6x$L& Ψ/@ @oT̯J+2K>pg~0 _` "fX``; aKkPpS8_ ehn:d@.. O|(*PPUЂ\ Gjn*b]Հ?Tċ0@/Bf(dڋA1 Ї?b(-`ȊbD&6щOtOӼ,KbE8"8F22`VոF6q,X@ulF:юw{d Qc"vHF6R$8#HJPDFe1T'E9ʃ!$%Y@TR,0Җ-)rK\&F{Y]9@fd/my82"L2)MX/$1"LM3d(@5 vH=y^rědgӠmL,& <:pA` 02wc  )zP@@3(HQ4"F0d!!:E*y%!5Bz!0  ( `+YZL?xĵ |1S~ JSٰ Q(!8D<tjhHAċi4[`&Djt%8s-Xsq^:W-6v{VH=iM[?R9KԼmz+$a+ ϊsƅmn/RvBHD6p_T|uZ|@f)V&zCmڃtcey^PLcw%CCn;dӖh@ H@$(q |8x)Fa$+ɌAX(0(]qCx1a.p\F70xaK0mC9bwgtOd&fH4MGX>SÔ0D)p{k#8ַM x"(# N`A6(=L<ZL=Q)1`7@ƥፙX%xL\,^\xQlAXoX#G-[ ( 2^!'d@L-%olv?AͱK1uǢȷnAjXP:iC{ѩcK9RS=߸1Y3vo ˄z>c+LO?uS;;IJn{ (|c 3^?GqVOX(!^"R_&4!()@ev7!İ?}W~w"AÏ gտ~Ag$|C_>c/BH@P/"H \?s>@>H@4AKB`@tAL1P|Al>A>PH8AU؅e(]FHd&?$h$pA*>,](r{dH?-T5`CB64G]0,x}XHHA/9TD:K-*z31*:xkDG"7hDz,H~GZ$HXdH̾LHH|ă18*z jG:죁3$(q$3*DBKXx",wlLHGz ~ǪGWY4H닂4HLɘətBDA!,ue(FFPFˌ$*(˔Fzƺ4HGDJJ(MHH1\?L~>KL&F0̝ԇA4bIIFꣁȑ>NTMtKLH:ǑN+),ϏJSOGM"Xd JTNRXvLN\NQhNGZZ>|ůylʌ~OGPZ MOddBr~bxeNQxOE͌QM,'5HK"ΜO+ R>QLbc,U(;IEh|ЎJ"Ͳʂ  ͜ʣ$I/MQ*O<-ЎF TO@=)G@]|Өϭ$K5>6];AN$C,rQT^u(MHC z\- HY:ZAlFU("U}X`xbPׄB{:|}A.LtR(]e |sXJHːuB7uLBPN<-=D4YsY5D~S A/PEY=]8X٦uY\4X]4%|ڰ ۨ@@Z}[ۛ%ۺ x8 <\•0p!(8!5Ǎ\\ʅaЅ\\E݄iuY٥݃H]-ߕA ]%^Eԕe^65TlQ7QX^5_9S;eu߃_zh_Rze`]@@-f`7r_]m `&ڤ `2dB! :%Va vMa ~-!6bq;;%6b'~)ƒ+Mȕ-,b-Y/1&c-R2Vc=X74*#8cج;=>?@A&B6CFDVEfFvGHIJKLMNOPQ&R6SFTVUfVvWXYZ[\]^_`a&b6cFdVeffvghijklmnopq&r6sFtVufvvwxyz{|}~&6FVfv臆舖芶&6FVfv闆阖陦隶&6FVfv꧆ꨖꩦꪶ&6FVfv뷆븖빦뺶&6FVfvdžȖɦʶ&6FVfv׆ؖ٦ڶ&6FVfvF 鮃c nZn+]HYho-y` ZTX(oN0 A!p (OFp p1p?Lj//  oNXpZW0h Fp=A:7qFԊo H؀=h 0+4~˩h(7Ws.rs&oA7 D?@!?ZX NZy-0iqg3[ou` Z `H!`Y*x^fv<iv:w~v0$`_vrsWv8hhqXbVxTK_=` XV`I8I_ U,Y HxZXxLU K: Zp(p@0y蘎8Ȏx p:z8F<80))OK`A h78pҊ30{0Hy.Iz h8?6zb!G Зp(a" O' O{po<{w|G @{,}X} qէZ?Ч78 iI|z07ȹ/Pz`w{Ꮒ{Gkk~?z{\zlzDzz'}}δ~~ 4 C:o  :n'A q? %ҡ("!*273A2Bթ UC@hժDkV 'Vɩ崁V^_̩꬧ZdZGT5HuV& jB 0>u*T.<ԱzR yJɲ_ba)"EAl0HnpILQb单(ED DQ!N2uiA:i(Vt\`1~ 4u9@kBc#qbm@M)&WtLHI? 7t(;RN2 LǴ&M0ќLY5&H*RT8yΡhWsV`  DЇBZ 쥂*( 5bCW-`q"c pD* )FF"'ƃb` `!{7Kxwo 3aFK=c]16%)UO8۰]eF OzǦzfx\t;餋NWE{١DiZgRm Q$&GA*o}i*;[t VOU,Mx"פ2Jg4[|ϲsTQm3&="7Jc ;n@M.s9H}sw=?_L`XhKMC1 jYEi1 *-V $(<+.T SD ! DҔC!l|VqHS?Z Fӛ&gڹ>\+AJP.!HUKcLA G< duf bzȆMBqrZk% *}HϿs<&$G~fhS s F:#QR4#P ">65!͵H[Lv*jsC.6LeZwd%g9B_Gb:A䜱vv}1v?jwv{V"3  a]vT4k78־k .56MXJ+CHj.Ë 'DA \c`g ׁh7؇ ܹcU7= }3 qD7>toBAz `EU6'|tP.!hGDم6 PMD dNd3\噺`3$9st:DUt(gHPHi#&6gzLޑ-Cq fK\9&3e qj>v#·}; B黎>ǫzDov~Dwn?އ[xrEl|J,wa[C&DX"ЋY\` *"ű$y+TEuX*(`P p4X*C03H0Jq@+|2p"\yLX SK\M|HdYV 1TLyPZfyMH}mHe `0?=^l47X- ]BS Gn |xGd ,FUSU Ǐ Nkx޸ RCP@֠a"9&42=D&RᥰO6.W/GL`D72D7BЄ2 &n/~#fOAϼGLXO1}XO,QztA&A0 AWԏvi .MGv njwGpHjK EUGv$$\H 41HOGM$QLe4IG!%,&LK:R%G`aGYYGn$RzGa]@z RTi9IeVj Zd@.L"$S%V%`%`%We_2@(\a>&d(\ Ee^&U!fn`͍O_mph&iilgk&lfmL]ƦhJ&oQeBpqijf g s>l*e!,K!,K!,K!,K!,K!,K!,_H*Ç#[Hŋ3jÂ\C.(ɅO$%ĕ0cʌ [EbqJ(Qq6@ҨєN)*mU8*UPRٳ; 1eH6ܻi,o ݄+G)mɋK>keBobd ZŽ L)(wn gyWD"D;* <8>zD'Za~@P@Q+O<׳qO0[! ɉLluC @ỲCq,:W}`]Qh! ctҁ?TىА '?}XGLJ8b' rA* y0bvbeX6A^᠛i 1@e>^,DW,|C5Ƃz-s&Ar]}ϠuI ԉhW}_B ّ^qvZsoa AjaW| g?YB>Tqc,KiEW~!@ҙB0f‚$f & pca"r&rkЅ b;#u:ƒ*:mGE^P)jj J0p %Av17hʥfgr Y0_@?cmfvIX}1,5L v#4a{bCB' {t V6QQ&jDDQq!JW3KDu+=PVa t$)w1zki0. .1抺8 9K6~퐰yUF3cxp1YDL}TfO.#|TI"~F%+=翴YYSSL`K"@:$i#A :|'RЂ9f!A % !,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,z Hp#g*Tx*b0p @@r50*LA)PA&C_ZYx󟋞! vw "eS*[(,8n]* x `۷]90a W_+{p<Lw^B,\ ]QJ4uGA >\ Zv u!%<.n߅ b  rYoЙ1\`oo"`~A CCGH({F 3pcqZ@|E>H?%SE%@ P 4B EHgDFQQ ?$`8C %xdAT$?YL9ZC@?oC@!,K!,K!,K!,K!,K!,Nr-EH*\ȰÇ#Jh@3jȱcFCIdŋ&S\ɲ Ȗ0crfKOZ`ŨaӞ GDbFV*J#W_7"h_.iπD?[Kҵd9wVQ-P.2=V7<8 KV&8Yԕa5vdʖM=3aG:yxr0/J?iDp F Ġ$[G#4bqRgcQ #oiYD.TY[?DxɐaD!(0C/ Du!PzTw]v_几 b?PtqqM' Hny$_!\qLz8` 0B\0H5p3_BP5( 4+4\ 5ntybAKA' Al] 1d0UhA9 ߰f" \/0rgn3 ,E" 2 %EȎbB/ vYFp,:+,KQkF/zDʛp8B [$Pu1PN0x F6 w _e8L^\iqjqA.d?ry++AF[uO M@@+~@CvuURUK/9W 1 8GSu).3!:uV#0A@SG`wܽ- +?{j@ AʛA59O/ADA/`#\PuA=Cޮ+!Zp (7:M0b r20xc8d48![4OD$(#P?.H Li#` }r$OP 2'hq S|y@0ҞvHIJPh(N#1%Ly9ݩO}: <;EINդeUh@0h=>AHu|%ӭG`WzAbpF2z@ 3@kU2ΰ(<@M8.]H\(.՚f;GvԜmxX<Π:>BPBV+_:RX S47` ,`H !7>NHt z\` :`+6[ _o,K πp`>ġ0*p'Tu/zݽ괯Ũڃ`]! @xA p@@B&/zT !  @e]T!K@6 Ђm8R%pP~ (q* ';=)c,W%+d@M7 AgDn/ pQwF+у xV<JJ5iOԻu;gөN̏BkL}q XT/3bOm;-;[ S3q&(q 7$ A Hqܛ8wqnΰ> pB 7 hms64O5N3PjzSz7)WFvsR6HFقfz59)+z/"~\i(9Ey>br ;~5.B8@pv_l_w]nL F54k`AE ,l`&`w_}Fx Au"#5_HTC|-?\9vYw0\`x0 vHjcc}OMo@qD)  "LhF_[M>q~mVq&Rq6thlg;ԔTvv4ac40~PR3hMQDD$XM'Pjt(r %N φjGuS`c ETDM.| ;&thĦg)OB8EX4LHM.5;g SNV8% QUW`bHrOgf~`zp ~臀|S!,K!,K!,K!,K!, ' Hp *\P B #.|xPE/j"Ō':cŐdx桀I PS`Ɉ7|,jXHHPG\٣ӧ@#| q8EkzM} Pm, WvǘD^1hTG_8, +0'Y 6M;/ u4>RPCk3.m*w28ь .'^BN\ ޽ޫ0X8ڻ<@hQ?<A c)@0PX!h8Z+ ht"](Mb"$a2h@C@bب@6Ā@%?%B89!J`0 IZ 6jSfGj"Aa Xj uDAg`A.!,K!,K!,K!,K!,K!, Rw_# ,X(q)8YLjONʜIS`ʍ GBwrZ'ALQ_+{ oG0PВS;=1g@΄/@q\W?0ݾvJW`5?-p<Ѐ4'HT=DD>P!qZN޽Lj/`׀*K|s_c2 |QylI(Xg(,Vbw!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,E8*\ȰÇ >Hŋ3jȱdž?N ȓMT%.Œ2"A8e9&ϟ@}͙8fTZ4(˃L!>mrƨW.%z(U]&V_RTzg[Z|[U,F;2.ۧ>}i| [d}瞍aąf6LyonuUѐ ]/)[ǔ\8o3 ή%{ ˚q'_N|lұ5>]a"?|H*?n^ؽ3CZc5Wܐ<^hhzn蝃#wn!6L] 'dqgR|J.\aNWH ' ݇ҹ蔉8duidm9_r9iqId*w^Yy١V)xଙz끶ڙ,Q( jЊ*"Pg)v)(mʮymB9.^HgzKerن[aU˂+_z k`mס+1\֣VZ1+4",lhqqLͻrV1x/۳;j(YC*,O»6n Jg"ʬi/b֋f^kk6Igy˿zdNJ%1\=ǘuxN}꽁oS!)`{%"[£/\7oߎ3 o->v5~0uXe]{fjg_vUЯB弔M|Fѷfa?g'3Ԛ#;H2)`B!,K!,K!,K!,K!,K!,NgH H*\Ȱ!k(氢ŋ3jQ 6VHɓ(5vƯ.LI͛ q>/q J$8d3)Zӧ Pʏ)ԫXJj肬`ܪ:1˶-FT xTTbDWD|P˘3k̹ϠC_'?{qDѰc(۸ X1jM<6ȓ@ :ֳk̼sҨo}yNSſM?0^'!Gv$(@B G1{bpg"x?d]`n e '@xY0wICy)#~3?8 EO0;6< ?dPr <"(X N>E "-]^c)<@yAe8]~&BHmh502zw%.T 2$P> R-X01 pE2B ր7i* p *BpcC lV ( H$`bF2zav3e@^ s65xk{%P0@wλHQ7Q,IASrCpӛPh&SS\&$ 9*NDI=N@զZK=G GI 1*o@D bSn.?@1 JČH*% 7PA%Q@2N;4:XX=W8Hx7l_Xac 70o_\8NA-@,73o ‹ݼc04a%NqXmrmWs 7-]q[iƻvB"@74 tLHcc /=c`yxk<}3͛nY8\dw;h܁W|wx^^wx-p;xx-:=(6vJ3O`0z@P\>>B-ܣe 3="Z=@z#_ϏF7C;/a`]`\θh,>Cۏ3z df{]|ζc&^חleEg1N_"@_gd &b8c` c1Vaj(lvV0)08 &4xF:Ѓ>@DHBxAXJ(H؄=PHN؄QX'SV%Iȅ`^aX1Ohj5peop<ivv2k !cHg>| 1>(HHЃ&81[ X=(sH88uxC5xHgXxD!,K!,K!,K!,K!,K!,N H*\ȰÇ#J@3jȱG?II!O\ɲe”.cʜ&͛8)N'@!IJL * QOxUy8JFV:-h%Xd V-]t\_,4Y?UKB fsPE2KTP= mh)&ehm:Z[[\Ert@eT 4ZygFx!Ox>g!8c|-ZXe=ufQ+eنL50eE!ĘjGm/Q*!K;)p? Qf0M>@#Vi (D޺^P➂8\A5^%@B $8_{e&W ֵwL@;vF#-ro+{Ob@ZJd4lk'|QhU硏^速i ]ӪU4ct>w!U|t+ (27[13?_C+Imq ,&E"3X%nQ+\ ?0Q2H ^@W!Qb)0 3"m_jiUW^!X 3)T\  ڴ}i;b2 ,:2BKpQ"%ȍNKB"V ?b2,2hT.zL n*ȅ~Ƙ4$~mY[s39Ce@\t 6 5!Ao JBɫ V1!`9d%x @pD-oIѲr1kUV%4&A`p2"׼5i)U6 2,ePG$ p*XvS% %(Ij":6#*9BP'@}!<(DrKs*?h^#U(CQ|3"B.>рMhG_r= ѓ1uiAӞ@ PJԠ*ZEmOx|PTJժZ:jju@X XJֲU 0@.:Q` f\JWlc+P׾cMVʏO,MbӴJb@,c'Kٿxek$[ziM*[qϚS'ڔ jgKۡ: 9 HX!  >  `( & EV+ @/a "'xu[[% ?.π4Ȉiר>gD`@$=,ϨA6}gg04,RԨ3WMUzk~9YZεw^*bN_Me;Ў6-j[צ6n[޾6PHܦj6M[ Jnw޺=h Ւ6W>oR1߰("…b x?ߨxL@FT{82 iicX M0"`E!#⅙uga _'kS. cta=w` p30? R$D8l0#Qa| T0 r, xh  Y} *P蛞{qpW>@w{򕿼{OyS`z0ps˓B w$|+𣸭 7̐W _j h! }gk (j'pv[(pj~ @! hknW~p|ypw `4n.jց&ȁR.pC.^|tdTEC8i[Ҁ iS` (8iXi.ROZn=&t.CTx^w q(k` l'y׀?0"1P!CH(0nw$FC^tj wx3'o  g(jh8\M@ vPd Yp7' ܗ|^jr۷i ~ S~woHg|؎%d ui) _'p# jgXjhfvuCTCp9iׇpy%Vu}F 8` fxxhx`x!   0}ΐ yP3 /zXjϑx <:ɓ> `9b9;ٓ?SqV:P@wIq"i lPn Gq&&rqIДN 1piQIgpI =z3Pzs.p .ٜGg !qIC wpiۙyiB&j ni2 w:kwyl涠sFp*iHv ɀ&}l: 9ր)ln y@ʣɦyWjw"FƤơJ .PZVk;zZS!,K!,K!,K!,K!, H*\ȰÇ#J48`ŋ3jȱǏ CIdp0ɲ˗0cʜI&IPѦϟ@ JhFiӧPJzjʵׯbKٳheGmϴpʝKWZN%߿ pa}Ŏǐ#K(Y m`Rk:$J[ɨSkm\.๶>0sm1P۳>"]IͼXίM! =O|d)uei돈>y6 =AT~ 6x=2 (t@8ᇼE8@~׌DYW PxUAMA)唐 0tKQRq"?_qI({`$B|J*  h6Z*BfJvjҥz*ꩨTꪩE2p7"!+lAZ:Њ38c-KA!fje! 80lH25<@$K0bH'|#k@u?(cp W̨ϭe`ǧjj$L%*0M4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/o觯/o HL:'H Z̠7z GH(L W0 gH8̡w@ H"HL&:PH*ZX̢.z` H2hL6pH:x̣> IBL"F:򑐌$'IJZ̤&7Nz (GIRL*WV򕰌,gIZ̥.w^ 0IbL2f:Ќ4IjZ̦6nz 8IrL:v~ @JЂMBІ:D'JъZͨF7юzflX"R4-'HJR)/ ܀$i,Ӵ4!0 S#GHPNf@Q?*pӑ`U?`07AAIv*$)`?*WTqkGUKk];@ @Ճt hUBhEHeٱ Bc3YX e!+U k=RZĶ#ulr%.nUk pu 1Rgj h@U2`4xPa\ Q]rXOVwp(PRA{wݮzRUzTt8C Vu R}0x_Az@1 Xnuep0d(zk޹~wNY[b Ȫ3Lcx50U'Uf!~0S%< 7TEe2/^ N*)|߸;^=a{xh1Bށ ReV" (H-(["\ 0[#1a+x Rx VnZMsz A@7@ 0uC=R:̕vy4 E0rZ*Ւ64 Xw#v]n! (6hUoT5`W36 m°=a{ݸȩ9z޸>^xO97'n(@Tv4)< BZdY|^Wn_mhlYncwS|<HƖnfbvcVnx^ qiv7Zk%(i9)XtY'x ~;H wQ\#!ƗnjYmYoyZ$}+IvG8y%pUH_FxXeVَUzp^4giFVHU[dUUXZn@VXYi961aUIן%W U%ts 7UR՝Sen מ&9:&*q)49r [rk{ '{ lUX:gJq J"j/2Zcǡ_)b=jFڠqINmf z5&WBX|Jfň'ccj 0]'6SE6xA`c]ve[ S|jsŗe)g PScp]`%eX^z~Xƙ5UFv)456Tq6[Ua6ZJU:ƬeNe\`=oFeQFjuy_{LjSE*`|mʝpb:%_嚦**qY x1)7U15!\[| A&ux$h 0^Y2sR2v+(;[ Ї۲ ѳ 1!7zFKZkUqmF+A[1RRJ?du]+B0!,K!,K!,K!,K!,K!,K!,K!,K!,z H*\ȰÇ#JL@ 3jȱǏ CIɓH#E xLD !4qּf:uIѣ,^ߏ^ e1eQ?"Y̖;3mۡj׻x˷oHb;AX}`]pƋ‹@ذ`.(#5}YȰCn61NT͘{Vx-u$ic\R@j]qzMǞu;i>T~u٣cߩ=|Քzho|Mn7Q!Q-Yh CHtHo 7;Xlv?%%]~fD1I-JHf)ti/ɶ|YX{2ȦOIdԞgF!:qxC7yPkEXb"jn 諰g*M,W_ohdI?SꔘK< 6$$`@ӊ=`  tUjߒiX+%z؊5>_s% !)yUЉY @"%Ӌ>(Ptަ댈 0 H8`y3Ck%D^VK!8YpE00C%xP8(6A b8=1dY@ɞgy0Lt=wjI:7*ϷXonW%Ԉ$Mv` (~x'<`J*{8{\v,i\L@zm6tԻ{|Gr/Gs'9l@ؚ#-F B d [pAA (A&kt29*%'NˡvJ;*s)) b=YHx(DWphE8zQ~j}3?oQۛ@Ϥl]ҙ ӲVBvF"h9M+VrH>kS<8 p@phxvvF2v\(Zz & σ Qط1@|Rvx rTM!@nz@*U>CVg4c6)b DaNE`e6[.#х x cjqbx0 ~EdxsUguD8(M_xP]LJGIQ!:"p(''*JL@80\@L؆C6JH*lXBm7AbW|(JFdħҺڕ+Fԟc4u0t37}VvoQWbN d  %O 8v%R'A $]h @! d I>oڤK gHpB,U "3>E @ (yu 26]&kMm'ɀ!Z -0}R3SHQ=@XJ[ȴDR$H"̩$4> 8B~B$'OBSE 38=3a@BcpjSmq&{Fz:7sۛF Q^fGq4V}3kOSDeҜRrԐtm  Hr 19B0 0 0'̽ <Rr@O2oHyFAH`FK/h4 l` 2 MYÐFPҗ `Jh4 X@ hP8PygA0Asex!xs5{XF# ]$'  02À(9'}w IM. yq`yp'yFs@PLiȃ`eBx{Dxx2tGnz6{ P:s PW.|qz.P ]>p 5pw臮؉711@oXu1'S` (`hzxbІ<(dOCskXu|5|Pˈ(ƠR(p*z9s~ ; s Z1Ǒ0Ww{혒% X>h 89\shP  (09r 8` Fwr  s/I|)\H9]x R {*;HYwrx @[àP}PU\ p `@[ [JP~e  gg!#)1Wy9'fpi{Hu asDq *w ԉ=H8OYީ? Y3M!rٞ3 Y9iٟB YJ @? ZԠ~ s)z[;.HrWXAwv7r|סq.{z A!B`y6gAylyy) yw/(C/6zFz"z 19 LYԗYXƇ|@5 h x |9}P[G~7 ~-xC(u'| QwJs3 ~ BYQe>#X'+؂29P@xjHګ)S* ThwXuz17{hhȅ)x(w s٭|^*J$]hs*Pw}h舯v|57!(Y 8~pXsw6pxh:sq(g ۲(!G5Nj{Xu7' ?7X9G!3س`.{lЩI07ɐB *;!ClNy4(TiU8$}k ,0y9c`l[{xX۸`X0\0g0 Y4'ɘ PUyL y9y0yКۻ:A8rr3`;+wQi ɫۻ9/й !}*hYu #/;lI !\J/ [ {!`i@ j6 w/` "<– * v~hj $ ^W !pǀFV w[ p ]Mps|růQ80{Vg-5ǥ \Š բ:*KtV+ޙ¥PĻ)1sy 9JB>`P w'%gr%W=xXr[l`.w@A*^ ,`<ڥߢ?u9SY`z>ֱ F0ΐ yM9 9=uNpΙꝞp^K{}wM PPPx^ ?`uhkp!~yGּN 1Yu O)(| Fàgkn C Y AYI {ǎ^9 @ѮLp͛o7Rw pǤFwD'ƎnћlLޥP ! `-yǥBA0@^ ^שP/b ^nᙿc;46ivi?p ~C |9棛 0n857\`\1Ϡ>B0"0p\ @La耽!v#/x$`? vpv O $>%/ȯ*kcL搨_ DP… 6dC- t#ŋ"@QH%MDRJ-]G`BxYDvܱ4BTAӳ_HƙA$X\RնsP,!ثcuP!:d%j)XP]wpFNoa‚Ydʕ-_ƜT]CZЂKh_Du*hu17t:} / 9Ā "&`&uԳOCRIG4RIKB!)J11rMgS(NiC#OqCo=_5JoF'E6YeMKtGS0EDh 4)t ˸SQYE%ŶXkL=r[Z߂s=x=@],/a4Xf'b[:( kְp!cda:# %H$Tjbe!"!H>?kXF&Yi GFH⋧jFc9+HJj٦oKŁvjYXa {eMZ`W ea$!p, 0pg|^SACahtO!,ȃURttqPp`=j(0թc0BZ21b:Tɂ@1:AC sg2W QA8>D(\I:$Ginj,'s!L() ` 8jO 1>Mݹ PY/ MD0!$ĺHaW|@‘+@lG@ ȂH0F0``g J-@B.b'.,(C{P>D%?[c Duv@Xl@ cx((pAllV1.t| b@5?/ U_d,`L  0b"-C(ЋTH77z ^0`XmN 䐋QL@3~OQ&D"VMft$8 PaF=n DPbaF<09&dѢhp$(b4@ -^iXcŽ! p0"[k`amTFЉ&DFTzK0? ЎD/HCO v}e{W"} Tz%e$D0J~{$eGJ^;(] B>dk3u!mH)Hd -O[5o$Σ\' R!|KHD%/FLDF"WG:{0H8E~ ݞv*yL~#9Q|<e?6k \~@pk2jXo'qrԨ+_yd`o@KZxujwZ)r73ۿ (w{?Bdm!aAC",MP"ᮌx8/,p !bDZZ|ܬ^G&F##d|B밠:H^Df৺10lDK/ъˈ,2qQ#hZ̲z4E<*Xkm6x!<1`BB@jC^H&8@ tER͘3Ӂ9t M8hLkK[ \TNFB8hΩ$D `4O) H $K$M&`%`+HA`?8MZʾuQZ&STOZ>(`m& 4\[F"Q$'b8c7,1fh.4JS\N 0MEBȧ}t2AwBl"|iHFID(AR(r(?0) 3 2#'~(p/Fʨ=}%ٺ+mex' 8OvՠK T%x 0x_;x$2D*ȫ*ed+8ꪶ$ڐ{9ۮT+r K+u+e M̀:Z P 8@,ͩëntJED]b'+xJ2+2LDMte](^k.rD]rIEw溭r]WΝ w@}._}|M}5H o_oQ;]=0\ڌj2jF/stt/j^ND06-0|?DQME PԵZexa+KbI %FP:꫊1*2B1ӱD u%07.^+3N12 X1Ecc/1(2cdf P>b!wPHR3zbX$&JSO#]XXJL{Fx64BPȽ04T<7THzFC9;佘e8,`MNeK4,ЁGx&C'o8bJm4660`eF80=I.3gyj`{$v7hQz7:>pgo 7)Ve[7g;u5?ۋ9{h\''`Ը5o]hpg}fik'x oV4s6&t^ GPXMDPW4IDu6hXx(O`֍ȮV땩jKK-OV Px&w3IلK#>ύ2p"~Ok+~xfl "ζ$p֢l -՜L.\mmmn"w}xvn ym E@4zƹ xHVB nY&4Rx}6 HPO KH FI7܁?g74pfO/^!w#%$?P#q%)*z+r!0 @|3o EB5g6s89 /Wl">O00,?t.|CEDWXtElt6tºH_t0L0M?u+׈"RrX5VXYZ[\]^_`a'b7cGdWegfwghijklmnopq'r7sGtWugvwwxyz{|}~'7GWgw'7GWgw'7GWgw'7GWgw'7GWgwLJȗɧʷ'7GWgwׇؗ٧ڷ'7GWgw'7GWgwڀ? += g „ 2la R8"ƌJG.,Yrɔ*\˘aƤ)" hJOś@'T(b\ҐDNXiFtd:txt"0$ڨoZסVJKߘ"IӅ jI^Nd`CO : j]n>k "r>:ׄ H:jaH- {j솈!ʖغeXuǓ挌q[0vڷUw*d1}IÝ(GU\`yhPE[tMfАtd3B A.Db8- ! `'.!`9op Q1!-\V(,2QfXqI\J.HetY!!!ZAm.61$8BVPIP;1xLabop_%4BgREX!_dA Tb5Gw"(XS2q;PRp`8Y/ȃ/u(X@Vc@8ūE"b  i<#X|˸F;D8`.p@]` r tNh\3t`+$J @&<"QSapș (̙*Mf2wHua` 8< Oj/|Cv"\CQA4$u-H GQj >+ťBkꚭZI! (ijVYzXN ˎHM ,{Vjxul؈slAmTY4nFC!T{ Gu*(FuU(Z1yUtͫuɨH K$5oSACCHBA{T OOz `'AWL L"ձ:bbC҉ɗX]@DNlFyX D`cF!v)NJ%qnx,"+4qHw8:+EȶƐ9!Hb@A$D`Z4Jd썲YRT-.%!ID15Ə1 $+8y΃2-kg7P- &3 "S tHjz&ZS@VTTAa PRvԁDPA?(Dm׭Z$s b( d^b0ө -E ([v 4] y)O^U\`y]@LzDk dmP0FKnʋ0&h *p(†aGF})e XWdıWLn<lzx_EUHB Jl@+Dim|~U ǎEH0MHC8AGUTEAlaK)-ɝD_AN$^\\H% &۽.D6U.,h|FMJlE0@4J\Tc2 ݬIB&,^IdB,".-քel6D\ԮD_U-E`@bvm^-Chp-؞m!,K!,K!,K!,K!,[_H*Ç#K(@ċ3jȱǏ .IɃ\y2C.cʜI&D,s$ ΟeRhѣEq]3%ӥ3a"JFOtuPD;k׳(}e`Ep4v-׺%u0ܿ%.zC#>lW-e 6&s!$K9LxGAnrv7JzXl,Mܦ=knd RDu 0m6e+?9x{|MRuϞg,p ԝw1%?*vD`+8CdJG 0E<6\Q}I^F1LֈXG"虈|FT GM6rm. ҋ?&PAbw[JVc[ ya[hLb@ Oh&F PCn~dy'Ti衈&?n裐zVN9Vji\\FnjEΝꪬ꫰*무jkQݪkckyĽF !( cPv+V,ZҐ !ۑѤ?@t~ 7Ў:, K"gLkLo#{,J+z,FP-0wó +λ&P@G \4C4/}# *\}2 k>>׺Pdi6 -AL߭ޑ=-bL8{x/pҋCmC&} < Doi 0`角 9!,K!,K!,K!,K!,K!,? (0*\8PC #2|PE^q#nj=)E ,pR; PJ|Xy( SX89'KSZ%DzqW ,S&o:äӐ ysՓ#y030"N3 #0e)Bт9 uҐ}kB#EFH3M@PO"M\mީ{PqcK\dc?ۨS&p4Do!16 3885>5߂́;*8 dҌ> ?cς=luҸ[s $5$ SBE"!VD 6pDz GH(L W0 gH8̡wÔ1D D_A*(h%Q Š`dftaLcQ& Y1 =,@h#FHt"iDB:2#<N DF򑄌&@Qh'G9P)ØV2L+KTΒA!oJ]U%(i#2A%1A\&3k)*#`@<K8~7 ;,Ï h FHO 89#P/Hat$ȁ/,D :t!&2\!@hH F7JC_聣j(HØ(MJWҖ0LgJӚ8ͩNwӞ@ PJԢHMRԦ:PTJժZXͪVծz` XJֲHZֶp\J׺xͫ^ `KغMbؼd'Rͬd-Ķ(ZM`+<X?ZZvH@j kV$-j[B<0/\ [*@ت%@0\ʞMp]Je,wp vnc![A?/?%Q hZHgtaDߺݷN'p.~;(ol11au{ 6}-j )`MY=Xom8]ނnCX81`+$CrN ?xmr*xĢ`??x&lD#;x ,in_"+:!ݴ`( `mG3uZ` 2t}i uG']g`bΰ]ۃVX5R/z,@xABT~{@s\ߡ\l%[>~_׭{cn v+.ǻM$[ص5@Qo4۴A\\pP:VP8ANp^ 6-[܃ 0^5Z[d^_AC&ow]v}C5{E61/<0zwlӟr 0O sن@ڰc `E2uxIwrfw}h~Q 8*{ 6c%  b@$K'?σ+$02;.=|}py;9S*x0@mvZ.7|W[7Dx]vzi%tE0e huUgh} Gۥ&xVo0Z[Sv8`mYrk^@bEpG]N&^n…~I(`.jy7$yG7x j]} 2p>p^JUX{$Fq _ Z ~p Xp*  X: 1FyF wiUgEЃEa p_l6 E%\Z8 lhvn qͦ&@ Vg~ ivxm *`reZ Wa('_ @a26Hii H_.@N`(aЃf`V6ME da ްi5)ZZb|pe舎3[E&}1\vZՎWǑ |=)|5^}BytKxVK)wՓO A}= `iLxJVC)nՓE^TFz>jI;QYWVIRuXf[  |I[KygɔrՓEZ whxuY hw\Z =(ynudIWiEV 𐛼ٗǩX1)`NH ϹPxeu`۝كsg5 牞 )@⹝ePeDiei`@`zj0 `׉ "0h (੢6ࠠ PP@p~+5z  5;Z0 PE4G!,K!,K!,K!,K!,N\SEH*\ȰÇ#JH3jȱG?II!O\ɲ%Ŕ.cʜ&͏ |\C!?n=f {j _ pU YrjX'6 t+B׶e9!IؿoF/տ\Ҟ`៳ |93sJedznxxMpBVΐdب䧴]ģ6zaױ)O>P0~NM]*WIeڷ)[Ƭ %ē4"3 F!M*X3ɀ&J?Q`2dQ+ LsSeE8 f" ݗ~[L~ghHa xGP F)b?0?)A*hW*h t 2P L1yPO ?y48VȰ-H3yV \((yХ],UB Vv6'2P)( VBf ppkF`@X(\@d_y4kɧ$]t~Xb`.>q(QCΛ\` T E*  B8G쎢/w h_*A>xH`|G0B5POCM >Br.`!kP:}BGUuUhMP5bG6Aty'p-t54,Abg}]א4F-^ZZSm:ٻP1Γ1[>P (<2Eqi>лZhyA΁k.*d{Ne`@Sr`),U1)t_M粋~9G=AWk2w`L,8 Pq!#p,! Fv kB$PV;aB?2// h8/"/3|!ed})cDz%<m! A8;eqX}p"NxF X:(#3@ p]z "B8Њs%J8p; 03H@0ina dR\?Q.$*x2,\;ļJT0 Q.6ԯ\'bsD<% "txYkr7 S$SI:?e댧<'s1'>ө}'@JPXMBІ:41yD'JъZhC/z H?(MF Җ/e)LgJӚbTp:A@=hAtrHi孤:.2ZQe&2e<"?z0f!>X P57!:l ,`H !9>(?˩ X0\`<`@h |p30V2&@iLqsIǢv@c` @-ЦG7*,_"Tw!@U6|P^$` ,XOUd,aw Ђmw0E\ꖗ>dl<[po =<4SWFv@+@#quA  Fc 8czn/ SĩAD\xn / gm[7X ~ xY}`s qX;Z@tcEt6`O ԯ~Z(a^RP $H 2?}v{wC3/|_cs* p})lsr(Ux{a^{%qE0sx 6$EOwc\~ݹ3g)đ-EqnHH?b` t !@{(?~3ЀP!^_щ4eP@2Ri@*?դh!,K!,K!,K!,K!,N.EH*\ȰÇ#Jh@3jȱcFCIdŋ&S\ɲ Ȗ0crfKOZ`ŨaӞ GDbFV*J#W_7"h_.iπD?[Kҵd9wVQ-P.2=V7<8 KV&8Yԕa5vdʖM=3aG:yxr0/J?iDp F Ġ$[G#4bqRgcQ #oiYD.TY[?DxɐaD!(0C/ Du!PzTw]v_几 b?PtqqM' Hny$_!\qLz8` 0B\0H5p3_BP5( 4+4\ 5ntybAKA' Al] 1d0UhA9 ߰f" \/0rgn3 ,E" 2 %EȎbB/ vYFp,:+,KQkF/zDʛp8B [$Pu1PN0x F6 w _e8L^\iqjqA.d1JE.pB7*А]]`TRKhv2~r?r1TaA ( 64C;ZY4@ UbWXVy@]Acwuh i0Y o$$u iG *P@dI0! !jC#&H m@'B"ȸ^q%Z$pO^B3'X9V arMA,aQ#GG UF=z| `kNӊGR &H 7d0(ʌ\Y8d+=ҟDi@X96QLI#3b3"<2IЌ4IjZ̦69mz 8Ir"L: `g:IzSg> ~b'8IP &}4,D ъZ(,:͉zt @1QBFP|t Қ NXiKa dh)47N6&S@눃N SvKѓ~gD0QHFR`X#I]W\!`(qJ逺¥ O} a.@U0E(raa{\ p ԇ4 @ xK2>h- XJV..H >Hi"n3X \!B.u}X?x0DfS"8@ չ N QbW @l!:i>Z;ݠ)5WaeX{[=ZjTiHуF b& H A!W*(,ZN XBKMU/c3<8.?̩L抧D0ŠGͫi5U0qo(F\G2P0@HM T !V4Canhgf`}γwa5yrer5h0Nԯ#`ZУ@2} T-gt%q$ pSba)h9A[ZZ^rΜf[ۓ1[\O%*|> Oy T ü\ "CFg.qC BV5aS8tGaT*UpmSv=hec\0уX`Azi? DL p;֠y9 A7K+#afJ)4~cAĸ (ڦ'U\ݫ4aò\EN eKZDd$"l[M^D,`ġ]X%ֱN]Bd7. Mz׾d4~ǟ7yZ)qnKڜ6f| %}$}N xY~EMM7 ~U7Men,U[ֶ' (xpU^jei `%8sm T48O.HN0xQ׃hF< bDN?AXQ M78X Ԅ \hMJ U`j `n(qlxx`؇|F!,K!,K!,K!,K!,K!, H🀂*4(‡ hxpphb hQ?}"I",IꔣmP [3As(UoB_= dv(B{}"p ɡ ЧWzmCa&wA}CJX1,D{[<w&MUi :T`B`=FB`4ďFVL4 N<ڶ Zɤk% h1t- 0pD G^=O$8/,@P@!,K!,K!,K!,K!,K!, H🀂*4(`0À31@ɏ $y0$f0? H`.x{  pҦ&03 Yyv* 0BIV x2,#4@P^!- Rৈ!Cqz\W#?%Jsi@n^]<0czaU HPŌH]L܈ ٻgZN}:@+h ?O~x׷H!,K!,K!,K!,K!,zDH*Tx!ċ~{  jȱǏ CIdA(S\ɲ˗0cʜI͛8sɳϟ(j04IRӧPJ*իXjʵׯRya˥4]˶۷ʝKݻxup L+^̸˽#!p˘3t̹ϠsB.eͨ 2xnTFr}w(5иsޝx 4!pÞW!q"+dA;GسkӷҐbhiц<-WOrCkο5YMiw*C.D-K TK0pE2D@,`J@AJz#@{5a#Jh"Н.r"D `J *?4mTVi%gex/$ԁs4 ?L҄+80lQ n)?5$B1VȰ-<D)@(TqLn@l>@Ym.P}QzP ,rwH)ǶJ*?>hAЪH)!1\ ^053 @GF r&>=) A/1NVG/3J* p[T JҲ!@'LՈC n8 ( >9 B5%_cC=B0cMO!F*- ݖ,SBz]zeG@/z d >!J|dtI?`pE,(F"3HĜY%Aw; 6-ћL~`"80#bqM`DCfn;;W,  F3Oj̅z_B"Ab)1plj)P؄H'L D{E2>,ț80:VDS a!0F#/,NxF vA @1`E1)N&saE"pĢF  D>F\,$G3%w#IMq-I ҼoxCwѪ 8{NLI/DMoq#̧>s͵ H&`=FP@sX@φ:+LztPi'Qat, HѱTҩR0MjbPlNӞ1a@  HNwT\P #. XͪVzHB@@h#ֶ{\Ji.cuͫ^2} `3M,]:d'KZͬf7z hGdMjWֺlgKͭnzeLE.=r0ЍtKZͮvz xKMz|Kͯ~LN;'L [ΰ7{ GL(NW0gL8αw@L"HN&;PL*[Xβ.{`L2hN6pL:xγ>πMBЈNF;ѐ'MJ[Ҙδ7N{ӠGMRԨNWVհgMZָεw^MbN}kbЎMj[ jm)v*rfv^BRs}5 }~M .q|%X JpmW.31 tÄP =^S$K6>q/SF/`sչ-k_%Jq9oW%@ {)ł\2p*:[pnlbu;֏;ۭw"wGc{5'+i\yo>7|*қ#ayUwO/Hd=az~%5(ԃ/|ۋ9K~p7cfw_P7[_}N( Kl6g-OϿ8Xx ؀8Xx؁ "8$X&x(*,؂.0284X6x8:<؃>@B8DXFxHJL؄NPR8TXVxXZ\؅^`b8dXfxhjl؆npr8tXvxxz|؇~8Xx؈8Xx؉8Xx؊8Xx؋8XxȘʸ،8Xxؘڸ؍8Xx蘎긎؎8Xx؏9Yy ِyb^yI%!/\cP)%+y1357i#9646-E=9218y,2A;)SٔqH9K)4!(AOygNYіPgnIjiX!2suRnx 6tIf^Gٔ\VsI]yRq my)61$u9%yLy9oJiPJ*8)98+ɠIc?rڥFP\OڣHԩ9hڤz- dʜf-| mXʡ,JpڞZUYuZ?jʦ9j*z`Z+ʤz3 Nɚ%꣪zQjH꬞aj:Jqz(ˉڬꪟ ʭƪYu5*GI ʧڮ;Z9_9躧.E@ڢ]#ɥSjPWY ʥ٪ :띡Z9벘*=i)/ʲK9&k@ʺYɱj٭. *k;F+e۬ySBJWih>3qZ;|Y|A64cy^ejቯ~Z:۰궀ٸQɺzt X^ Z[W ^Y!,K!,K!,K!,K!,NrI H*\ȰÇ#JH?3jȱǏ/IɓE\ɲˌ*_ʜIe̚ !VZ P(QH*'ЦE-OE:g~!WY(\ r-X01 pE2Bր7)??\d$ TVH 2x08?8(M^twbAWxf V09#BT :h)n)'v2*%  Y 4tC@ˤ"_ Y[B Bws;VYQШ)w^^ԥE.K@ طoxR#%t2" 7DpE(Y?( pd YPP`PO!XDN[P $?x@0#tDM%Fq6@I4 o2'B.K8DAPy PnFP$1HQHZaOf}Ȳ`ծ+bOb yG/2ģb3;h!h^! Y}X-,j;"d%miOZͭnwo @\ˏP60o:Ѝt8W0@,z `\\@v?q^q"ͯ~ے׺'.y`18[ex7f f lq@.zP\X 9QLGH\$0܀ # 6N{gCPF[%[G?bAHe*0P,Xx\,2η>X b-X01 pE2BXր7D\*IT"0NfLQ AɝӕQ2 Mij2d,4,G/ 1"NXIz$6kUe$.zO4iL>PgXG'P)ѐ f$HeD+~ 1ƬQ~᣶JQ 4%SL? 1P ():/:Pjg{(uHTծJ:*?>xhM* j\ VUjJ׾G-CK?j`Q6ljT 10f7+z+@F$a B P~+"0W؂ MhE,\zv b]%d46" :sZ#]Hz xKMz|Kͯ~LN;'L [ΰ7{ GL(NW0gL"ȱw@L"HN%;PLe"7Xβe$_`Ǭ/hNsͬ)s P'fE^Qmα7y#A8j(kEY Q @GnP cO5y|dzӝ+;1_ p D A(#>cbȵ=Ī-B|"BB,gK1 o 8E`3h?_r!ob8 7p|4HDMocg>3&c[Dw;9f}y 8z~.k||20}w}xcϡ<ƀ&|1@˖|:vȧ|Cp;xpqfW4k Zunc.8*6mӀF[@q q v}]|k7'`s_VXlXx;|c>cM|9c#P >%P38$@gOiuBFC~c `uvP4'kϡh-o5cwj.8S!1oph}]0m[8hp8@5ӈ"jx..3x|xl`LjHh]C؉~0 ~n f}) ]lyWhȘ0sm >rjȎIncccɶ 9w3H 8` :vϰuv0B+2n Fnِ=9r piה dW؂@M & z ; d`xC$p79 8|~Гw ipY3oa~0 Bn:6oq`N 1Qn@Ḭ }r;V0(nipFp>y80k"p~07 o9sy)tȐc:ƜQ3iDfFF p5s pؗv[}dvX CkYw<lO9ex~jd2)x:0ptd"*d :F*ڢ<&. e,4Z 6:e8.^7zc@B:Ac;ZdF*'e{dNfy@rVf^mC P?01aO@wd@9q|IZl]]pHq(]}lDuXOҨ!,K!,K!,K!,K!, H*\PÇ#JHŋ3jȑǏ CIɓ(S\ɲG0cʜIC8sɳϟ@GJыA*]ʴӧ/JJ&ԫXju`կ`:Jٳh?]KſMpꟷ< H˷߿L8a H( W0xW/˘3k9 3zIqcXΟCTR彛s}?p7_+g@/h˛{ ?2H (b :"`ֱk/;xu*NU6oE9WۃFP $Ȑ@ P"7cu`1 $`qb>X!ƒR |`"[D-H#>@I0.ROpeyPnC+ ږn):- g=ĥWga @@J/=@eOU  :PE2K,V-l?Rj)(6v3y7(tI&K#hwC='@HS@P̵"KQW}m|00$Rm-l(8Ƿ5\z,ELí!q lG,@&do (Dfwa[8X:d++S\nf 'uWEOw?['cr("8.~\ A"`Q3/|5\@9M()!H $u_1{yz5n|խoҽ^ط^k=?+ \d 0DY7Q>D <C;Ea.:T XB @ $IVZ9H$U3=Q/L4 G|G{bE-VCtH66"H:=Q? pmV#F0tZ_ZNzr%${4h4'WJ0,ʛr p?l[&w9't݋/xv'ؔUEp#g*;uT^,5'lֻ>S.D됎~I1G{vХepW|$u]&emg]8I|JC^ ňz?y^=KI^׶i% ؔ赔dTZ)bXyK]b]_JcyhY]eY|䵖n]o9^tyiAxe|[1]ǑYZhTH_Pq ]M T 2s<) oA x?s__c9=a@i@۶C0{yșʹٜ9Yyؙڹٝ9Yy虞깞ٞ9Yyٟ:Zz ڠ:Zzڡ ":$Z&z(*,ڢ.02:4Z6z8:<ڣ>@B:DZFzHJLڤNPR:TZVzXZ\ڥ^`b:dZfzhjlڦnpr:tZvzxz|ڧ~:Zzڨ:Zzک:Zzڪ:Zzګ:ZzȚʺڬ:Zzؚںڭ:Zz蚮꺮ڮ:Zzگ;[{ ۰;[{۱ ";$[&{(*,۲.02;4[6{8:<۳>@B;D[F{HJL۴NPR;T[V{XZ\۵^`b;d[f{hjl۶npr;twky !{}{[P0( c=LBEH]QpO=RrMv}؉-: Wͺ]ב4l-50[ Pt|W[˽{$0ה5p(ۻ<Gܮ=źknPի=k2o׿<2p+HpݽaMMx.V-r !M}-MM ~.)8"n4|q!S] -[H hlYzt0H\>z< ݹ4@g6ݹ%;8(0sל -eH֮†]ULܛn«]l,Ȣ8l7Oцr ܎ݳEЋ+) <5/AM2 o-8odUOG_=5EfNu}2M^ e\̃t0.~?ם{M-Tg%PsϿ魏›.}M>/;Nӫ;.}o oj}^}ݺO*ߗ/n.`L@Q  A߅+@TX𡌌"00FF(gR<F4` 7E@PqqcƇHn#ce- \'AA$ JIc [A 1gּECD%ODqaBt @DdtrøuM8eLvMc2PV`Պ]z*\VR a)GveFq"CHҍ5oSB]s7JAMW[zciNӦE&AS7 3(& (xAR hý"80Њ3Bb>[j& Za>x*”T"\ o-PRH" *qPh b6`참 #ڊ$JjZ`B@*iBJ\qϔ̈P)̑ςs-."6ɌѶ MS"t8܂N$=u(JC3nL SF-\w-*xMNB Wi3U h(e ŵZn3\r'݂.uq*6ˉ]WnZs]]XzfxPh8W}_edQ! g#bsNd_9fgƲ֚wg#g..h&:ifZЭi ٨ƚa{޺!,K!,K!,K!,K!,K!,K!,K!,z2 "\B#xa?/~x!"ÏC)$ɓDD aLDIs͚8 *`ɳϟ@ JѣH*]ʴӧPJIXj֮`vdKFgclXpJ7nݹvv%BmR4zNǐ#KL˘ yĊ=-l雨O))R>M{̸sͻ鍊 4ӕV_`ğ|Q ų[g}wߗ%ړ:BǧҼ~p(UBȅ)HpADTN9>P Ah jއo $V&Hʼnp8P bHIlEv+v*Hb].^9E\H&L2}EާG5DCOOd)`Z ~BKP]%(7PL *jyf%*䢌6(FySr, Om%'-j&]:Қ<0DʖB笧"$mJh&ꫪk:e"Td*?U $!7} m+u:& BH<>KWD$k.ꞄUlG缕0|,TP?tO0Ta-|N5{?DH2bUe\NV;euǐ5DLP+ɽGX\":rδlrW[N g&OJO0REԪ9u>4fmP4/)FDh l ւ7V%OlWTi6Zc ա2zGLOuUڰ݈QUrۜ'(`It=H ǒ P/t 0zQs=AA-A׫u3V_{wv<nZy~t/k?<~搏AH%K7 GOEջo%xx=G]Q=#'cwYqOzI`{Rϓ Їzp "Bz@=@wP%#|r{4L?K&C|W~p\ ; @` À0 h(I ^zp&0^4  R{ɀ}P8{JF7O 0 M PFP pOTX@ Qh @J u`A,Au q؆Bu(mXtJ8D ]$ p 3 ^8 h vR`؉ }pt~gOx Pȉu8W Є48WP 5` u ܀..H.P ]>p 5p莇G yU#P y$sH4u,qM@G50H9&y= IB"I$巐>yQE;(uHQ|H'Ơ(p* Rwu QDpP%Pw?ٗ~$O R8d9 u@Y`8Mp kF@C9r .(Fp:.`  LI H ްC0M SsTҷGSЁU`` `  bJ0^,16, 8؃UToXIyR& ٟITv@B:DZFzH>WK:H{gt'Iq^:za" 7Aa}ۧ|(~䗥hZ7~=xycKZs7E DAyW85X Ȁh@t&>:((, 1إACh@DZ VZȅ:y ~e87q8uxy}Ї(4?ѭ7ȓ+ja*nى8Hٚ=j:ȃ8yP˘gǗH8ϨGX jS 9tĸ iَWuw%ˍȇ'.a X@p{W5+}&!K#+u>:5Iv!PaSIuVu%y4Hhn\*j{AHwEnJ1bnQ۷Yl0`W uo Y0P{_dəlyIIuțId yI~Љ ٳx{& =eة ޹I^ ОI,Ai JZt7ظAwx:Rz:> Mwx;XN~ ݼPƍJ ȃLɃ ]u̶_7k{e~>,Tg`UyMZZ>{B^^|`ۥ髬ࢰǗ[Y:܂   `s ِP3И\ν0^뷎 @̮DypC=ۛ'~\yP `ȇ\ ? u᩼~QǽTWYa.ؼN 1R3 u .HiYà9; `S A!?5 pkK.^% PĈL. &B_H{{wЛuɧ w\tA30P ; P 0IY\/%!h|$^@?wOl^^vX0 t//` p,YKu*zx(<\l\`($p l?K" mV(}bOGl v`o[/hJLO@% PB F_DRaD9vRH%MDRJ-]$w5m w&=?n1sKBYŔKztiB^ŚUV].dŬw<}BLj8hz+i8sz5K0C*v0{u .*CqmO JMZիv:uj'vMW޽}\T]C\䂸=`/_"ɺ:X s͗c"b@H]rN5H:N#P6 D6MͶMnS B '*6C?1yF$D -Ü<"XC dt6a {=s~ -_Br{G׮ҩ"l򭄬4SL,tpTOATSR,U5VYgd< \@jt%ȁHrc^ҞzSMM+p zVue]DĝDh hQ򟻦Ġ=dQyEAI"ŷ i%rBQUqpXdA*SoQ6ydI^(]wgfz.:W 0갨!cda L#%H$Tj=i!"!H~YkMTRCm/e9nvkt>R3 m:W!HĶ`$o̠o\1\[vۥnRfu7Do~,"hC9޿:x?r75קzذiw{ZKX5?}ן.ᗿ~.byeN`FOD`@l `%8A`5ئ C`@78BЄ[@rwBЅ/\AІ7lpC- tC"ш@(@=,אVI271+fVxD2 8Ddjp@T 9bG<~:8Huq3b4dBFx Lȝ%191R Zp4.&?ъk,R!D*v iWg ıu%z>qgG25o׏wDB]qĸH0 ĴV (0<E-1@n=DY/RT $JHg7=x<^OArrP!F[F|!6"7_$4 abLȫ?Md$B \6+xSSG*!N^dKwo:퇁] #.ps#3&`>s@-WM "`H @%ȧ}'Ez Mr(H&0`T6S:h'0(R(*BJ;AR@ Ѐ2H(=/;J|,Lzʽ*-C# X 0.Ȫ/ K"1(2C;k5+` +j˺Ҭ67.$SB-t@-MX›0s/X{0`,0GnLtt\+jd{/mC5l񃘌&9`[12:3ۉ_1lF9L@:cdȞ4Ð G=3@4@b5H5 XGa! EԃRCɈ6#@SC +ScJUSVc?KɞD${J6g`f-܀7|^H58XJ cvD7+ecb4K7|C$zKL乞[Қ$^?,*? )Fa84 G@k—0*1\oD;ll<$銑 LLȽdL;,@QOB  C4EUePO](P Q}u % 0Q*=  0`Q !%"5҈P !]*+O$!%]R8m0,F4eSRR"m :ͼ (;Pe*}8Z6=A5PDEE%ԴyS8QQ"~$ ^ u"TOOR-SmT7}e TJ$~P&V?Y%ڿv`]dfSf:h%sr`݇wI]}bX0Ja[$ X`XxXZ{Fx64P^2`8T82TCG4IeXE-lYfYf{W@3T~Cf_- ox[c"bhQR.*]bӄNho6%c[[c\^'xط~v5S738k4pœ&bm#M6o{ia!N`7އ衖;xWL[|gS8wk|>' 50n0`yM0mАYgr뎌%j (lɘ^LQֱd@cj !=w>=TeP4#ϛ˔2H-Ơ~w0lNPĢ$lFXwj׾ ؖ ؂[*yfkOH^мQ>nB-Lxyhe޶6oon BE@4:F9( O'p*%W#ʀ[ pZ $Oq‡G]NTL qqyq둽qb;!#G$W%O#g'('!χ+-./01'273G4W5g6w789:;<=>?@A'B7CGDWEgFwGHIJKLMNOPQ'R7SGTWUgVwWXYZ[\]^_`a'b7cGdWegfwghijklmnopq'r7sGtWugvwwxyz{|}~'7GWgw'7GWgw'7GWgw'7GWgw'7GWgwLJȗɧʷ'7GWgwׇؗ؀?}Z-g8rG={o _ ZZH OsQ1:7@ 4A #0d 'Rh‡1r#ȋ t!'VDt!dņ0d`CT(H\#>uYǵ dLAdBJUZaf!1<.nS+G Q EJT:oWSZLBp KqڵJXȒ P#֪?\`RqrN'}plE%6l1@jTe=ĉt{.'Ӝ۱GDb7}EŸV*孃\tB-RB 'GARD$HT f$p A,5@*z02h"ȱʋY2Hˉ@0dc&R?Xu-:ԐL>|8c *50D2gE/zc Wڒb&p 2$}?t]0DAa@@aȰT !(4ADD M)cEgPa%?gWB}?{ 4*-Tu Z\v2|3,8TYdq\AEVe)B6hDsƺm:CsFQ)-C֙Qx9g ?) hEJgH0ĩ^UQ,Pa'=m4aќvډ|I ~ ze[AB+{Zz̳> t@;,'ݪR9@ ٭fȐBK-2K *XK -/QxR "d"Iڡ'A (G222rJ(D93u4q1 P!bða#]LsL6`PE^[P8 g!0oVDQya5FxFq ma9C3-o?F \㛏>g@TⰎIWc:}\FWN~;= -|c³M'2'%{YfQ- }j?7'T0`"(P} cYOTCyJa}AMw;:0WO;" e?P-l$[8"py#W!ٗ<; 2PK.;߽1~\! 8B!F 0t@"f%.\a^`E"" - ح"ZĆYB Tc El|3F8 .09gֹ\C(TGt@ xFOG08ƞ (Yp.gYWL2Ą)1Rc by~.QS(pk~K):GБsN;5P4rP(k^:ϡPXUr7ӇASX`M}K*hG}gj7S&uh&d&xuN_㈴K9ZЏ44XDVHThJHb)45}IgXI @&H' "f4,b-BfUm\2&P2

ڿerϬ M)!Fډvo_|GH3B,fbDi>F:Rl@AʚJ,nbEʾV!,K!,K!,K!,K!,K!,K!,r H ʓ$1"hÕ*bPD" CIɓ(S\ɲK Z$a 10ǃ*IfXˣH*]ʴR -!¿,h`%2`tJٳhdE%V2Qjt˷߿ 1$$^ ǐY>((U*(L~@43Ĝ'u۸s/e4*qͼ 830سkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*/`뭸뮼j+K+[l  F+- :,A 0nO:mnA~%īᄋc- b${> Gm*p30 )/$nɿfc@q f8$|1&DؖOH| d3RrAԫ |A`&@&L{Jr7t < ,l0? u8Sa#Tr3ъ3"74 LS8. `> ꪳ.0u*8j+h\$K)*pK"6 k"$0d$A0 "0mX#^ophƂxl )hA+'Dpr?@a+e^a1Ѿ`؀:P D@B AX(\Ɓ_%i:ᝂ,"xC`RQB2<:B5k 17p#d#q#"`,X`9kNL ` |b# sD"8e*O!rW#EgB>0yK.D+%a6Ȑ$5mumd+/(҆&pBVġDЄ30p=&@o2lLF [M&IBҘZbb$Aff+ Urf<lW'8밈`\A@m*)!2hCX0|UPM[q{TAQag?,I , chƳ>t5#VB/r 0be(weS k l0l#!c '@,vCz0k@eWw‰dHzU9ܰtN[qV pi dOF8d ǭ xH;gH`8:2.ph@ 1(: @L:\6:Pq{KT4tah턹JX0pW`4!15SW.À~Y0Waϥ z ֐68vN^r\IX,{TI^&/Ybfy j A,g0 aB\9*aZhVAt7uv ]Cù4LgEc:ΜtY*k*G9^4VcDjZ֕:+D!kU㳸F\:U/XJ`٧ S@.!@ۡj?z*TJլ.A3*XU#wEy{*k/F =*.U\Ճg9U?06G5lLܢJmL<:"@~p/T9ZnV981yJ-LśUx_*  H@ :"\Ȱ? r¡E\T2?Ox,7*(QWA*O\G6u6hF* PCh|DHWt|0Q@ R"S\(/C"2qGT (|pa9DYWC" GعLY  e+P1܁4' el-5=0B=" H2c I,V.'5J7AIp(+E4PA Mǜ-h= $B7@5AƵB!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,NEH*\ȰÇ#ŋ3j8qǏ C2(ɓI\ɲʖ072xorv` {jz -%G6 zrjՌ\a"`MAÿTrI{$Z2n޽ %) LjBy鹺aXl aĊ/5i\Blڵ ;0X0(V L"1(Y ~3wDZ*F&7 U b-X01 pE2B؉ր7Ye*`x&7+3,z)9 (PO8ØZژ d'!-jU  cp ¸֚U$DuJny02i.k 'Ex0@ncrP`6#3.K,D+YhZ&¥|NFrb4 dd-!-R|I&=dp`L56kA-'OBnr1yp]4] 2@'GxY̸\:< !@gS>#XP + f7أ "z`wx5P $@BbU =0LקylO\r&cirxQkP 9Չo(( Z&3Q/{M9P ^] 9(6n# lFB(QmPe8 7VC(&+?,J?}P^>l7`2 n}r8Mrr2(S5T!X`^R@Ó0/DTmj5 bC00eE HQ-'HɈ47 dr%+0ȧ1L*-ea^@Fa 2U Aܨ703O2Q@. H@F"(TmC(ZI>9hp\BQ!DA| * #z$^.OLJ3HR`A0UXѣLs:)LR$HCEOmq*R4T.:U]Qzքf1D!SXW"yIW h'DvrJJ ^WCYF*KGI&RleG1e%dbZ\Khc[f ťz7# P pˍpZ&UR oIK$׼D!,K!,K!,K!,K!,s  H🀂*(:tZ\87B$Њ_E*0,>~PNTYP~p`3k: I&dƩXBF!uij0jLnUH9z $<Rks J+C>`l8d}8` ^5 XSDx([/ @ ο xl>@rkq ~Vڹ4 4ܨQ!{ex} |1@@ `$4pFx@ @{^>HIVhT Ą!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,u 8p0@‡ jA OA" CdT$pK$@BB\rZ'G2D`".uӿT^ iЃ$l fz2aC7`G~舚PҔ /BxAƌo8Ql%󟴓LN2g1O' MN1ńÈCAZh'd".hp!*Ppu]?߾?|oT!,K!,K!,K!,K!,t 8p0@‡ jAӈ"H$A C9#&O*P@P<3?_ W(,/'FXѸUGx03#u mI`FT` `$r Aaec #(0rE#0pD b(ZsV޼L{jȉcg2 !,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,t 8P 0`‡a`!DeQ?}pI |J𓌉9 7pTz HB@<20+HJ2\?{bn^G` +qKOZ(E#)3!~zH@ZbdT`L[8 b۶\D .N\G!@΍+|dc!,K!,K!,K!,K!,zDH*Tx!ċ~{" jȱǏ CIA(S\ɲ˗0cʜI͛8sɳϟ(j04IG JJի!jʵׯ`ÊO(VtRٷpʝݻxWY YZ+^<ǐ#K/jW.SRˠCIӨS紼L}TFM.\ R?fLx, +ܰ +dɡzGسkΓ8bא`B GDbHkǏ;ա5rϿ?eRy(B4J HXD,1.  (\a< DXG ^O :8?5Np ?j8_`e喥HM,5QB(O8 C H74 "3 F@TCwO OH Dpd?,%wH4@ԙ?yd#\gO眮EP)ZYPTwB\+vy9?c $X2 0A' 3@0]\@` /yL:(X! 0GF|=pʵP垻o6kà1y$-梋Q}(rwH)֤BK-U":\p/{XO8CΊ]`8箂ƇRn՝A?UG\'3JZ'lxd\T L&4M!A#Tf %A⋓Ou#.` 6#?X~B Yo@C >A4Qz {BxrF7y'<{ǥ`,,D!L cGpa>1P #~2C(G{~)/3]|7%&BG ;хE_ b@1pMS񐷼?̓kQBP/R#0"ޭjN 4v"/@a98#yTfQ6 Pik<6Ix[8Gh󞎑[/'G8T% >бs5G-*(UюngIKL^Ѓh(=GWR4FaDzX$8hKwS- Z҃ 9MuzԦA l9XͪVmIH"[ XJVhMZֶp\Jו@xͫ^%wݫ`KMbHbzd'KZV@e7Y X!+ҚiWZ{£lgK"inw* pӷ'D:/ Kꂥ"u]4%"PxK@MzU2( |^Ȇu.r rAL=诃'Rΰ9 {LJGLxK=e0+IMTx@T-b `y~|&4fv;)[(ǕR~C%岘O[p6Y~Lfus>ϊM-͝ЈN[sFƷu%*`ҘK}N%"Q1N5WH`vaMZָεw^MbNf;ЎMj[ζhxMr["D`qk;nMop;.H*zANp%;%5@ or@Vpyg\Í 8UJHv_y0 [ )(ݛs;DgIP{ ;@CJ@n[U(q&!fN]}޻LI*@ |{? "_=%{{uw %#?LlsQRvɋ?wJ yқO!v%xKy[Lv?|F~7Tr '~q@-B­n?܇Yr 3}~]" 8[\&W}( H|&W%n1E0phdnhv{WrD|(8e&Pq)qi-(er{`4XMF<pA3SV :s0hgVLhe_KVwzTxd 0!zYhdy(!c8eNVwdžWVp8tVfuztz|da$2)ЃcL#Ft6c#P$8b (؉ tH*a^8bvHy7w+`øaǸ، Xgox ƀoHjh`X爎eQǎu5HuQGH^@_EuHzʈs`Hw(! ]ey,\^ؑ xH(*\~.[808ٓ>@B9DYFyHJLٔNPR9TYVyXZ\ٕ^`b9dYfyhjlٖnpr9tYvyxz|ٗ~9Yy٘9Yyٙ9Yyٚ9Yyٛ9Yyșʹٜ9Yyؙڹٝ9Yy虞깞ٞ9Yyٟ:Zz ڠ:Zzڡ ":$Z&z(*,ڢ.02:4Z6z8:<ڣ>@B:DZFzHJLڤNPfRAƏ`6<:!YzUj{Qneb^AcJ.A3as*[\qRujZA+WŦɧ/ZzᦏJxjjz~c*u0ѩZ*,J*tjJJ;aQzz4󧿊$Ԫݚꭵh:vӮz$DꚭʩӪJ*%ʏj' U:Lu, bK"! {,Sq^Z*j誱*K a%k8۲ +60ʱez4K?{,ۈEK&{J<ˮ\ Z;`{O[OYjK4ʶn[jgFJ =kS;?Fط.;dUۯ_۱묑+{*ծ9bn[X!v+˳/{k [{+Dѱ|p+W$;j(+k:h˼˷˻AKۯ{e˱k;yO{]$K뺼۸˾q{; \ھ;rK6{d+2kD cK`jk曺 G˯t; lz<0 k;A5:8Lz뵉Tͻܽ'[M,+|苸 ƪ cv[{,Hۻh r `[āAý*kŊ봐<ɸkJČP~lƘ˼ELY+ÐKḬL̲\ }zwZ*,͖Ê k!̗J- |O,\qJ̞:YΤ;_ZYN<!,K!,K!,K!,K!,hv& H*\ȰaCJHEBEȱǏ Ӹɓ( bʗ0;'&͛W@ ԹOHaOPQ.eZdԫ2W;Æ׳ W[jwP[qP`vBUo]#UoAv V,T3

hE5,$d$(0PȌScH{c=`|<"\r B#H8`5j]?i}/ _0"YӃ]%ć}UDÙ@mquAJ'10(P 72J !N@ |cM0 0#x[g/ˆC!bLnJ 䔓E)%MZy%i%ySdiylm&q9Yfw?G S@!,K!,K!,K!,K!,K!,On H*\ȰÇ#JHŋ3jܸ CIɓ(S4Jʗ0cʜI͆xϟ@ } 'O ]ʴӧ?*%ԫXjPT~q(Jٳ7~۷pZT;Ur+n2m LةߺV^̸S븲!ם 5O]ӘEK2װj^:}~5j6P; (W+qУm@Kq,IN|I_Ϟ˟Ͽ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihe"& & y' ɧz@:*h&F*,d馜v駠*ꨤjꩨ U*무j뭥 +찪'bJ6lډl#>kZȦ-O<CWH˷f 8$춂Z .> 8`èF CMPr`3f D="-p>9xS0@7EZrLM1S7\6D`IT*4rq1'd2>1~,njp&eF|;cy95K*NL1Yp3RA:LlR9JM d M2a ^8qS"h)^0#% %`΃ 9s},GApMMQԢ4#I^&{Q+8;G`긅Q~ȂE^n l0AabP p!qiBqLaT9A jmzj< ՁXT&Q^lA!Z &Q飊b%}14148^[$1Ba 8x!h0Kv* ákdN3%?ӭ2dc@0=>dJ'fJ0&/e@mT[;Y{hf#T`--0LـrVQ56 xA## !8a]  B87gH4)B a+hp+3FPe=F{A%vSnX2z8ט<ʘ,,Z%,+e,$U?b\*2 8πsMBG!,K!,K!,K!,K!,@ H*\ȰÇ#JHŋ3jȱG |Iɓ(S\ɲ˗0  ͛8sɳϟ %ѣH*]ʴiEB}2իXjʵ!T~`Jٳhv _UʝKݦl)z߿s V+^/e6Le [zϠSfkШS^ptaӬc˞5uiۮm{)Mq ?μ󟮃N ,νwP V/@AP`ͫO3qOϿs!߀:w~&\D F(!W :8VVv_V$b%V'0"1hcN3x<=)$G?8HJT$I6AK2MF)%Xi%Yv٣^bycf #jbnYr9v9"z!~*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/o觯/o HL:'H Z̠7z GH(L W0 gH8̡w@ H"HL&:PH*ZX̢.z` H2hL6pH:xL.=Zďf$GiBjĐ@A$`` <( #QPIŒ LZœE4ɏr+)1ЁH+_ˤ` [G I[" \3@') %L H2YfN)H61Lj"ĥ4Lv#, R^ d%R:c>R Y#Bc"D 0݀PCY4"CQz3 HD7QXG7P DMr]ʳ=hJ> UmpaVEI,[*ڽj(t}tiV -X[&5.-H~2ZRҸ4fjy2Uc8acppcK7!(-̔[" l4[Vc0S0F"hc-7 Ag+ b4@qTkʡ@5h&pΙTeZGYe?I,] p)yLQ(?]ixͩq\=@GAܽH<:':Eu~|0>Ukzx.Kcc+/3Ӕ[3ȎW:-041YL&Y7O2MA/N#?%7Ȍ|~o6~wKu%}wJwi  YwHGD|Qaa J7v8w8W /RQtVX5Rpwd~āIV͇wdiO@`WUT2K:x%a^priur0`}qk`ϤrRb8 T(ІqI#Y#r r4XpmH~qgtxsi78[vWw1uJ$JDOHI8'cpEp)N7R]uJU8A8g.E)UXXgGrxvȈȊ(yh*fwt2I qWlxwHI.gZthjPЈebnt{NkPrvJD#Pt2`7ȉqOYNnh~9*TME]T |8wo)Pw-.7O( U%)4O5vxMVf@,VN+Ipԓ44QLPWIXc!G9ǔ8v;)RB_?Bu䇊WIhh[D IPٔPGyMzShHzHHY8gi[vs)wAH7)Lo7Ws%`^0KxUFPxypf呌gd!LQHyyeÄJWfp($~aKNZYɞɚ uqℋ)E {şǩ jb4QLW/ZJZefA{C֚GWjJNIy2X5 ;[(QaYԴ~M%NT1Ht5(`J 0LueN@ZIxW XKHuiGL0SjZW$|Tp] P[~%gHLDKoJLJզ1}WG[bi[dafoHpSه]KIMSċU5ĴX֕qJg:T(V<&J՝aaD̚]̕T !ħuĩaʚyK6fqq`:zU-uq %:ZY!`}9rpmqf& (<{347[WaHGk@[ZQ vztϤI\ bX'ce 0h 2[SXbn'psZ=!,K!,K!,K!,K!,K!,K!,  Á2>XPqE~ 4|!¿ Y1a(SơeL濔)͠V6 4(H{8F2gԢ6 VMnTNP+اc=viV) u[򢁻 iT Ak,م]w\. 7˓.-dGž?]b@!,K!,K!,K!,K!,K!,K!,K!,K!,K!,L H*\ȰÇ#JHŋ#60gI p!hV*juI:fȔD'B$+C.X P VCW -ς:yiB`Y 6䟋pMBG`ѣ !⟃3kބ`_ZRk_ɓ8aڶgӾu U-[F3j̹ϠCMӨS^ͺװc˞Md,p0Nٜfړ Kҽ ^&Xu"^0 պ.,|eiԁ(%Ƃ;g? > <\ɕJ h0LIׁA-K u\bAЂFCPWOd@^w ee⽅m0(4h8<@$BqXQFvHFR"s $JVwJ4l4qJ0(<^b  ):uJ*84 ~<3s'bIA/3U-0(F0 G/y(A&H*xeMLIa PJ%]L@ҲJ%r$A\cf2h ri KAk&6F G2(HM?WY@@5 i ,iy 8֠aL{ l3 q ( 8Ƞr0K,|{ LuH15 1UTBJ-4;Md%Y G-[a5D& dB"%0K)TWmXg\w-} O2+<-6AԽ>6uf wBn7Bȡ! 710CSZ@^G.Wng9mܛuIm'XJ$ꬷ.ɚ9JiJ*(p o'7G/Wogw/o觯~AF/o32CX^roBc?,K:0y 2+! :4z G, oj*uBBLJlXH-ygAV т`! G8 ΍BG{b-H.z` 8\|@t @)h=D-BK +4R∡ ?C#!y0ґ&7Nz{dp.uqV\xA+p)v5`LU#jLBpg|w1JDK㘾4IjZkCX=wY)0)_\Rø>X0g@Hh[|<\5JЂ: vR:!4a ;b IRFHЖ0)if@ʅȅ.n9B(]H9(7tCF`AӖpD~i2zQVծn5_Cfd6 ELbe4KtPv3v= J|DU2ԠM"VP$8 q$MQH2"erf=b@0UI `63 \◿]=A[" *#No`tKj(9A5~V xg jxye mKͯ~qԾ NmoTg x[ n.Š98 (έ|ik-! e8 9 }x qE<" 81ih&;Ԍ DlANx9qwES$!SvH+/u1?PγHq%!JVZ%iRbL/LpRqYBPcӠu,7ja%7wq&9S u0&yg-(=)bK B%L Ġ5iS6L3$h^ ^,POX`]pp `Ēې pBdP$ETtepEYԇ8ڐ  e3p/b  _^HSLf p e p8:g@# g I]@I`IĈI qd ( ڀ ](!:[ i( 0 `%Hwх8WS`{a_ h@W ){IDdLH˔dgR p pdP) 6` zrE<~? aD( / 7`HTI'W l5]4lh `o@ PcY"%(z\ؓ~+fhL { H٘pD8 ,X 9n3gR(RJR10 @y/IdЎL| Hi~T G`(`<(" yiwȔTiHVTPREUW%~siFtexВđZ6 pٟ pp TIADpQrprrSXm2XC É@8 c(* 2Y| 9>zz?c aH@CJ AW[ZZI/.fB@`5# ; q9s|~7g#E\!7{#"U!``Wq\tW ٧0]]q;rQ |I$5 tcJ Z81`e1nzȊ=*(O[ :ZzؚZM G7v#" ڗa sj0HOzb y`Pw"B、a  `%i0H> # yCg2 "4Q/MhG?I KV0CZLLP$L2bAUr\ Qu(T'h9 hkaYAzi e?[zS=ÔJ GptGPpP2aT2|ESTEEE a舐{@؉(P^ %*uiJGJ\t .V *ŋ89@;0JHx|J LhȨX8Pט؍(x"pā+Hq{ӁYŻ `C2e7>kvkY Z y5c=&0%'(`8 T9sLCL7 ّ!9 P'ɒ. !s|67X\_ _@Snk \)gH MRYs(dGyp Q;3L,6 e+5fjɖqsYwۯH 济W Ţ_BA6JBH zhvP|Tr=ә$)9̮yȤ!NʣX?Bza\0/cmYיt\In0PA~USUUI G'i 2 ͬ"Iw爡|Z,sG <г$P;[|i3mACF&TG@ Dkr[QR@ AJX:Y#Zp)",J.1052$ t]"|^*= 琁p kӲ {N4W{Kp˽4 كKIw~[\\_J,ezilܘɸ`Tέ_ȕ\4#~Q8CWA uPvQ]:z :S'"m\p$`8x7в-!;0 HN@w$`eZqHpL V1.'ѬހjJ2<>@EsƁstQc R.VI"p}Y 0 :Ćt&p({sgïVӁH犅 .*ADH~劮I GK `C@!s yЀE]oSp?b Ae@z04*{ yQPnH`Tr<n%5`n+؜BppspKQ~(؈֔h:%08ġJgc@O*tQ #4$iBW, / `kh(t{P~ 8{@ lg1I hبH젿h)" 7H  60@E)pHRB` pZ?x) DJzTyp1t.o߹:%l69l;?B,$iВgNT I4OuZ>N>> 8M?S`wL lXIɔkXǰ ƹN qnJSiȇOFQ_gڰm rIvIWvqMOaß$3Q7+  aN6^yDxt ѝ 1 F+vLؠ `(:`OD4q> 4gH|y<|YfNp  V ٨_A2F ~OV0$VZmݾW\uśW^}X`… FXbƍ0&pjb.f:4tpP>4s!8b ƙ",=X9cȉ-n<8of]@п1wnD 9P ">Fv~#§.REQ:D+#?ϭ(70B 'B /0C 7C?/ #)@>,d<2cP 8ǐ)#n8 X  J) h/q# & # L&,L7ߤě Yf!cܳOvjXJۤꯂxOAO8Z<2/l 1H(UW_5VYgV[o5W]; P#!P9h40@g"m1 !a"b#ν+؀gFz^4b]iŷ^;|!J1X܄b@`Y>|A|FMJ-F)`:aW_9fgfo9sk% kSڇdP082.yl**!HZ` Ysfm߆;n离X!"+<2Y! 2&j `Y'BMn/yY t^kz>{{?|'|G?}g aw秿~? ?ЀD`@,`Dq2 `5Av{ADhL2AЅ/a oU-!5 @c2b8D"10s s6D1b8E*V1I$/`Pb8F21}X\b#xfc8G:z%C 4яd ;2 dV8HF6ґ$`8Ad&5INvғe(E9JRҔDe*UJVҕe,e9KZҖe.(=]җ#%L Kda$13`CZDY}1[yd.S.Ӭ59Nrr$<9ԑ`I JH @f#_00g2]l ` <1.4/g>9%` ,0(B˹Qҁ" Rr̐Osi4-`4>D,2ӚrD}Z,ӓT. piGT8PS bfX'G*`e*Edz 1a% P h-H!Dæ6PpU&i+&`B_%%,@׹V j j& s$"d;̧b"}+`!+nze r khACY(YřjE+o§A2{li'(Ё #1ejxE˭ 'J5w O,@ |k)W*l@ I[3|Z+rES=p^/@!`Id"bUxUO3#QW*еzx=HfQI$ @ԫ lw#T [a0B!+B)x( q88iG_; dcLƺsM<_0viHB&scD%Ha4]iET\\5V ? -̊`U3TDY`a</נ1HMy^x Fr3@X:eUVfuӒ jP {ÒM5UPlx0˩D4>m }j;:[8'y>kE{]tP8H77}Sv-CcdZݶh<5d Y'Bif5mܮ9R/xA~rM6](uTˇi9i\@0:uG{8:!2nۣ")aT D f#@GtTuQwOK34PD'z^>-UzkwO_6x/9wzZ`^mju-/'l̮|)bO'v`}lf`C#!~ 5[mR&$XT_Tg*]W??;`a陋yJF:u3? 8!êh" :k @ا%?.;:4tb@d s3;&R@ü#[k \3*8t7;*<R)Z+Z(+"$)B2, &Ё 2$ SSC/,{\${J4"iZÒ$"20sӂ/:B\E깾 !4H"b" jcK:"3F81Epؿ? ZsL\ J&8Yܷ)۰]Tɕ4IIvbu yh{t* IʡğV,%$ʤTMSjʥʨʩʪʫʬK\ʯ#&n6&'8 A&R${8˳AԊl܋l 3832Cl0L7;(3Ie1ӈ%Oj5g>8%2^]o3!'sS2WU200W4{jM75K${W'Wwu1*s1iEDW2du5{V%m/r LU( V^!Ea"[d'7"3:~u1;XEl0p2;C՞E?+l ! A" ۣ*hF#"!.FIkEu˶kSG"),iQPXt&}k$ZZzY[G6-A;M[\Ot X#@U19A%.5=eCۨժ5ۉ"YJg~RZkZp66! 6.l6o ᵟ+<8݈@n+щc'8|:[kϹ[sDg۱u 쀛幪U& 4_Z8˺έ?Ղ ~S~5=˵ QKV<1ʹ{^,ɺ3O: %`O# :{1{6.$ 3; C(*CA#6e #[Zcs=@<_q=I!&Eb.A;bCsb]ޭ˻6ۣ9bPr;4\?b# 41䍓EʳI[VԹV˥8G.:sCc2[Q;(!틁eA]m d\r]_⮋ Tݖ=u/bCA6Ҡe<_:ӵ=`GSW>Nf(F?@bG^ZҘ,trW[Cltnԍ@B}_h ,&`~FbAAm&^;z ;+[ dR+0UQ{Bl2&D]s8l1Q+ظi,Ե+\Ep$3-xa+BIl=*HfE)+*HT邢?fŘVg eT\E*.!HLCC<:?|])$j25r>0jxjY8`ڼGC30ұ黾j>CD'4lgC1\FVbm3l0Dj]kVK,GLvE`f (Q`Ku" 7t- e$~bw$w\+YHl4m# GH H3ȷF B5=HF 2-掦Y-ts'JsF!CT*Oͳib G,yGdnC5fVnxd5om @vaH̲||mH _{\bl _ IKXlƸɣa$w Q#".0WJ>τE:5gs m:;<=>a t(8?WK Ѹ@LxtH˵,J̫>L OM7Vu`Xu-uN H I_\!,n_+3wN,gη(v^"MxєM(,Uґvv`)kPٍ30\kqtv a ,xxvwuvodSoE:2VAዜU`XPbM[X6ztO%12GkA"L +L :\ r8L6(:JB vFF  $h!Ǚ#N(@,9H()Dm`N Z,Pt8paU3Xj굆)lEcpd1,hc^r:e,I_N]@p#XRl2̚7s3ТG.m4ԪWn5زg" -ĉFL̀:-K*2熕rԠJcdN^ ;)SW=p^`fž X\\PR d!fO> f <8TrC4pBB^omO-[z \?FE],UСoC(DTy i! ޑ;$'P٭P{=KmWey&i&m&q9?i3!]fAWg|iUtSIPX$y|>(DѸǂaNy ]bdG蠜-q*znӭ?1Q^bXh!JZ4 ,Ki>j"xZi ITezCz!a nIt/ <0|0 +d{8*R3A eC5,`_u>)Sau?!92I [Qs"E ւ.W۔ZQ:g.c]L1њmWffeH+tL5xwFPBCC+w[;յ[a#,%|w@M%0+8;83d`u'1Q f8J5`y$(KibT@\5PY$ rϩ*ɼȽs? @DMX 8vnⲘiT1ȀrlTc Ux:Y3X ` 71qGJWQ!LrEOӸFbuDFBCyd#F8 .Fl@F "x1Ii ض6v\h!B' DA/ؑv%@K(a<&2I89|`qB&IĐRSX+Q: 0INLP)B'iNC"BNs:3Ϫf2'.A-)$:!ЁFכ=Xa 7ɄaF(!_HvBhHVpKǑBj2aTC xʓ;9KSZu;䳜:g?u!tQZJ|+\*׹ҵa.ec9i&G6B`E c10) (HV1[aAڵ=-jSZp_**.@. { /K0򶷾-p !.Oʆ,+Rֽ.v]8v.x+񒷼=/zӫwM{1El{]aY,aL*`,:J!/3 sjP94dBWVw)Ĺ藪[3Jn{V7-kN8)11b3N~2\bO dy2Z,w) -0&։C%<30SHGe!~oP*v4ns$:OQA^2E3jLu!,k2䴪!:j"y#3a)Et?C-Qw uÖVӚ45}F>6iN~:IqrQ';69{ !ؑm?f]Oޭ:auɾ7}6KIg8űKePaB/n!hGQ,dEK|w&?i&7p8dAviK (8Y AūjZZjյhn/ e@"cC>Y(:ԣ.g4Mk:jof!@5imZGэs7^8{v;M@'w,(᧽̯yCg [hݝ# TZTҎ8Ԥ~ɩötcԧ M/8+/m_jL5V@nY> FN V^ fn v~  | U4\ؠy ^G*͆MELFP6!>!j!naln8HGe`f l,afؒfqEbԡh|̄ "Yhܡe!r("H"$n!!&"r!(PM"QA:ځ)Vb)*[hQetڥlPbg]‰TVm8]F32F)B)h"7vfXuUpd$CrODJ6:ud(eVG=%%UCj-Ŵb#$x$TCXQz_r@P+$Rb\,`xW-TˌlEWY0S@EePʀGE/ lʰhdbQc¡JYr(&-g0DZ` c1pfn:ffc@8xS0UL'TWp[P]'^mNo'z Gr&','g.jRY'qg$lFm^$Ēe6FyJThm}g_(b\fŁ.%ePC…QM4V@Q8sMxfTIz< (H|\ _ ~\ehKE_51@`R()DĝˈR,Ib4]n|J$%im) 2"2ҩ:v˄KE|2ƙAc$ɓ,~H ä@Ji >^'z,huKl&*Ľdbb$P D HXЧ`҈滌VЪ\lƕVki[m_e+P [l|KwMH[k+P$ʸOp + Tƭ0]lkwƂ 9K4 j6 hQ5Nw DjsPXD .,(gjlxB+UZd6BG"bڬӢ@ ~ݍwH ]%Dɦqԩ.l׺]vnS|KS@ĊVB+.. m$u焎.HH - 2V 85cГLφeɌi.gdvZyؙő+rP퐮2(/N,4$Qn͵6&nҎڎUl2!m䫸+5mHk o㢨VX:MصWZ* A,W~f 'RSf XNwfQ(m #Bׯy\R\^e?+@ʨ̜ mqSVQIFsb5 1) +qR0Ӓ-ro $-p-Ȱ Ԅ;Q'ǰL,9pQǀWW1q/"g`  SIV,dYhSZӅ$-(|D<=a?nrA7+*SA[TmJd9 Q&W#u- 1ITG=&/߅\"AhP@SqU1WrWd>$$S8Gp+<{RI73V-K!ZuSW`#7Ht0y3U?o"G4pE 42Hh9Pcg\4l,͌( u呆H[FXJ Jo^fOFILDNFlj4VPSR=_ N?5T#(s WXI4m`5tilputEXMWG5Z7u5Z5]׵]5^^5_` I^߅/#&T.a vbdO6yaL4C6 j`QEhc{F"H"g8EPhl6e6n׈FE%uhVv9i8k:qO iL#u6vg])M+WE.5@ؑ\y/XQ^d\sb {I.yk%R%NbFVNOW"ր7SZ2ewyX53:K~9@~\}MWW66t><[!>\^)?t L_Ww_o!???,6`D7׿eŝ@`A&D,tC  1fԸcGA9dI'QTeK/aƔ9fM7qԹgO?B8j,MF^L@ St%P_;lYgѦUm[oEA8pj["#pd`d+@C ~rq\P2R53uမ,vm۷qֽwo߿[N -x|A:&(ک DR")w'uק f\SSgaĵp P ,Lp&dcO =@B ! ,>;` ;Ly R!AL€ؠ? /4@B1NR/ \@3>+g+=,7S9NR ;h3 QD*x!-M) MHOA UQI-V .$H6B6˜ @W]_ϲ22(fpl_22YiZ;5Ok(Z/Y饙n駡0!b(6Uꫣ[l`(fl@{[N0m[ PpO\o\ "o o9A'hY92@ZX$u.H`x<Ī`02#1""x`wCovL*0`NhXEe5XDPX .0(}z XR`p| tx RЁa A NA"QBHe*WA \{dJ# Y !dp7%qNpC 2DE ) HC <ڴl^y u (TG ZԢ_B6gXcq3Ab 0'G%bXE>A(|;l` 'eAO6pGX@*J`c6n_4" RD E@Pb"C R%) 7{B '5׃D81}X?ᎃC2`BLs`F.W>mڠF*M Cv @4`$W\! * l%>Ў4 $ 0VLA>07 o:RFWO I]WK T@\HL vg|Is Dc]4! QW uZ;pX50 E[! R̾ l0vH@GvA 0CEZQ.4պHNյ.S8|z^;j4 q]A2.|i@%fwq- WC*D]/hc!Xe=m dkk`v,MANL o mHp+^>qiqüˊn lAFJ`Hxbѩ$/Y!A^!݋ˮ i!1 x6A4\&lWƈw"3=ax{8WGRT,:v!M<)J@ZQL t >A/Z^Y04$k0B$K5P1v sTʂ %)PkJ %Ff!! 9o@ "\C/{uo}-O]F\d| غiW 1m#@^qg(e3u$ av ć,Q+Ջ rzx]f*рl!3XӖ(GxJIqp<$$IARÐ+O)0{ Lmw{#zًXD@ Gz!aagjf@LңH,4Y?@.QGN)` \60 ޞ,ؐ08O DH <">guoߵ ?ދ[t鬮  ضF%?H" 2B*I Բ/p @"I{ D!0=#HAl#XiApA]'1 @ gX}0mr{Pp 7p2plp 0.F, jBuXuZ ! Cb\@ g ۰$ hqG {i#R aBa !Q%* A;ݐ#@VP0UQlB# &.qPg|gDQ#0 .b$ Va!tt 'Y0"a"@l}@4 0Q%J a2b>rZ,$ 2!q!o悎")*.*$'jQAHHh!Cbg@% p Ba2Q@% 6A MaK2q7>`@Ҏ G*.r+rf{L""pB WLn"Ύ@ d @.`(@ @.* F0 4t " @+ R axAPA+&73Cs4Q#56[RK0'l\sLl7CsСaL&`2 C;@ LF#/ k"|*Ajpji 4n.`L `=0  t`\ H` ,@(CMC EEyZ DS0 `HS:!"A' 5# HHIx@?VRx x; (L3"H"A3 PA. A2 4<:)C*E ht @QQgVaS=Tj ȩ..ahj4&<a6b{ 020`Q/&CrU/( 8+!(@ ~uӄUtF Fc9H$LКBPafI?[k  h1 N l  @dg$?e]NPBp&(`An|vH j`>thyuW` DY]eK,6B3'J m\bYKo{A l^) /9N9!&`NQ7; xaa `IS M7@d()7`Rq*)A``Ru@1 A`=0>iyY?Pl$9^QbA ha9X.@X – Z kS1IF @0 3E{ RRFmǺrpp 6%cǡG,HB6_heEgtAD9>1t7<8>Z`v2!S[:u7mGZD0@o3Yʄ9[!/~!'ϺVPհO!X6KEn !ez{fRT\@ đ[ #C 0# spcpm性;5|Õ2u$QD|K&. @HaHrT&H d_},%֛yǧ55$7H #|K"15/$(2Ӽ =T$d>چ3Р6{$%Rv%)R*3CA=ԉd"]Dd"=- APaK;4j "]ap+s}NA-1 }SMB; <œ3>֓PV܃4xDHb|-":!_ 4` T~൭ЀL߿JorJ~^ D 4N5^O$0 PU(Q#+"q>;=9E. ̀.ལ &y^/Fo7+7m6/H^` %c̿c VjB;+b3vc;LdMVzSie>K⊡@X1w6O0`+?`0 ݸq@A5K \0O~ǺpR:X!&pi|9 <t@tI?ǂP#>*NjZ@:@H'cKMSMo(o,~3 o}7S 8)"+Z1ƍ;z2ȑ$K<2ʕ,[| 3̙4kڼ3Ν<{ eRNIem\q,qAvInםxVlN3PB$_ 'zhXn0D  c,ȢExY'8n`1z!qBg|Y@UFdFA dpPE Z5pBPR:Z-.l> mNKn HJ%5QZ-p`CUy-QĭIToo pL0o"Bر&f 1:Yp_qoq LV$0(/. s2Ls6s|Es> tBMtFtJ/tN;yAOOMuV_uL &AY -TBN pMJFF5p"H@D}?ȱJ(ȝuONy W ` CˁR$k2 $Y ]N8 IH>@&xE $Lw |ADcHOj"4I*n[N~柏L1PM}\deOPW"Ztbgq3Ā D䁜S )b\YdtzWQo1"(€ }4 oCT l@A `@:ʁ3EpDD"X 2:4U@`AG, 8 d5pS4P#ªJcZa5#ԑ x5Z!-0Ҏ{J-N_A@ o%-oˋT D@=CA$0 ` % l) &"Hn `Zt S5)`R`:'% &;" DPQcA{QJP+6Y[8KTK@}| `oh( 0_P ohNQ_`pP'BCy0qvbu}Q ?E% #8P\(H#SS-V 5W)[10Ku()|rqcҘ*?ȆNqhvTؘ3wAu0T$2".^EccP%-RHE%/dR[[A! C?@?[q vB(qA (18@@E8.70yxU7(vFXQvILF>MI0VŘw ҥNqGu c_.]9۸g@ !" Е!2^G@P &1 ?!G7d?cSQW[kg4Ywb|1ёaюlŗFp?(^;ljjaB&B 0u B ݙ! "!b!Ra9*"cT &B@!p667I<0tE2-ɩ *{%KYb3f21i&m&'w'H''b(('A)&)¡".*+*ї4++3g,X Kz[G/-p.ST:S..-Vjv /0vOע^ @2‹Lo r0 0 0#1{ʧ}>"C2&2),㧇>N:.ꨏ *Jgm 8S9V~-Uʪu}Pqz/:p&3=أ=)!a;cw"Y>h#ë(qB)T$dB $B,a@@ Ĭ骮C8 2ɁG-* 01 0Ѐ *$Jt`4&gFkFoGek8chDZq}*- X۰ !*QR-R۳R&R8 NTNv=4t=46Y-/ 0 eꘟ.U^%abEV? ak9)Z9#0*6 7#aX4 [\clb+K5LoA 0aK{7jx)%FP$E`\ų k4i:@XR@Db`31i[yu]eaF;dk39jVPh0 Y ۴OYfUk6lbN髾0ʁ:Y`ղ Z;*t P%Veئqqv 1N*/è6xGc !,#L%l')+-/ ô(Z0VP{`:8]h9B\,Oɢ5=qxwS22Gl,&LRRˑlhhpXYrŻD1Ӭ8ZƞL:"9aR#KAfX֗9՗PqY e0\fy|7^|7:l}H,`e,)llL`%TLwJF`hfCafy}dA0-(B[e 5 B`ѨCZDv<nj`p W$%j< M1A^@,`=t_Z 0dc#j<ilwM;t1v@?l{&KQvs,ڬ^rr}yALM!ڀMC!-;|r:0sчM_ڤMS0ڑC=Í ۲FS 3`|f`.-GƍÞFpSێۑ]-h)@a؈YPlXMj,3Ɋ+km̱͟?1(|X nʦhvu|GlLi"ڜS_C]Jhrj|LJ,=dl5&8.L%~~B~GCNNP#nFnRdm"a⫁2M[\6NZLKR{n1d,Cv$ȕ53u|-9 e>I壬e`K͌]ϧLj?Yfe2(`wpĘMݵ֮>ԱnVZa9njM갎_әCcG|]t@:^͞@ ʊ/KfaYBf&LFAʞ,K];ҋ^Z"0u_^F"B_@csK"$@5з.>"L*(0Y/2@Eo1hm? ۵cLE3on(/+uxNBrWLbduPz=fEʦM68M/0?,.)Qv!A3֙5<&EO?\G_!'Oi~?;^FdXO0?ĩ7_,%XJ$oZ혞8 A%r80|9r-ߎ %pi`L FaCS35V0bEBVвɆ<`ҡ3@7k,@`2e?5.̹㐍{FR"!Q2e'Jl*DagW;5 KD\0HD.1Dq:ؒC S,3tO|l*R^ qJՁ&[kرeϦ]mܹuo'^qɕ/gޜ,pF4_&Ĕ#.yb34d 3Nڛye2/`p>Ak10P'#›=-ˈؐA; l!>1܃0h¾Tb5ЋACM#WE6xX#RҁÞMq1K&|1p0!0C tZ?3!(A/./=.f@`! .2 Q0]c'#p;FuQH#tRJ+RL3(N 6Tgzh6D HlvZ.0H8|6 z;.3:lV{mM,2 S,Z:"]قY*Nwq#\ ^,k 8҂_UiDC3 TCX 22賃% eh/>ȏ Q}6 *U%-| j/t*~_~^"v|Wႈ|ۡN:¦9+0 hd& d, Xx7[3a.tH|yfQ{@tǁ{Hx4 Ir1O;a}0+X BNNQG)CqLKW\@JP'$ "GdP)r0hBFl[5Fa:Ii@ @-Ba#HHFX0 @fYcQ6;x NV>Fh̄ʎxtְִR: d&(KJd3LhF6Ҁ&YNz,,(K)^0)" H-2)0` Agi_lHKbNgU҂ 3O선~4-zQfTLCXƈlY8@4\7A~Tb Kt!A1`ef8B'/!5nMy\LiIBfU[ڄiX#"@t $kȥ4wB\$@IYYt4Y 45(D*<2UIGEc)p.ୄ+fNvUemkQQGB`՝ %YL2$$4 et칟45)5)E"S`2vWIkR҈!|M+ZϠ tZ$Y@$4k^WbkŐ*J8U_X&pSP'X fp#9Xp-|a gXp=aX#&qM|b? Mq]Gf C, Zyrk  O7qǁ/p_\öȂ  zHnOt@>B, "V݁54 /_39 _>3@I:hNhbxPh8:C( `A쉣ܻJtZ0Ȅl9`8s[HPae&) ,#B/mܲ:Pq 8/DH8G. GP x878 4Dl֢-9O K7hj_:y+z{ D7k\!XٷNE[HHD``4PF8Wl@PkX 8(@@;** ȮʬR8 Bl-P sDبC$tH ֢&i&itIxS(PsCh ,t9Z\Xŷs2ĺ 8:FlkNݤjht@Ni1Ȁ(5<J(=rNG/,1(D`{\ڳD9P3d9LO(aÜddP8ȏlCLID欆.8Ӽp X1 ɩ0:8: 4Z:CÅ<`Kyɞ Tk`5Y<) ߋ!]=1$=+]3 <F8O%҆82R3p]0 O7}F++0+ܔa\4E`UPM TGx<ũRY, K8Y1c[JTCA;`8 $\Bud$&</GkV&ˮB(hu,;-5p6oxM{ ez%PgO8Wؒꐚ#1?eqEcOHHA(Vp@;xWPCT`u ٞ8#b:QH,k!`U`XZaUö˱I8$kWs<( 6 s ZZ+) ](>Z$Ca9D@x̄Z>gɀ]\eK\YZHLWx_\2 ݓ(DXENꈕ >]ดV(=`N`^`N_+@Mȍ`cs`ڨc0m`K .!&@XPa !(c`E<a~/o ,<Ս  `+`a.G! @#|m0hq@T0 (TtxHqh<c:hX@q0c=Fj2F)nF,`x:ޘǯ) 1VR*Ѹ %Z/eYmy`XsT0Ih/YMdVfff@b6è`/s @=7Oxenfp8X/pdA1h`s&sx,N 67䁸7*nY^h^D^*$+0Gffh'sQhvf h @:{JPbn.`Z 4ƆþpuN]q m qToF6]ↈ` /AX>ig(蝩8H(bמo< G. M XP6pۡ/΃9pfqǖpp؀~>jtL0=`3 jq9+*Th/Hd|X%D(q)fqr +r8%w.oNm8=)Gn 8+j18<~"-(偽hqG蠎iqkh30#+cCH u6s0ah(NX&`@HSc>n0؆qu+=u^-HH<-Qv&8e("mHwrMSۭ pefuJ u-.NQi?%vTi.wOx`XX!6xtgx``fp&y~xODqWyyyyxy̗>h2;3p7 gOz^+ǀHv dS6rCghzUkWk?{ 2pgh=xgߍ:,#;99(Kk?|'0ƹ́ ˆ}V?^@Y([#f^Q~s<ȓ<ʳ<}ZAfh6˷8PC+>, \(@AA~g`2wB?:xmf>:,g| 'A߄ђw♧{٧*C@ELuvRZbrکZڪZ⚫ګ["2lDV U=*-hE p[SF ܠ'] 5J.8 *u0i⛯W@Hf1`z$0C ` OB BT C@L„Dy3L8cM02,Md \7<A(q13PlH b^e+7$KŠ A ewMg9k}E70@sW/۠cC%D28T*ۜC4 *P)26WG΃CH:mP;DI@qHP@i'mROH)X7;E=@([^9!sS_V`%WK_cHˑ@SPQsN'_{ B9P` h` \*N8 fЁ#^0 #Jb40DH'yTT`bBPmuA`ih#( 8E=8F8Q9ȃEPQ^#8B.T a.?.0( `XC:!x@& 0]2JP#$ȼ^!8WҐhS2€@BMF8Dy8 na,`.?pc $C8&0G(#(@HQyT#(Fq !TRr2'?q$>Dd7[0Q0)rGq@08Es0b ,/GyFJAt !jV(G0 ̡ f4)4u8㙉͜*QjȚ6^48IF0 %#V0 ǍQNKsj |8H%~C%O(|'<_a @`  xCKZG],cد?}m=_D`0 @,Dv Z( x 6M\CQN"9d| HE.lQ0^$KQz/ykޘz&Ü`1 q1b hrJ(I"[b@FKbAV&C("ҦCP<"9|0>^ L@Nf" h SpƳo  (ѭ ~##$Dt61J5 I؝tB0vǍ9}OX ^l"(a٬) `M4A$#0 B6(BA "BL%̉-D<%F NAFBՁ́3dC=B]dF:]:dNGx+Az8' #Dc/PMR2rӡlUݗH%8PE0JLDWFR(T4 CH(4V"]Vb0U@N-%x'daٌ(VԡZclcqI AJhfib ( ́g\ɉMlfmJ@e"xw m pgf!gr2gs:sBgtJtRguJ,#D{CTwWHلwRvREy[zN|ZzWuQdtۡ[~@A-ńȘ`@ INxvmdE0hvBER}6 wqۜ@r2ss :3V62 /@q(?,A tD'F{LJ14,LK=wP/:,@ L-A kNUrupWؚuzN ^uV-{CǪZ5V'h^ʺRRuV5 -cFsAEòWp(b5\5\/\,LAV'ǶR\'('dA1`@Wj5LuX`mT 1n'f3Q+wOʄRIȆ@TMt_JѶWwxWG)]*xavwj szw_w5~,0 *Gc+zwwsz#Ł|}s[x}h7? xCpwył~/8(L?,r;9$fqZdcnZdck#y[ҖE?pvZsy[Zyz z˙z+zVgϳF'] W4w:S}6E?:2SDzUpEzLxz:g6(CX(FnzE:H6pS0ƌێV?ŞO3[HVzKL<̗҇:{ESP3D tSqSě{EY霟 BAJnٞ޿ -ϒ~RKv@Tl~Ҷs.軫JY'|oz-,r4t7l?J;.O(owSմAą6A4 *1b hDT!A D`ʗ +yxA pBH,A=t8pEqjbFuh1Ո lXcɖ5{mZkٶun\sֵ{o^{@ 3dAG8X7>6jh!N{aDq6y326r_(RƞA Y_Ft?՘;*α|% - 5Я%Ŋ0xH #F3L2ƃ 3.DʂFk`` ,R"I8dx*馐o1I =BTܭJ#mt&, n3Eth ̀4)#$k/AJ93M5ݔN=PETO? PZCv+u:HPncp"')WLm5|1, 03Yh d& X6RcѰmse*˚ ʗO] &{RIߪE-K Hd@} xaEM>d2‚+pe PS/JAQH"h2>p٪~B5p\׈Ё2hXP:*V4'y|@702ʠUV,l!MEBc/K6><)$2M3ZG֩( G;s#-T?C>h9,X8F+CY,L ֔lFu=+)^ Rh. z _R3hٌt)mk`hu`@̄+<-{b$x䀰[Iovٰ3Q x0!)F}!eu/&PXk\ â IhB}aXƑ1IY@5k#]5qa,sT#X7ѥi1 i+[Z$uG$bY 6^&9IOLp%՘uB{>i~Q%J[.yI1{ }0/3%R4YMk^f6Mn~8YNsT:NwQ2\b,+Zu@ VZu EY^ lV8,Em92\aY1@at$1fy,KƼf":eSթ`&MEDZ@ 5刨+{Yq,а L:"fJ7?O k U8YNQm4vD\ge ' M!?I3ۆHT8P(hj)^41xTjc`H0KXSXQCK xcC>v8 x] <%A50jD>x=vcLtt K_PddCyE8e/"*.`˓Hl*n't gxqY 3q>̋4NA"aS %<x#Q' J
>"3Td.т(QG cP04ı K#/&"k?J˽R$~'SKqZk h !*A,$&0Q5 ?FeRQ=20bpezX-]# @x/d +YZ"l Q"'"ޜ981T 2"D౦*%SR%[Tv0QTpnָ B `BapBq%)Rc *Tfa 6/^ ta*+xQ)-dnbr 1*e¯4oRՒ0 0;%Q*∍p F01S2'2+2/33S373;3?4CS4G4K4O5SS5Qɟ-ip5k6) /44m)Fj/J WBn9,B$ S hªhG/,*N9<#hͨ+r1)K8ǨRkZMh˶pK -븒k-<#TBi©X6'櫾+0  R"l"4 :BF T\ dllv&Ht'Č˾ ǬD^'¢tl".&,6n $, ӎINNK ?c>n!wװt: ٖٞmڰMTMܾmXTOU "$N :"NdE7ۼNSm.BnNBQYZ%(N7.QؠptR-숕SX#܈J Z_)[f$^0/&Xr;/PK&BoJRoZbOfjroz_SVe-BZ CG[Ro&,nR/Vb/5P pPEuekI&2(6kIPP T\p`Wb:gJ#koP0opU 0p pqWqqqr#7v#gVr3Ws,7(N[-vsKt91Ib,@tgvi1٦tQ×~뗜zB s}c!'! ղ~XޠG)Hȁ6##؇FrJ@w;؃5IZH>%wlR"Xx',([Rv?؆oeLH\vٮвR+7,؉eU7<20g/2.o0ǘQflb1#1l؍X瘎؎X؏X"/#"ooZ \w# 9-`Ϣn@0"0w,<`xSs#C&(6\*@ܭDr עVavN"t B"a- 2aTٛ1u z f4/b%2bˢip ..4y p bdA ,9,s'oׯ./WŠ7.> | 8&` | u)@ 5" }y:]W|@8 @  N>R axaPA9":*ID,`R;bڬy)۰y#0z/o-W* +4n@M`L 4 \ t`\ ` ,@zMW0[L@L p@ 4P B ,r{{.sM`x VŸ #b 7&ӭ! XYcFh*\ۍ( D2~2;:bR,6^{*B3!q F<£9"p` af0t5b̫{0Od 3Νm,&@;!O BbS`(@ Lǃ 8 ((& @(+zU-|(`fʡQSPU;Bob͈M{,@eﻳ}̾%*-3% L^Z4܎AB@=BcC8H-pAh[WZ(k`9"ɣ|Ƀ8ȍ&"~|`ݶ# ">0ΓgE }­`}ν2 κ殆e]ߗO ##իQL NȒ߹!@೧( & fL@pܽۻ @8 1^/ ɻ6⩕ø A/•Cܭtqrx 2zOh\n secqC/RV]ݾK`8Ծ F #Q In "P!Sy #kaB_3WB 3IFPp(WKE1H 2, 4Y%s@[\"@ߞ5KAkb˟,''s`dE"F *\(‡I`2q $.@ȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ UxQNJJիXjʵ`ÊKٳhӪ]˶۷pʝKݻx˷߿ L#G0Ec>u5F-c^@Ϊ:(4MӨS^2q
a`dgh)R~Xf DE8q 9LQM2:κӫ_ϞkYA, tD%~ pA m 7՝$a AKA00A&,020`|8580\*6A*i+L?"e-R tR@y&22Impě<doRatAG@DA_B |L+4H*h P2  \f 4x1jꩨC-`[@Ӏ݆aiȔQe (rA-.yJe-΂%-T +@*9詀G0CG0?nJ@s [d10(02)H p GWl3tgzcl:ZQFa+V:*^AҬ]S,q@,eYpn,#DA? LAMi)@&3U %4vEC/74dv|ka0CUE_ Ye]A$+bt*#sJ@@.A&D-uC4 dEhPBW4K+5 pA0Hɪ5(;gw_SFE+g B?Wloz: DJTZN0;y]t f#Hס 6 bl5ZgL{(L WB} XXఄ̇S; ~sYP"de%Џ`qұ\G^g A4 &PoFP QA!0#l d> diH+pmW!C&V1lFJ %9N  ! @ 6`;KdAHA&p`dB:H'LFp /^B8tH%jZfZ\8dA7r7!@ӑ MjZH b<&BQ;<a ޔ.7n]PBN:BQ^1iq(Fo8.3q9m0Lu©S,5UHr,@#) 5i G4>u%R R"\aKԜXJֲuoVv5ąBAhT%2[E"y־ ly ʗ0#iHUR d'ͬf7z hGKҚMjWֺ&n$EfMͭnw[;Ǜ{H Mr[F"߭2ͮvNXцd| ?~L @iٽM 2>H`pOoa=!?N8`Ԡ{EhBhA6sj)@Ӵȃ_^{/~HAdqzlh`2;k KyA.v?dk0VZj|mC ;㸏X Ba%^~Af qjDg7L k&  |mwh^ Pufdx$ (p"0r q|Ƕ L`v_0xicm2H6sR9@Sh@Ӷ@GqR[N:`qf$ {Ey* xh{gd@{vhJ'+ izTvijtS^|TDUȈ &(0p؉ui88GQ؊8XzqXy {z8ĈMqC~RQa0 ɱG6JaU؍+j1?Q !;O$mԖvp"$Xmh0#];QJP'S4E6Vt;P~pT} *xi*qpɌ2R@ % QPJJ' p/r`tHqhYFY*SU, ]_rG@.A:A@SCr`{wdž7Gj"_vN9 PH6}$'.5&${g kW2@B:u*pDLJh#ڤTZmb\ #ah^kqY #jBr>K2nl:tmx J+pxuڧ~:'pz*wu̙c8`8`UH>5^کZ#!ڪ:Zz9EZ\vp_ bo.P*Q` :_Fbӫ<g0g I" '11%U "Z^[qC9q)J<w 0by  ` rϪ H! a:ȅe#8:F -J$N:S9U>а7[R.:WPbp\E1O0|"AJSZ5zS05@V\;zt p ]) 0@<Ί|%L$%]qV 9yI$,Vr,rSS`*`2&:ppI0bpA;&PV`:U3(*8 " "`>0k/kț `5ର_ Vpz@hP+ R1tDɸ{ZIYur!c0S%`&=23^B|A1 0W' `R$4 $L5h+02-`L zh@;V@ `@ѱw3;Ůu_r:s  ʵQ0݋ Q -n=%=DmkȬm8.~Pq~>ep|ܜ{~ 0ɳŒ5$Is%ۧL 0㪾*<@.̨>Ψ, ?nݩlH@ @[0p]~(0ѐ^c`Lq<0P؍N5p ͮѾ܎cCnN%-ٓMn ^}`Pp = `0*Oy.@ ) % `pm $o}۫m8 bBcx^=j?; нАEo[.+yq3@ 0  ̢ C m-6 ] ے_l@ 0  ] vͧ\A^  M ֍PQ 6 [Be1(S\ @+6BMZn5ej`:h*@ Ҹq^m3A?hA `aPl\qX`ϹQKPֽR96so`AtMV6ܺwG:LZ48 mطA[.@.f͈ts\~'PL}sloĭsy |8zLR) jeEXBAV6y@Zf! `Iָp='hT<0UȤ83  HA`pÃp*#<(xB#7DU ]P6 HTLWUxN *cE6Yej(*򪭯lڍ6v @sLP CB8"π`#@sFP[` d |dcCc)ws%@]n8AW\r<`w+`N5߇8+9`< mܒ 8`_.[Z`}=Ha\62a%/怖 9s<¦ Tp1檝$pG@ְ6sts:鄂HԣRՓ!PU:V0 $؈1Ba/j@7)2剆0 `ax&LU'e?ڈ1mB,VX'2ׂc$\86Ɓsl :б AXG_$WJql0yH867ۨF x1!,v s؃   萅BC5 c6 F:Bn3 N:a7AU>؜渦ࠃB@ Np@X pE' Z"l &9Vҕe,e9KZrq *]{A!:B>dلԭFFa@2':!"{ES B@ 7%"/  ,⩣d$Oy %H q`j":$:QFOT V֙lj8}Zni`c}E,:i"a @0 ҡVT"a6C3cY ^eM}*TT(r'TM:Ȁ @VJDfեEj0AԾB\UmT|,8D tcsm*vp0ЊllP.IEn)i9 y88]֖mnu[ַ5@%v |@s!? *]5]P:|$jᎎ"nvqRpMjO2;o0i$# ^! JS @aM ⫉ːkV'_Lb4j LtcMl9-;# L3(U1LaAXuIdN}lVk |܃ 4#0괲n2b 2d@KX@)+繳δ+ɖu0@Z BCe[8"5*f l2/}+t'bo.@*Fv@ A i,f< h{9$l; *pnD,%=ie"uCP$%@y HIPB1AKNw Q) _m ''HeL`$[(A b˾hijF$q.H?.Xr!?) JIJ nB{tB!YI|, ZR1qkX(@|ȋt?@A%B5CEDUEeFuGHJKLMNOPQ%RepSTuSU5Ս`U:}UOU9HV\]^_`V? b2=-UPMV1m3}VY]67VXOekTc=aq%r5sEtd9mW3ep]wSzWmfWGW5Wh{VxUT} 45Xe}VyUׇ؈؉؊5xXgX:V5VZ0؅]XWUYj]YmSMX;5قY%ԓUؚh Yٟڠڡ5אV=ڤ؞]ZMڣXmZ]ZTU٧ڧ2YmXuڭZUZEcZmڮ5[m۵ ״ֳ[ڲ۹[ڿ%YZ[/Zһ یYWWuZʵ\ھ[eZ\EZܬ[]5]]]]=]e]]ܴe]]]zڝ]%\m]]ԯu]ݱ^_[ _|]]E޷^޶]^e֫]^M_]܍ X_-\`2m\e`je `^Sm^ҝ~`[`6~a-_ĝUbu$VFZbv^)U^1&2^$~\E)9`#N]bM8F^-b!&d/CVݒe_Bץc]&VdIea=LNc3&R6SV5d _е_UbWZ½dWfafaeU~-Zne)6ceڼ%5fmdv6_ A5Fgf]vfTvwx.^U=NAaaO6}chA^~ndcǍd^g&`Mh^~Uc7gy&6铞Wzb<n=tc:fFge ~bi-fh~{1c"g2ma>jNBFkV#N\FS^W zeqj-Nv֜uYQwoa^gRu֭ukmٱɦ.e ȶŖYN٩&m8lv׆m !,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,m H*\ȰÇ #Hŋ3j܈D C # :HH\rPIAnPaƔ8BP(I(3)С#g}jU0\_@cUy@AS@K߈NJXDMF]@!,K!,K!,K!,K!,N1= H*\ȰÇ#Jŋ3jȱǏ C)ɓ(S\ɒ ɗ0cʜ鱥͛8sDHϟ@KJQA*]ӧPY2JgT-m 0*  ukד`Bpꟷ< J.I$R g@_(x _pڝLy <%H%,&O\S+Uvs+8[dL=`J4oxd-Amu '`o7XaƒĂ!#pB}1'$ g8Y\3_\ e?8(M\ϖ]&t#İ?r6# }hЏAY؈}xL- f=p%e2V @@J_c$0!1*dG0`U$lqu)Q`LP+LL-9 Ar;RK&ΚX@ƺ\ӖA 0Bad oB3[dH 0t[mgQ+fݾL5fF)h;Z$bh2*kp?b3hfYcdѠNS`d)li0B6ba(hu)CuP]Phc5P $@Ϲ 8=F@4Sቓ#xd|@ni\X6.Yؼdṕ˕, _q!??Ц@ j<` `Fy7j,uvx#{\k}V?*%`ڬ@-k`H P`Gb* {3]@né&d=05 bf 7E `̰!s3lgCtÅ ArQq(žFtXAu?٪ֻCX*/ 7ѠfB2"p1$0p8r2 ,A+0Da8gH(&eG8~ 䧑d:Y J^$V`F(|i7"L { KpZHc &83!ۄ'9117œag:7}& 6yRjس́Ģ Ή aHBҒEY80@ADP7!@+ъmt0ͩNMB}C65wJԢ2H*l (Ԧ:KQ(XͪVe"U تXJVt5Xxղ,=+U {|ª+^)կS` ~"|Mb8"$`'T} v,MS~#\/Қ$R-Cg +Zêl9"8Vlw;[ⶓ֯pڊ5mˏO,nb*  /\(elGp. ^vŁzwdxEk_ἢe~c;a_@AXLಒ$h"k8e$j@ կ5pW7h@( 8?<[>`ƏmL2bY0 Q&50V'[Y0@ef]sS\b1d>5wm~9۹2\2gπJ4VbK0+A@;'ƀj 9b5iX"aLt/i?jaFPMk"Bw=L#,=8 #ELf#ΎvF̀jo$ !,K!,K!,K!,K!,- 80*\(0C08 dH3_H2}薠E/Kj<挐 )j#  p@К(SS~ʼn*5UI^O tU,ƨJ PSʐ\8KX_^{* =1g@A3GX@BI oe͚*@guON}PA\C`ߛg/V_`}ZЛ9ESHY]w?yKf hpԜ}Zg%86? 'l1P^h_a}"|".ى('P@!,K!,K!,K!,K!," Hp*O  #J ?d&j<`>~H` #yɓ[ɒzAuAg)݊$8D%?i>@'iBzp@ĥ,;Jd/}\-\>3##?{qR9ix2J,Pe׮}3qi  DXμy=߿V ;G(v(cޜiO9w$/þBeVW? D ` \@F؞{&(K7rKg(!%xb =<7P@!,K!,K!,K!,K!, Hp"`hůՀ#NOŌ *Rz 8/ M,8"-1@O  `vI#2{m,IpTU7~> 0@KP `c8g&%߶ <*}?< O.cdGk4X/U`bWNr>k5O)F;v a2ōm ]qDw27>pnH4@€ V~Mrv r `B!,K!,K!,K!,K!,L`A*\b Â3jȱǏ CIɓ(I^L˗0cʜI͛8sɳϟ@ JѣH*u)pӧOx (?l<]ʵ+NKٳhӪ]˶۷p$ݻ7ZڨܿDLÈ+^̸MJ^Q4">,R0ϠCMӨFa^qQba͞oͻ Iq!pxΣKN؏>:}Yfg }ӫ_ϾvY ^0(lO<(RqMHim_Vhf{ Bu$@A M,2qءS%X6!0ƔbDiH`'\0 IXf喏$C jKHReIVlP^~PQ#ddo~f*蠃.)'$IAH(DL褔Vjiq'J>i*ꨤ$禄 g*묩*%O **ةDG?렯+VF?԰*Fkk.SfI.e{k.ol@F@GWlB$Ta lp"l(,0,4p8Χ$$#1DmH'L7PG}e# JmXg\wmt)5z-d bhnjpW+Jqmݡc|߀.CID'^ 0G.yv/Ln?!(砇Z,訧:`/(.]ae@G7/K:oȋ[7ϼr]ԫDAW;/槯ᄉCMu S L@誁 zйI z2?J;oJ@L!XJE`'rH"^hLFL .P\>FX ,zITH2h,6p|H:}ṿ>fn~ yAL""E:a IGa%7͹ I7CQ XxVvt,YҍŻ.ٸ]ӈ~I'pLf:tIjZ󚑋65r 8q3<:v(+`O TV ̋aAKІ/C' PJԟHZ!Ԧ:i$T4IjX%3ծ̓XqFʫ'S@4JUe`@ֺLbf^׾ `KMb:d'KZͬf7z hGKҚzjWֺU-*PTnw pK6-r["#GfZͮv{\b&wHKXw^*0@8jw *ݍN__7e1  ˻\q}8FA ?1m.P@2 8#P& &?QV2\ d!+ X4o~h A4Z u?Z7 Wl>\qG`}mfs#'hsE40T "`@@KX?\!  #4n΀ZpBK!eJ[Ӛs]?z## k:#6<ہad5Ė܎VgY-X[`\%8r xcMp"a-9?A$8W" M1JX(`}?c(Cze;Dp :|9c>s?3\K,voC(Wyt AaL_<7\X 8ocqkUl> ( .\0Fn ȃO} <`Ff(7 *a.,L!7@?t[oš >_πd;R :|(/3ݕNo3 oxZzu2G|ՀOp p~0 j` C@gsidSm*gY1 |#h`(u&=,1*)i (A8#v|Z8n$spyuEplZG 1#P %by$ Hq`nof+H@ x  uu(1/nwX~ #gTyW(1N(n1t sp 1 P|xcHd`Z*@}pfHS{}2> 7qky)}ۈ[1yd3|xkܨayƍf~ 1` x@gQ1(=@mxBxh(Jx^h(E 8` EqfN 8Xz F0ΐ ys3Kv%Z YHep F1jؖEFys@ xEnK+7O;T;P^\۵^%`{;n qZx+s۷ u;;FfۮԪh1˸ۊR W庳AKN;{ L;ziڰ;[{țʻۼ;[{؛ڻ۽;[{蛾껾۾;[{ۿ<\| <\| "<$\&|(*,.02<4\6|8:<>@B@B=DM PHJLNPR=T]V}XZ\^`b=dM4}hjln*me=t]v}xz|~׀؂=؄p}؈؊،r]ْؐ=ٔ]ٖ}ٜ٘ٚ=؍٠ڢ=p؝}ڨڪڬڮڰuMڴ]۶}۵mڲۼ۾=ĽӸ}ȝMӺ]=]m0k F @QqnP p Lp@]fp# p7 =^~]@ @`%-M "M& c`]&>a@- @4@ @*>!mw=ќNDn:=aK07oӺ:@ ;mH\mD 8N}=k@P vA>^xI` Q-  P00% o ۞AZKto!HP@&+>A` /,@;^ 붮⸞PG7Ө: 7]J`eoA ]`p%` >MW.]η1b_~\ ?-w y/_8]"[GMq?]{/i= ` 7    A zpɏ >QnڿR} P _`pPL&贀. ] o1*t$x.LQ 1  РsȘ7=Dp̖Cl o倌 xhǁaqc $r 8Б$-o~VXe͞EVXܾZ>ku@nrū߾0& {oܿ{ gs0 x6 7XAɊ(1f;ϕS!'‡3V`>&:n+3;xf]aq]D1ftJrYj9J a}zgcqs` a=/e§E1䃂*'Ȇ0`C1OEO3p!AiuN Pn![@0$4"B ;0VV' V ?YXlhX ЬX!qfQ0[M ԜF X%Ks[8F2ьgDc%]6GlP| [%]hp6KBicqN&ǝ%oHH(8WDRa dG%XgJNSnԪ*iK!jQ.@8Ut@ V@9Z RCf2i8O!4%/[@h#L{L,`N`HL9T) g%|3.$C{7A ?l\u|AA"RDq{"(H#cK;+>#Cхhta4L9ѷ'dxYbQA͞ ( -5C"8VլgEkZպ>?^ɂ52QAKצ4uy\rDI4p>mP=@Rd}B [N+Zd|r!?!in,1Pfи)+#E\.8(b&[yus$nh'GUK &UGSl/.X'H n@IJgC$TMZP-ZR]:_ϳHVxLDݥ *T?؆,;l! dIubqn~Ʉi?P;.Ah<=79> x=Ͱ-~fY@LVwboPp)Z@ + Ȅ( y8Z`I-aqI9$$.)2pb0AҘ#-Q ȒУ83p ?ʴhKq1S #B%|$F1&d%)lHIB+t[ց/-ļ4<ʀpC;12=CþC 9ֻ>@ADc)ĸZAH7==M4NOPA@xiRD2 =;4VY4%.B/]ELE`)4NScL.6lHQ칒If)0mဘ)gopqdŚ)[ƚEvZL_E^D$c4|D&e$Gr0| sZx~dȆtȇHG\G[T&YLNJlGtljH5Ljɑ$ɒ4ɓDOȕdɗȐLəɚɛɜ$ɞɟ<ɡ$ʢ4ʣDJʥdʦGLʨʩʪ2rʬʭT&ʯ˰˱$D˴T˵d˶t˷˸˹˺˻˼˽˾˿$4DTdtDŽȔɤʴ҈$4DTdtͶ !,K!,K!,K!,K!,OXR H*\ȰÇ#JHŋ3D` 4Iɓ(S)Di/L61* TViR^\eK^! ,`31(&D7 P3, - dK-B5_jJ<'h£vJ0|#+,X*rΠ,l03 Si~?̮A".BxC!" LS+4Њ3tlɱf`M&HO$F;m9\O+Z-꫄5.**h+h"<Y, Wc,A䒈 7u(¦~ cGxzn-:A)*<3u6uh/.8 G<y8h #j,Lx6%%r~"#d4PD/2A(OIjA;Hw/p^AE^HعhRRVH S'n1@R׳e Y\C2QM`by3k'zVHM8X'2!bczar wk](A {&c#$NB軕rGF6H~Qf5 l0Ah bP\x)QG:R ? RN0eTp=Vg*<2,%0Gpj ͂ ;PYϾ@pQh :=CgrE*@82,HDv0B>AaS-LLc$XPoN 2;\*j@ 8Q2a7.($0NƏk,PF 1>Lʖ qP _x?~~Ir@ 3o(B : QiLS~7FAXiحFۆ% (Bi]e{v.ύE8֍v ``a#î־i 8:!ZllK҉%Vv±@ \!7?,8$j8s%XX`,y s~!,K!,K!,K!,K!,  x*\ ÇBHʼn/b4G?* )R$ɒ(S\ɲ%DnP%B(DN0 у?Y&=p)SA>}f`Ԕ05~CNMlWѰc?32VLA$ŵS+._x]eaQ;޿R0Û3B\ I?< T8T])ֈݽ[eq$:|lۑ;B/ oկ?PV 4I뙯)ht <7D-N " " 7||'^k9WTz nA5U 7_}-Y|V]u%Մ~GQ!XThgTCz2{pAHY}wڅ[55 ֏/V`Iy}m%?(T_YW#ru#[dDw}J2IuJ9W[Ќ]yh_ak6]B[Fa^ 䣜"_14(jdvFYBlxtlVDQD{g#_fc}!@*\Eܚ+4!V] Km@PETQc-!CHl&ڼtԻ׫ 9j6kZ\lkE̴fzkI Il,KzK+幦Оa9{Ls[l_1 }A^E' 58!ޅD:Uށ@) Gn%0n CJԕ5p t|0 y)*,hpE%2$ B1̬4ZL̗ 1 t&=F\9cA!< cXD%:Lm|ǀ##*! w8."Zp 1s|RH%4d!x1navHfKgJ d!2/4%1i`2Q0KA~a,i)i&$)i/#NT+N,{P`N+nMI;l: ˝̙H$FAH?m"JJӋXE-~37NYgؙ꥝%yRZ y}5:\G?JZ3i\x~(gˑt(mjouxr~pbS@U? _JL@B$ѴsRmLd W6-:QBL!w2u IMpSGTJ*X6)@A^6tb1i9bYM{moc#f5[b _ks*آ6WO3;e&5WqWѥn ;#VKm9hmO6-o>T4k _;Q~R>VC~Bx0D r5 KHoyPъ ]pl :0a$e x lN $g\tJ3vD)D0#b)[=KRᯅ @لSG3se`b1%|c!;y dKmhY^j,Y,/=fزʵ0frB X2Ų>XmNrd bF"<s.tee2N|eCW F1 0Qg ʪV_Ԙ> 807F딨&%$Kr('9IzJS̟!JbMBM3z- ɷ?^uӠdF7ю~R>=KxЇΕ )=Җfn Ӛ87gӜ@ ʛ HMRԦ:PTJժуo&-Vի*Zê>h!`\Q|iY)Eŗwewhr`O>g$GPYJP&IMlo2,w d…!jW[O1% ԨH; ␓Xm2Hm['.!aHrr3$KB[4U Adq.{';Ȁ=ȵ$܃p'x,\Xt$Htp)+Љ&3Ew1 YtM&sbHu0xn:{ MrDc%r1iF ޙ)la$Z)ed" AUKg\5!QCaXf qzDpb(-Y_d":ꆂ ^,dS diTaf$)ͳ)3L~9"h..+Th& f"Bi8yU-"Pt{B#Ǥw *B -3{ tNd*C@dǦq#XjN:Z{g%c2jdz2#4`YOOuOM/!Z_ Z)b!@¿^Zwr` 1c (KD\{0({3UEi),פq3s%\,?[eЅ4^ҊdNEI?H\h@ns4 y=tF:XCJZG؋^@(-HۋvW=˒A'O(>DLk2R`;RFI*&zkdtہPYZep}^y]fA "(u,u_$zBܾ=7(ӚQޱ`,  ~{w}^B^.M1{A&wD [Lw4x"5fTA85q:\'ajvW~G(tz}Vk# ES}).}8肫aV&5+h-(Ez~-Ax1f987XGܥS` lC'Ra4uH1"%BogB:9,8\%"$b"K L"3R#,a:?ҁ#.7h˦Tтb a$R.xz5AR:~:bF.13#~B2%w[a"qpm(C'-V1sB*h@-2+ґ))VW(za ;(.ޒ,>&-ג-hn,G"bb,1`)d!(ِ,9-i2׶-ݲH@Q/6bYPefiKy,0A.1ɐ^RY@LKE"C[RZ1Q1l-3Ҳ34~Re& #]25_8dsh4ks67G7v#6wQC8t85Cӑ5v5v!fj#msd6cxSţ@pvkwR1WәA+}ŀjevd<^JbX VC̅EjʦnX F:G\9df3 a5,`"Gf%4u>穜H QbrpC9x4>'n+OrGYUAx@;q$|Gu8v?W`z@iw{[o;*'~y,%%m[L{ [7b!Ag)tls.ڼ6Z4ѤZ}@SPB&֧9|wWhR0 ,q7~m뒼$[V ]eD7P_ ^|h7Wy}Cf`)8޶n!#4[}&Mm]71׼ "+E uڳ!ݯٻ~n~7(J*k> aNU{{Mř<|6irD܈؝&9B!5 82c:d 8A!|dd=oݯ63jCf=.K 6}ݺ#b4$4MʩH>=v)y  ݈3X-K*ɦf}HRA׉2TZyZһAc!âzUBye{Z?M=v>?Dϕ!i^7!Z҂"V^X@E=^醾79>^~Ά;Z]#84E>봎BJ2LJ*uhfGVu\eI>@c3<nq2bKP(\@֩9.O;=ؤt@7)Q#_)7a 7+-eF.{?|)KW[7ñ"I&PXd4Th$ewɔ&[T"Vi6n&k1eMBo#' WUBSiOTMᾴ7WjiB'B4sL<QBJ25hB>x5ʞK_B9ƕ#8QcC fIJ!Ӎ jUVeVXe͞EVZmݾW\uśW^}X`… FX XLE\;[g:ːthE3[lڵmƝ[n޽}\8[lVva|8֯yOv*խ_Ǟ]vݽ^ VN,zt_3xǟ_~,D0AdA0B 'B /0C 7Cc.>?ld= A9*iK/ b2'lɸQKH3>PG_GJdvi[5\Bl=HŲmmѝ9)o Dz$"щ(E0cJZ*g)-hfe…U)8N50/4_Ĩ3ù0QcIS@|5r6R /GDIE1:RFuц"sDAkPjVJ_ؤҵ+A H)PF?J,Xnk$2(K|5q9-[=}~-He%!Z..3Qi>+HO:Qs h ZRzk\P@]*$j^lf as_U"؈b-~KnXx T}v_ĝEyWr1bl\].!VZB&7ۅT n}EAAY2Vo~Kn6Δ՞q |m4bU+ J/@_Y"Ȃ5$%Ts"Z1|ӹ)!Z&D٬$Yȉ )e^%nZA)\ "]E\gH ah_0g'/!jeT+"ꕑ 3y}\=duCa/7$ AhF7l9S&` XE !Q/-Ҭ K4J*@'!u[ "%Hu€TdY)Yr޸תͳk[g!k Q2;{/W~kBKMTZpU`a5FBS٦umِׯ-)9dTϹ,SҶ[b\񎲠urz&d4= @-%㈔{@aR`'9`r6^,Aۛƨc1y@9ϳjHуI4}8.u"Y f0)o(bpv-`kyUDr6;ڛ2B__@ЅNxZ5M%,%g~v!.xB^+tU6(8{%4I>|ceE4 #q5 h2@@0, <@|2`:XIP $9{Cp:[1/h2q>0 `< ۙ (?3 Ni ꗗࣟ8>с 5#t?h2(9{* A3 9m(ʪIªj&|`.@C{ BB@>(@۾bA8" 05d6 B ʨ ` YЌD҈0D8C!Q2yБ07%h] ͸.CDŐĺE@DOtUdVX,D "ȟN q'>(++\EasdTedFK!] Sp Fx9k$ +xfTudvtGHǎimLx|{|}~Ȁȁ$Ȃ4ȃBF 1G@Fp\HHȊHdq L J؊Blxȋdɖtv*HItTȉ 40K<ďI`LIǗDʤTJ8(Ò;Fɔ<ʴȪēcʩɒʹ4ʥD˴TK: [Ұ8x(b ͎ܜϐ05DϿTQEeӰ+8 $-LctH^MLdPL5EQ`Ձ,8РM$NJLLK5#EҮB `0%]LPI" ./$1%S(QM2u7S19SHS Q=>-SO?%B5CEDUEeԵTFTZ+àׁ񘒷X#TT8F\QM SԿ0UPA(L PH6,Ɉ:K`N1XV8:R%ScM04Xxֳ(VBjuk?U ZAhi-7d=[UW; rA]-y<|Tat ZTD<{ J-sI)(jl.ZZ(kZ*yږx=:[s [ǽ\( E=RqUEHu\)l ~)EN++aH=8Rl۱p٢ $  MI5Z ^NA5b#Q"%jeRޱ@"fڤ># #;rJ*iI*ѻ*'nPU*D!+ĥךzquhh2÷j7dB )j*"4_\Pjdl9DJf.0V):db-;B\;-b&yP>)DN*gO6H>N-C[e`-!.Z df]d^fb^zՅf +@3=D5W 1i8x^4*.~/b.#2Zm.Fd_4hʲX.:/hr!#6 36 /n !c2l×.s~,~j4gs9h_؜f72!>.-sj`۰i紎|v9Zڻ#h2°Hhf1gfA 8R^Dke3)>; 墉ݽXFAVq0Z1~^>'mm V T VbqiR遮 m>M,-KjV%jrh/p.CQm&7NA=PCbn|%Z )(8< 7h6X3A0lrd_vVh$7Fy½jf״A"d)\!6!Mx.NyU?6>>( mSj|XニpŸs?| 7 /ɵ$:,x,0ؽ]ͫ=NY ?Oa49 )R7S힎ETw)h38=Fm=sַ9Fvttd_Bܚb#`bЁC\--C :)8"h)"FLpYH<C f>$L؎hM`p`Y(n*Y6ľ+e;7ʗ3o9ҧS~ [';+^xpz-#/{uX#]p^^-16x"Ai%kSA p`]q!c JBXHf0QB]Lg 8SMvֽB3JE)Ɣ^5*r%dQ}4I+4M;],mG Z^]y`BT -qTPB vPs)D :QCds`z FRB؝ istV'.|Oۃ/AFZtii ڔ_ ĸ~\g|3GRx}+rאE_:gbn-ZA5:}gq$hcڞ6?˫I+5/bE.ޡ]3}5b/j.фt! fmmץR :1)@̨ׄ\:4C)8/ލIl%5CP P*Iz,cE$.1rlԶEp$E'(?8nK]J ZZeV}8qշN1#\p!4"]"%*Da޷z6 uSXrOQ2N?M:G`˶6._B0+yd 9GX #4\=g_~-Mf^qcQ`&e wTp`x4*ǝ'L+q 2$N?$£/S=Q8Z,4KiupħAq'WY~:ej~~ipa(s\8\IL9 wx̴mFuJ˹ KbFLAdAa  Ԍqɟ]%_̅@ݰ N]pMal_`bZU8 ` =OK,, њ#hc9& ?$AA$B&B.$C6C>$DFDN$EVE^$F)f$GvG~$H'AL]DGMDK.$]F0"KdDDKKKdO:D$AݤM$DKBNRRU^%VJ_)E}̪4RFWԨE2|H*!a^]T.G?eE%nETFaNKQʄPcab\օb%CmHeefi&jhwx yNmׁ5F6ʊPIڤG  \0Fho>IJJ#ĉEbEn+&v^\mtݜJP xy&HFHtM&~~ VIɹΖmN`Jm،̰Rxu WdLL1a N ^I,(a@!cTTͅnxP蚩ɴ ,I̝ I@pAɮD,|K  $Li LeKvS(ED@ȌȊŰJ`)x LL_†Od^(s&i`bKh^̘ LBL(ѩ UچɄ](`DV@rxTMWJd TxM0`]{V*Iį,HoIh-AX|ԛ40oN DevuUKvV 0}$<gĉe/g~Xh_dI\/|^tgvF8MwH4WІ1U*U{/ |@07m>U[cPyGwJMh(vRn#Du5Y~=l.`Lm$rEL{9r'[p.]&򇴒ߦq*0٤z77=C䱋\o37[euEdg IfDp[܏G:GtzTA1Q!j]F@!+ZlWH4$VjfECgY0"EL;s0s " o@bBFEYZn,!ųH7MQ.X/FaU!ŵiIp$:p CHt^g75Z_7jHX{<_D\F9-SYOaVIɵtHm?I^LA#Yqj6Vm ` AXɩg^h_ҕ)֕ȵx66e\ ͥНtiEiAmi1;nOg Z)WDvsu5r[=Pap3^t5حz7zEoo$)]xEmKDH%z_{߸ԭDP  w VlX=qz!hRk `ą\̀OE@J Y%S)8ü8q#,C)!AiʛߋnL RLyX & sxNw8]D&⺽.DiW#CLiKh9.A ?y{iϔg!"!&9Bx=Mh#8DFM,"S_|H#L.;L'6xB]n|'DLpQRƮX(2&+κjِO; m8"ĵ;Ot;C~{*=jS&Զ7G>F/D;;绾;;<k#$<×??%̓KCήRʎ8drNflχ%|^XE։fKnfo!EkNKѼ[lл2V֓ҿI6}<=AfHuG@F ަ,]pn{[]YbD =R*hNIx֣$ ,"ZE/K=>9i` 0v^ 5ۇ xzծbpd(7h,r $g|WH}#yR $(=n|xj*ԍ) n^@h$qAeYXB02QD$BTe,,c˕,;~tr%MagO:չsh̡5골ǦJ.ez4'MWfպkW_;lYgѦUm[oƕ;n]w"=ZA Z^.FեpԖ `i?Z,h01^FC ۉq9s33fZ8>5b22aaDEJU M%IXkF` ƈVKkX8ޕ{)eK'yރN:l8|n't(,.h:ns䎒Ͷ([lXpSĊ[~itm[UR_|jFf-o3h B9C/|قR46ȃu#3"3D/5(;f,Ğ7ݰdH ]J $.ca:`= LGkUl^YZ[n7ÿ[ϟo ,~љ J֑LAN؞.PeTSSII|"As"T?ב1d$Q.(!3% # AEPs"Ac x` .+T|ؑ&j2#P[V>Zl›+G=}c7: X00$1~drB eTsE-\rfÅ>,N %pTÚQ.!$ %H@$BjLKUOZLK! ,dihƚ!AṈ?\ K#M^"(HhJs҈9h:RpLFtC!QNi b'eedH2 4Aeؑ::PIhhPH|IA:9E D0"IP &RLhN̖_s)/iϘ5q\fod!E^0 ]#/Mv))]2MP(bVf1eڠ8Ӳ(,/6#l$8`3}}.?-LAfъl?eGL' H AjQZOcF920VP Ͱw~C \WhmhR62ЈqҬ_dָ wU?v͏8`jcnuS◾>pMQUgc\u^i w!DIJ74|z3ʐ6 Uձ^hG elvt? dzwϝΛ"_⟍fUF {yO<{#q,$Qy6 jn>Ɨqa{GZywWeo _G /w>%F_J n(p~>ǟ~/??ϟoߟ, ` M0p P\105p%͌Xx?Nlͮ+/ o+Ha>,J@N)f@+HODmhr2 *s2Bh/& 7 0GPDf@:J2&ф۬bh|FvzDNP,o,Pd*Ǿbk,n\@YZF^*  %$q+2EYAl^ 1b =Q- 㓬 L'R1U q1(N-RM^ \ 'p3^k$,t.GQhmt+Zyb-ox+E׃ L kiB`-p"wE 1) L0 6J,L24 b`%0TBtXb0.+ #! f0H B$"Fc7"i(8j`BD(#@"v2 AB *2 V6⠁f($*DN ֪;H>*I+,;B!j$K#Jx6R ^\f.R2( .0Źf8#7gP8 /&#!(>$L,ϲ+)c&s!Y/B18N^(⊉v4>#Re9(B' 610#?Ǿ@,s5 "?Ģ"Ks%S`ʩ)xJ7S9B-#RjMv>Aɿ<)s+"b>QQpD?8 AQ C|c @8|A '&8@y#x>dcCi=CC )(2s 0> B;TVSB8d> >gjJZsIp*N )"r%"e:B=T BpJPtEN\#1L:bL[N0 R\h#Ƥ<:~e\br'rN=e5}Benhľ)' >U^{Fhǂ[K;0RQWK9L*OMlSSISSdKrU )rfD@", &sgFi%UPRUR)ׂO1YAu<"O>XېI N0@@ 0 "ŊVUZil*Gc2T|":y2Qfw]&%;,&r`VN'uT%g,U,X.F] hf9bub37bA6i66'H։5c.eub^tdWQ jX7Fc Y^뜤o߄`I2dW)@4bDV5uo[Vkoo@j9UBj5%t"zGU f;TrVgH_p_`IWBmQN&4W;z΢e`eNSsGxqKTR_$Tl1HG5'PVdGx̕s)]A{'bT'\7O{tvd1EdWJB6Gy{tI`qEr1PgvtkkoBoXc\_D|CȹVhV@@h*3%25@EPoyQdLx#<( wsɗD)c:b()2Ԙ!Y<92 ʀ t\5YLVF@1tzY'4QÝprlL &׋q!c< X}Ö+Ph0 r <8h\ >2$**c : zj K(DR-gHL! , U2*cz? "T§ejQ`B 荒*"/jN.?Qh5(ʘ_ڦ ZZȀTm:*t^xz`ڋ@VWd\9OkJl-"517; #ʠnz%@!eJ[+X;Hj'lSD[no" b-p)+K$[sK+96Ԥ5w1lud bY{ {'iKت5[qE G ]{;Υ|)-1<5|9'<;!Kj.RB B Ad2Ō b JٵS3c0Ҙ?UQWۑ";bP t}Y~Vbad6k*7G9'MP~t`fbGOW qf 92~D@s`,/ff+b.B9JO+KRA6/,16*AN&$,Krp(5=3C%7f%MR/%%Sr!rQB%0"6 8p0^9O{@Ad7Hl1eȠ C#}toޑME  %z~_2 W@TU4C'V4ZE+R#|eCſ 6& #lPT0d32&\ذB8BbScAA3(C`-v¢ˆ# `/F8NY` seM,Lf``Ձ<C4 (%fѪ]Kر 4rAɓ)a(Y㟆W5x9,XP- 9ɔ+[9͜;{ :ѤK>:լ[~=9"N6FƂ#][va /w[Z\9 pb4>@: {(CFhh<dORCV,W]m6rqx H?"G5X4Ѐ?=gǁX$z tWXu"4d~H]e]$xcUPF`TAd(F"xU ??GJOyEPX䣀#9e^B B$#w`svjx Ϡ(`Q=j!%YYЙdQ9]p#l~ jJjjʪj0Ζnq`W\d刧@VDC fO8aWNeC " _}\@Qm6k(q.L«߹DQqA"WI\`jUdt'D2L fa(f;ov- )8k`F v4UBġX쭦rlNÌcAE ϋT3hl̢8UH֥^분:F  7819c,lNAXav2&X b VhXh8˯f1$ѱ VCx`]XRЮ2w;,GƽYWl@ zЄ.}@2atl"885Y_GrKFӔ b˄2eH̙Q5qgP=Ho k8Mz_?5f|.d+;EƼt>[Wvi [.p p;T\=ntȆt=BV"{|{ |/+| oK|/RBS=l: J\^|䫙O3.8 uff@#(#e7%IBya=CjX?TE42:SLe̒xi)ӝig)2k!92R\S}]j7>]8xC*Y%FiLw8@BBoܧ<'DH:,V$垗i=MtP a i#MJȠsLqR l_X L8P}0fu0)Ypq1Їr'wDE%0}qpWbZ@ٲ(!b>,`}7gP:P''~hU qW`ViE3L8508RcЗ!LGG7E>B|'HUhAZݧ{a(cpe-^, _O"IhrCo a,;j}Q!Q8N0D9uB79XBKؤX5z!CS5шQK$NGE0ymV'Hb%|h6J5sy勌8n;XTX88>'2#D_#c`raw7֎41d`ev3HnݡTge++7ROd`;B48^bBX E7v>b;&J!cRF S8cqjgŤw`x MM%!-+q3G@Ec%)'1R3c&i!Yi41A($%vk!I>VHgX)L?7ۂ@^c .9N؅BŒx/#1 Fr6?H *NZew' `AG/{Á'D-)b0P/12$!4 LzXKp5AtKp?W7!&~113O=c3\Mѩ)jj7$zIcj+ $;f4g'0tw";5S@F9J)J`aB4ȓ$9M*C@0?6BXV:vēaEhZW(;s)<ڊ~B);j$$J5~&&@ ?%#& !+7Iq@`y\ ,[G}J2;JLB8 ۷F1FDM9kX@G["ŘNZ5`oTz4F+Z4?IXۣ 7WYoG}T tEi8lX $ qLtKnj(tb[Q'>jR3dL hM;K%y;TP$ƲS‚DQK_#d8REU"Sr %iZ(A% ΋V 5Aa%e%aNHYWsrqoQbA`sy -;?R:SH+tCH"T|ak܋8Ʃ#qV9}("W!Y b5l7'J/Ca+aÚ PK_dD-dq-JR²Eڡ+alD(Ccf^ I3q^VO:JX3xY+(3fyO`VuL0^=:%EM`_#;V' ac"v`\1sL<:jWG L"`&g"ed uN\13 e4vdag%2e,sH$5ksVi-h̯l5iQkR͢k6͕ͭΦ|׼F ӖVm%nɱnυ + -Mmѯz !N7}1DM*i):$!R1?+2||Җ=*b}75."mG /W'|֝Ǖϓe.+ cEJi#aqTzܰ`w'7-\#jQA7dٔWh]8QIҼ'R2&A$Dؑ!IQRT2Í# lM,"mk쉕ѭV~ `5D3Dj:ZW[ ؿ mO'OH [ƙ+Z3рH8j]s"#\Ht_7IA V QF[M DBKe03/aEߦwgLed-}A'_@I>xNtkWd@8#|9ʑ->B A_jծ8q;NtP`й:i+٦J-p҉',B[&? (9s>H48kߐ0>?,Vs Ys(ĉbAb%X@-p[䛈[3;̃3?☲Kc,t-BxikC7\ "|ˌ r8ǓK>X>>iV XB` 7K@{8D?g:D+%" Tb5+ O 82hTD&ĐE/dCU8eCZ>ǫ>| 7h6I{ŲIJiR `"{pGXD`[X R 5ÀJ5+ & hx6*tj ~l5kxKb NFw4[f|CTC/Ёϳ ԁ2ENqɎk®X+ht` S"p d4%;?0T>ʪL@̍FaQeKƉHKHƷ5Tap (A$K6\JIo1JiN9 NWNN8ɆN rl`t?DZݨжD uO|LN&|s(9u<,HD, EKeJ:\R&+)؃MSȒpQC"MDRɰLЌ*S[sL 4DۉS <ĊySuI5`T@TۗKA[/EԴ@ @!FmD U]CnSTKS P 6U+NaHYmDղaH 7MpՍxhRoV "5~ =TC(D> {)PDЖm53M-=s )CJ!昉]X!>T9K›A83:n{4i> uT@Xd{ݫYHA0N3mf L$V!x>p01Xyۙڬ~ſ .p\`,ɴ] yӸ19̕.p]X3ǃ P=3h92=M@ ;X]e|8jS7ei=޴hDٓ@Q^)_<l9UK|Ys^5\ɓ]iGSi( <*%Ac:c;VϺc=c>c?c@dA`[# -D֘EdG+ⱈ.KID(:2a2Ԓd0"#Ő ~PJfkNt:!'i+ipX@$Jk5C. %M 0加ƋFU|M77 !` w=HͯÌN]8:.0eN659S>%4:~m*,\r;ԏjLP&^1-A3HmκlYDCS–`~ؾ @=h8"3+m˛ψlmk=ZT)iڋ8=(rdDoY+C #oZɍG|0P(u~<TW h W%Dk$\( 8ȌT)& E<=ElD70E5 ԉ_nrjGDƠ0HVGvvNijR P ڀ WFwt6>v u;([Cj~FU5 UևLHc$MHȤ\eHA=xRLg (іB-LHP G;XY,DJYėRTitM(;YHDSx#K7|">Zq~AZߙS Z_o MՌMn{?%i6_ ɓҘ+,3Wdw6F-D~+ґ>MMt]}I !Dc"B2$%+iKZP088ҒV'gʒ#6eQ2L,HL2%/{_Q0e5햑DE9)#aT;鐙3tfLx@Hp'9is3Q4CwFLdr5|+^'^W/ߦwY5gaoX7V`Y׬-vqb8ްA#:CCT^]UntUƮ}\r8:1a@-jq.S x80jc⡾5{l+c9˗,*ͮF!Eu+e1ocH)1Z3l;x3?0ƀ4 mCۈ̈^4GC:Ғ4!}Jc:Ӛ޴C4K4KmS{Wi1nk%qb .MĨ/T3:veAYQ14p!9ȴ R텘RܪA/KAU3|E] )ksXw@V `@ *;kWQs(pMAO /E g2]^u{}\r829;=o+xj58d]+j:gvT)1A۔_pg+13gA+a9VPE.,L J2,so\ߗ35;DsNx̀ dװjAh*P\c5+vyZf,0(k38C0m> c%{$ t) fQB`>Ib*<~wH ĚǕ=o~\rVK#ɴq1kZ "V~?_MhA , Ɨڏ}Q`Z ҤKK|`Tpė#1]HF  WmSKeh]섯I{E*28D `NAݰ)5X ƠLP\$TI`9eJD 9`L]Ya IĐ`7eߩ]֬܃@)ad8@LO<_iHPE KHR˵W b.."uYA0@=11Q]{pZC j.jYb6j6'Gk̀U7c:c< JcI$c==c>>c??d@ @dAHWBtٯD%EH%XD`@_ȥMJ^QSD[BISb`FD\~]db(l4ĵ7Q&B0% ( Y[ R5DUpQċ$QrQpDmnJQY5HJxKN,!ijIsGP%Eib!CbBGUmU I,iN8mPxOʑE9fDPNT |*!FBAnI5teU\iJk\ 8^LQx>hŕggI=H ǵtVU怶I=ڕA|J1*EXUL(ɍ>`RlY$Y[Yħ`hP}:'*(A0„F8"V ݓe{"ftCM DiL%\w^t]wLgg5x-WD˄ưxWð#b?| pfGƄuӸjAD?,@LZWE_~ݣ?@ʩj*0L(^14_@0"XZ*UF ^Pk[kb] Z*f R U,t1L E Kj"̧̅~jt1SD_k}@AO.> oq W-MhZ3J؆ZLQ8 0*n! ( @(VE"LR\El( )Ӯm^A1&c?(^ ('1~BqKC2ߝ[iLlA2D >qL *D@'_flrUdp JnEVc*LJhr# &Nl*$q[8Zۤ 4{mΦb:+ k1 {DA+%> F[h⧊C&{aV0@_dؠ -'āLtp1vHHu,3S$gA "iVw,aT˄ NLLMc2c52pj`rA | LI@R˧cG DAӭLTJo?`J^!Dcg;f{ 2fԝtɐLcTXwKb555ص_oeg fv#q;6d[\HXd7T7?j,d`@b|krADE(mba+nZ lKP\k{ ⥐{4vChDIAvvElE|s`N\m̝<'AĚ 5,C8`˸&3hFA5Nhd5NnhnwڅA4x)BPBK߷tyJ{_p ͒=d}"~hC{F{Y vϷ=F<\MW_wuAs >~?J!XD<#}7|˿aݾ~{zyЀ}?KDΡE?Ďs\l} =+xd@JɁ pA<Ȃj;bA 4 f0t`#+* V1qqSLj:WPM;#O?QHK,!5ݔN=TV\ 5@ 3 ,g-2jNY NE/EѼP=Tec3A!-VF[%9^v{0.j7*T/g\{-6F(!Z@DVtU~bfik:+ػjl'^:hx7~elA",|P@+3>ږHL0'I.bwrk36D^Y/F3v1%:"XD#1$ZҦ9H/dUC]t(">30 {"-SCXG;QWqML⋪ECcZgC9!< R$d9*k&;T+`+-UR-yK_V0 T2ْ]6є4YMk^6Mo~P8HiA`BL*`/y?f  ,u<ۈ"ZR)j!:7CPcgLѵ0SȇxB3ar*l ZB XIe&+VVZήE^&ע 0@<|гzt!i;1|tB nj'B`7=!4xp?v2a+aO82IR@L%+!֍ VʑO6 /JQQ *C`!`+b(-2 H K$d aO k 2!)2A.`a --e 9 @ ( Nzo!qbB"Ȭ*4+C;.B! p=JD=TEW0 REcTFgFkFoGsTGwxǀ,$8,Bal-IbII"P" ^GTK ˸S$ >,,Ƭ,Bl fQ390 NN@L,@|PTrQPQ 4D#{:  F 3t0 T? bTqNSbFOM5DFJ⌌c'bVo\]fA"$~-؆؎;ٜ ڤ0 BvXMYm!-`)6yU7Aݩ\ϵ0nNycd<;=U-ɝ0p`+VzppG` cnjrnzN؆HP. &"`]Kյfܳ N,8"_iVBb 0p/^/fn/vBQq vx=IR!BUnC@@T4NR!/ӊ_i'r%JZԅ]X ,v e?DPcSpc#wcktkA0T4AT0xxqo6g Aj%`.]2Ǔ *{7' ;d ca0 cOW 7tQM/*\bȮxÀ/^>]Iu+9>7`Cg[&tR |OA0&sKxaq1]7״R n8đI=wQ]c=9w Hgy/>qRjVK)f5؍Kb%#eU@ֈBt2%W%%d&mpR 0cy #@`7 Q@شa 5Br)KqRJrjOf cDGVs#JɎU/YA8$00mS112g2+2 70vo`o{4>*m<&! a# 8Ӌ˖KІ)u z{>!o9SU:Msp363S:k}7*6;O?%< 8x>E;B0^{<ՠwg#4"BF0Y.LG.\F_3lP;,{MSZUDU!HT.5Mؙ$EbDtPUJڭz%\T1O($Q-Z ۰OG$O%H; dJ1"43[g-"^AL(Ly2hM;M6#tWh/^OcPkKr7uYP62 @ ff -h*!*լ0"&-70: bTrQ6U+Ψz0@>*SErL YmYY٢m̶Z[-YǍYM0.ݴj`]-1@,ϞN0a\yF;;|rGv>؀ca_a.bn*60ncd$V(vWdp+jfygN{/v (r=\mO.\-hLj Bmklu|oͶ6ο֊#6"@!C;>v/ p'#rbYl2ǜouR0` t`T;t;87PvKkai\u{xUu;!m@B4y-q0e(mG/ +l~:]qyE`#wƱzӗ ~ڬn,SavYY*2q;Qtn&]*li/h5]]Ox/> `z`jXuӖ1c}81qXmH14̓[nnP`2*Oڥb #|6}~Gc82-@? -Uu$s'yy`&g9!ȍ]=r4\9=m6t^WP"@f,D F;y;o4S0911W1#-S3s Aw)>.ٹkMs5AA9/@I9Ӭ4:< bq0;M#_8J/Q8ԓ㤂<߄TJA?K~!Z֙@~ Z(Ŀ*Æ F|p"D)^ĨǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѐHP*=,«Xjʵ`ÊKٳhӪ](UۺJܻx˷߿ L_*6̸ǐ#KL˘3k̹ϠCґ n(e Ԑ !ױ=YUn Nw2P&N0.N p 9m D4ɔjĄDL\OSJ8h&hYV8q? X 5xzZlJ̠i>16D$bEU 9iI)Ib=cIz-_VKG+d7Uk>r+t}` SXq&>D- u,$rA- JhC%/㑯)RrsbC<(>cPG 0>uA!!{!0 $4kU$SeZ=‚]i,}D/ڟ~Ͼoof_#uv8~"&0! BN!9'$lsÀ! \`(x$#1Y@@|DpxV,=;nؽ/FI\_*/XRbܞYq"Y_1vI^Uղ84mV{"،:x+C )d, 8bP(".:F3όql#69~љD#63yFASt"݈LjI|yL:N(d8rR``Ai&w]?UTȣ0B&D^+N& 㳄jۤNSLG[.UU]Lk1#_tK]9='H'yCL)Q1T2<8 ("I ?ED^D q.6*F@r.2N8pY R[傳ǜ_SvzC؞pZ3.ۖ#q_kiL@zEun:rMhN9A" "KHLj ]E1Wx~jO\$ð}lzgzK*Vfc? :~ڬ17VsLJ[JESI &QP)"()|b-k^QveGεw$My }"`0*Pf;f[ _GG n{ۢMrNvս5Mzo9yNtU0hW46c m#%OG,ob <&lxp{[O ! aBd0BZ'%ǽɫYn\w+s7K?x3| R,.5 8 '#k6xyЈRg"q>`;-['.0G駭*'<&O>"M}cŴ}H~5{pDxe3~|hg>wkO8CGq|Llcjc{%\闂b3L0x h[ւw0(5xr8D8]t!V@V#yc8`8@|XZvV\?'|܇[]Ms4\6wgՃ^g~9GEXv?to&`Vz'bwswLp+FGw7g{{RETc7ug|w?dCd_f Bh]LĂzXE1}c7,6v9xT׀hxtCFaj(W,Ŵ,4kgF!#\Շ[Og_ъڶuÂCΈ؎2 s@ፚAQǎ؏W9Yynw/kU(eB(ّ֖izoT]" ٱ@'OO&4,Y .\ԉ4ǓBّ! Fq1 !3R@VFaPUY}CٖnV%Z tZ!ԦV'rB'"l ×3 K9 2 T x X|)8P^] QQ)0 C8'9V1B'0uJdoyuQvayF@.V/IA&0v@I  6Q$/k`1C@X98qU &^cWs@B ՉH2 0?ω1B8~YMc!77Z@@/0+8AdbHuKb::3:@UdS Uf# 9=:'j?KVԕF^SB!Y&' Ie+HZ1 UII:vjP AA5(0?7 ҘUAwDch{zƖk:y~&}TTH3J*44 sĝ %1" 4IdB @:]WfHCA_ #&ZڬE\hkS_DO" Qt9ѡI 㝝&(d0 Cf "AP S0 7+[/K!׺ f"~"\R Qٲ;+Q.Sv kg(f{_wcUVLXVoz霅QCp;i1K I ; cZ"rBBHYIu;WꝉyVP u/  &/s}W0IHZ `X'6 ~ۻޖ$2 R8"8E! 9_dc_;M阙_0yp_WiA!p/s0 Va_Yqb1l''\6 P#\&Gd+"1d@fqeB'"[d%c)CDZOQcղ2tFDtH}c[chjJĿUw©KG=9[JfSVbOV58[Zd\ƒk(b2aTf LP  2:<|M pQ2vZ]2C36ؑ- 2/c٠2=e؊2 33S3#W4Sۼ zyûyq}01+ϣ88Yc999y@]}:`*9?5_Ԑݜ@L0+I3<ކPR(`z;<y ;T&tiK1~׷~kzR>DͿi k+¾%ق >hAh|A0 PGJPT{CPF~L9~=  UPRq9C }CQ RRA!Mva^MVR] ;/ 1)"n3e>Dra} `Im)uuWyWW~X( Qr5؃D-E LYnJ,2YpZyp!M SYYYYy&$纮eY<YEn<h"uC\DOME_W‹~%*!uVu^'^_E_ U uYnO5*}OC``b`:*$3F ,`ƮT1a0,4a1kӂMdA >QD-^ĘQF=~RH%MDRJ-]SL5m^Sg Ty 6D@ϣ18Y HFXUgO;u.k΂@ .``Uh$nVo-@qW۸g(-`Ke`8]mx^1Z1Ȕ*MҥMFZj֭][lڵM,l]86*D5xY}Y:`6X(PvhU^x͟G^z(.T=GJ3݂%0@$@D0Ac"B /0C 7C?1DG$DOD1EWdE_1FgFo1Gw 80b!Lj{+tJ+2K-U ')A# 5yC*UJ8sK;3O=K0 @"č7j49:4SM7S:\$!#>8V_Rt(Zk5kZW_6+uɂ`CR !PXU9cj[o7\ )@@=dp:UVIU\8`c`&@8^raU/_[]#c?9dv ,8!`3e4Rzv[$+cy)9h&:d?E8@-Dژ1W5k.}mYߛ&lO LSAH86AGΗ[x'xG>y嗗IAOkZ 9ha<ڬ t6! sF̯[=2㜁bb pF\*ЀdچT$4 HqhXUL +bk`$e$b!NH^)\FZC̐!)lDJHËT*H^'"hBhr@&6v2ȴ $)e =p,Á2 (` A9戠H֘Ɉ.,y:F!yc#NJL'6ґA5B1@DY8ڣ*h!DiAZB-'d&Q ۋJSR`Ø Xp!.Al(?iMl2 8 s18`Db0,ϙNh|(*lg:4'#1Oh3"/\X}93 MinلDue6ѼCZЃ& *1j~4&T RtFԅ/Y*^|"hJΆL&D8OH? `5Đd2 GլcUFeC*bfqtpRUȡA?A -DX"ڹbk@, r+CL st `,!j[Z(-* `@ _6Q;0aCP-4Hy @qт4`u1eXh0J; ]nsb p;]EjYH-b_nBmpS ^Ӗ Ճ]A엶6-jWc Euޟj 5*Ԃ 5es9Y !&5"A@Tc (x Yd+?g`cEby@fkU!](<4 L^ P{p L: 1`hD+ Шf\`BA_lF v8z0 ~~``|Q]?w\{]X =C> zf4fm\#ĠpKӯbRcFAleOtAqmIcQMStO3 ~Ns,HWZdL`zmdrE\KC$Jyaq7_ά8+2eHDvc'$Zû!^LiM|`4ģb6)@8!&̛G0[\Pj&}hP?jꐁ9]d>sCqe#g. Ci 9!`]y1N{F }b'{I_ IU tL]"wA8` {*oz `Fm.lX!pÁZ"ĵ̃ hJ9sY`Ch?)z6 Y1sf A5>\.x! 04R?~Ⱦs鲺u;ۿs(@Sw @TS ƪ{L P PY5PSԩԩP8M,ET.ň  mI;H:J0( 3P`Nh=!xf;y:p ijDlmnopq%類? =ZD0QP%,yeNᧇt8{% H2W U﨟yXXİ񈊽X`+z  f-ז"z%! :4"\?X C1Ց?T ٠bQZ`+ XΩpxҐ0Z`#&0XZxZ!Rؑ[ۉ5uW0ܰ*, @ $R""0BQ8;ȂHL. 5JNpN>R#Z.[[#2: V0]H=إ ՜)R8`7I^莌@t-u|}m pgأe=\ ^YHERPYJ i"8 p3R1Ȅ\3PJUqR:IX7 XZ%%ۢE\ 2R%VrB\%,8> %`:)V/F^aQZh$m"h0py8zs0cz |0&p(6 ,󊈡F% F% Vn%XR o`1T؁\g(# g[hKdMdfS0T (gd؀Ga`!V~XZNe#e`62Ndhk\6 HdJKYf~榝jINSdUB**ed]^NGdrNSsvffgf0go  BYZfcopdP~huSߌ~f嘁8ePC( ~5%>\ ;5+4MJ,ؤZp,ì}]V`?xS*zPipȝb%2j?Xj+Лh >~x2Yw4h8^>r+.<:gxEzPv.@x3? ",êR Pl#oIhW3?60GH1mxiHFID0\@,hS8xJm#hd #(WPW+_ng>11no#JH,` _"jٮ&_hmnoα%xS>d`Vn' 'نpno (A 7 mo l׎ rؾ[ "E2f(K㨀)`ȲP9X:YP Ȭ`,Z@+C0,2˃b:9>jP`;W3[27 k7H[ʳ<H`h9@=HG3;gȷz @%(-*pM]CYoހ6puhȉSԊK1K}cx8n#a5<"qHcQp+2hJf0*@9+x/@|w+ v4{w|xnoo?b-w v+p{d7|+X8wH_@_{Lrox8llRIg õ&rr,d-naʠ2 HY8YCN'9st{^g 4ˉ=.>7jރy+g3̧7 ⥠XzpVX2΃HhH)FQMӯ-TDC; ȫ\j%tH_\C~q69F%y3W&bi$d_b&E zWF9 Dh#dl|gCXr~ŹWw?d}"t;"%2N|"X(Gq;gqbӞLen@HQ"5⑩xYxȑtHoTz3QAB"d#+R,f!0eG 4a!Odu  O$1 fHgJL5r-NvY֐dPO"[V5*#p5Qۚ6 !.-(,tɆL@ s2`Y.SmpQQp hC8b DŽa"EؒZT"kAqC ;Ӯ펡ek2aM}S1 p/>C&Bn| `Th઄63 6`(b%Ss_u0KQxc_|+&TG21>2: Aqip(c}?/7'x) ͵_. 6> fN-MFn v~  Ơ _giQA\T\h[ -]_ .!6>!*Ue0\!lQefFFab$E!ơ!a 8\kFA_!i!"&ѡ$N"%V% - Fi "ð)!ۿ!)"+F%"-֢-)\iX ]D)1)5p%c# ".N#5V5^#^i`qQhA|"1# 2a0c4""<қ#b#>>#?>fkh TMi"c)BBc3+J$DF5d?n$GvG"HLAXtLA9֣B:"<dLVd;jJGO$PheR! 9$+bd>e=$NݼK6,2c!aP~%XX~`&(cB^VB\MeCW_%`ﵢb[D\%*U:bd:Ze_a\`ffn&g*I#d{1_D."fF*!d&"eb\$!cg֦m&n#*:c'tF 6(t^'vfvn'wvw~sΝ"YvAI R-e'uȧY:lXA~dg~>8yfF2F,Xp5x^(f(xƅ(e]*LEBܰQLVW- 0C\.F&F,)D c`1e8icThDdAiinNa^aR!XA"  F]Fݭ bȇ}R)D|9ejef2)Dr]ZRj&ӱSڅ)r*O2D8*z? 4)W,q1.,,:lC'G D,a.o kD3~-*9~9l,##lȠoO~#O_ka0(9TF >:`l lzk|>i#B0{pͿ8à? @D80¿ 4`CaUGD20F.`dž(,~d$D D^ dˇ# dL2a2hfG3i´eʛ#ȣF]H 6mMPh(*,W 4n]wջo_zuױg׾{wk|yѧW}{Ǘ?~}׿ P , ńp l1D2 p/ -l$e  FK1ŎTt0t@U@'qQy1Gt !8K j²@tr0($0 +A3FĠ|$y!: OJDh"TVCMTE{k*#/ 22@ G7m"MФ0!pB z C<5V.@I0\eƼB*V/a[`:zM#QIu3'&F Wq-%#p`86R"CIP$ H17P uf%pAI'a F] 2J[I皋" AdQ&k>ȂaBND0a3;fa&nb`yJN$MIka66ˎ駣$a\o_k׿N _}m'5!\cm@8gH !=XT֎"`<,Hf󵵠*Ɛ6/fcQ# Ra"qXnl!gnfC>a R$CU3>^{k@ o܁K 2^mRo&Bmoc`F8R6\#+u&QN] U(c#-¶ M <,{@nł:āBwυ+$yC@tSC _MU B6HC,r_] K0S `U <$ @A> GLP'cϰ!k`!`p.$W_$K9(.T$UCD" TJ2eG@l$@1d̸(EP`<9~y4eL@hY:6 .гz֐y3L!y~4L$QуQ diӖRz@X4[$jG:CfrΫPWe`AVf_X:쒔".`{`xP{aq@t .UNb6@DZQĀ8jLံ(H&8Wn!}mqL )kHH B$f;@[Lkt!٢@l;u$U)Q9"-V_#``/X\"=@ZW>)~R@A:$ 9 c'HIznTIdbHVV o 4H*k.>]2rngO]5zMMcPAFB,d$1;B)\+4WHdA$0!iIO?Z2e S_hʮ4F ~T !MEP wP00<.Xzm=R!g xm?rtPz~\rPAvI&#ETf5 W!h6`mB9k7yR'Y/F,|kX{U1R}Z2!4|;" E3! "a}w!g:XYӅ[4qs<#dAJr7L+ͱI CȞLF0 uBUhvF2 ( T 7v DhOOG5] x13 tԪ;_5;fg` ͨ'% hBȮW Ⱦɘ;zv3zҵH{=d=UaɐoH!sOO]DVvR%_݉d#܈9a@`9<(XGl#e&oB$.l(%YBE#dFΏߌ(j&nn8qoIMp:nS "LMTE a2N^@"Np0 V!B݃rK*1J 7o/t0 0 p ɰ 0 p ٰ Pp 'H2xp  Ct*&e#)#.15q98E]QS%20q/;]a2sDbp0@^ *A (c.HH0MSd]v10VՈ *H)n J0u4LSCqPV0L\0t 2!H4Eq ^Z Q!5r#9 #҄ķQ",crE%q #a2&eҶ/$1$],%q&r(%q((r*2 /-3*+ +ò,,)-ٲ--2.r...p3jAhKh*2ja>.S1;+4 b2+/.1m3B23A3F#8  /i6"K X $ Va&!~&a XaH/,R!O"::a9q;ĆMS`#XQ_$Xux<+@VDuQQ#uR{XPVU rT?,,Z,ZQ͵Z)  be!xGtcruss@{n$9+AjB1 t:g^`0hPKpew!KkhafC SJgiaO@BV#>. V x5`2ϡ lp m&"lQX   v` d FP Z6p7laq!  `(FlVmmߖ^7v.0Ws9sA DwhjT&wQltuyweW[bu7r UPo5 7sa7{ir3Dzwm{" @`?s2G9vr(ӈHq$A?{3& iW[2a(4 p`֥p%$j䝺 kB!̄D_KD^$@S(ӷxD lbX-  @$/zEֹ`c0 2D."D\ayt4s8D$xXhxX8;.1B>՘5u4+`/+ y%2d|GԂ#xzUՓ#!0yxw# i(|%c" 82)sa8 7H,BBa!Bb36i/:UoX;":ov 8`K"9ƹ38AbCP u> PSX~"u65po Ÿ"9"|GyhFSJ 7Q=: G1 oTZ ZPeasOY=b ~:`e%@ y:% sQx@lv\/!ZګŚ%,{l;>Wt7eQɛ;{bZ7u)DtI:ۓ;$-R:_5P=[>ۏXۖqy +>E!WH< )4doqA3CafS pAkEi%#PQ?{j5mM?Ú*b-`"=w%.s DS0HK!L9CD 8TWR=Q"_@I}2Ώ+K#z廓MBnowpy>V.6?>'f|bK!wZo[ a[c^U^qBK7(HdN!p "%_ D}; 0M` މbtSB41P&e8 irOV9 j`S9[NY!O'V?O@Hf{F"VR'LU:U]k}|SVa:%R ZX aj%X@aaL=,U^:smɪܐb 4=H`ő$Iq['X7V)AA 6v8qŌ>=,x$`nh@Ce8"ECs.mSY~AaP0  ]%U 8 >8Ō;~ 9ɔ+[9͜;{ :hJ>mႵaUG jۆY,AN#wfQYy#\;o[5 7pgWjvŷ>_R`$>Sd_~ ` |`>aNHa^anXYi- &b*b.c2Hc6$(c>dBIdFdJ.dN> eRNIeV^eZne^~ fbIfffjfnA5!%( L6$c`IzNH!ct)aƧFu"$*u@ݛjڜq`Ae3t`A4tP& 8@,A B*@|lEm4S)bTiI?R{XpaD4^6nջj-d[j"4I*p? qV?q|Of1EhN\)XMrj"Fgi ;Xj =4j]jb,YL@33R^Ձld%s L "vj!8бv2RA*TؒM:g:)sL3y:tG4B7?$Eἲ CVd-4M5I1[/!8#'_sHwgLD30\ӉT|@C(N02{}=ϻ?GѮ;F"O~/Of }y-pBH0p,l 3FTS#Xh`K^a d_E7,X=Yp:k`!`b킢oXa@XF r`!Ls1x&8*qMf\5 ^3 F'K]FCxaEn]U[POr4 tgD4?+VX-i/u3!0j!0h\VX/: 69:t?xq,L+qf\crmw"Wӱ Ò_L`EL*`m2QWjy\Q\Y cO4p\ 0Ua+pN^;G -5L\95Et}4 P- 2IU"?-V"dc p!1IFv2|bͅk^h%"ރF6`  LY?R\JP*~ ٲx{|A跿 |/+| oK( @?|$/C>|,x7\2_N<4oyYs<6w~xE9ћK}Tկk}\׿/ώ}lo+q?}t}| ~/+~o^qGa @/k~?Ћ~Oԫ~gGHǐ[o~/ G=ܣ ~oKoykᑏ;ӫ7Ϗ^'nVxLP(TD  p}zt @t% Ȁ{XwV`w0 tXrp 0PwdP -wN0 =@6@ A(CHw =W7pP X E tPp)4p  02@H`Ww|tPG "gzXwwKy {8v``x`'爐'7  @~xe:̔ /0`c|Pol۶XxBmbyƜ[z}z;pkboAy`Nة̺o<Ʌ* QOga#P1Bt} =pZ 3|yP r  l͈M ͛pk-lྨ-Ԑڐ\{i؎ f ܛ`Dz 튪ȓw9pe=*3q1m A 頍}p,sǚYڌU[JP ɓze|[PHP8e~oWq,H,ȇY|q0ȇ:~̅S ׬G}0y 7zͫWNȫPߙrKJzٲ6epى )쬄`Z z^"q 9 [݀eN뜨+ktXg&J ǡXK6:{k x탌ز-Ϟ~ܚ@6 (.M=r0 SZk( [a*(P 0Z40oc oIkָٕZfY~ /hm xn8[P)MN|lH9 ;9͔9_ ;/r`#Qۉ=v`mj=[+ F˽y&믣 ^* ͮߪٜk ڊ;"i[Νrбgݐ]+ْ.I<; ztW >{N =Ih9 o{@ `#A 4p?Kj$7p} 8mpX=oH= @g \&[o]FN|`{9ſ tȠt/0gQ G!E$YI)?f&J1)ѪPAi̹OAo9j=8FС36[3&GF{ v f4Cm'դ1 y mTEAmuwmI=p̜ PATa6HQLV E۴s̴W >N]5A]'A&"DT aŪ4 Xe5Gfan.`{Uu'p@ 4@TpAtA#pB +B 3PAv2+Y"2D@GR*ɨ Ȣ|G:HT@H@!G2H| p#+|rI#TL4TsM4Yj)1I(E;S9k3%&& P1䤉ƙXj&CpJJT-h$@1DtPF# &C]T&BUZUR &h+92eVë? v[n[pw\r5Bb׻lSѫxJ>e DK6_x` ^p VP_#@%yaqHY:A>dSVye[vecpU*Asyg{gXr Oe6hKe6vizjNhzksv3a{l %lV{mv[{n(ᅋ~{oo|ppW__rc#|r+r1_|s;k8|tK7tSW=B[w3Wvs}wޣnw~x7xW~ywy裗~zz~{{|7|W}w}~/~P$` xE S`=z gAa`=AP#$a @.{( 9y2 gCᰂ̠ x) xD$&QKdbB Pǃ"aQ:t!Exb,^?2iǘB'QscxGUC 8E=QCT!9$Kt^&O$e)MyJT&D\#+]@WH%&HXZ 4#-wZkiK^ e1^n1T. Ma23f3WKp:&'INrYf9uvSLe=yO|S؛89ObӚt?iPSm'3Nm&&2!PRԊC*Q*tFCdž%=RT3,zӉҢ&#SCT ,mhf449ToQ,UjAT ,f4ՍաA]izТv(B9P•sk]zW#°V^ Խ4)\iXQeu+S̰.jIqȞ+bطF5T1-ϤVtIUmmmV-,kҵjU'a_{̅–K(p{C1˥lpsz֩*ZwKRnZ8_}Y򵓭m^W,:3kYn3SMkt_bR!ioLuL\궑 |`ªomTݪ\9agom|c5O-GyB5oG!owG}dj8P&iT)N..h'_) Ykf3[aT^F.{߷8ɛU'k,g^}+PРMz)< 3/Fm=iPtMr1̢e\`P$e[jZzRe\4kT3xq[ƠƯעfvlhoѦv}mlg[mp[ܟ!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K!,K;treemacs-3.2/screenshots/mouse-interface.gif000066400000000000000000023700751476710620300213220ustar00rootroot00000000000000GIF89aV  #%9!!#"% $)%%(%%*&%+&&(&&*%&,(&+**-#+1+)0+-0-*1,,0,-0,-1-,0--0--1--2,.1,.2.-0.-2..1..2./2/.2/.3//2//3..4)0,.042+,0.391-0022022233233320040342142062242260444124245454492;53=994595;<96:9;U(C)9D16@2:D4=J<6@88D99D:9D>8A<:D>>A?]Q9zLgK~u r5FJf߮-Io`9aà̪ߖH|>%( DzMyϸP&oq,#X1+{ӄJ4[Ɍej|`@oOi ZL BFzOtCFVim限ڜCQD0?l} HŠIҊx 2PrĹpW'/5C>򁃢#{z|_F4rcHx<Α&~ԣNF鐅 HEq4I RG$ad"TIt2%#$HJ"s]2Rnŋ! gk=G$jF=aFjPCvF 0ɒb$x ZDDq%fPPk$, 7Iӛ2q&2uf% hBsL; ͕[Igg#"Б4t"'LjLWZt '>ztEˏ(9#~ {,4$I2S4$?);TC rjRN5jR_T!=UԒ,5%Q] NT5XVMrVu oTGD` ^!@.$?a5#F@tcml5x A"bY#_ 8|,TbC2V bF=Iq鸩PR#"iakَ$EoE"j|԰GV{:]&rGp]uԠ@ZJvC:;ViZkvmmK+\\6nZ}8{T0g%|\bo~oX1G n>ARfԐ=y9FK|Dhl0eRc,-5\b Df8`nظa,CɜMܾ>!]@RREAgZC ш9!ԃgXDԡ,jXà)4B2AS4G@tPT_]Stҟ4!2B۱Ԁ8HZXD&i:PkVإH[ƶz],=cb.#+}iZ FCnc݁HzgЉ^H֭Xslth-j_ V̝pA/.M`b6 ,=ohkX#:xHSZC.dvl:="B#@+ʙ`JWssg,nے)F Ӄۀ_zM1Ns'5fIo""v LZ#dfH/k2>ƶS†s^zK>"'k_ۧ[g<Ox]\{iO Q|OD,p=1^㚓zbĹF꧛AP8@~WTtV淀wy?~~HeG?zdD`'$ "H@$b)w1X&QL0s䖀8`XeEg[` S2y_]kR%HU` dLpw8?KE]tCMf M~z MJȄvHsuo^qVX8Gg䄥CNpXFx KP6hI(CEcYwM4VSey굈 S4mt0_](TL~,n$F{wwFuKs9؇GqX6MX;SS8u62% CmybHn!qUƗgp0nxM4]{0hmSٸDH ؎ecxgXӵLLH%~jY Ɏd4 x8\#$q~ڸSY&I$97ْ~pj)6[=eDŽgG3x|膀T;IT?hGZ9Xfy7q07$ ~턓rwdT6_4@u5&,Ѓdw(h~&F{QzGQwԐ9T8L;wt (9_I2pLyoLd%G2Xט!zחT `/˹Z)'9 jy#`Xh8t)hd̙xԘ~Aŝ3V|ٛ,WhYj9:c)=v" { 7 fq#pjt3סv f/l`9f5gXa~@G v@O 0% )cDcVsHP"J&JcyGm3ZK>JA.ctO#lEPCE:s=?z^9X k'O.0%*9tj1*jѡ[U hL3~ RM? y(ڨ\w`:pFYZZ\*b*m9H2!:GgztR 39qʤ~O** =jRz: :h6l3i6$dH\5, {*8aZ_KvEKT3v{8SuwuAw`v pIʰGPXV'`l);f D`SlX d ǤWf+4;K+۲@{oU;kրdT?+h;"ѯK-Lۜ#絍UKG۰fʶ:! A /1Xh逳# b 4;GexF;GXYq˵ɷ&Qq{嚺zH=${*1`4Jẇ!@6Q׻9[+P;2A4(H#˚Sً{ kH˽껾&aAtr`^Fm%{ @gۿ{<\#[ OBJj <r`S,TiI/qI*F1d; BP,e.UGH` C> +K1BM5QP"AQ<5$_ *|C_pR?fcl< t\q'_q5o5]MRU6 ')8<'p5qd|=z aǦ|ʦ0(&`E;%_eGefԀfʗpj1Vese$ːjC^5\uoJ?94 a  0M4 -l UZ l _` -< 5μ``ܤ&1- L2 , &о`оϋ2"|I]V q-,#@LQ&LuvPR ƃD]ԈwIM7*oSVBtfs2lՌ{XwqH,h77Mqs PVmS'r;zb\ ,Z'`` (={(l H L ݼ``ΡEЉK q-'@|@`2t-#|-ى؍ا _¶׼ ~A؇}ة؊͗ |=]z[Q_0ۻa]&AO  F zvV}%wS|wnUaBb$ zdإTwy~ H_T_0s 4 },1} \-Hp{m:Z,\a<,>W +#.^'< ۽L z2%#)Ȇ%X8@͗@XgTGhG5JL t|1Bpf<u qC]B}•2燾Yz$1 ŠΗ_<@u~,CM~Ka )3^18ԅIh[.TD}Pi[ӎi~h@qb|5Bm FC|ȥE|&:]Nܜ;| >֬q5.R 7J(OTQaݒ0n9l0#a g^z.FcQ@l oΗݹN/TټA /B0&Ηal .( U+b1n$=R8Y3v_ #1g?[#,ם# DJ3<# >=3:ʦyJS\6ZZddXPAGQg غ< `׳ @.4xѡψ:=* u|,*]ۿM`|˗/ #E "^$~"F[_D~G_$K#PSM9uOA%ZQI.eS,QM A&nzUTaŎ% Q4 jbڵmo'K" kى" YY(=kud!+ޅ8 5j$/gpmÚ(]>KF4~l-jɲ&]dX)ZPC(d% NB~pza%w !xUx_{"(,fY_P'v+RqE[tEcqFâ*FɊ+G l,!bHX )ܲȕĨl (&N.JBd@M8sN:өQqO|@%&74PDt~`! htSXB9uTRK5. ϯb fV@g !Ts%UQ]{ taW;0Mb!duYh RUPّO?oPhIvܢx%\tUw]vuTo@xlmV"0 Fa[֜\ V`\`? a$K!"ND\x5dSVye[vUObT"2uPfGz`APb?j fFMbjZ!9Γ{l6lZc6g~Ї!ƒ$x8[obPEtZHĊgoE`\H۴i {:}tK7U-i_e(B~|!"@v0`v"8Kԇ<7 4$^{HH{|Tޮؽ^~Z,8B! 8 DC-xA fPڮvaD&5pP\-%aBŠDؐK9 OHT"* BPKdb2U5 pNJx?EdoEFE,n: a E( hLTQ{cX_YȒYB S|wEϑa`H E`$FD "ǞQ' $ A$ x*myK\RJS&|K`r!HḧaW2a[<í=3Ⲧn˕2'@"X 8g;Nxq*g=ya%W"DY){@-8b#Ia-0s8qao GMzR4z8 y!٨Jwћ<h(D!"TC%jQҭpAJ}Lz( T @I=U[jW'Ll%<ʄ>:.lq9VU.*(>Vle;.LŲrf=YОZuemkIZ'mmm{[V5j][Wp{\0`.s3\%)a c3# a "PRȋ$C]y]QBB&BK*e@ ؁I G~mRvYlAFs`G?,H(҅!@d mK UFMWbeXbȰA'4`"+# 0d("CV2P''R3х@XL@'`sS23p 1, XD,|a p_\ ns'p  $!78Z79Qb $p!O 1MF-W"0 JijTW'N  uɮ]Sw%nx}k % / ZӾpjF%;(X0v(B0{bPl^F27FȈ7 n~%o6;x |%0E| E&CPE w\{ "$/lQ Os\#Erxg%p0;A:@;&vKt nM@vu&n _`"VwGDM 8 `}]zS4 ˛ DB}LT^݃OsDfI J" 6A2 e 8/>b,M>Vƍ F(|ʰ1ڷ OG?"vQ0?D .@2?P(B+˄"K42QȄB[@*+P 98 @P۽ (5Ĺ9Q`5 A. 2.@s簅 B(8Hx7h6" 08,.Dbۼ:*˜0s1u3LPBrP:B70Cr@X<^#C- 8=G\PIDJIĊ:A9/PضS@D(.H.Vr%X) R+X`XnIeRLzK8/bcĉRkFddege(iAB(;t\Ǖ/(TT9(Է#ܺPh2[%̹{"3HZ55MT}DGudǯ 28\d;ī%sC̉"p9vH(4`nY dhI55>G\sqK|ʧXH`9"2;H 9'J0H'$";<9"NYmRdZFel,D,1 ˽TLL;LXH.ˬ2G򹎓(H+SHM2THM\H%[HYȡD˔qM$ML ApI,@Uݛh]y]e`K(,15]Rʬ\2[B$l^<2-$P9;k;l.8:Е^]" ލ<_SY}s_^L8X^ʘPTr@0ͳIrp8 cLks``7pu[JۀEnh&PXY؋5Y2cE#,l'a'ۈك]S`ꕆSB72s4@ۯ[>j^V⪎Q# m_|(VZ[#2l‡,OE{j4p|K*^`*!:DDc!z*pdƍ \Ȓ!z6G4J3_xDy%1jSeȑRK=i-DFsZՃGצKd˗ "дNӮm6n.l0Ċ3n1Ȓ'Sl2̚7s~9l4Ԫ x I!8$Z$4 ]V3q "6g88K5̙>B z%s{rϺP>(9*W]B' 5"$# aYC@ B?Z79xj!8"%x")"-:#5:9c`9$;$8Dd!- bOH{6,Ƃa8D9eMِ>YvYnY_#` 5{!Ky"TZwE=zif_)&faHj@OreOCXXDH tZMe)1x***8+"VEHRn]C`O^MV= Y6Sܴv`-man# pO^_-CҲ&Mtwؚ ҷŸY#K#ظ&*BK.=4=P.9#X"/y21<357uM3=lJ\"g]dt(da]6+cXn0!8VYԈp$"vb>ȆԀQw-|[pMwO.gxx[ ҷ,xSDy=1js}S#Xco .BNܦ'x>?HŒ=ݞ;?e!0b];傮 5/ 5?>O>~&$CQЙ $PTD(.d )5<;4hC\u6B`A3=$0 b´$X! 7%;aS150BX N** H rt-64V&'xBM̺"{FЇ@h' N"PCJ&(1XTu{|$$#)IR4x&1) 1MZCI1d)+ 20.ã2M#<,aBK쩖%0)aZ撙<6b#Ԣfgf8 F4"\XA(,si )B5?i4#B:Or?bFE&:l蠅IhPR(FjLdfRL3&B"RYpBPOTiY+7 @\͜JMٔg'S9=Aړ=TTBU{XUX*X*ֱE<A ` {* ̚C3E @ sk(j5DlYR,f3YĜSk(Q8g(TX᳛]x``a:Z zjvh(!Lv=.r咯M`N9[LW@l*eS(#nm (JKש]7lq+ҷi\2=eV.mODRC῔2z\OVWې`\iXH8EOLQ b(Ӹ6^~=ߘ5J&P3q7%PQjO7]i5"\(բ`ۑfy!` X n$P pD|u1x*=Ȇ2GS=kZ?w hJ@6|,YA:2^o,QԌ1Zw<֛C 5n:+pZTQ;iO݆ӛHƅC&E~10ܕBGsBCDmQdKnΜ)Xqb#nYΩM3Ԩ横']S=1)90*`,kBxZzPcQ$O ,ԜX*U:B^s^ WiFJ-/>?SAI!!nu者R!BdAګn;ܙpdF3;d:>Aj@zlc]_,Xt:M'5n!qR>"x`C ì;kB[?з@{#C>DIl|t))G9bL9L|JL ㌀Y_ \)Q>|B` .]M@Il `%ግ 5 ,9niq|5P#Q(5X1eB,fcVD)!P0RY&n&CȊ抜} >,IFM-r.W %spNu^'vfgOf ihfT'x'ygAzL fA!@#B *x'~~mte$A `c$p }'FS~H `lhe^ԃN(.WvTO`$#Y PM TбܚB8Ǝ@gY)}vXЁ(RCkY[|RT|$A4)i0&Il\!Bh1K\߀.ڼn, <(ڄ!_ iֆ(ą٠$P.~0:* *걌@ٔ\ h*EUg)(!*iZ鬎| @iȥAI#h鳚$`@AA1*`$h@RiEkLk!BimkEUeC6!.,Âhm$|N:$4ĶkCJ AΆ H,ɆB^lŐlCT,~:Tu~– #HB-&m2tdBA$G 4B*Q#p`<5 c|8.DR VAq´Z ˴7B,Ă\ׂ,D,B\ϵ|,. va",_u$3^ϵ]u-K7tvgGd9 5[\DE^D4__0D@2ḿRap[p'qSA,^# 7 tssG vr5@crB \;7^r+wurB-u-z@w˔r`C4ۯt|HHa썂 XȳJ4u`qW8[wOwF"7l; :={yO܀rC8?yK893:+38xz7ĭ?3 f2 qI2_gI^<H`T;(PLHO#tu,5${#zC A,󍓸2﹛t8Ovﳻ;7@Kˎz ;4~m11J&l^2!\4tœHPLWP"z|7`uG zx{/ $ru\hח Ry^@egv8P 6zc| bsPz9d57y|;}A!#~q؏HM F 5)EmUWg>7R>Jo_>>ꧾ`#髾Ͼ~T2"&> 22ɧ7ŝCǞu _GD\~0=>.|????ǿ?׿O43o[B$B#,'@A'5@T8.D.;}H%1)CҠL@@򹣥dR B"̢# D @F- 1kJR#0 CJ)c#d]f}ڦ KLl5%-$pŽRАvN5Y4b롁G.3cY~\C/3ڈ%-cªLTE9F=#-@$I Bv{Wl{zYbM*Vy$]@~{#㮽[ijb6+T~b(B$qu#H a]N%҃!,4YxjRzؐL^}iA{#(qhx-;X@ 4b;ܩMwdA< @mjI))T YBFpqGԢ# 7?  JXD#/TD'>k1| i2E "Cnd,sXF3 &F7#[X ŋX8趱g ے8T"i9vbA*xяbIB~҈l(IYJSRv4K$x+Lx#7<9AeEJ_fTYVSCvY ],jKk­ȡ"f cJNe`EЄ&ur!(\gOw %`GS&v?JTXq&Y/`D)Zѧ,|`2юf'*RS"U)*-: C( e**X!,`iT< RЎJAͬUSIUխJ%B%jR B/t\zEG Jnpx: LA-\?)Q⠉?QO8lh9" EIjO;(i-S^Тdny;ѻcv YZ\&!@"94 QNK(g1Q?`DB#]a(XA` 0(m g&P (kAA0V]=1a.`rl@= rC 1lA='܎@x1AX,c$< ۄ |/8.q_,"S,[/BhTf37[U.tK@sB[H XxY8,(2@=3B.AKE$@oF`SpZbs3}0 x9q GS;Q 8 #:rC/;ԄD=tC @g vOs k}\ڶ56!=6 mk3Y&ځm5Jkr`խ~u͍kYZ6}`v`V)5?fiM$8;/R`,#]Vǭ0$,##HthgF >3#=,c@7q Rx{m=)A8aHv $Ie{2t<; 0m܁ Smv[=]y,_} D "wMݾv87|A>؂ᑗq?|0#G ER:./8˙ @~5HGAW/O([z3Ez ܡ.-rlG((qg p|`Dkwo??GvIGI}+iD}dPN` C\nf6.)JX *)a)^hN`o;p`@FA! ` " O`%* ")pPy grpSn Q I q" aB_ /(0D)\&F@\ M ,akljO+hRϦP_b؄O0jH'02k@ i3.F@I&i%RV1tV G`0P" Ǒ[:1D(1"P¦ bOa,AKϐAMd h,!#' (& ff ڎ ȡ J"m"w AO` َM҃$M%o(O(E,{¢%]& RJR)+R%%cr&O-RvPQ-pR8(&1)ϥv㻒2 +Њ ,!jjT%0?%Fk a* zV&!aԉz3 :,N,Q 5U% 3%L0AX389Kڞ `K.;E (3Bu"`<A A 4+г9 LD)+*Iq@ jBWE&&L(lGWB*Dd/%BHH(I G[ItO FCFPd(JYGKLSJc%` DAMEAF@! 4MtM@4LUPǔL%@ @ !N3G3!R BQQP TCUTPQ BK dd @,UOQuKyDfoaI{)~5XU(6D'AiT[TcTV  tM3 4`GSK0%=4.(T\{lJXjX__"_(Jn"|"a"Τʬb ޠ_iz U<>ocVkc(dG DAd@`@V N T BGvl4-aCn ъX pk'RqpZ0r[Bp-W^b&9frРjȮ*,slpPL\5C'tu vSVȲLöy7U/RGRNA dR%z1VN7<#=D]@l) %`pNrsAwp~aMj'ho= 8lJ+ $ ( A B ΊfnrՌ '2ڦ ଭ޾-=pkRHzXBzikGNEANM񴡶WNk3A3)*i؅ow3Xg/JnXioxFnJ&hxuQ. bn7Q Ob 0%Zy  ")Y颯ioO舝n{b6k +o9%XXuhy\o=X/_XYw@ AbiOA5ZoilP& ǯDY6SY(VwZyk_9%4a—A7Ur)72k1WlHs1 a pڐnj-ȁ`鮥& 0 &Imɞ٦QY&^Lgt& v0C)7Xe*dڢU "yG Z!@H:!si lہ?QF@k "m)[Q.7^K -S[%4?oboO6pa2!:p$[& !l"q b!!};i!E+ym#sr'%_MZ#?BqR'_X((2ֻE3 $Aj*ǒ dyM[' Bm. " 7B/_SaaO1AYs 3 'P|S#O_ϴ& K*1sƋKv&f m:9]֭bC4I*6[a7(1!˻4 Bt"A˯ʁ-+\/\8 ܳ(D(S+'S*%4҇ <80TVHYD+]ԇ fatk5]8ԅTl\}c}k@zN]U]w+`m3׋؏j"kQ]u٣]ڡuୂ,)hZځBjK%5۝J] mځ)ʩj =]}I* A<+ &v_[8'Q X{ޭi}q܇ e$!u*&x&vd0 (hwcmaށu[v@ABl)L0ɬZlG ڕ몙*,p6p "a.qq QF ʩ#&r-{+ފ tAMa}Bd@ ‡}ٴnJf* `ߪPi}Nx+< W~+zosVG2 y?*>؃}g㇂ރt곶v69b <0… :|1"Bf !I zHZ49Leɬؑr`̂3t See.,˔`Rs'˄9pgϟ#Z5֭\z 6رd˚=6ڵl۞EܹE$\]_".iG ryc xpa#yD` w**Bѣ=Z"ū.9 )$Bp6B[2J2y? զ߽G [V Y2#9ȸοWyː/xۻ?|H`ŝ۫\X_ ,CD:!6 6`g-;Eh֎@ tY h`ljV!R9"IH@HnJGpHaL0,Syw w(t\ /uA Idt(ne^~ fbIfh}a~}" ;"bAbP@IYwRGbKf!A;C@hI)A*V$s цEHRZ2hn(ݏp%ˬ! >RgE%PqUi> mNKm7_, ߛ@/C;8e1I!#;N eff9%)&8G&`aca10*&t#BVylI1LȌE!%hy1b Xq(RHwe3S4یsROMuV_una߀_ T;F 9+kΦmm!f:`&/l@;`wZ7H!Ffš 2DWɘ<HNo0 Hr ##B%@ߞ_}oϽsH}j4vUsݏhnYqHp p,X>HL U (A ÂS$C/>_Op,tp:2*̰7a 1GY$*qL`&0R$HS,jq\C/b,ψ4Q>HB4F1t<{s, QZq,!H$Q!,#%"4L bQ DD1>X0\C:yDr,e2TrALIE&d#zF*ע7RB "C !&,d*s,%3 Mgzn_約ٌ@fjj +"cA;"`S1bCS2([`'8АhKAw`D4vP 4j>OjJteQ'BT`97@$iΐ6'@sgt& cCp@Puc`嘄@"7 ) 5K FW 8 du&Osuhф\$QkyLjV`B@wha"`Q*# P bs $lbAlX? jqT3MkҪgu(‘+Kx#Ǹ5!oMt GQ@h6q%݅G9́VP <4 \phϋ"@ۏ#1,>\[s D-2^#R);)lN"Ґ$ TP J\6uؿx#-:QZtWo4[t#\TW:°cO?`A )7ꎺ5H6MǤ(]I2ʷ௨RĆ2\FU+aSX0GюάOCjb1}sY HKzZD?Nc6/DT R FpՐBV QԄRQ#sc3&R$<1xf(W@N,! 笜V-\)ЪgȨwk^e׎ɪ[^$8wp@ 3քAc> 1a  YV A(-XY ^4 #?LH.dr+z̐Wv+Dra8X3uz]Be"7"2saM[f}wTxҖ_~c0Tw0YOovR Ba2YcPFs fp#*2ۑ}eIȋ={x Ds7@0z%&ȉ9LP^~wqjqr DVAHy7żBDDkO*c W uwˍ`P4 K7@ڂuoC .GsݬGXV0.rnqg}2)uBU&F~ȁ8dWVi NW77QnTZFw7\g.^7$H8TMn u4~HEhqtQ!Q1%hE kmGCxWYD BJMQ]A8T(JVX)0PX%!nn 10\Rvhw( ՠ !hW hq`ȉ艆a%74~H` ]$ o#P$B28 Q8_ &C0c̸ +8J0` aԸx2 ]pHhGKtK)( Џ'!XS#)t(7@XYv uhX1\P+ɒ"1~#1#52lX%1 A9 ;} q I)40 0#p ` b UyY9  Nb` P0 #8ehy` pnwxJ bIf9DP j9 zz8ya) \Zi i)9xіol-)I#*wA!@\1ԐY @PR n$ɝi@ HP } zP qy)@9DYe9nY JC0cF LaЉpՠ؞}ѡIkX5j*v%*)P P`%AӋ#` (PʔG)7@b`XPb6ߐJ x!vb ćX)ⰧD l*ay:٥YD0r_i_jʦHp 17*l N0AW_SU1uH!)hvjiux!@2*#0JjJw*ʬ. zxPzê*誇 ΚԊ#0&{N `9V(`#B#!js#Q* bP)˱y݉zʢ/K:/ #[u`yf~ ۱<ˮ.I;6'[ )۬'2 $Ve + kV!S6`9vZ0_iCpb0_` vK+S J_ `;:LTe湡+x;+94y iuVl*Pq"KZ"quٝ90 9+ٷc`P9ؘ 4 Jk0KhPɔO ‑rPC k;&ۿ)Q۽Zɠ PpyQdp*! jzf,6m`9q)ٶVѿ` }1\Il x Ƚ$~Y90y ])*.j9BPӠjmY;Zljj S#zݐ#o9 N<Ǡ Dbk& \kqUջc]dN{^  PPȫ^]]_[.phH)j(Ȟ-4i{!dQu=24@)ʌ,]0@Ajtkv`6a,-0\\`΋,rY Bϛ*m2PLҋ RB bwP T 7өJL` `{|Лy&a0»dGJ7<[&XJ <#Տh9֦B=&§:n<6n h~f}'pH!/p94x9nS 8eBxcqJ q د"mڈ hoioF)K)b6IÑmɋm-:ENG뼵9J!!LM:X.ORJUʩ^cʧdZak* Qδ n[L ymZ~NeֳVȪ&n"0‰Wqݾ ߷B;T p9jݘX\K*{.߾~OAX+ (3Eеv3" QDD% UEk"k<(*k,[81[4˭'V-rه!$򽮴0NkPo4oUTʶce+HA a#">s*{ҞwbиyOʹK"f?ƾJ{~㻒`1 5 `B1X[ L b-+E諾|  1۔렩?j_L_YMl[81#uC4Qi#bukhZ/#,tF=~RH%MDRJ-]SL5męSN=}zOEEJ@LH: !,I_v M] ɘp*'iZdB`(6\7@brp#tZAH3.%~+ِ .rX4覵Zj;Zܨo=lEu;`+͝?]tխ_Ǟ RG3ImdcooG P.0@$@w/;Aa"`(L$̉oCnXð9.DɄOD1EWd2C>g40BK[Q$H#D2I@JI)qJ+2K-K/E#2c=lw~vY夳N;3O=)t0X.C@ sQd%p$N>˫RMrSO?5TQIa f 3JaUSd4!I!RםvuL0 GB5#h7Bm=DIA%Di%.,4XueݣB0 X`yRN9^|Y-E1g#8Pv1 XTrAv*Q@^EwHX0XL7dFOrR`vPVؔʑ@ Gi?B+fhZg֢/JspȺ՚k6m&@>?R1ɬ%Ȅ?w;oQ*/jF%|_M v.HMs ĜsF(a8h&g8Q@ VAu8TDB(G,yrT'D'}A1w&7p\%A$IY%Q.@qjACd#6v[ꔺU""}GxMR?mJ6@] +M]@wTq᎛enR)4c  w4h0,5"xH QA2EB cL! `AР$I0n=H <HPCg_F`i._[ØqǶ!F@(ߨDGX#7Ln`F4#=b_ZgT#GF~H<F:.Fk2Bdi!u yYӟ"um)G !Lc6ֱ2k1 K\J^0R GnZ p9 XXDk4DjY f0]g,rnITI477k. @Az R"-IZJn@1]o{1W}E%#9# Q9[`Eg?-k1wV{&)/{KRx ~k͓1 8=7 X4Pb;!z]~6p-Ål})e$Zd \l]NK`%4u$A($ &@ ~؈@ NK]YD#b^Q6AqmD oG`π#Nc  FB7FTm걬\5RG0"FP;cJ ځ 78r@Y5Pv`kGE%@DF:G! WI@r]͍ns"Ƚ-C`L?(  y$\AKkB 1O? :K_sjKddϜu&us+Z9b+gu&UT{>*;ts\{Ş}alG daX.pih ,ݘT 3nW n;1ZDf$\2LFrud4d 8Aa[E4# BiR`U-G`˺F:ڋa_F 96o\ߛlEa??OU}G>ǀq[i>}@wdcoӄkՒY$;P v," D`BB,ɞ+b,芚DbyAxF[10i  N 3 6ZL$$>q8lAD$h8Xi,B9͈)t*A,d*Ј9C 8agk 67pɜCj DBDATP6 h6* 9#=!6ڥ(@ ;j ʰبD>[,8EPE°/xOL$dT]"P$no,9..0C(6(wPLxxGGyl)a+ð#pS8>ljHp H   bȕdoؿ$!CuIɞIɠ$ʢ4ʣH̎dʧʨJ pʫʭʮԎYt\"?He9XKX;to ]"8˾K:K ˏH3XpCh隯, < L{acdM$a'AYp ̨ygĪV۹L1t  $輊 1)3 PZI%j'Z,-Ң-O#$A %S, 8j%:#=#Y#S%TCE5Gs$$Z4ʣܥ Ѡ7 EWX:1l9ػSڥO%?A!ApB8Ƴ hII,3"4(\ˢʨɄaR(+zĒ2])⩵*,Z **@hBӐ_\*3/"r/*0j1#>Fq r5XVk[Pn/ V+Ձ%zq Y7s@stQ!!1b؊QƁ%ٖamҙ^_6s30:{ SY45QS4^k44IJ4Y4OZLZN{cz=?K`[Шݺ`:Qhǂۻ-Z1 łnӠv&6pYya-B(zA`2ʽ\\"1)8[(򨸓0Z{:3:LKS$3N{^k^SF딓2WYݑ :F+^m9툯eߝ@ U r ,st%8Xz!'2κ&K2J&'5 "!"w:"Pϣ],*5[=qP5===B063>ʚ[>LaQK^.! |E=6b)n ɂezfzYPĵURBt&6`JXcFi㐰w§w}P5@ ̲pLOhB"6B/LU[)|A+,A4A@jF~BAq2*^6$A9 ñP%KF+AZvÍC*&bN ɢ,,̲JX A,2׊- `D+BۚcfD72.@GDB@RCDEHFOlldQ,i4FH_ǀXdŽ؍`hd\6Yo AږobK}ՑYo0,&7 q$GsDGudG;G'gI*?W K9ޔ6"_ߗ̀fi=Ĥprdh $̐L9D0| 1 2D ԔH#w#pص1"y+gYV4ǚė``ΔNVDz~HRJ;O(jE +Ũu ,#Q*_Em}Q  OJ#N9ڈ%vB0ӠLUPe7DkR3ް݀&՜6x,ݨf&-jw>0%G5Sԙ6թ7]89;e*S>u{oTԂϫ^T*LTj+ UxixyiKw`"$R;?Vn܈f3#PMf}N޹ [Pi1Vl}e Wk"4O71R#{msz~u1P`e0WEpw@Bh 4< MH=R J5ެZ_{HʹMe| ͵E:'}s}[O[ǟۺؗe8W0 ``(Z.]:]]'9%^Ȏx9Q^굹ݕ^::}WߢaM_J}_8]Lu -\4qp!ÆEa#ƈF8D ŌQ!HBLbĨDaC:~¥x8"" 1_r24Q"E#Rqclflt"? UNC.}9r琫$ʤs-۶n+w.ݺvͫw/߾~,x0†#NpƫƎ_ѐݏ*aЍ9vp.;v#&R82gv+MڴڶoB Iz3‘@oΛIm8T,ƷjcUv1cXnw⿠̘[,@Y1Mѭ DݺEC7M7  4BuiHX߀5a85x#t߇kyЄw4#xB&drHr;أ?CYGVcHDqPF 9pL!YFi:;Z%Pc"Y閗 m !m@'PDі!0(_&cD)*t4WdM2q:M#7XNHc 2B.TjJRLVh)#-QJU7k*,cp([碛Z-TpEP cBpqjfRf`o0by*W&t!Cû R 5a)p}\'+ܲw}+4V=t/“=N9oe/3MC!0]D|3Mg[\IB^]g!6x 7Oҋv0p MY%&Q.A:fbBߘ6O;ΐ OD צjsW޹矃}ePqoC[+sb.4!Xt9m>Đ _#374dH;x/ L CY@P!޼ī߾X1K#n {h~*-vpľB0 +hAKB(CW0!iAnp$&Fh83:Bw!\yIm9 т&d@DGlKP&mpjc!/&f_4nA"Nqid N\F0qB  G#@CAKBF"ZR X%R_Ed6[ul, ıJ(VF#".dd%/{˷ #(]cK .D)"@ $Rc.4"&-,%q@q!ć-DK;႑x:䞁96tb`д%-Q$$v f"fr q'3ږ>hL J5kZְ`%J){J%k fHV-GppTg^G 7)IMj#)Hkej'8OM1jtrB+ !O$LSTSB$Y5z5^$+4T !HJbGQbԲmOCZ1<) i;݈ j47 EC,F!D䪧IoaT@K8>:AkUK> lh'}uSړ>ie<;<ĻUnU I a~}JD@Ƽ/3l[TAO!ET T.(b\ A"hojr!~ >cJXn@1,v11KIN"t,Ȩ8R8PvX8_c"X!<1:Ole Ȍ`Sr33|(mB Ts BYs-vm!& T # I ԈTZIn+IwJiqdVCPZ!ȩ7 Ex@> JKZ܉Z;5Cf?C;b`\{'c0[ ?t!;p0h1K1aIu;C۵*S!W8/P-oƮzofBQmPgHBw-fB*_9[>n#74srK( WYv*aK.&8)8z3#H9?tw:J8i5h*-3 nenD 恆 i!h Kf!%sYݘ,&K0Bh ш8B-}@:I e+ANvޝ\VT[ 'QLTOWQeD#H!8Qo 9́  p}r\'{ӟH?A19#h"P&^oezʰ`լx<12\ Xv` ~h mC|`Jv˦dB Y!``" 8&@ I5$![Ȁ݉ T_\HE(z%ܠ%%h_N_2P`pM0؈b  &@@,APB%]N$(Z,6 Oe *Z=P &C?C=B 9d!%bCA;TޙB^"+Rc5Z5f#C?آ7;xヵ&NL&c0!c?7P?9!FB-CLFgB&-IfB;莿ldGգ>dKdK"8Mz]I/I; \B`B A9 A ( B$$%!,eSJLMbmm&Dʅ'BdY-Eie}-0 %K_b7t'9 4, Llj- exԤ7C $^@*_$|CQӠkn&RF(hm#[\:fe6@:RYl,A x@\mۆBmdMVb$e e0Bj2D%@."ܪ2fn od0U- o[x%o ^p0ƨ.Dbβ6볦}Np;$.HC@6C6 Ü.o p@^J5! bNX Y)(&!pȀ 첱q鮚h4 7TAE,pF/=gFEA2CmtM5MD',4F))O+t)`Z:NCn(:. R:B)`-q;X%V&b8BN[5Js-4F#t^ QS?D,G-_o^,19 [lMs}M3ayA 5"[ui:u#hBP&9)rBMX ܠS4qHBH3m pT$R A8kWڠi"icwv\j,,!D Au,Jk dKcp Q7[8;TG# \玀Bv3xCw,O#'Q ApY/rs-}ׂa737>7X敁u;xcBkº\R6Cmq7vU[hNGJrx8t?vQjk1˅_[v 4z@wo6 ܠIFB3C<6fĊY3080tmCz\3HPSxl[68M8:빧39o59Ŋ'9"hlutK㺶̀!Xz^kO[~+삭3m ^w,htw;Y7{{^ȁpA@p!³ f3,^{3rCdt3//m{{#| O7> (0XC 2B$# 2C_*2(`|[$A1\7DUErd|_"̂Z$ϛ&ޅϣe\ұ]3=3BGڪ% ,}C 2`NX2X"+ٷ 0"[&2&]ZDnʅo?gtNgӃ~33 (3)"EBZt=[$2@̏ о]ؾNZ]M@^~>E(h⻅o;@|]0Z<]D((24>TR00B*[122k"?@1O1d T0d˔),rPbBTaāZXB0BR)LdI@̈́2fL;23hK(2?e*2PP 3IW)N)W:bh0"=#Ldu,Bq5M3=*αaZ(]&u;Kw{oޑc#(6Wy9usӮaku>n|D08丹#v`Rm4+_HBк+ٳBV}{Ǘ?~}׿ P , Ґ7$$iH?Ac4cb)f?FP"EAqFh K:ADMt*eFqDF _#!kTw,ú(JP B`)F 1M *Q2)|%($^s0Ls*.T02blsN.̂0_"* sNEIJ0 s Ur7hcX ĜsSA^+CAUlUӐUv 8Q@DSGnm \#W[-Gyuu^ضoa%GVt|G{Nfsu!DfINXn!X)oATD)@ )}b)L fLHe+FHbL2Zr!$I4z9YgD曇e`$]Ȯ6(` Zk"ld-BA1+%*/.B1묷֋& .Ȭ 긤>;(诫|/lb!ٷvj ϻw"ĝBYeMgt$Ww!d J>w0Ic"`G }U__[*_/7\"7FA8>> erW!~ȠdFt4lI2X f #8`5m/wQIAEldLY%+PE1']A»D2g%*PÕDe@4 "#>{ 憰9Ů&a9*Kh%펍f/9uU|uo|DQS/zslq-t#!IINR꣏#$"H#rØ, &y `0b,lV -s4 ,`DfJW.$="\&K(FpV)F%mmXI`T4Sga6D NY΁tm=4X8A: 2.{Q;67t ]@rQ a\hP7@t, 4`a  r X=J=OTϒ&E!*4HLb"T/"8P^`U@^%,ꗭvXzvʠ&v8$;$n/2xB&X0ҫB 3WYod[z!B{8+=aXy\; To]HUtYlCSAo wNt7A&YW!j;]W!w^񎗼iQþBI%THe~X%@ !Xe[ |7)ŠA [Pb}98`RLDE'G3QR@IS8DɧDē:1(vb5J=QbOOųEfG^&19ĒQ|h^`$LA:8^;0k3ѐIjfzgL ޯ1.J\ L#+3nn;6v=}^3rխvakYQA Buhwk? #;2, d,H22 % f?;)DalhY_m% Άvj),]A az{b*0)DKOܘ,2c.`SkLD1f8I!,uؙd9gp <.?4WӇZK!3&*tf #9-<0Lp!X` 0?*@ ? U@==qǢCQ 1 eq)s p1u1?ah$Z$A@1B DL?p4AN"C CDۣ q1@ 2b ` q M C==aHpq ! 0&2#1Q#.lA@A ~%]|vdr&ir&^Ҽ00I2BT@`A#Zpl@AslB AX40*;*%*2B HFe!H/e!+rR/r ,ԑ./)r*#,G2r `/_83.?3Cs 311rB_uR q ձ AӡG.Ks@#W3G` 3!8M"6Ip1,R4zs4 o:5 Sbb2j&or>k'ǢA$B&d T ׬>T)[G@R0rW ̱1A `8A6CQ v%=ABBcB/q!:q!",7?4DG4BAHsIT4#CpGG=Yt F)B./KS24GLqLT ҴFtH0IE#s)!O4v 8ѐ=qKDG`M}=AHL+t <b/KQTt! u.AS[S5aBUG;ɒ?yW >G?S&W?"cc4ϽQ@2"F  Q; <[/5[[V)U@&;^2\b\iD_u _Q^^Yu U [\SaG^O;wa#^)U5`Uu}`9 dQ=V2tCBv^&f4U9] AcQ99UU`\$ DP9=Uk0$=7 5l?brXkXǢ `Uǖ|*؇YG> 3AG31=5Q?PUvikB aq$r%#kF21<+sr+wjqCr$$(wu=uV!b*!!A'nM⨊CPC4?pGEk@ ̑]\ ~ 5=Tt@ 7qiw LUwik i_Mwa;?v!~\q{aUMUoJkxqk F:=v|VsY`X1X"ӕsx|(2/!}q PsUKc8"8*uX $ v!r!Ɓ7C?";GX@/RuC7ƕU0k ~ggT`iti͵Yٕuw18q^s yzU帊Dv`G_7P:յ!UG3:Qv9iz8w~=q ]8=cv5y6&`#y!X!!  2 #V))bCn#Ķjb/TRszk!#Gؖ#eaaUvNӡz,`; 4Q5QyxF?#źk2D[YyڧA._W!Z4x#2: Q!͵jtQzѠZgTOz `S*IZ"tw5r $@P򥅻Wcr`4'A@!a) 0jtB~Dr2rTaWPzZ"0,`UU=Ru$b# .ca}%*X@dH˒0;2W!GP1;$<"iF!+܎ rs/Y<:c\;<[9ewƯbYKs%s"}Ĺiƒ! Qڜü#=J48>\ eQq]@b0\!`"b& .,,>$V}>Za=e]avU¹mo(Yذ{niG=ؙٝ=?Ƽ|5׉G`;Vԟ}=R@6ͽ=}/&@$7=ۭB=}k|ק T۵4=)->w%4~7K[.'?PMV= ]?~m4 ؽۧ~ܙ  P?q s,p=A>p?~?q qSq8q>>@Da .0;2WQ!\}!?lQlq=?@E Swcqk; c1a7@b~,^>TCq'T ~!jգgA%Q#[t$WU\A ##}ugLl >D]Z຃~{D _*2S; lȢWڗ#d͞5#4ńQOÂj.ZTQCkV/,"-F5{=e܈ƽ|@5YQb$M:L3P :ddEkCcqz/刕-_B]xV#SФ,Yr!a]QFx4ϠCX7Ԥ'^t .ZJ&ʹϠCMӨS^ͺװc˞M1Qeo߼τ "bĂCУ:$BoIJ3:v9C(5ltnd^%Qf ,Ԭ^#X1D`:},$`E^g߄^_{+j=^YQ䵗}a[ QwxU#zVdsݕdIdΨ"|ze0B)bQC͕W"TdڵQv2(ݞ|矀*蠄j(jč'裋l>$br4w覜vzu$–Jbjg)R>* D|aeG*}!yUyPW F7uYp>5¯m==bJI0Q|YIF@k.B~f 6RVTe#/ફ,$l(|\E,sl͝-#Lϒ Y:Ϗ[ !O++7au dRk%4)`5"?lѠ!ʫ QԟQ 55D v" 4mS җ8 * A[F#8\[w>=|δn{uoΨ9"I#!##gl`^F!HYwacy+BqfC: lK.wC_E',l@zЀs! g?$\FiP=kVV0*40 '8̡Ew%oy;'uF} :FU$]kbhMVG&$-" Q"Q#P#pT"^#s@ lII>mC$Yψ,4+|"I@GIR򔴣!BT9򕰌,]ZʆY!QMb@3=,`!!DA8ȕylzZC#j؁!|Ad]J='rRH21p_ LX ׮vBr! BBT&@̂ʂZ` *Z:쁇ҹG z$&gd԰.PJԢH!.K6hé Uri􌑒d%d"4@2#H!? dQy h5GhkI,&"=IE*הl! YzV]5$&cE&tR[lZӒ'Zu,b8V^<`1lW0Kp@:&MrfsB6ШO s 1ԃq:Mz: 9mjqFDKdu(r'L [47{ l2,(NW|\0gL6αw8 H8"@ PPL*/Ȝ$- b"D !ZhN`(K2h j>9owh ;s!F;ѐp=4Re dN#N{Ӡ/"4 ip!VհFmB"s^w^#^7dBρf/%/툹fvF@R0 wFNuvjT2" η^p Q{:O>a 9 \[G @<8ϸEN?/g;< d37͇NCn9A#n[8*V񦋄H sE! @-tQl.OTax`0=Y$癪H`0 Y|&aD!9G@vb!C0y'W+Os,%7OFH6 (Fwpa=SZ"%4vϻF`9`$ +<=9߼.u$/FJ#G #~ʑuQ7y;&ta6fevgqhr@K [|Ť"7>*vftG}*Υu\q^wJȑ R`7u#EЃq(z` vq@V D8FJ`En& vlVfXgSB\dQIBY"4a[m[MQ1[1AE,؈hTWNPEs)~Q`xP~1vt>H 6z(#@"Q$H{qhLAڱi\$r%tA w# T\{@!DPNx"[!ds71HȃzQJ!x1)xRȊȎKȀ1'8cBiDEjzC/6q//F  JVs1\9C,[a-QфE",ْ1䂕I,!y؃3 vxȊH Г@hjj.AA8:cSLt9:Fnp{6#0rH|A.yx <1)RI799N?QEpx6(7ak0|O D@R d"$OiY>_V԰{ ؃4 %yu#Q6ovD g@EQWShOtO0M[A #@%!NpOFPL4Mzhj(1 lڦnsx~zKYs0|sv p0zzx|:|R'k{rUn{פ@{äEjV#b!h !Ra v YY^u`eGiګ'p~aDkvB}!]Zz3r9IrjKC9ZZ()aR 7:'(0)") [c,20332S3*۰a;-ɰ[_3TC;yT$!q7w{J$ֲ.0 KSdac.*Ut?'|iPDa}|ExQ;}Z>JfւUeS9%MqibԶvu';5#Ĉ㣤'v'!˵[&tu&b<ր1b0\эEr15u[a!+a ah r@`~{iBVF^DWYI[wCa%Ո(' |+RW8giY9XdrDx[:X xإ.0S' s4*3*:YU1b+KlP q:2ue,cI}r9O<5q}n$SsU@!^Pc #DIT/R$"BH|BE4Ld R>?ƹcYAz3{AœZ<3ƨz$P@ڤr"WYT頔$2%yʷ|\ʦb4Qt!&tzo.Yw xPG)SZCWrJ<auXK Ll5OC!Z<a_:9\ v" =&}Y(, *^2-]6_/^ ;}>Ӏ ]253=mK NI%t2`PqA@Um @e5l?@|g|hA-D.N3c[JGMw z e&n~ fn1;؄]؆}؈#tZZ0Uٚ_ؤS!XRuMXrs%ضl5!hj<׮e 7Wp+(tU#U ٚ 2%018ARGiU%[Jگ<ܺwۚ<ۓm Z & s"ܠxu%D`1q't-ٓ+PՆ\Y\19y [@1@^BԮ,y~*r/pݺ'ߊCE0vF۠ :%vB_8c#&:FEƖC5dbuMG>0J;Gt!K'ŰF*\SIEB zBAY.7^>]~bHtnR722Eyaʁ{\V䚰Z=:Im IaTw ]Q_c.b0ޜJ`?NEm* cWvwۂ'1{oUؑR0M-S1u%45S.a!Są^ 9_[a{w^#`gx68kp#&toa~'킍xX5 /߃*~QG^u|^q~~!Js$ D~ǞE#u?h>a7g)a79-ЙĐ Ə#bg5X/?vA^ƺ CLϹSOxbO/`8kg#bFC$ #bƍ%nHlD(H"J#R`0MF-brG qDK4DSTqE[t0PCx2Ɋ>PjHM Ͼ!Zhؚj#$M?JFӰ-|14L4TsM6tͽbt(E$"*B"K¦?hc@,TKʓ"PX*Z&Q6b*E)TRdPF**TUeE2ɣY` e*bxU/ D8 =7yaGIiGrvn[_RVf!X]xw^z1|7QriǣP8_Gp*M-a~ۂad@UM(vH+a Za3ԈAN^]լ(BX B q%R[bWePFYfؽT8->A c JjM 6P'8"ک A̙dߎ{^/:lhhDU|qwF|r+_Bd8'FHkZj8( E2-]d$TВΊةsQ5 `b6uE]q@ d" $B [. z+1͊C!ݫԊڗG+  DX+t %3,xA fPA!4:  J#$Ht{!^(AzhY!A ,KjV1ba 2& e #[1tb)Rp"WkeB(:a츣ΊvHKZԼfCB#9ڰrqZY9ءsLR|4> ZlG)R> ,^$'@ ,)ߑ̱w*P1B "qdf3LhB5 B̝%*hĂhc v?0pDB[K)˘1ecXa,V\"ѓ,Ri?O}:T+2@GsL[Hwp`F uP^wlBtA+!/u:&Rԥ.AJ[ GĴ n TJՅ4UT#v`a0ih#HIjR)uR?B֙ĦE8W^DctLd]XWjEDX80x"  :D`=e]ZZ3*Xxվ$@r<.Fp5/P6B #_([Q?K.`m^;F gYzų 1"X ,Ώs%:A-}iLg/&biPC@Ӗ>1Y'I2\+x["0fcv`bZϚ~Ke(/D/|@ KG8pYdJn%{R-mj/l~䖣=mBN=nHls{+._Z gxý.$.w6 xdTxsl gen@m45Nuro2&BLr%ba~#D+ ,#J˞k¼(δBt7; ׁЎ mDz~hlF//wV|+*%L{7|rF`ܶ< 7/JLCd9r"%Vn!怣 I»3jl|k!Gn7!|K~:c>髾8eB<l@ [ۨ@ @ @ @@@ A@y{7ph0ځ#BCaHdȄ)`AQ )ҧ"HKY#{ A B0up5=js*B/`2+ p )s)c.kc;/;$K.—C~;lWRLȲ0{CkU:>ԊAÚ3y@JDKDL<Kc(E0R4PUt&V>$ eD]E^E_M[aqdD sf1meu>EkFl_ FW@-[>G0GCǏFmlGw|Gxl8nGzG{G|G G}GG H ~HŪ"p(~/9իgPITJ-ל,T%@QV,)d  |eU-:-ӊ"-ړdhR5Jܲ"ற3#ɳٯhB2w.3%H<758]]m]R#MԷU8ؗS_yUۓK9 9+`"(6Jޜd`P5ݘS\T{ -EӶS: ڀ{;:_lԝ]/W:eۺ*_MSAsߏ;=`N`KƻuݷW-Q[^y[- +]a! K᛻i b`YSc ^KܽޣvI>F7rt0*i2ABP +?LH. 2s * C?k+">vH >v>|zb\bdB.xę' V |BB!?HEHMd)'4B1TkP.)T"EPB!$L0ˮ(D)Be#sJXF\̅03v 8qUįc j$JԊ8ڥaƄb,Zfv8H0f"GDC稍ˉVQ;A>hNh\8NDP, &%WxYl kE Y~Zd~^i{gTiOa$ Id (b7p hi V v4sǾ`S*, u|jP9qLplj6kNkVR3굾kXjFkk.lÆ 91.0nۢȋlϮǰn>lg0m0Α-] I+F$8I^톈KHcMnFXn{Ϳ̞8Gx^̭ĥ=L^n?pőp0i؁Q@y !`LXo*_ՠ nqpvQ{ؼ*Q; N,DNq r2J&"a2d`` UDLrr-w~k:!ms1sQt!˒\NE5]}ш֗p^<HU))r("#QrFotppp"8^ k  PxKwLK,!GX'I`s@֮5XU-կu vVW} ~"S]2ZmUrtlkJzԘ@Y`sG !H Pro Pqw37A~[6qeD[MX_‹}؈5g?gZ\-|ZvxntD@@t_/ֹwy/ ` $) 0(y|ϴ>cQY5=[%eeRxxÐ~t_5p? $@.Yф $Ww0{w݋q6pps]?߅9ŗR8aIճ1dP~K-^a^z?}QƑvOy K<)N KMy iX VT~aOQWٯ}yTvF,#?/b EK^3˂>,bHL6_ii 3L2cAL)ԨRRՂ@9D4jv`MZ BeIbh6\uE Y&Q(*Lk ?S o&X!+>k4ԪWn5زgӮm6ܺw[‡81%Fi!p`QT39"?*;B`y^rɓ("Ϲ?oX&TVf)XA4 8!Zx!j!z!r%x"rjb`5&P`H&aA 9$Ey$I*$n#PX⊬$F∥ F|2f9&ey&i憨dbB M @&,FyN&Q :(z(9'ĉJ6*Q&()z):jDţ Ҷ:+zk uHҀH-;$괣92C! B"lVfRFqJ&\&;N NN;ܦE-A;X +|(* K TF!^AKĀ,R "_&/ Dm0*g3T4VD;!9ĦB&tŵdjHƲ0/<|$ip#sx9TK#(-p@2h!,Ѝt451ᅗ@OE;8K>9[~9ITTHBH HɎHH 7&@oWe;E;(D Plᄃ&5TE(›5mĺA`X9KezhHy]mLaPoށ P;` h͋ %1@4H,ufpPJ;!; 0%'t 9T8p,5@uܺa sGvχyDFN!aa]X = BBL ŮJ PVB-{ 2h-2cѴhŁRUY1n У=8."1[C@XP XDAT01.{%,c) /*v`мA* /Dnh(vTp0BP4iP9Xh :L,0G QIE D :A*1۠:SW(2CNs 5aǭΓ"@`1ݐqB: lVA(%Qx 5fBbOS$:Ш5?Ӕ^bS%E\ A>R<9sEM]JjYE\Qnzͦft d5 |* YD˜%`+PY$XG+/ C%"iA8t-ZBvR!Ne ޡ@zKAlkYV -ڷ+e )+n_[Ҷhc( A_[:%mi;ZPoz+:KPSA%{@W"#&bAzOVsWK3p i1la&>1bX DGMBp'1 !+ Pvz2>RBf=~@<%@ɂHmḼ k _rL1 rA.BF^Le+cهO|)+^|gЋIvm[@lȅs=6c7RP~ ;AA ֶ5V, H"4"A{޳]n,,~P6EJUV< L-/ݲ2R4,iXܿ?:v x{[jmO$nvJkg {&߁n?CTn| D;5A<,趝* *ud^T 0D\8 N:kke-7ks6__vw-Kd7w@hڱ,/,S: m;.@P߃jxhʢ|{܁߂*%o/[j7{Uwxaߍ&}eވÄKϭcڸd@cnA(igm/7 ׂ쵯:/~LM]]WHtOwA7ĝ4Lc?!1i:KYDLS>TZ%KyGn LB!t9П!Du_`CYpCnM4;A*Qr "( F_iVD]X "P!~`JU4!Vn` Rq$`9C(IuF(V^(f(v~(Ά((ʈd !l(bAy(樎Ɗz(&.)Ċ@,4^)fQXԨ)ߊ"IB)Ʃi(؋ 8#H)Ҋnۗڏv .*6jV{^*f.Ɉq$-iئ*ȊW*ƪjk**檮^Ů*J+.+6i6+FN^+hZ (0XAy&#0 LЙ(l+Y ,R L櫾F݊n x`@D%,%,,lU 1BTJE$$(P%,2,2(IA'2J!R , c$-1䱹в,%.wC2<2.vnX:@s)D;..l: ;?@,AssA.EKk@-D|%b-Jt +$h@l2H"/8D\3)3wq@AmR/uSOtYD0Gc~0 Wg?S3 Ht:;X0T+W xMߎ2AAVc@ĵU׳GG-H5Yߋ-g)K'b VymL" $ E"Li۾%8sQDGˤ3 r_@kwM5<5xfr,oǶX+r @A\RCAʲmYvsL+v%2kS H1Btbza~j]KB!T3EA^I2,%(C)3XBB<֠Kthpx׃ #w=GAo0(T(pKtT8xGx:pd2 G n2Zx 0DFAS0ә[wW C8*D(.z?9'ɪ+vq,"^`m0 CRa$OdeƜ.$Ano m@\K!~Xg|BѻFKS k<׫ʗ=ZlFRESJh?M\o B4u 4x |kdPzdHDV{PZ=k"\2|8F A)ƒz{ 7PF G4h^>|içA< QS#Z:{+ Jt Y~IlXcɖ5{mZkٶun\sֵ{o^{pfIFF[@pRɃz!HQ>6j,h @ԊE a /x!c}Ǘ}!E 핗-Dhu4{";">`ZױgsiQ _wn`x}8&K!jhĞH ɨ*Dh/'ƚ=ITshkd)X=bF+M !+TcM@@BcI%HSÚtLe$=8tA&|(*,ܒK- kk H$SGF2351 3 ƚ-rE 0A76B0Q0rh@D^; _-D; >KO2tJ/] rCBKe6z 0jZQ|4;3lR!)"C XrӢ86]ka,SedDF&YS>UF |Jaeٗ2e$hT=6gNeFe`QZ?ϓK6+\@HDZMʇ5DM8MF Rh|Tb*fηaL7ѓ4%-wවX #k|{NؘQEhmPine!f YbN"!X/+`vSB׮agv'nPcYn[b$I'b HGck@:?otĢ: 13)XA ^Ԡ2 RL >.3.DP%m N11, `;Bj?UtGzbu([HTeilNT0+Yu($ U\l$DE!p d&V?"8N@+)H 1v^{e|RCec I9IO~(A0# TJBS]6|HlCl5dуa2, f([̂!~vsQnF0|A:7{Nts塌`UʶLgB3)4Y8M/*i^,uЍND@C"\ IZ, |XO#zBA(\/9eF)1̳AX2SH]ev=@APZT:Δh + Md& f]k#uEQn \<[Ȋ{˼Ceԧt^@ ڼL6AX;Z_JtyͤzC}v `zk2C,܃"=qd"; l &a#۱i¥b_=Jl ca,;\2Z Gӣ^vݱ$5r *T[{  "NI~_oD>V`?@pDWm9a.I\b)V1YDb1iǤTrcqIP_,)u#*E‘ASF<.N֋-E)U.IY. dYT,nkR^ &}*+c$rRs ] ihAGю4X@Ry-? M$p[N(VŲ:NFu7m% n.&u[}SNbFi.ʫ->@օUheIi>!/rB-m9K6ZMr01I !c Kz'嗩a2붜[r۹ɭkw-Փ Nܷ,ݚē]IZ6 zvN³,$ rq*ʇjgn|eA 4&f XD t=)"Ń8 D+\F0 *S)P(uU=\E7p!A'wR)B$\(KGSZBZ$E&4M.$cc> D%8CWS|R>$o=2ɈĶCP(|BF(jϤ-`VۜukEk^@5 W߯c~v94$~R3C_)ascX^t>z_,e e&o ~*,`k`kp $ LF 7PMHOajDN$[dI OB(+TGBuDC |u+dA AHGoPGNCjDFHNtd5!Gp" ]mHHTNP'R c, @WAI0F]RP WC<Dp3)ƒ;,{ c;j=81)XQ7RqxϚ#9|F7D'Lq9jQ5 \;jxx)@*c,d@ P `.0fLРb 2}n[z]E^XeG]V\eXf'XdNO.)*2l]]e^B[B"b/,WR##/.@;e oX 2&YRh2Z0bƥ8/.j%X,%!)B(\,.)OeP ŋV2RqR\0SO-()PƒSf%.QR!TS|b.sEȂMQ1s qLa"2'F…|X q&RB*kkbLzZ24b0FcPddɘ qgqmnn`S5%F3?C7?}-5ÎS(Sm2mz-#q8pN;Go,dDgL=sj\i΋ijFp&gv&?&hfj!>EF>c(fr#>Y@wqS Ji1;C1)0p^ 30L}b fkƁ hD*EH3 |G ';h vN\xmM+)F\TIK =8{K/2+#rGy`jKp'i:⑧' 6Yn5h/9!kƯ6OJg 2Y#Gk {E T`$f|"bYȫ/4d؂K^.XnY1t`@'Z ,6h՟<CZIZ'C/3Z7ZJ,?CZGnHSZWJbRv``!a!-ڨ"DaJ8-.TSA<BǚڬG1MN P SB"گ?vF1$!n; -Z a&{z@Fv,EuZ@A! ^:w@F[W b!{[P@ lGᶗ;ۺ;%-а?G`+ۂlZh{-!`[zA!!߼<ذ+ӱۢeơ[$|xzAq{:컷yZT@!X37 xi %!&2!W[ PTEb٢iKy:a{ׯ:}_;!\7av,Nj8[0'[vo{LD  GK_ebMkţcR{?r?0h ?L!p_s,_I̥c0d4A||.&j `2! -n F .b <0… :\ݻ+Bp7krő$K<2ʕ,[| 3̙4kڼ3Ν<{4 lQ;%  M iAe*REZ T T( i kbbA,^t %_@o+ppͼ .@\2R8͜;{ :ѤK>zЊh I4$B$h Iht W Y, CD-IM6 wW YR?]ENy~a,:ۿ?Ynؔ$6PmK`@4UuPqQ 2ŀ r ( -P-I&a;쐳F#Q&.sBTCPDx& "X^#="L:y%9hN\[x>y[!"%8FSE؎:1"-@^&B{#Νy>)^ɦ\B7jj M1T$,A@P#B$&"$p,S",\}F` B7p3FA2r@!8 DbXц樳CCAC@9oй+Z9oolP D;T;n˯1cNXĝpI΍<&`1 '*Xm@н@ E|W}p / ҍAkn wrMwQ:kh8Qg֛LZhrD] #$ɎW(% }\APEA易A$;iPM'$8iNWz^AꭿyQh;κp,/a1}D;B*, A{Ihq q@c/C<]gtv p,U75Fp %Y#*lB(D`H㣕MIyDB $F9 ߑpVH 2>ڰx]TbG$Iȋ'B)vc"n AVX!!A ,aFDD_Htj)0GQ$ đ,!D*rI`C6@4W)h D`"$ (F0pN\ Bt͍4`a $BHC;0o|15X2r^z,3uB3WADr0rL$ ^<2{6cE \C5 AA`PF 9& Q00$nݨA&}rV ?0w4w#M>.p\,o_sP<4o&3߹ }9C+}LoKb!7n7n[%iJlkX (ݺF3h a @D#Hr|[>08 !lE9 -jLE(9LKX@ z4B B *'/hD8wC,!n82'e,a F >QoMegS 隍۠d a47 ء2<1Kސ#d{ا:C~" Ga͞*G9(s2 cz#Vѣ?!# ȣ,<<7)=!V=5ASs#uFS>C}G3=o8?BMnv?:;D_u=O` QU(?8KyeP 1e)sIx 9 @+'JgEGM{DJ)8qeG F-B^wD3D mpQ2QS#REeEvED)FdGLҔhF^GFYG.rGiWy!59bhYtGSKɚFD#PWH1H1НuIwYⱞBmT;firKN qNKE2t! gYqOM4MM4NəNNN񔜳 NNO)$ҟ NbOa*頶Khi7ՖvgiIÇhQX@K!,+W7$6RLxIV<WTeva=pHido:`uyVWmV=~1WTWA椥@WW*$XIXNSSҦ_eXUf6vK*tMȇYK8N! +x(v%.-4C>mmE^E$$1`D\5bՂsHn~2"30_J_Ga_`z/q` f [18`a6`"Dz__j *uP`5^EbJP%vbb+F)*3t:nPxHtxgejFHvA ۡN6#pf%!iDix$zhRfGLN^dgݴVjhjrDg~'iyghihQhʶAj&mjCi kj(>SKiweW#{6f[{e4TDGy04kkswyHǖlʖ^$lІ6Ԑm93m8mvk7_z'bnVnqkpkHoXo[6 peqp0pptu7{ Sb `؋n{H*g=r#~&qrq k+lJGp »v#l'Lw9u1ot`1,@mV"pR+ A,CxD1xHᐜ!d?*`Z&!*葟xll\iClga|hY6V;%l4,VlSfǥ(1 }Z}hȍpX  ~Ip 8ݲ` -0b!rr!S Ȱ-S@R, Bp AJ,˴ldl-I Ǡ,Mv!zȀA@͊0e4&WZ^X)B'Q,e8Y4:(4(J ϔb)CX,xmB탅K7 Q*,]th+b+ӫqd$ "Zв,,,Z 0 R 1B. x\1Pӊp9-S-,,`8ӧ A=R}!UЈ&2*Ӌ~8WXS4r4bÌOӎ!UCֳt`C3xM6i=^v$3'F3%ٙcF d ٔ@ b9(A4k`89#ې#9PZ &RDZ!-`E#]Zۯ#`RPR,]ǝܡdݥ%G4 69=? AٔC)aQƕhmU !;T8e<^/%?-X6 T?Io]SBA\J $&J(>, `"eI&E-;N9;J. 03#V\>0D. &~oEYEZr֜ )FktFR ;DPbT$k>'DHnPIt;V?J!J">'%J`]mF"߭AJRJSlU4"\JBuѢZP0jzzL%*O"/$ƤOoN)js.L|D J;/Y^7PnHq AːR+%#R$eR.T?c=>ZE  ʱ[},.FZ'^YN]cV꧙ p"OWbYUVY ^u'4IIvcmY>Z/^ZZ`Z,> R RR<.% (#e.Sݢt9*!dvoo-c ڰM[* ƱZ[a_]ΰ^a6qu-pc7=1edNesFdJFGdMFʊS!` Sy,ϿAH%!À V0_? !f;ThvjAN];upc;siF<Q"*qH D4w LC A#cS*(؁#!ͻ tDL^5 V]~VXe͞EVZmݾW\uśW^\<"V-3C&"/b!㚄J^%4N>$3fEF"7Dî uB)h޽}\pōG\ڿ@sɖ^;Ln܌$(B2NIܿET&.ǟ_~0$ eZCp@rGLO'zDjC۰AG$DOD1EpE_1FgFo1GZԱG2H!$H#DG$DB&2J)Jj伥2KB3m,.̫/L7߄3N9KҐpđ6zAA9P")3%[FMHǂ̲d"$TSOE5Ո H I!D4F(BGI%6Sv׫v`+b'"ٳ%ٷ ۰VUo7\qkduV$Y IaY2:z%lFr%*G"G$yVddb s7:,%JJvuu^4jh-h@g#7o-rr)U\xibsyDvJWpBʙD,8TD[W !>fd7gpq_wɣv]Ј 9O8@ЀoY d@̍gˁ(1і;`GvPa)XxR*?J!; QBZu\!RHhE %.eTwl-^ kHY4 Ch@!R#DN"C|-,R%:7Ј>A UvXm:` 9HB0(a`dxD^[|(3 >){xG|ɓgHi|#~ C|&I|>c9R9a*"%@XFV9K^!\.u^JL{T)?rT;%'ɽ Nvӝs:D8@6 #1(IzLkC>ԡbt@,[.)ݰ4 a@QPkr̢ EG1wz`J(t.Pr^҈)*$RiOrPGk`bbY;:UV5Hkw9$L@HSGBHފT|CjTbulUDKC#I, ` ڑ;XHkBu" &* s/OSU#ӵ3A&[/Fn!@i $p ":O@C6#-{d rƉ2H]II̱#SySQ2D&؄%IGx,`D#GB"8q LA @ld0=%*^fUA7я\d|"Df"fi544XTfE$6 Dp3Hկ_tDs;鯃Eu=lGOE!jg"4ehCA6=mjKvmnw=nrFwսnvZKQå(F\nnt/6h5q$CAHЂĒF XhPk""c5nw49>-"DxC!$Q*5Jck|#bX ^ԠG#p0B@xX ˰"a%S dF@F8bqoz;ZY s _,1WP@4"8Yj(IÊ}н%=,Pb[P$4DT샿t,$"4#D$<&t'()*+,B!>%/0dB-43D4T5d6t7C:;C/,8>?@A$B9ԄKp8KkOˀ? ?ȀoDpGe$np(| uyz,E^>eHbeX`4HePlTȅ\m?~,?beCD XxGS GSEǗɘI8Gc}T`0`KDHKEHHdʅtˀT Ȁ0HaHGnJJ+IJt?kɖ$@ ˻K9d!쾂7d4?оD08EXXa@b L{$L (`h$Pd00GK8JMSdE08LʦtM$| K?L\ܴvtGw ZXhXK3hZ `Nnp ZX34NcN鈅NDNw (D Nt8 D???džQQ3#e`H?HCoWqH$xͣ#}QV'e x|%؄.W1PT D(Nn hdžu/Xẁ>5XS$6X ٬T/eXU:uOuL?H+ M 0Uwx H+HF(0Y#UltH){+f۱%ztVV>RK)58E|X HTDHW}5\ẂM %XQKn@ L\OQuGK}OXN5ԅveOD=Pܪ}؞ Ǡ]ZU ? LKڶlKܟI}^K0Օ-ų}h5i;j;Lp_b eW{50=n,_=;`Mȵ?mΑ4SԽwBuܵΆ MYG ]`?5%I] ݝ`U~ FHK P]c@EIba ^!&b# ^)H< 5ߢe[c_ќ/ƾyU|uWǣ|?HE`,$:VKT\Mʝ۝>XEX]aYDԎqd>-KBANnXdC?E&A^K^ } ـ 8:d PF`_XP faMM*h><[8f eU_SbeDqcs.cG`Qb`H~߉M;gM x:  ?Vh6OmGLPXSX N?RUEpV^L, LPe0U%VEjFja妾jbXf³E`jdM߶ g y-ͩ2+֢ľ?[F &؜ kd[?>bl6P4E\7;sf9s;<@tB7CGDWEgFwGHIJKHMNOPQ'R7SGTWUgVwWXYZ[\]^_`a'Ab7cGdWegfwghijklmnopq'r7sGtWugv!, @=DX0"o" y(CP?AaԘ!X62]:JP@<QF揆Md`?| &U@lPU(!YfKv` r0aMtbI}!".iu8u6 !,F[@*\ȰÇ =DH1A3jt!C~Ɠ(9z! $M9?ks`A͟@ ?{Ajƅ~22C|g$|V6\Whvt+شihw-ܴش={7ڶ2*[4ࠄK3-1PY3dDHt2X۱kiW`A Nȓ+_μУKNسkνËOӫ_Ͼ㏈./_s#ǟ=6GO=| szDe[٣ǃ=Dψ7 'F`|-S'7|l2d 9_C ct@?DRB!,Yo3A@*\ȰaC"JpСŋ=dЯ2TH2$#Ȓ0f`A?f3 6ITϠC*ȥK5" 5f?XR s \&碦BGl -,LrbTm\ EOa-AcǐzG>g(3"Q1K&b ոsͻ Nȓ+_\N7뻯?| Q\p=ԬPD3N{GT~/HpןoЉ}!=!=7tX!YuI]v!n"v[#" !,SmA=D „"cXpŋ#z 0bc?LHXJ&9fWɟÍGP1I2x#|(ȤN@0O MpN\&4|0jP2dhl(P,Nfef`aͶ s>+\ڼ =AG(6X, =0*bz r !,Hj  B…P‡1P#F@4H~#(0ɍ#38K&cn#L*p#G7sC&;ܡLj!, + H*\ȰÇ#:Aŋ3jȱǏ z!CŐ(S\ɲˍ2D W˛8ss`LhIѣH SͤPJq)J<ؤʵWVFٳh_e:iڷpB2˷oµv](뷰᳀|cae%S̹3vKzM#~\& -ͺuDЩ3uM_vs.ڶoߙ&x(w@ήƣ)ۂ 3 '.e3XPv=k*|x9w(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v4—_&A`eceyf_k fkxYi)n򉖟q_e"zj2:fAhi?f餜)&jꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/ofV(>N8f S*?ԨD@$GŐ/P t`6$A<0&ub0_B*&K(* Ą)|C@TRHDbj5,HH0C8CXЈD?u3< F ប@j"F:z00|c6 { "1Ԧ+3* R=$#(E8< uRa&HS(!,'=A*\C 2HQ AX#‹i豤 !ah#~0+E%×0PfB9'hB2-2SAz.5TNԥ:MskæNrRkX^2Taa͠Z.ݾM]e1:\Nu`„0yq1Ife "l2]7+E]4װc˞M۸smrܾN6ⲏ#|99Cu}c[:w^_ _*<݉_wQnuʇm`@!,Az!Cz\ÇfpϢN CDz?PȲe1SB\Yߤ:5Ѕ (Iԟ 9ӠIw0 VLY"S$զfxVA.>ʜ:ԭ@&݆r5 oԽ#8X{`„ ^;q? 9(̇(ws'f疞Rg.5 !,6m H*\Ȑ ".D@ŋ3jȱNJ qăS\cP8s5mIG>9@@PPDsiS\"Vo$uЀpcJ^BXW.$5Q[vFq+&ݍ-NM4f8fP#(Ɯ9 8+E&FCp dMR :JiB@ruE𰹳FB.@ё@G@MVnzbмmLBr"n?0GBfWPco[MPہ)A?6,NGPHqtXqYE8i^QEXd 9,gmp%; P eKTnVXAHbF^rE#Gcx0@D%8(6RAI<'Qd%Xwv'E>); ,I:tJ9@Fg&)?aE|!f.Aۙ[i-IzWrf'9w-AIBSI k9f$(Q6c" 4\ vHΤ,VH'4>ITW-ZXgG[6l'd}أh]-w٢m7!,6a.H*\P#J|ذŋ N1Ǐ rɅ#I\Aʍo1 B4oP\XBV4#&tAo\;Gƥ/\* 0  vKA4 t[lCl cGReNpc!&E! Cd upDA G"rB>̀K[be@z=hL$ƞ= P1CiF/!,? (Н?\Ȑ#if0E :L/6TGA($GLY?7cά9!N c3Peg!{L\.XTe "y%QR~ ɀ_!*,: HPtO4lSHQ Cs"ʼn lɣB"9` pIC tˁ1S:h ͗9ʚT Jp(&(%_2G.T +ukʊ$AIY+:aΖ:K1]Eפߺ zsSp{c#*܄3㌰.$ `i.]6{L T(Qe8heQf+ _푃P&=/ !,: 80w*PD-П0B8Q"1ǎ@ N Wˁ0eo.sL(4a?AG.%jSrNj՘+adhӎ! em\h^\&  }-K NWE H9C1#`Z N! PN7f!C.2Q`ȀNE8ܹCu%.ZXe㎟ȗ& !",W H*$`#JHŋ3jCihױɓ(S\ҡ?sM˛8sɓ IIѣH}*$JJD.Eׯ`b]ê]6ء=jԟ'mݻmAs0倗j(Nuh~#e RWBcBkxR,=d:$C;%UGԺ_)DZ#MxE"L ]Sc0׺b6BʆyJ #¤SlqI<a~#fHIϭG h|O=S'ІtrܥN]_"a7(rяΆr=Bޏ'.B@ LJNU|THd("O(O?2SNБZ^42ldqiL<:taɔ2 Pd" A&2LtANcݪWUW?LxK !'zqQA5/[z."PADB5 &SfB?&˅MljTRX1k" +{\zpqkfE.Emb;VW(Br+p!l@.5)a\`InK'Un EpJijC I֮ vm(L PVNP ~w_"oXU0C ,N5AZCpW}Pf !vg Z"6ŵGIܷfȉCCHlkWZ*v [l&NׯSB( Z$D0+jkjS|&1Ύ;T#hMB|ԌhvltnрzTyHQRDO1JAT'NT3zFTIfL̃B6SzE!CL qEW(%{[={KZk?Iuw lӜW{$vִ`n_w$ޭpc.@ E ug*Y0H7".x qLQ11|r5?n{\r֙i=e.V٘nν ܚ"?QuЗ3u{H/b_3]hbXh;f 0pO> ]Mv;,OuF3TN>r`{6&^`ҟjzﮋ/촇E!Q uC9!C#&snT:'?N ·w` Qsv :SU7*  ''끁h~`}pW%# @pPz2,myW.>S{{Ge##'|#x 'pP;iE(E<7r:TH wN@nP(Ypkٕ ^ ~Ye9B6 >t9qgfw|v U3{1v99P1ƛ[ʹ̩Z`\9YY1@کF`|F%)ʩ ٜ9ͣzǕxI7KPys萜ʜi; br)QVtSP蠠 ؊~3l~yZX|䷁F& I@ ACxL9: # Z%ԁ(ixEИpP X,X|"h&P~8p5G湤˵;O 0Yj47[#W0Fc`iFSd4*xgH:3 -ךLJHyX狱ȨXx1_FLSM֯ } 9fx#C͍#hWH|zX +K`>HO__>ׇ_;KXCم}i%y)ippo;6H^Jޑ^`+t=`ӂ̘O@ pNɓKy<٫3}Z+:XL3`ښ0*/ ip)>!Q.G"R"!/T\ rA AKM95d#2C_kMaF# U.2?4_6N߉n `AѺWxhzި^=:Ca.ٲf-~޷؎n'8<}@ӛMIgmPmG-KIڃHʐͥmAȂ.2'(ѦA, e]npr-bp(p0}\>f໭}\8-NFOSHo0H8jaƎht,~l!nKaUyCܽ{A%NXE5n"A#DA#vHnH *v#tAb1WDv* ,8ED*pɒFS Ė`YiծHM~j:8"gs9m\&$'9uNy'ΤB"S0v Yw j٫/1Lm[ܹufKvj70 ̎x/w`b\M*vc4U.h wu^'u]O!aW@DR,voIpB +P"2< - 7:#BK4D4\PqGL|BqFkFsqG{G ?$*rH$T"k8W%^FKiƸK0q"JN00T1gWXsN: <ǔN>Tk(:HށǍhScJT,Rʍ =( GyTv&j# 1 (.Z?6-@RTs9 L3Z4v[r((Tو  )!s 5n(foTO k/f OB^1ʠ}U\7ޑq(Ur$W1cqa3Xg%YTPBXf2J. ! 7YHJՃ ꦛ.V!ʐdߊˠ6R]v>td_ې+7 fzL(A!D!ĺ#f7䫆 /D17\f=GWB[o] qVX0z-6)Xծ.@4Su"I 'hG!@HugL*p@uJa_# }0#[jPC\K` fђ>B-aD;ZN-aIs`[ `As*%t?2  U3> \oH?f` $2;A e$` p$ K,8;+rp['F=4c y79p@,<b8p az2 DdT r-qY܀H-j˱ؓ%Dp[3"e`3C)S G 7a ,< H.fEÂvSP 9C:ޝ |R)Nq WϥЂE|8rc :r.`.@B, z >͍ZĂצ`Z@&5q[o[ͻƵDbiyPo#ôg._EA=4s#6XB'fxOn2^7ݬ7`sc@–f0+#0C_?r( PԱ 50ZH5f5ݷv:'ba͍o@u]|=_ .x#cnh[̵l"[&~S y! By>zo;xNE=sq!a<Nn;|GrGCc{1F4"o?*e#fP\̻;]7 vsz#Ocp%:C>rH[;0]9C(a]<9`S89..0C0a.㶜: +!J:4l"#+Z:iB *Bސ*C7ػCj͔Vgs^EJS)kT0"ඖ`̳aFPk^DJ]#E5 Έ΍)Ee䎘Tӏ,Sl ˖CRE]T+mV IۮY@LTeF )Rքjmn~n߅BB$uG֟G[bt\\M˵\ȵ؛nZWc\v[MInoaZfׇ\X^oӕQ,[[\Oې[o,p pv _pkM^mڋn "%}qqq=pzF ao Gۖ\t]r&'ٝZyB$?*,/w-rbq/WGp1Ϟ4ڽђ]4ȉn:s;s)*")I%jP␭h (ⱉZ˨ F?pTE,ڨV:-IAFQ]vn‡w*ʓq/M+Sڰ?0yvnA 1$S1C7 5}a@FM{p$ J؜sAW8yTix^zׁfǙH`,#Qh#2RƘ!PI8dAE("Eh$18%\rxQI(XM%1P[䥙!AkEH&]Yu֙KqBy9(q,e&f_YԣZz)\'q)e>$bB1*B`':+z+ER$+ k**,{kгq7-Z{-j-z-6;.{.骻..;/{/// <0|0 +0 ;0K<1[|\Ph%^<2%sqH-'<3qfR4עd9{)LcҴ6)Nsӝ>)P*ԡF=*Rԥ2N}*T*թRV*Vխr^*X*ֱf=+ZӪֵn}+\*׹ҵv+^׽~+`+=,b2},d#+R,f3r,hC+ђ=-jSղ}-lc+Ҷ-ns򶷾-p+=.r2}.t+Rֽ.vrw#wy7MMy47uGK/}E_3E_Vʁk ^փ4ח5Ȅ ^ 0LpkX,/1<oͰ]<1~5\8Bq dxJ~}e,(TNrleW^(<6s}#9i-8evL:xn3AnrWh; $q g"Вf4`,w-iPgCEzc>/NӞp[:ת>9=Y6[,kaկV0Lk1ְv\hD7ڿf6ScY vMi8ڈ}y܇f3,Ht|j.zmF/{׶ÉY:;n1 qV󄡭fgx]nli{JtwJ<.>7!}(sI19\jZSˬ!,: Hw*<CD.CڽE="P`B#GdA ;ǀdI8دMS8)ȋS&H??$UQ0H`sj`Î9"D-XbǶ-Pf&8 ÅN\\~'q~d0Pd+,rQAL-#L M3DPdu5`@rm8!֏!مz Y K.3X(B{?Av)>|wiL$_؎J9& +SNh1ߓ3EN @1!hNKh:8W0! .ܼD ȰmObr;lT޿ S`šǹ6ql),F+Kr%dAr kA. 3=g14 2t; 2ROݴX b_gݴܢ&!,@ H"X0 >I;r6 NL\4hH7Ur߹nI\#k` lH)Rp 6Ki?Jr6`;v ,{gS=j@$Nt=@Ep`^L|%Å ~9sOW9P@PFh ' =Z <1taO]_ \g~~i)= -#×E $dF_K5c_Ԃpflt|!p˹d[!,A (?r*\BvhJN$L  1HR`K|!-:h J)`hߣD߈^J h)^PdBr Jԅ-exAI0F4V`20mI#$T`\Ī4J$7A}IVa" b-48gRӨS˘H`/ydA1r0c/]j W9 9"!!,A (?L*\0CKJȮ~(Ȱݒk@64n% \24Q1U.0d?n6H@Å *NRWBIz ~d h`R& !$2Gl:dL8PaM@oۻ%+Y-BeX64 G(QF4B 1w$DXF-3B#lHܒ?'s"p!,A 8P] *LFƤB #&lp_; $.lP?h)$. s\G `R'lbjA.\`p'Hu5@t #:!~`90Jl``Вd pϷ}sp9%#b >0 !,A H "lO92p@nkNsG2jDcÁ@L 9 UJَ?L\دߤ6o3!9E bƁ#Z} Vf4`1%5"֎j[q ޼k=dr&h8C\ۍ!*[2#Gp@@"\9 "sB֭]G(Y=,,qW/#`W4D  A!,7GH*\ȰÇ#JHŋ fpc CIɓҟ0cʜI&D-Yv͟@ :PeΣH_]ʴӉJmիXF*j֯`Òk i]VlY]E ˹,YLۿg{kx[w1˺#K90Մ a)p $ D2i-L%g lMS[6l#6ߘ6 &[ !NF_'nz9#Nܟ,| {͂_-W k|Sh!GOVZfva"$h(,ڋp(4h8$ 3ĐC#HJL6L%MNG&%KSv`(CED[pz9Uv%lj|iPP'MȠbI袌Hb"02jo:$J鋘*ꓚ6鋒xT)|:ըcLZ'?⪒+슴.ieRӎ ӰV;E@KX%;O?EH;Ɗ--..!;ҦخYNѺ 7:br?# 0 wg:F<A9<@0 r"K(@G& 8@lt3X3R>! $3GN?4-Gwe7.mOp0:\0Tmz-w`((x]hOEm3܈Y}sPBT4`/׉g.ò>x%O.ǭ3:KdAWn:nζ9{'IAmNgί=TrAۗoOպE2~o >m1 ]ǹ~2hyx d>̠X Xf?,`!'ؠ Wd4G! gH> Wn/ !,A H "lO92p@nkNsG2jDcÁ@L 9 UJَ?L\دߤ6o3!9E bƁSZ} Vf4`1%5"Nj[q ^# oB. \ .A@.2d0B1ch3 8Ptk`aBr7Î`3/cb2eZ451S| I;!X> !,A HT"DoR!68ׯ cw~E2j\?9(1c鏒?00BS %9&{ &uS%Bs05p '2d0H$~kԕb0>)CNkBv_OrB)yȐ!BXE89ݚA`%7!CiӔ#S]_ NP1FxZoo 'o2*< "N:؞KZjX0˟ d8!һ H(_-ct!?,  HLׯÇSŋ3jȱǏ CQa(6H˗0cʜI3&MLɳ)2j Jѣ3yTӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LW4`ÐɎLyE`dڼPȠV\ÔBk֬3а=CԫU>W(^Ti 1%5k֪+1gM}x*9Y]w?CMBfGw,jK0ؾqGŏ,=uլיOAnA;TX@F~WurX @d Ίd9Î9*&̈@7hΎ9"氣9S9괣smXL ded T":dSZԣM`sREa?w 3AC<m@&1&G9ǩ;Tj&;E, G#p`cN 3IEʫ' IH%NZi٩_^<fPIxY줱ChX<4Ow*, M9椑Q!pQ /Ƅc Aޛ/ݾ \'Ff?{g! ƊDEmm9a!;B_ uxV+II6v:"ShTWtяo01ܐ@ $4t h`#itF ^S#!Y`wn޹@kvb6B+npZa&ǨO<췡<,Qc<,h@ȴfO$X9M N=x߇?~RzW'?oϵfy;(kX2ƌ_ 8cu.۔:LW=HĠD7pV ,r F(Mpm M R`/8wxHMwG3r (`2@8g)se6ьa9cYہb4ZiP&"+a"l4QGI,搛@T"NsbF@ZO&,=PdM&EEAJ VdviIFbiQ(SYU™_ 4#ԡr(%4 s|6d r:$`+P4<d10 < \&3Ch~T#DiP3g3`A'7Nk"ZPzp0+yPMb?Qɏ+hƤ;ߙ%,բSz`$ V:jfX o:`EǣXRuQ:i#L캖aHCz3fЪF!&,Ϫ^$Ц7~xz []CnXl,. fÝ׌o@FSc:?7菍_pzRs E0paEճ\sιBS? 9UH授޾.x;*JJԟ#⌾4G%cx=Rt "$ )dKPm~ ʎ BxgXgEG9$hwG&7ϑ\z# ;a#$Ty-h2F2%65s%#.VH!XF&.C([OE\B35(\8)3]))"*]__S-B^`Rx-_-_,rNbno-^Dp2݈A,ْ 6a$(aRaTEwUhdFb+Ïb'b3--f2/vQmUn[bDW2@chWcW12@z\U6eeEEzt%hBCfa"eA8F5[Gc8sc9dBg5փ qYՑY%:p64qS$1@x7!|viSH9k 6:p9CY9tsIk6kv*P9kS9qhdRƑR um&M@l3lFf9mSmlcÐwoo&?cns)o:6}Ic惍S4S.>h2=ŕ>xnpa (p§V@ @%tA!7r?gr(C,T"0's7G=<^NCG reKH䟓PiaCax9DI:Lh"?S VR£u^T_cgF{F}gHvHcqv=!tCvjÙG{z2#8vHA:# s7GZ_>]D5S 'xוXzԀRzX~)08TJ^iW^K0KgRCzK[ZM$Lr{u14ILY{dMD||7~|j}ѷNNwOܧODP嗪Gq ~~!AS~懫%a$*7!nutT/]!w ;$( &z(ۡ7VXXuBXEHX `OXJ(kS15(EәXZre`#ӆ-B'YK+tYwZp҇e0u[5i'%G?V$" Vʉa((7/)<32"%*^ܵ*+5^b^ň(_U-I px.Mg 5ixI6iE2e+3<"fbA>8# 0.dc;Vd2w?12/=J2Deu3!#E(n&f^cH=Y5WhZf+gwd2)gZ9˹?Y 7{u[` i|3i.iӷo]g;blfl$J=6Fjwپzikti`˜R)Tu 8fRa;:a<{m83sS3n pj@K!wGt9O1 4CRmq A;'r=B#)Kqju (ZEWԊZEuaWF{Fk10fiG4Na`qC?ʤJ*I-Zxl,[He"Yyhm_19XZ%5wbI+ \݈6[Z) pi&=e]!18!vX#@_6,]h*،U$WYKrL]{+f+Hn;HŌxhiuKpXX,Bd mw+&/ɡEa /8AAƸ,0X0;uM<˳c@60=+-%d bIիȩ{] i[OݴiZYJ#i65q%K4B6legfɹAD]cMU#>sVQ]\;aciOb;rio)r)G]%k12F:F<z5ŗ1;iL7c@˙H+߀<σE\oaۃEL!|h@P8+,5$z .3I9WLqF۩"4Tl94]mcqy6R\CSƅ1/YqBLˎ)9t2 fJv uOT3W~i<˃w_}`"`25j3a!ZKuy.X5;Ϭ9eFI?|C-J=-\ڰY ex],kdͱ{Z'[`1~ZˉK)m7|"EٲKK__1P_[\= 33ɏ kaί1 +#Y C}Eλ;*HI7DnGAQ ;f$YI)Udٲ1e΄&L͎5ϧx1TQ(4GdD ѼZԪT59v!tnII,ة`VҘeꕮ@Tt$֬:uYaĉM*e,3䢙"UZ,a~1N ˒Ma" Dܳ&RG`-2ͻx۵]+^13T9Jc,g&ڵ˽ DE DOhߕ !v 0'9AyϤ%+H|m[CKZo;F'~GfY~S7 70DGȄ,1!+r퇲`80a4!GB z#sBɜxCs 7JcyȂ"G& O@02~Rtƚ1sQ#))oLaDu(~u0 (%R%j-PE}N8 STPKHUvٕ=%)}f2"ٌ͎TjYlI\pU:g L6mFFFޡ0rH=aQ*N!:OWl=U(bE6o&4G}0a~԰#vTTD/؆\+p--4 S8xS_2+y8K %T 8 Fʡ`_|A +!H4QjGdrLy?$I#NQbAE0-a{H<>H͕%cjqd"CC +b7K4#;H/2%`"l# G< U"; tDw";!Ӭ8] p&G!_*if@w4VK7UM^^3b\)SDEO(,#EKgB@ V䤕B^Xe-m\P"}El%#(COQVkE, L"3Vb<=c}&?p%Ucmnt7VpSH)T/"-uB;|?0$J a) RA!{r'?HdVHBBlJgqق`(Xh]ҖH2[\ȈF6ɍrNI"$79 JRVu`zHK&!!|s]%,RL8LiZ[:^/Q7#sT$O$bcגBZTQd(dR n&BUrSFU*s*Ud+sT)`L ,IcN &UkV1ְ0btJ@5F)YLq-hDF.L4u(/wuɻi^QIƮUٔbn[20 [SXN9΀3߆Fb˘WhHGuvɬYқ3ufVlg&5G-iKkZ]͸쩤joŚ^}k1c+Xdm ÖL7_omm9%crG?[Ӡz ü (v IH7an]T:qvt\Xa?9Lxă>-''za> mpa#!Y9_*& wS9 2NIN M١Ҏ@ā.'XB0,KG ]kHT%O|ĖtvPbfqCNZT4ccgO*ēƿ1L/|.L/////>I8ΠA 0rE10aj0 9i #40UQ7s&*C9Y\V1Yb9sH;2&s'+ ,-6q ;c 34{M7FJ)>Sq\839 X4̭lG~m4(LGGO|H@A2NtTCaHR+ŘfHLxT4Ia+I< Ǔ iɗfĠ_3qG?#ʹrsH1K7V!pJѱr{P 7MI4v+K8iYT<Ɉc8M B!$@@ Y˪C yÝÖs k, 2:ʪEpw* ZAp +M01S cѹ@ 11<3D;z*s3Bj*"-.%3#s"7*ɣ#;$L,k;Ǔ$J@x<+3/+"PЈ4A O)qKj GP1<ͻϺ+D+ W:yﳥ僃=sMdSDccj$ڽ䠦.3+a r8x>iO4MH,xt>{2"]>~@zZ+(L[qtRG:3z3(J¯ E(+ )+DO 򌸗RqK@S7)|" "\Az@8A+4\lT[3 : <(^A(؀ (+UxQJl+)M7l1.$\BA,/d,KF .4SLsXP+tB جՈpB*!% p W84-6|7-C!AC<\.EQ?|@\؆(AH/ ғK, 1:Dm.u-9( * bm3_/JڀڜIDD!EcB!a\}E EZ|1oY 2sP&"KF֤07 /^TI;Y0 `Om ``1ƈZL2g&hd~m{.E =r<=UFyY%5GG=kqG R4GJ]AɒKӖ\^ݲCKO[HQ]^UHeh- Lr{LdCfkߒL+d_D{I}hEGM:JJyK7۩=_uYKCKаK&a L S]dҳXb@ΜS<ф9X9 ~͠M1M| |c:<":N5B*]1#,+&aT͉["YOPFP4">jђw %ţ%m$kR)e}PbeQk"@8ёPQPQFn䴌3=q@5=Rj=k$,=%|7pSuz0}(T\/EqӁPdx.u>ܑSV:;5ʺSfA%X, RPgb)T)}T}NՋO t~9fren`|K3 Dv͟ Tx*:*u3!ɡ!#v؁, \' ]ߡ*vcju紡*sl)Lt;O&ʌ Q5*er؟ EeSeh6HM;-¡IEF* 8Pa. Awgm`v_P <,OQ+|vu8n>MSYzgnRxa*CRfZR|bgLm)&mj 2ugиfR\gh E-@{Fӊz )tZӋBEKT7ek'hiv ȕp m{̍ L Bu zk/յ#BU5򾓇*i^Mh`U{UXWTw u"nzJ f]ĈV\k?o-&Wx+A ,!,p+y5 k5-|g{Һ\fo^}9X+$@ yڷ_5--Ä.YJY\=${ DNIkn u63&udbaB%Rğ9si,2PeBrCSv`b.ȹCs3Qh!Jr8߈bNJu`XX2;o_rkƌY&( Ȇ;滎KF\hGBw 60 Rבh%?vS ?7uDjB U#mEM]+>5lbI; ڬg/c`KZ{~aY7+ 0l6f2q>*5?EN퐐 *$ GYE&Ş{/`A%Ǘ)&Pnt18cB_ke1/!BA"Wd:؄$Q_5#ix7a9&e8@CZf!U@uy'3R$EVXA y(*$ 4@`` $,z)jRzn F4):fS©ש:Tj'W<|I:iz!|$l}ϞexybTJҶW\!]awF"+.^`tpZ B䩠Ѩbh,fH04dC;m@MgbP"?hG@EpN!1Rmt;5sɂSe3̕VE&>p?\f;n?- ;n]H}w wQEGeP#Ds:2R$] "Y'DOU`3AU{ w`ǕpUyJCh AX$o( K<41&j B}RF: 9 {cz=}Y.>Ay#drqCP"^@T@$p T*BX2ml)My$$I@7(FA^))|g$t]Fe*UQKv$0ye+B ="rZtͥ.UVcܯjIozxP2fnѸz\Y9#OlpB3sә1gsH\LRV.PxOP#٨hG/U 6R;F3{ CZ)NR ѨYL;=Ҍ&1GN)-*TtTO Ԡ խi RӨGEjR*Z}SA%UEk-K['jUʕz5AwMSV*ic9^ W|ť# >ta L=Y0 +-[*-[1$F1}cjۊŶv2WlgflYy5z*B;*AÚb—~îJxݬ@՞v`()QR1NK%с pe͞mބ/mcL1 V˖28OZgr湨)%@Ҙql6D O>|3ø+=Q+ \z661:!hS[JMnm29%G]Lr:%D'M W[CA_jsM,f]gsth I q)g:.]iC;W!35'i{0!}4-d&B:mãk@^2}NeZ^"}I]ƈL~oi dXm! !Gn3:B+{MV-6w0n8h"?@#C8$k$D *R&!Vm9+)09D^<1+hO=JN!cx<d #*(l4.XZ%9t6Q&"N6㓡fJ@~4XKpϲE9?reD1yIL f H"4A5W*& 兲('9֘ fIyԞYgp3~7apO@4A-|Nf mMPg.V0z+5/Hm}ȴ3 %H򡩐 JdP`ř`X(S &U mE XAPd  \\^`cd ԭdJ h| ִѺGo׿r5x)!Ds | A}W!X&żW4͘X tnXьiH WXL ~UXߑN͂ WY%U plxN`1NV"|"eNMOt")1X C ,C<ϯMO IݩZ66nO7|R4~1PDP9۶!@\ӡ@h A~>Zy[)$oFZa!{QGIałxiV[b6rVgWNn(i=XXXGWP*!a ш$ zL#zĦ9,ďm %^֨a%RZ&.Yh)Uy`U Z Т*.,E]cL#hB,ZVP럶j$c!A;Z8qvxEe8N)R<~c<^k#xLX?"e-@@Ld!%] Y$Cc%{z i I۴ydFd!K YQE$RNMF=dVlX^SA$Pj%عQQ"-e6SPVMHH:]-iWRB)ۡe|ܱehR\R__R1;`R7NKmcr31fr T=:MFlJaq"=m~agR_]_ m.~H (' /J4 i8'Iʇ(vTZ/"`~gx\,qo' '|VVog~Jڠ|Hhz` g VyږVgNUKNآu%viw cC̛^&Ǟ %P !Fp!J4("rX2b"fť̨"?B^F b-CVXӰ5q;qrFXCTت.q3CĪ2&avb.)nߤb+!+ d#bBPb1PNkY!"ٮFAr++)r&D .!;D#5N 6FVOm"L伆O=kWGpZ:j#Xb H>d%=d=TFlM,CXlB$a"dXN囼!=A9{̡]xsmZ,!͞$ΦM,FG4, m&HNG6Fs2FUG7$K;$G %MQ*]U2]r%T>T"F!T_RK?ScuQjp]S{VAf. rݞ%-mJ\%% 1e$AQC&bmW ^KR%Tb`:6՗:a\^BjuT&f؈@X9&ovl]fu5tANɈƇ#ޘ䰬xsBJ {uIͷԷ}Ҕy8r(Zht7"gfbUTh_ Jȇs֔jGZ\X//W([qyZ߫`8lb_ybhVryǭgh˴jsh'y{9.9" yyиnhIhOh9Y撹YSːʠ?z?څ /BD:(ע;!0K {yz7e9 WpiIzv9 O{jEG=ɧr\{;KY7kj{낙0;@*ɼq+d:KAXq <{ijI𪪻79W(&r*(g/-Y<$cPsY T-ڔC0E:ћ$7rr.*'~W#@2UALX036:OXEVps+Xƣa̩la +95߳m3E8lA@ 6JAjERNJ쵝[]lW۽tCEz|.{HtPGfELcM\GʅJϢXޤ;/lfNH-kTňrIP2P"uJ֖5Sfu: &CRg? խWU?X`GH?4 -Y B yaF7dȐILcY3dː1$ s9ĤL;t)DݼsLڥGN!7aڡ@ԑI*e:"ói׶M 8UV`ϟA"+56KScwcǰnTihIEn?XT7}lf$Y͸c+;sSp0 R\k%?+ ğsyhQ;u &_^1rB TA W;uK3ܓ@9'4I3!cTj&x 2]4I^,ɸmџpFG@"L)K)h (yJF) C׼ ڊd&ɘx)'(<6|":)<(R2&~Y= =D]"(L5t#H* ZTU]5Jh 0 H`\uU !,hb=6(lFߐj;젊faZrIhpwf-xDq}wW3vIQwSS<(+ *}5$AyI77ѷo㝊;6Ts7)6]gy#ur`m,QWwlhgpƒc#t!HB9ڡw~'3Nj&r Тٟ"S6J:svo~+N@Z?u+kɡZnVms=(Ph $Y祖#- "ijJ`ǍL+Gz=@1u)0넒ZGj)!8BYw_x@@ kc?=[D QAb7^z||HI)E BfS9>4z"2"JI < -BBQ/*`Lwȏg1 ?OsL 0#)d`GP6"U1C7JhNΰ4-F(1]Gp#5EJo~HXD#r9@$U! '@ K`.Im"3G w9rd]X6J*Ē$ѱ|eBH NSG8IY,h$ Tbx8rL7aIN |,KMPZ21A!`dD;lvs"U"R"%t 6iK݉KJTҿd&5IN:%# Q)[U2c)^. id& f m>+)I`y:+i?Hc, "\qv Lh@Ჳ1(< ;cH(dZU&>AZ d"' XCP%"(7*bbK;?fFiHcBT 'YJVܠQ)2=KPiBmj>dӊmFfK[?E3Pbny\N !>(hNRs(vI@%*RJ %]~elE*XɊVoq]%O?ꯀKxU|^O7$` y 2 `Tb0B?,f͋I*ZoHb)"^lI["mVL7K5Ldo5`C#(̄.P?~~R X611dsC'&8P2?dWf7q >3f%ke ]D F0Gh"oiaf`>y$3NF1epYE_#>GPg[W;J\5%Z)54!Xb { F@XbGmmю"v|!ܨE,j=!BfH{_Ȼox7n_w;& µ^N&l/9Ss_MK/| 871m_{ c7QZ`k!u|w;훫-1ycsX+'I_.:;_LװI.1 1 ko\ v$=!!G-jpe3?\-xrF2͏`/2=!}|Fc^߾ov>2ߵ?bg[ݏ3| W>zăȕx Fkny~6sύgz? n#$J O n0!/!p:  O#d 0\c@&.!V^DOC\I"*^#n TnV` ` p<䎎 n$p0j 0M b Pq Kf6 Ю**l#b!V > i1-O $VL O\MQ_p ba FD +EE_2OU̴5B 젱[d^^ pƤLb"ڱ<4PP ݥ~ER(!ÅBeTJ"žbeVjV"#E)X%#?XLL$Z0$O2Ur vYz %_U,Ŕؖ &oRԌ^& ''AAƆ#i(IfQbm[ t$beb4&H* '#Bfd,RQ0*ߥgSm`f CKOxF.`!h56,.WCRebB-8gin&G&1$skkgȁl&(؆\i#Ƌ3qiaqfb&)`sH2+ʦod!o0"p!S*n.sT͑h#F JG yZ~;_vpvww-yR#;γ}F}g#`d 20c6(`,'!l.3wpA@f#$BUnehlk6GHmHfȄ$VTg0H 4гKz(h4tSoőnK#L Ș< r.":DT#R -:F $I/U^Օi2&a@~zG՞vv_t5HBXÖSu)R3951E15J! tƩҩ؉| |TDYsH;Ճtc~2:8 !i7iIi<'3#,tܗCCE:@m(EDUE3h}btF%t28!pT Y58J?|TjptLLtMR t=HNw ԏ ,Fٌx4R/S1#dUXcYTC5h5UE9!Xu^5V,Vo!$|5]2[\ʕ\H. I#U5Uju7Y "'GWcuc%JPp4f1BHVNT+T0`' h֡f;^1>7!HJchlmCl9lW#ж*2vޖ֬6ouz9-sqaL~fQVb7HdwLlqWwwoLQMw<~/zGO'W#WzeU(2.z#?#v7}K Z7W%E~LVtS)arSu*偃UU"y)T-Wcw8n$$Fl!2[=W2'kb88gx33mxb3-\8c!;3'8_r;tsSVxy,oA<8=xF=8?{6h<[{ڸ$xr=DD9|E/H7Fwl E!ï<ܑMg%)a.Lm"pC_ذ:prt7u}#}3ªűv5ݫЄ=|& |ڰZ7+~{"ͷ"^{{&K7^w7$/03]D%;;?' `$EJGd#O){ Zd8cxD^d9 i{Pq;!e:O"F S!bpZ ,s};X31YG⣼&#r-R8#;;;{dG'u>Ӌ=\9‡ ct|'!|':B{ '*D TÇY_tK!N|5TkX=h@(Ci?>q.9t[c4ЇBY#ܔI(ɥQ-'і|5bg˿TKỉY !uk0A4aWȠ7~H4(?7Vܡ\@*N4y_Ƃ)%2 ˒93Ν<{yJL;oҡ̚2C#gwK0v\u!VP5"vaa\]ͩS%u/.t+ݿ*N/mǿ{_z=͜;hk 2dN!Vrn+ &udb޿h ;Lp0k9u @m"CAp&9"?8wצϣJΣI{; p$-`@QciLS@NhNU};愵C'9Uӵa;&ڗ ˵9>#G\;4c13AExN$;E^m]Nf1D5Z&`&g*g h.P031pyjNJi^*Q2(jbJjjPvhk iJk @C.F0jk+$EVXA x mҖJ P`X@ ~ nhR`dACn-u0E!Ci3C;mU{ڋS[o&T&c_G,ΟJ"_D9:aI_+.#>q 4# [N#ҴŃR~ ɴP ?\Š;Qc90xU&tL29 F9VčD\NKDcPuoEm #⏱:.8rCw'.5a-rԫh}g7՛ԧFozXEB)a;p2"PsEJvP4&D @C; P%sA9# #BRq; R1 CP29a W6 _kf,( BW44<"|ZH882!,)(=#1Z;T8*t9*QĐCdpzRg7SA!,A 89*L &s #&dAΡ%$.tGwK4@AƑD|r!D8$ر8e!G 0x)SS N&!Akp IJ]0:Jt@` ,5@+*(%4Dsfdx!  YI5N(Hc!\̸ӧe,$E Ub0rLO2.܃yX|!,A (?r*\ vhJ@&J|H dH92$9@K0/;-՝$ȟ83*`p9?E֜8e$=J@Tbu`ׯ's? $@vȶ{Aȟ ` n!?#Bu9&XrU8$^د +TJ4>Z`rJ=t+gN7IWdTR1رL3g ;]O>s)vf&^ఛ}kA\iC D42D(VFHqvhA? hbr$,8P@!,C 83:0"D-^F(cG q02G ;Ǡ%Ɉ$F!@8 L| *LEiLsiP;Vtj (cwr?#`h@9.%4\@#B+n?!>+@J;mGN! ,D  7)\8pCBX0GhEC=l)K~P`BcUT`S`N`:lSe&(FdhP :U`LR:0+ɭQy ed~RȚM յYdzP?P@hnB.HGP=賈 C"@n 7:tB1!,D  $1`Ad2ee2%!*o_%0NN*XfNzJ)J@3J9J1K2K5TUBV +?`4x(,`h ?'42|oQ?AF!#hp BzebكN>M!,C k&P ŋ,(C/G00f:T08Vh"~W f*Y_%-$L hPD'M3=-xOܷe!fS%A^/c_YqaF9ȐѮ?()6w9hv,e "Mx(]\*!,A  1`& DBYsşEׯ#Ar2?cXI84 ޜ !2`_B͊iQB TC(ƟQi0o+O"shX-LQiQB*5}aۤ!EsŰ@*b Y3dː1ȰC6o_~M,ǂ4lC%K:0KUg0F0A(9aBez*e&. ;*e:Y,KF<[αƋZ[Q+/ļ=PܳX=O}sBk"[Wjr' X`R>i5c`Q)ɀ! ,=  " р ,P`_d0^f eѣɏCzXB|\J9R`~,(p_**tX&س#u4ʊׯ`fmqk!/!3@f\de])K(|: YA4(':a!.\>N19\R% a!,> iG`<+İ@w塿BТCe0(S\ɲ˗0-1!,iC `D<4%JGB\4,4s+>!",< g%LXAY2)'R2Y8عs '틗I +ir_C+MS&2a)e}M"r̃pR;~`X/2D%·ixBda5`A)OTW 0rq8!+_%>Llc!,#GH*\ȰÇ#JHŋiܨ B౤ɓ(S\#G͛8sr#ΐ.E IrѣHFLPk*JQ?Fhf㍂b4~JRN2 c%ٻxqeyڨ$nÈ]V4`92gb-pƎ{5(y g1t?F æSNM _h r[l5ZG9t05ڕ͙ET@c"AUn߁Hg}' 4$ !g)Ȇ%1IfMkـQxO"h#D0#yd~ՂH(eJ^oA}|x!p Le hIzak 5RaqXg*?㕫ŦMSvs?5qJF6G S^69͙ve4& U6K ;(Gc^)lT\JɆfsKHM,VӠ ug ?K]Q,v+ 9a: l A kǛ_gMS խ oq87)ϧ`1ŋ? j!zMBa/I31g*ϚÌ3rLȄgNr3uUm4B; ^i,U2ֱdJ6{xQa#Ы>{¾iTi,+%XrʶՔgZNKR+SkzW|mntU6b xVNh ^yOUL +7a@@ #`[5D@r4f@ܘw|'NpG쩁8!A"̐ř2l0α "` .т@J2/%)LTAtuX!~?e(;ȣBEdPJ\5DqfJM9W\i>)5&j!2hLj^"8KҴFe !AP! QB .5)Nj"{aŘqOBNijR:׻.(O,65_z=03,qJٳ!:䂄Z ?jD3\ zD@oHL4߹x.@#Hso{av-7g^ңdܱB`wr~6.RpA2ωb=yЇdj#9 Vtҁ.472(;r{K' gI䏆3ܼJs6{B買Ӯs@LuI#V4 j$w:IQ^ rGg;$wQ_+ywRT P(BM>VƇ/sɏzL>jڵ%գ\r=|_}ޟX֩~@%]+@A'ckG fvۧ}ǀm v7wgxnSf~iFp[jw^@ ]o"qD7cpM*{'7Fv2jW}߷{f{'*Wr*{}wdGjF Wl& ^mWp8& k&hlX7*`jbYj&fGgDFFrsExaogiz)|&`hHZ6)c,g҈+Hfg+Mx+,cX)ъh (Q(H؋XȋirdFesBw(dR~r fjzn,gz9؁+͘h(rXpw),gqg:uGg|kkWkx6kvl V&8m yQҏ&{xGp.ȃ׎j\s"&r6r(x}Xz!y'-hw7xǂHV\g|~6W7^ ~/8jVvRM-Wsh XlGX9ynقWxWjyB(r%wڧ"yYԸer{d~GWtuP|7:f=){8vmIss)gR؈yג@~|(2#pkdt Ȗ]鈬iiV[w+)Bxq6ؓ=wWfo 7r4@hoGpG}hE9xP9mHHwq ]'s\`ffymɑIJ)~Xbp=R[v(:Zѣ>@Jh9FzHJLڤNPaP?9X,j /p0@mKХbꥷRy=qaYzJ}ʧptz*I#P@@0_X@h=Py;WpVjJ A֩ u432J#F :PF3nK : 1?0Ш#`X@V P3I#@;2 h:>!.ק9/hR`zڱ޺2砪+w+c ;K;*)m? `,5{@:M+ LkC`B B@`;݊*@ La: M]:nlK#ʵ2pЫ?䀭젭E p [#p@Za p@l먏0X= m)K`b;`J s <总.PPK .׫Z`И*2ngjP**L{@ {*KYU<\|L-($V ʥ{:)#}&cjʦn];%*)}6jÒ8gZuKɪ vԃS j<;OlQB<nPG6I0 Ԫ1J= u\wgKMf:pPy;P !}*S;`ɞ<KUl47g@ܟ=XJЌ'?6灍<|+_f eP / 1$M˸L[=aʖԚ&?\7=9- L _;ھ˸K:Kl0;;c** 4M]=a] QߊR* P2y?_ 8S׋%j̗&zV λ]Gʨ:ۭ}gN;) oꨮcJ߱>F7^"ʯy o ۪Ѹ%^] ϴum}I0~Sj K^z|n/ -"8NLto^~~1m@_Ӛn}J<޻U~o5N:& 9 oي?_ȟ_I{Ö_(\ۚ:_i޷6wL }Ǹc\Ƿ XQ 36FSwLjaOJH;v Y3f74y2͗5qOA%Zѣ#0#XaAK޹ifO8Q D *7i AZ$# gVFl,O%/Ɯ 0D{DZe̙5.͎"h$a! ?3F!M2v&4Ɓ@2]?Z&“%G$uّyw芭8yP0cRw ǹe:0>۳{K{ĹƐlLnA@bz8(fJo 6թ 9""[m'qA{' Êva#xg o'H sPjawƛR,KZIx{%-|բSH봳Υ#vHFq~%wpџ@Q'>cB9gԛ/! ]#RJzܳO$:YiV\L $sz#G%T0.7Y6FP.?L+/f?b6SQ-)g{ShZΉ?9o\㕗G+j_x` 6`Vxava#xb+b3xc;cCydK6dSIŬvm_0-cYef͖xÑjfxs6@0(v蚏> gQ0+8 9mڕ%6+LVj^.Qk Iv0)LMk]v[G{ʃY.9Ζ h7>;6-Zf9Ete͈{omh@_7:݄=vU,} %п_,X70yʖgcێ v9 %1*3ORz#VqLV-fa!pOXp9F%)& IXMq;yf B#[%bgWq?э@9[n.v˄:qێj8&;D(FQSbxE,fQ[bE0Qc$c f* T~( X' t%?>Z7l(:p|Ř(> '" !}bIAJG xF!xcTd G* Am(ځsCk\YfWDB ʳD9=&˘Pf.r)AeY% ;@S7AD+\ ԡ7a6j9gnЩޑRH3pg69{TLʑk!d+-ˍkPEpGA"|(FSPҚ? TŤh]ӡ| bD>*k;ީPLDRփ )@yl4Ԙ$-i]a+XO6|GJwzRū^eU`5"LiUn}$%u7ʡ,vԐ>&D?2hTZAxMuHO1@L()@4)Hy0CڦB ІSuઐCq Jm`ej]b] QlZ8b+?!&'cɕ c*kM>qXek2Ww7h^2N"+z9xc0LsaX#&qM|bX+fq]\IEflAfpbp ᖞ1hJαfv DgQ4WDi4]? %oZUJ$d"9PdHr%!"̐DfY@eʆ@4BɌ +nR]IΤ'i`g(H1;QB8p:t#Ղd]RVjsZ j)&Dw;=QI=QIjŚ>7Yjl4-~Zp㱐ϸ'条] $!rU(/ի;fX֮ M]tr'ܻ]fisK:I$E&}b&pc\g&g%۪!#':x Q]z @zG{Ζc(k]Ȍbл5<*^cI~F"| %}'| x'^g|xG^oX6hSfEcHɔ萋| ozփ=H6ʜ)''X~P{|Gf,- {1P[bAe5\$#l(>ii9o+ʼnJNÈ8i:Я8 Pq8PUY)8@Q+5ݠț Jqc S8` ;x3 lj6!SA )BHc!9Vû9')%hyB&h+d/>O1B: $l$ۉ+™BRwu8##D6D:jGZ*+j2|+'L>?CI/Â8i*HS#&iq Ƃ,O ,4*੔KIEYHSa AIPF`.by*: - v9PDb ƙg鴙PY+ ; RGGA//h S/p@ F;7#=p4DHawPL|IIIIIIpx1ID#a2\$EJ`~:ۚ0&> C kʡib9G; GTAKȜ`Di9K\8, Y |ߡ۞>$/ԙɼĒȞwTܫѴ_l`4j@,DpLAS Zî -9B2͒"@H:m9oɉ0zsu L OOOOO PІI#\ ˛ѻ ܃L2"3<0JIX۽L㣼HȾZ H cH0wp>{3B8S˸`C L(AdAE4't(UKV#RL> *A[_3e H,OA(x8Мo`Z\ǗӁ8+ BL$T{ S(i5SԓLHRF22II=-qB?Sd:$[TNzeQ2,#J{/X֖;tBJmWw}WxWyWzW{W|}1 E}Ľٲ>KP%Q,?ݳ8+ dTjϴ°9W&z*tүlCIJ ."~0PJ&7,`HJӌ"/)*8uPX᫡ᨏ0ȑO9<!\l̽)!=&*H97 4*S !۟<eCiM=M,Xe)s1,R,ݓ̏ [s"4Hc͋$q` N"v@#R] ktom {;ھ:@! ߢI^sXWM_]_m_}__fdNfe^fGe;!<ʘ =g}^҄&gӞpa,1<#=> kp[΀wU=1-4t1N4P &EYRE?YG |ٍ Pv$a]XL^}14 bASAJ7FZ!fCQl|<&Z)p° "DTBu 3<â"p;hjĤ8XD K-21p;dͭ1\KtiET5U[Xs(|9?WN۝7whܕhdb^l~2Rd;ށD"soYkT2ڕd o/2ŻweZ՚Lf&X{oAh>oNo^ono.#BU"k[_'$nfRe LjO~Buֳ=6o؞LPBQӋ O#6رA |>AcѭQ^0 R UhClOcNR\x :~R$YXhK tY-=8KBc+fk~so ꡶8ZSGn5 <ՙ59>m7-:=w6C4s ԯމUJ-dE5AjNT;U"HͪHkJH(\N29Gj4v[_VkDT7qs|UU9\'Ԭ e M2)DwzUc@9qd#ٔ屏~# )A<$"E2|$$#HdhG|B}Y'=(CP$Dɑp 1, ?jyQjF;^J-R#\HM@HבȉBID%Q0944\7%@ JyG;"GP3ar>\;ԹA#L9(#ӝ Z|a4{5 !>pD|H쀃a [@7f/THJaSH$Dlj*JYG-N9!̍g"wF@q)Q᎐fEf _AXg#ւ,=;* #EpGoL# ;(>,jT,Bl*E&pAUᆬoyifHa9վD ٬k;>b#))lj۝@ 9JRҔ-BRsc]?e6 *kβ Dskə@'Sߡ DXt s E!r9I]\2rHZw<a r߅U.t _jՉ$F"S׻a>mGsA9uPB"u2d1L8 3 7U  uŲam0ʅ80JbLTB@2h$O ԛXF#!(dMsӞ4C-QԦ>5SI$t eKU_ _ȬB']:$tM9$6vsbB!va90Y7[NtWr}ldiKqSQr\4%{@QB:9**owB$~R*,a: *1k_7$p\ic#,$j@fgԖ-̸3>=]HĊ/btjcD 9cɍ'1bˏCr9—cڴ_})0 ! , b*DXp#JH"A!bȑƎ ?)rɓ'DrECi$eBqQ™4+IЕG ĴANA&-JU ةuҦ Kh2$3hQd%-TSZaqCZl(nر|ieaF,*ޑv.:$řQbޙxq«*7OliD3p6eES4QAڶH(m#V^ ^w;IdE j.:횎vS4 y|}wz\V}؝Aq`S:%à ݄5yt^[?GPݗ_m-8{(jm_[o1ڇLXc?֗مZh("$jBkҍLe8}c9}U`ThLTx?"@Ŕ@0q1 ['P~s}9Сu)fLP3(S+`:iQ楅ʨ@%c*@KJrºꨎ%ߦkDIJ?V(f|j2j*% 2rɲ{Ժk^>+rA( ۬n}JjqS}*/`(koDB6jO3 R:Z3U:2Pqq +p4,M3Q,m2f|5MX5kW P͔AL1nj.W*CǶp@lTr]lAL9-sfu.S%8tJ)-WܟǚHYK$N$Kew/u[ ͵|emuBs3ۄ96z 9^2>VcV欕5|͟y`4+W[Ʌmvf(贳 FAF^(E__k2B>e [?]+7Dϯm|NSm>U:w^}K⿔I' ;%Kͨ6 bS,>%> A sTbh&6Dfb| t: [B QhYr GHET`vfPyA4R&hC ˢ^̋m'47\a" DE\Lb!\.ʁ 7!tNYL &3nqV2PA7> \A3I!a \%Uٝr.J2h$dI\$R'm#K8\ܣs DeۂLW&L-ȳ.=4Yp臋 J3:bv> &uٛ`/=y/y #OuMD 'VF BOP< ,2D {Q̌B97RmNhN=щztuinV X␺kiWlҐ7+jФ|W /6 &:NGXSu,*-x? FoyK{Z[gRk(ps[*%bWN`,id')N3,h0!K%ȊTkƨ5t+STD£@s([Z2]!E2w;&zZd,티Z<G\ ,d!-JIJ$$ϋE;w4Z {NDDT#*rJ!n1b$ F M2ΰ7{^އGLb(NI!,<G0fP`~˔IaC͎5qc.K@+h+`Rb+sҼbřU)#B2I'ȁP+ʆ%Ȓ ƣ~u,!3E駡W>jki "r#gHK2$MNR լ@ jVm=%YS[;ukйp-HyGqp݆6R~r4DЋ&~r(Ag@&m_?! ,P b&MZ)8 B-#F(H'ŃDžh2` I&_R. CP?A2`T~,d9Пa4R #}TD2uTInulר:8 @jt )H /q?-.ٹ t-Ь )[*WǏ!,R t 8h"HCˈ_ A , TCǗQ"l ͛8sYB sA@-2:@PKJޤEpl@!,R  7`\(pC"J1ŋ(z_?x#dQ d$@ FۈП̙jެɳϟ@ Iq!CZ9BQ hQl2EK~r4dl ;d2PAnefL0pD! ,R A *LpaA#z8HC# ?xEa 1 ,8B3tpdΝ=74qnFHZ< 45]ԟ&MRn<ԁj9:LZ"hOg{28H˛lBrP# !,S  y@#(\᠇ '_e'HB,8D#8pǗS͛8sɳ/"4A?9" @;UA3zR&H4Q,X刳h!,P @P z@#fЯ<2xa Aȸa s`!F3tdĘ3k4(s˄iӡ4ѯϛԡ~ZhiPU-lVeV/lS@= v3pӓYX dkpg@!, 8b*DXp#JH"A!bȑƎ ?)rɓ'KDqDA*YM3¬͟}N9*)t!̟Oo 93RL_N]:iPG*Ͳ)2 ;-GjE1nZ4>ĽEH/߬csaCdH嶥q垌RV+ҥ &MYp,{*mرCꆾo-|p7-|6[[qktק_n:hDZo7pߝ=߽6j5n{f7u7^rI߂vnؠUh^yq`y2G _k(]ukɱkŗ"{0ؓڸ0Θ"ո#E $#\C ٣dOVɤ=9Y~ F ].Nۃ z)$iD\{pvH-vZH2YbKJp-Wv&M܀`}UU7>lWgT@!, GH*H,``‹3jȱǏ CvGɓ(S\ɲ˗0cʜIM"s&L,4@JѣHG\ʴӧPLPRʵWRÊK,ԯ;Ty &+ڷp=hݻxMx5& {k,y+^4|ʄ8 ! SaT3碅J۸R+ !&X0PfGmtGtsEMq#M;D\x_^QÏ\548I nTGLh?aR!aIIQ2 wZsm~fVH{4~$'x[㎍M!?nXmn@!plOF9e $HRem`1IR$lfI#8X%]~c$-I)'gk*T\W` h`Dt/<Ci1Ɖ#`9҆9}hPvCP2s5'J桗иök,w5A X0}g9$F#f/~-Pau=T`sj: ;fbGnR+IAz^P\V?{k&wӬ]i'JաOh)Szz ] +Mz5Y)GrXJע.fkAӺյ%rk\ J& zM,AW*|mbaثb !@PBf!@$'1 NAi[[ҕfɫmYյ,i)KP XIr\pa u< Q $%I_\NAhwVܖE䝧z;Udbs-,I*|n)\ ; Φ% z<-h{嫅D/pE,׫#bra/L&9V6,/KX\|b4qXnD p}ZɅXN [ P ooh* Jyʎb5ś!?ni;HWh̅ҮpzgPO {^%EYZRѭjk[}vCtT>mۋB$(Ike;~ {Q Xv곷hK;P^)KSsBSMmfFkz3o+*%FpMnwR"NqzdAK+ʏȒ UL d9An򨤜& Kا/19!Z^2P(2I1jǠ% 2g[C/WL@^t& Ӆ%f?I؁>;coԟ~)C :ֱ]|qO 'r(CZlr 8I!ڍ7^[Gys!$pH^E!F]yՋǼUyWAC?]H9e\{o+\w \W^(L~bWe Od'D}o1by.` E\ Z}rxyGt~}G x\(wrʷ|WuΧrЇuӇ է\W Ex\ 22H D+v&PG~tgv7+@g7R{@Z؃+ ,Gr炕%GCg~wHwvB7 `a^(xWzH\Dz=H BP\& }H wGrG  ^x2uxG{vI7rǁjцltWth}xKw(8PhX<WEJzHx}Hrs dHr$W~trɘg(r( _NJFNJcn#`uuT|r(avA%qzقH]@t0P G XriHr0BxzPhev7ѐƘp78ug|1)"8Css6xbgrh#`x(xo8{}z~zǕgxM}7D)ȗi6i8閭7wxㅠxGy  i\'7 x\ {7Hxzw&y;gvxX2~yᙹmtq)gx*v3iI cxY6qƹ#wyI墛iqQI ם YימLk7r21t7rƙv5Ǔ9s>snoPa-AHɉIWuѧhGt'2q>*%A*']pgAt)'Yxzxk)yyg yxbyFI|ٜex7{{g{oUyLyN77|Hkyǟ%A6j.8Jqx9ا}7xW~V9~W&~ ~wZwyu izWH⵩ljz\ ŨHr'Auso}qx(xȂ5858H <ȃ$CxkWZtMHQ8#yc[@^X)@brrJZj"}XȇzXHxLjgvHH  [ۉvfHJ2wZWrȫ}ڏz(7kXxxtHHoJa ۨئᘱȳO)ǎek+S+s*+˲Z1롕z *Jz Y ,tʏ+) }%h b,T߷Eya;ڲhkL-ՁMzҨ3҅#;A OxI݇o5H[ץ]owԪO*^wx~u!]T]}Wn͌Z9ٷmՅX}ZbZ+*KDoBO{ЮB&ȶ4ٶ-qs{v 鐑-˚ݿ&9`F%ZxqlMt>+]mx* Xܴ::vѺOy̵/|̝̈́-ċzm nx ~߷?ߕUhٮKvLN߽o'Uoiț2u\3\pN s)>/t'$XA .dC%NT8EGPG!E$YI)U4eF1eΤYM9uN|NA=1ITQIVsӆ\H (5URM)Q+TaŮlF_Ԫ}x֣A~W\RUd%%+ƉR%\0ϲN%K+Ȑ8\p0G ܼվ+8t ^Xkر&~X@#G RQ>q('(?.U'/򉔨CDG4Ejݟ xzFx˽ ,Cλ#춃/en#O 2tp=S.;rJ^"Qntv#0:L #&!ᏁNESsBA8 ՜;%LRME wNBT11U^6m yS4!P!Pu*+ȖA%;`Z)#%Xd!vMf``]lA$:WU/hI 4h`NͺvZn@Pb4T5vjpz}m4Ycm}?r[Օmy X t1){BWD)h%߃`£K=m,,!5o5v-XBTZʷ97ި2譋?@KV5b`Jy@Άd )n_bZZXɅAT#ODIBYGEڎ4n9i N #uD[|yശeA8dXHp%G0?f81%/r$w` EPaVB O~IjcgXϚNn$ksPծ6q jthkIGc*Щu?̔*P#3;(!q[]-czRrw}o|[wo\'x ~p'\4HKRą j.\tx#QK\!&t\ylƹbZ=ۛ'95Nz$v@6 y(c8(m\BܒUqzԥ0Q;`-OVMwjm>ָeljv}5,GVp`f۪ͺWO9g$]mk9/ǿ`_GKɜ'/Q-={<ӳʯ*ӈ$p0;T0 ,1T<$߃ È0K1"A4K?~<2m4|̉,LC@@7҃'ڤ0?,s@X( T4w+A.l$ZTmb=9AiUy RYڪPh>\%L ]BS]8;$VfUU9}++7HMI,@쫦VL*aeTcI7 ;LʅJ[.0MIb_K^ ^ )-`?j-k%?m #LExG`@M ƴDS2IhjIj_BM(b -X,pH^J323ʢN'iNM*&%G&dnwX0rP#ºbPs2S=X[`3YN&5$)+ae*b5Y9 BdDNdE^dFndG~dHdIdJdKd]p"& [ZL"hJpA0BPڐ+&@QN:dCWa$[ĘYKJvT({b&Y칄\5)#V5_ إrfGRh)q,;xI#nAM^uTrjn ,drav[:Bwfl-Lbu߭U:ZG ׁn@/-0\qV vXThTGG n<0IVU6"0/ jd9*VsF4-AڨV.OU4τc'LBƁ BUE^~kkkkkkk}c~N֒'$.R>TƳIT[([0lяȥ&Zel:9쉴e% Hw((Sg\4بVawXʹŨ*'Gc2_t'z\-5LmuT퉸ffT:}RJ*TJqL~vS+j;SLB<ԶnjKŚb+z,ubHHHG=EºpRMȓTgq^<_R̳HGʽ:Z.lz;CәJZ5"o>M(F)//lLP_I¾WHz K;f .?f&;iL]M6{J$ۈ00.0/{I~bI4a!#2n=ns7׌oΊj$~M j"^Ns"'#rr7TX* :Sfb=sdIt7ֵ}J_b;'sLUSbO2@"|O9?c&Ycn_6_/"_։xPPqowwwxwywzw{w|w}d !@}FeUF 6DfOxlWV &NC^x(VF'~ܦh\\ >$N_ ]7@PoOIwoIoyW`=<J ԟ+~et^qxtgIB3=/ڋ={r=r."Wj]K .J +/r5<+}n;ې|ma{aK"${CWEGFgHO}>Ϝ>?????(+1Hi&RvT2#9 ސ"`Nw"ZDȒd񠽨CB2?8t#@;ȑ0MfEDm,l)0L1δФ&JяԞ"YbqԤ'EP*b&*v|ͺ*ü)f/.A50%#z!ٶ;Rr%7eFK])# #4Q# .::҉ ,XYr$dH"ta>{͜DeA40%4/G x Cc0JHI?d!Q+EN o|'E6IMNP'CM_ÑneliѤGL|h͠(V³\Qa$b\s! O!z2'2W*nTdRQoW0>9`2ٶF)/TŻcaLa1u)78"|9c7ٟ7Ō? *Qt#`k_`8Tmjr;31~gpՁ6ةM]H 5Uui# ;jĖ=~*`gQK:'W2 12d>3Ӭ5n~3,9ӹv3 /l3>Eˈtady#'44X C OJhhiz? t9(=ѧ/a q!1^SgvSd1-CQrHլ";F-uA`$#IupwFOrLi̸iWv_m*O"BB2ε-HJE@ds5p WNu U}@1OY8+~_lKt6w. =~ U#^nG@q/;0G!$ nkZQ'9.yKR(92*K b-7\'olG9 Ia6'{ώzELcxI/  ¼+0_:}0I?8 4k;BĮ"KCHlp3=Bb[=nIOǎ/z|U=[7?J7n=~zۍQܜ(af Bk!rdѕN2#}is4\=IG:~0eHY5nJY;EIDB- xEV fn v~  c4 k,- N ELr x| WZPp{ґm Z $1I+ő > Vy0`HoǽŒ<TRXqDy:aV\ 9ͭwi3D",EeaD$+Š*iH'2 BL }M"Oai%v!%b"mUh];`W]a*++bM",,RJӈܫȍ ^8!Y0B0),TԖ-cU;1ΘїEDD 1#Re0!9#3:HHD.$#D>ZD*&T<`sdP?j$ z#IJ$KK$LƤL$M֤M ~XNHBEftOErP1DUMTRڮo@PY bU)XGei|ZY yV[NAXU[rQodKBCY}Qѱ! bl_d?m ۷!BNAe_ R\甎ȍWT:dw9W+BX %ۮ%?`\!mhD'V'N]*Ʃ t1ҡrB)Ypf^-B-~Rw* sBlFz2e-'-wiN4㢌zYI!(|HGEF|QX5F}uU|8hN:Խ${"D<䐬ᑃNXdhAS(̞x@^[AH$9 h" EQLaAQYiA&TEI0dh.8iQpDEFlD)$ **&.*6*Z%1hB*E왤:jOXQm]*8)pUF@BHn*O0F&C_gI֕IPBLڅ,Āe%[ k^adV{[CyG4ȚT&)fVg:-gjh^^#.tu\;k*Ըj"+~M0xҷa@~R@v\zr'*Ȏ,ɖɞ,ʦʮ,˶˾,Ƭ,֬,,,--&.-6ӮDD2VEj.EbDגED!h?h&ȀK-DmVBmF>ErDhߪAȭ^D>En -C&-K@:N.jB HD2 h$.A|n&.SnG.BmD.F.B~mRnGn.Cn/DD(C@/jj:DFND"/fD*:D*njؾJJDBlonDronmnK (&A 0!wCcw.60po.s?bpΰ _/AX0oFkBJ0Rp K0kn䎭onR&ܰ_BmwqA0 p_nӰ.1nKRqDsn oqqA|#N0 r$- k1';֯#.Dr k#*  rA /ۮ2.-R.+C, s0+?j 2A2A@˭+#/A@Ns.3o42wp2kB2pr5[00 ׳c35S?r߳&3-<~޲%3>8323"4<s ӳ?164;t"7s?k+74'-F3HOtNWᶴB(/ܢ" :O0۲@D-&5Bt'-w?L3-@.gu$q>A>5[Dݾ/^ QW5*s0@,&@U91Bԭa\`Am])o&vZ3Z;u[bG^{vXOP0` O;vY;DTtk'uOn lh_cv5AlmZ5? X 5@1k!s_3pt$A7snspM,wA2$nf[7YC7cq}swvDycyGUfA!fGnfh }wsw~~owon>xeOrtrsr;.c8' gq,smK8YrOoswAn0r-1gwôx_p.{oOxu-[yۀ 7wyyas9yR6Ygv/,fos8s3so4xgJ9fo++yBp-Qk[53 oٶzR˰Uwz59ˀ NvC87u[?97;{Jk?dz- (;A3;{s;Cߢ;6ZzO;û۹U;W;fS)- g5}?!;{nu>K|ن7>z73"/L7s2.|F|G sVO *CK˭go0-s|Ч:n/swĿ0ùԧ2CЃ=w4DCy:72~A ? [}_/>*zpGK0${Bq#Ӹ.woy-d !C!.j1dȟA#hD 5iG8j$8tr 0iAǚs̠7#Z_ϏP DQTq_*KY}NU"ϭ_Z֧Я*xy)[h.ҼwK!-ZBob*#cǓ)W|sf>r4tshћ}uj!,H N[ H?~!(Ç#6HQbNXq#G;^ $D&4dː/?83cM7E|bO !,P A*4PC"Jlᔋ3NAGC{EI yq$~˖(ԯ *mt鯈~)T#ǢG2mQKRŨԄ,F]PYMɐۇj XrikX!Ff7"poʸ*or%)CP?A2R6fLú,yԊ~]C۸3xЃ߻!,[ 0 B*\ȰÇ#JH) jȱǏ C*$QA(S\Iɓ,cʜ6iᔛ/{ 'NH SLJ0*իXnuծ`~ Kɲh{MVڶpj.Ԓg޿L!Ο'q"KL˘3k̹?ӨS2հc˞ڲiͻ˵)+`p9+7 ws'GA۰zl[g` w=/yW[ߏ.}Gꂇ4%[Jsn ;n/A ;+>>zإ9h809{߷cFn<(H~k 1 9.H%' Kđ#.-G!;ec".!d4"$Ae@mH1483:o)'@q!.#Ct  X`!H~D2Y@!~HRPNtX L2` 2&:O\~2񍨑2,~2Ȁ92 @Bꑏ}c,F2R{D_JBR&7IMbr'!,v#<# H*\P!JH D3j]ۑG?ӯv1;]A~)hrq|8uܨ 8?{wc* ASd{9 '& RC ux*8$^\ uD |`(,82ҨB7"- #|BDR ⑿ !PF5RdY]zGxE8afC"Gɛ "2ʀD?2p!b:0矀 DjA\SCiyt*!,, H&4菡‡zB;IBC];"ɨ%tӡI$"9Ss1PS`H5ڀgϟ@QHk*^jN!Tҁ=,V#ʕnqfs=\.B.'#'^T:᱇ 2N<03SΎf `F@ j c8u\6)Nۜ\>uHFCMO\p:aӘ.t'".Q8t9YzH"eAe}"xP\ (D@hq:9'^d@|!F2d (Eo=ե:!,/ Hp Ĥ:L #D@"-VTQE8ؑō ;ǀdI')rG˒1):GG!N2xpEsK>uu9"TBv=x_&8} F[׏\t/LRGNiL 8m'!xRD3DDT"\&7B%EXu+SM@Xm2oDy^ŕv'$/"t!F(i4DQ>q)4Mkv ÏX~ huւ !,2 HD‡J*E FPO]#F!C~#d@R%Ŗ`s0O*3ȓϔkzةA <9'NMTTJ 9L\#p:Å*\I.LRW!."~doTB(%(dы(%dpQ:Wp䤴Bs fek&$衄.nt!aK E+_.́-] ZN=sSWav2p@n3XX~}˟ !,v!/GH*\ȰÇIHŋ!jȱǏ1yɓ(S.$ɒʗ0cnlI̛14XD@r!qF 9ȡAcUq \sՂZ=cYcU)W2Hɕ{HC\FDU! XС)QEj_F!k }aǖBccݫtoi@ŋ8dy:z_>Uw'Q%g{("v.˟O?4_Չg>:pK굪}Eqq! PV F CA+`F E6oIPYč#x!$&DvP!_Ag6\߄D"XeDaTTBUPq8PVR)x'YeGeZ[lu95 'g &)v;WRo|G`ؽveKq鍄t#;:G Q [#:hNvh^zӗdTM`S2ֆtrkT)SN} =@A90A?߁! X.ѩ{.Ã9 PV3@Q.|"%I0ѓ*Sv+m)Jmڵh B҇u)LRIL(B%RcD QĮt'2Rmx:6P2.2uի3T"8JMڳ IhMя񁭱F&DQnveЎ@,V=bR7vGU{Zb")O.Km[U@4P@ .Ȓ~cpdsd)1?s$u*(]Bq ~yU'lu >TE@H%K,~xZ0ӟ9@ G1ݱn5D@FXM؁n^ц7#pk lcCS@fْ͘k2V[߮m X^IJ,GVc(" e!#`rLY.hhNp$Lc.&L) hgdH} xАEbF[ҏ7 ixӠ4G!,7 H"X0 >|Pĉ8H@? *`p9C$bC :@`LҨSGnIěɩ A.2#3wmhTQ h^|o;ZRPuܽsH9  p*9]u ԅ!;!a`Gw !+ I^uG m~A .vhi FX*f !† 7,ȡ "D><ͅ '< #@w‹Pz ӣGN`uk*(tAm.|:x7 >#qރO|Jp+Ghߎ!#, CGH*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛锁ϟu ?eD ӚCurYgNV'f}ʵǝ?/"Pε#84Cb0V->JB|ߡQ*3ޡr颗dʒG5~9䳆SόZg¨<[]yg3#y%I[}=lي,bpwtS'Lj0EN^ m[b"q.!f[ɠ_#@SemE#ZdUf߆"ƐzPkYY)NIe\Uav*N(8RT (Yekw$ ŠpaPH!6 _Ƒ'Xdihlptޜtix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F++B"Tdpd;Ź覫+~s k.,kRGL w1*PKmĝl?4@&G8n#d?4:'-pTP $,Jgokn Z?CNF'l{֘*?sOGmN'* {}G>;_q% O) +O3 YSC:Tӛ$w)N}W:Pǎ^r2N{ R `NYg, z!;2` Ѐ50rIg~/ QB-4v10p[@ Hq ! ,T H*\ȰÇ#JHŋ3ȱG7buͻw?>Ț50-NRN"M|(]̂:SYχ&B90B6"85Dׯ`ÊKٳhӪ]˶۷j_H;wo A"_־H6*"b! j_EUr#$?Љ!VnyscW7e @"5PL\^μУKNHr{$ I`#<0ub:ldolcV@,dG^P"`B H[N"_B = zuJh(,"XK7F9"#!I /fM5:69;$V9쨃 ,d_rh=8Ly61p"Yp`nCto.vݶ݈y7.A egp,W .$w ! &(b*(oAR𭂘 ح&;Ei ^0#7&z0u#LF,id39PAlʅL |g2*5 rѿG%PmT$&; 1s׌yͅߧ-sb-rVgq&䥡eHYa ONf;{"F#`K 5ҁ8ElTY:r x㛁C go?H (}JQn7'ӡs萏PE@ɕ(Oul1җ/kBs967HY/ {E( @2d$xs)r_ѻs0#DADw7dOW]A'z(@"(B??|K11AF#!, K,@AB#aKxԔ$9̻RiG8@y~"y=|G|xwuO00~3C'|w4y7BGh!#4wX{ $ pG32S#1nw35#6w(x~XzIhK|ф(Px~aRVZP7õXUz9vXf|Hhw32. q` -P P t8#t  ʀ PxȢ`%w(uxy-`x|8g犨r tXD({hpP3€ |v v?b{)<DI(a۸(,&*Q*OT-srffa,m2 ww(wG{9G8Xfwgi8h \X p#@;/0\CǐUg((|{@ h Ű P 0(74q8 0) 7` I0DI* /H6:{0Y}:1*Y\II2IW铎Wx> }:` ԇ 9#H#/ }Ӵ5]5##X{)82#3#@8ܕC7c7G7!3S"QlmWшƘ ٚQ8z)i | X9}dрPE) Y(P f{)w4k`VI 䂞ɞ` r` DY4p `EP#J橠Y 4ʠ`P #U}v)H ɚ#;b0M4_!g&v7d>^E و{σ>S=Dv^OC Ѩ)}SZgw9bJ1ĹGr[s}!J8lXL80Z|4 7 Z ||9Ȩp~ǒ, :JH /:BGתרX*t9:ڢJ#tEH`+č?=DFKd#ogFJj{C8#4LHXjYm^*g:o:[d#ґWUzGZe.ʪ*| HEwڱz/z~H**w- /0#:MI#{;˗3RFkOMxՍњWRBZ!5#vjOtKmSS jɶiP(:H# by:~[LucN˚k˦~7{i]a{EPKīG}xt#` 8T;#ɹ877#|(#%ɐ 9۳:#R/9*?P;ڣZ(ZcY#4WvuYaV%ʶ Zگvˏx۸z{n7řw Sx<=Gh jz9.H}K+ ` %|„.Dq *@€ x+x#P0ɖ3ۧkvA ,1xs(:h} hž)ՀTBa4 n%p;# I50#n p&aUD$5+]a݅^2V{D.kpďۚ؛p{p[ɜ<<ʤ.#'/L " ` @ɀ ,+0P{B}Y° ̿<੶ȪhJ˶u$9ɠu[`eU V4.v 3k lG`ivfj}y&V慧VgWLIɝ^9]@hPESipZ~J>.;.an U;.W;^]l'nvqn>%~un|*1ieQ^A.&a#0{f/=m=<0ϽLܚ=Kн뚠ܕ Tύp0¾ۨ^!~~Ý]qn>-. ~~ڠľ3쬾>=_DnwΝѮ ~T^.`ܞO볞̞mپ_ ~>}>n0>@^1 츆-0ۭ;z ۾Y8 ߮ ~[aeZcnf+=# >>qM RȞ# 0#svz2ZPo TOݍO)>%~piO\P܆ qmvZ_b8- ~q?hjOa] Me5s +ha 2FϟM B4pqăXFʈ`M%22%B--SXcɓ3GY'M#G4pMh8A5"4џYy(㩿]+MP1N>tV #)cjU+ʳ͔uJTHҦ `ڕW UK4"`yFլ& :pa0fTUb*9IjS&6On]uٵowŏ'_yկg{g)IRe'_.dk.&-fc)T`.2F.Z,2T  hV Y@ /DHCME ODHN4118{K#MF8CHF+q̱HCđ !&<#O TIYha,R<4 ۚ^vV ;4hSTFUSjUUU;"Sju?s|̓3[I0v̝7{'sv4'KJBZЃ&F Iྎco"vdB arB0@vP)m`FA0iN`U;0arl:樵j'T Pعn: a4#(i[#0EMjvTbu 2Cv!v@B5v `.[st!B5эivou:q.nz;¶nbߨ quK֘"vk nxG]uƼ3|?q³LdSzխ^8E8$0G 4mJ#p`BB{nLP}Ӿ#p~`AbW7C;!bq8`X(irdo$ל5ޡJZ62a y,z W wL〰Q{_'AKF,_ЯN7 v]V v3p091;?H ;䋿Fpp>CҊB;ALA"+=q7H-כu0Ԣ"v AA`c4؁"@v||B c=vh5L%lc<BBXwp=B2"+ / w7 39k0J% 1@<8op7rDq=\9k7DI<@DJt7D+3t.4D-KEdQ,E>?D %;D\DP2PXAe\Ff15#ۚ7@p7ß@wpkT/Fnwx'48ԼtBP5q5sl cFoF7FU;غC*6};l2l?˹-zEuS7 ӎ8App6K9Hu[EUHHjݲHqxH÷3ۺ %KTŇ ȉEhFJgB@G=E+-Ahj6xj;w4%7Gv ˟/HtK*˲ LPӽؒ2- 1%hD7 ipŠ4M2S1U7|7I#;S>R>d\I-uTM;MLkjLqLlQ .HƪNNJ!J=ʁ;G;Lwx9$v4O9 t= cv'A 6d<3T1A O OՋ-\G4Hu|N;!숳@DIJȁD7QA M0%[ʬk[MSLE /p͊̊N)R*=+G07Fj$8_ ȟ0sR0;up8v1%Lv 7rH=8B0sЯ6Hvl7L{_#S3=\;7;L(v{48B;S=UK>SG=S1KףCXHsj@ 3c>+?Դ-B$1>.- F0]?X6͊3-`QAFX/nX#F6KUmU>UݚķZU`@x ȄCR~W(>R2T|BupH5QJ؅6U41CS;s8U5NJr46DH(C/f505sJ04Xs%XY-4\Jp9bUC8KԷ< Ct9vC 0-S{h/Zȃn7k7?DZzZ$`0bQ3n@Z0[B[:۷=Q?\ʭB3FXȼe(KK?p͔L^D=[J((\۽]-:8Gݪ"o--Q.}^ǺF9ިpH\jڐz-_=_M_]_m_}______r+Cj)쀁4Q:% -kٚ*S+4y`p-bG ^.^P)=aR4 HpBX" :P@C`6a/&0@_"`/ k8Fz/ubHbA1gRb)Na4Ncf,H38 da&%7]'a] Պ`/$+kdE;bFb#AB#d5dP.4 a :VI "$@a`d8E؁a@`jee@`XE8d(E\.dVG#k5W˴Mّe'a":[GJOSf{6):mHu;uG~lVXo4q r^6ӚG\޶ 8pgr+K-iýa8Gh]hk+21[qr+Uiigh颩Y36Pir.V)#>PXe@Ee?d`aEdF$?Xa`c"',E(V3 TJ`;˻/3iv(=/E=W=0L3-0E =xl.Tl=c"SkĂ&F<ŃLRv׾mh@Sq3ҊU陾i&FnK\& ޏ'Qܟj0+Xj'`ef+(0`Xk[o7?@dhEgEP ŴZ˷TK2Pj$jP;=TA|u\G!gXncorzxynt `gsv#c7oyfg9Q>DF:&V9eTᇥab{#xmmgޠ: nI:)Zz)j)z)N S:'n҅ %$\UM#Dhu Й۬֡N*4~62ݰ\**j-z-;Z C!d2Q2G | V@CN@68 t|0 +0 ;0M{ OL2E\z 1t1W2-21<35|393=3A =4E}4I+4M;4QK=5U[}S(IvCD # \|Ј5ְr\/n$Ҥ!qś#S~xsxplc $5c9{!$+wO^`7qؾ 1)OH8E] ӈa |Kyo8n=DmО{?{QΜ;/7 Dj#; ! ]N(]Tԫfg9q"6o*H;Evi=w$XN.+ө9 4JIlDG-UnB§17 /' 2V"4t4#B5dTTEӇoՀl0jtng jhtcapt#:n0oQ5ZwP2IR1+' $7BhZBC1F(z*5,цO1ˉzrH$+yh!5<)%iɸCZ%#;&Me`:%xI\+irp ! @4Z<(BЅb};#D@ `]8@C(;(g=AGT4?Gd ψP%7%2PLT0G}r)1:iKB2JIFpx*ԷBu]*Kꆢ.4ph BCDZ։&LIѭp͍.R`5qS%Y0|PA$ev"% ݞ.-nGBf~J8UʦiD7eB)&H3t7 p‡b) NÛ#C2Xp/}; 6wlK MiD*o}0 ]!r`%=EyH!`&T, 0qr΍IZRVM2);R #&%x"S0%3N#$7 -YmA p6>č6Ý0Bttr e3vY|AH<a:3{]9B ]B bPBos&N&D4`a 8-"GA|,;DNČ)xŃUk\c*n,G|ꇴ-^kG܅;׊ [@ˮ*eUQԫ~@ )s7Ӯ{*"-XICwp^~H6\{rnD`09u!R@71ݵ'XEn /DMxB`o\$!a? vX̱J_=sB371i!z= wjz渟};ηqMYZBx0Xշ) 3p&Hl]ӿsED@]CFՊ8 B xTt]r)`#B4AYB#O;<=?L!$B&BzKJԝ% H5"uVDŝpYIHI,$KK +Km p 2ClP%QrpL$eLjS>%UVU^%VfVn%WvW~%XX%YY%ZҌ9xGMp Y#M-e18P;E%8)`P`%eVfVBA!H@IBS[1"EJWNNMٕ9E^n|A,T=S$4|O&AT_.G&p|s qOo0)Igb&soJ^Y&xP>D##{"fhi}2J GV }@ӕU{]grQp8hnln@SsP(Fh:nGDL,7L$s|!!D&Nu=G:Jz*ekVͫ]:xս.p,*l˺Dd|S>4J'νw o$p + #>MG1S3ǑȹSr1c SEy?OM'$¸2Ù(8v~,CtS3385!b@AT t"7~ XEyd Y[B"tfL3iִygN;yhPC5ziRK6ujTSbD#InYŪ+դݪ#N_YQXΦ+-Fc{Ԛ,;ؑs!bRN&vX9,ŋn޹a &v#B0PGN sty'$L6IFxStDCbW~{v۹w|xWGC6#ϧ__fpcbZY%վɥq.ʺaoy+)DQa8rh ȟ ٹp.LQ*a 0gCsJIrb7AΟc!iFXA.B(*,ܒ.F醚ʄt)ZnFCI;P@B =D]XY1QD: A%.*RM=TU]nKl"Y#Vdx^}`b=d]f}hjlݖnp8a`X%EWIY㭐xcJvnʷ}H`ƈ'.@ ܆~∷{7 4$xcHmݐE~!YHF&2(䅐Ow&Â杊h71gxϟ%pxfx"  ;d"?%>^'tʑ@ D8xn4\Btoƹo PdV"w>nB83Wmz(: s~h>wpU_G A^@$ Afwd9ʤ݁v1Aw!lHCiBsΗ(4`|tPQBڀIa|vXs_"y@NEz{I*A"u k@`#u1 L"'Aso^Hȗ!4$ڗ@B%ʄ:^ aC m+R_􇉇,yScAm0TA$eX]U&.Ob JH8bG%8+PG9 0BĎ"#"д2 !Q4@ajft hIּLۤ%Aj]4uP"6jiqɁp:9rP`?fcHL @4r_+a)K1#¤1%*+;L30ĉ<9*x 7ow\4ſw(đl"X_a$'wxt0Wv 3ow0m:D:vȔ.\&"`:}Ǜ>tӁ4?QiRp "}';SLHQfˬe*E֜n"OU՚p^*A*p@\G,.gU,؁%C5ևF{f3P"c9(wĂZfvPmҮ ?XV g޲em=B$ָr_jڈ*FrҗrswݭeCuDO|;,pFd˾X`% }8@'Hq\ƒ"u V}qG+Hbʸ7(~]+\]x^ظ2挽a!G!H?DLH14G,c#7 q亼e9TfCqwBAA $qZnxA@*HFtoz4ቘ]B;tW!.Gb7P#,Q-]0` j4,k[g e ԷtPer.kXy^b}Ȳ[Ym)$앬ldt<@"o 0ILlfL̆9Ј4T)j?l^yERy>N/V:8QG3oaըpM&;K3Mio|8-]}g{yc 7b7>La4dh=Z4DPv!E$K h5D3P>LE1RiD^6!U`ϲ!%mXSyD|! u^tgfH1b?Qf1U(o! $=96|{ UyӏC>+'5uANqSB{R K{y~ OdLֵ'3`xD8#tp4 l'>aO'oWzB/ȯltBBv+SPW[_cPgkosPwĂjb]k)LEa" Z(b0@ !n0me2P g\f'l0 uޘbjTƦl XnfA fX!˱ 'u`me'אB P7MvdvF+`k - QVqygnhzOpq{n{G}}abfZ*!gCQy~&XȅZ݇,D(qcdQ1G1PHpo$aT1 ute@b`|鎰D#5n%)\!4!_Bb^$iF1(&br |ے(<)G H׮.eZn"(],2:,ER!_l窒drΊ6H2rRʦr\^-J*AB."1#"12bƟNtF* K58~ĆLj!8*r>zcL@+@ @"B!?C?DL³Fh5K8M !)-8Tۆ^%>H" KJTt!FBLM-,.&Ex cѦ#1lPգ8 .4\6N6& Dv LQcc6P1j%㸬9Q;uR+.UlIQ?IP7QeSWsC=T 43&Nw2!OI'{!]n@DDxNVDBѡ!2FBfE.q!3Gv%u]\1EO[[$UfL]t`a¯M.'k)0a3Vc7*O(cKdOV(NJ@YTe_fcVfgfkfogsVgwg{gobNC&q?!`&)n%Ri_bjY4]`Ҭ&pЯ'je ``b !S8 j!!@4d`  gpyB /E^bc~_1& c%T`&7)FbIFjVN#w]&kTkpkr"ai4h ZJ`VW(o !b A ASW A !h `|` Ap|eKnZ*ϲt6uK ".&P|j}bI~q~ut&v4s)bb.0{d*!BY!Wz": SXebgvp;5& Edb^Juw !XN|^B|b~v,l1tqoiLj4wx]&g E}hzhns*!5ҥ2%vN׸s"'1""X`ᒣg{UWMF `4fǖXN d`AQ`a vaa,rYf"t!`\bL A(#H$4n2#si#S]\ R$8&!]Ɖ"p"ZҚVsi^r%#A)IR"!"z#f!"AJ)iq"Eexӥ qvZFiA.weiaN8 %3dnr-]^B +0; 4vi]^X#] R e's*] Z v %wM g1H/1;"̀""4!""0K{g'S] 4F|G !s4Cr.z|08vo|5ab ^+Nc} zd9+%E&e3j̳en;d ڻT4nP% w8b6ūa ! :7! BoO"lLo;MQdZm4wǧ^.x {{!;[] 0"T%q3‚Š<&d"3:B-CGAg p7%ʱܰ?_,]+btl Ǧ<$#ty=0̳+< 3ePXj NdTTH/7V1Ypkꛙ`b&ua"koFo*2rT;-3)$p,KŔ!KeX I]&L-]ʪr5/Xy]4̬.պmtPB%>VIz!B]aWvvozNpEw{YZlz z@c %"N(noX4n,GPS1C3PPnL#HVN(6rcNUt>ZAABTaNy)[YĵN~1 #3#g9V"6"J@"P@yݿdy!Pv!ava3k]PdaFe@2o}JxRDZ/`B>OB _+dY;C*cDu[U_(f:EbFHJslޕ3}G`0ohw4&"\=G/‚IB!z G"F}j &V" j xYI'&„Mʶ˛?>ۻ?ۿ?`(]ZuTl RB9 T1 na~bՆ#K&Ҋh蒋¨aوIh&HcH+(FdJ.$I#! !HL>~D98[䥐a^e"H&lj6 grIg0XHllhc`BHVX9:zfnBihj”t%8ꨔZ&+z3"hvni*bX*nmy@ILm;:-^f+*ֺnN /p($TY. +ny)#oj/"#K{ io>s:suYЬ5>qX2;2UzrԹ *{pHLvf6YSOѡ*+/4-7ZxO ՉӜcMy_9PJIN띬_{)ӂi0qԥ+2.Ct{ᆪ:&²<<{ԥk?n{󬋬xO~d3tKM[m~ߏ?| py p lJp/ jp?Z*h=h^Bp4~ H($K ?D ͒%` Xg,jq\%HC! (>Tq꒣/hWLX@ R(;"F#d$i, n$AIHr`Z8 $iT+CE 9'}ʢ|-&= r,1 G#i$Cigg!YMkb3@/hoE?X/+" X$P"6Xh=\g ʳ1,yέI/ģ5^kěnƫ$/\)Y<',T!ZH$RD#?3 d^ 7E'8<U;D% ?#kzS)}D#zъn4hG9f޳/Sy- 4G<}#9o.5O=T̞u_ XgQoVz׺Ƶ lbMMd+;ټVZd,I# a!`w@ђo&& ]do (M b q[wwkB #Cb4 4x69 e$X% KL\ozB! V HJMw[0 .\&*EE38 \ /(:G ( '6ĕd(#69CPP}u K*!As a;Hv#j/ Ep>h#oxGD. ~>2B M隐 ](PD12n /" /#G.oe(|([/Q2aL,%08(ºALP'VS> t(Ptѽ=#}P|jN(x.N|CӿcYm]| w3|Qguqca ^; pUbzoT F4x&?`*0 ?7x9Qtyk'0l ƠzŰ >0z'q PqȀ52QYn mWvq}0noqh'sǀa|w}=`}1 ]p{}F@gXyim8nq|X~^'w@vȉl 4` >P pn fp  (%(X(`0 1o;(H уyv NeMVI ؄5ЄG;ЄrAE 2ȗQ YtQjn/' \Ɔ{X0b\#wW,Iw!pi疑/ Vss94)`l$Ǔ\wn2 23=)hgwPpP;iEKFPP}ǕNXENh|`  A9G(m>zP'm ј ؏I3lwnNnD)| WpiFr#Y7$*)禚nf7~薜IsAIs1wVyKm5 }GWi 'pX*pȁ &ׄ W8 (p u™ PP0 jtQh9,#`/GfxٚIrpAioXI&@tᣙo3} C;ZQ " 1ahKD`lqƥrԗIuz>gh&>PWqFV\^ I/;:2^Y)_|WpE!sהhGaZ2&0E檰*0r$םAיD(qW2jiVJ[ڦl@jI@olB0h骮iWtpVŀqG ` yy!mpmW}誝og|kٚQЉJ 1ZQp}`q802pEA}v ԹnK\7v8\CZY]@{! AXVApsYbq7mA1t}k;`y  ɀ Xk & yr}j} haiMzgpF| 㷜3;G|2p'Wva 69*`rQk\p>*o1'>1lb325l6½f{=? A,CD`FLIAM-:Z+MC!P-<6_ pt,eBPmh@X@KY\` ` x'P ` jaRj`KT<fx52#0_`Ry}<ʥHx`@`+rQż %M\{p`b2j<6-D;? :C#HվEYlܼpx,嫜l&KCʈ N0/Aɞf%6֎^; 1^7 { _~Yx FX~=Y}D {)?0=Ҍ24oOa=҉՝`lO n(M =PlG>Gxb`0N1\<9IO"E7mNmQE]>j,C_K@ H\N7n=P\]E&h՟Nƈp AM%#F4ʇ.L8=D xBD鈌F"]##Q cH=LĤH=}TPEETRM>UTU^ŚUV]~VرK A HUkTG=5 id?Yّe M5[}HdË|o 7fo{h$(G:jvYb‹K'jFh%P"vθzO>k{>m pS_<{,k,6^h3"7΂*QSz׈MpmRCx(z#A0B 'B /0C 7C Bp /{&z;ABj,tflF@юXX¡{$k5rl"dFQgFۖtbql.Ğr#6݄Ӣ?,HBRI&q$2Q@hLDa(Od+T"UR:'=DRDgV[o5W]wW_INYb X; (!D'5ZlRWNhE7]ue]w߅7^y}(ۦVYL _~8`&`Fx(lلa}%b/8c7c?9dG&dOF9eWfe_9fm-ªg tƹg:hui@dXIdQ* DÈ^7`($Lag\V[$m.z-:1WDi P2B/je q/Z A#DTc/>9* ^"KRD48 2gj(9q72'êf&1>QwV V hF7Kp!7|႓mCi-cl /"4|&B,VV;/w<(pmr8vLP&DY@8$#F%%"0ٶ(* UZ+ëq;кRg`iA`T/ܧ|Kx Lbu|ǹ]wesb5mPEp"!9MUl(Ae+,7 !DkҚȀN~\ {Sz8ؓa.9(-:o{~@sop,Q,m/riJKejP.kXoғ5DWX<.B6 ڱy.硝Jxȿ9J_ؓǮ{lC@h(mG`7tHoGa|{-4tއOm߈õop)Imq~qqipt!+z)? ?":kpt뛱C0<1s)s!?s KeFXL 1.>@8 @q1;T\EXD먆! >^Aa Z+qs@a4ŽIe8_E,@xFi"D\;ъtTuĘh,,"$e@qKXy\)B@'@NJ*- H`T-D߃)<.R5vC7X7HeDBhB@4>7L1ɂTۤ ~\7;H߂7>FĂqA6f <8(h hd{t8!@"t ʁ8#H)4jFq!˷/:ʣc1+3C-kX\K?F3 p24@f=.7O[zP(– 11&[k@({̟R(K1)@pH.$(3etih2/S!3Yt?EKpD$62@uҹgi0L8H T5et >4d@˪?d@L$dPc`I:rQwO'sаJp/sX1|Ю߲6z#9P Ȇ%9\,PA ONńHCpb'FuTU0U]^}T,j7hCv'VrJTV CfiVs (L@`] ,%U1k4SJ YxL!n(эJip<+H*TŸdџ/*|M}C=+  /@)Rh]8J4M6ٚY!>໫883$j "@. ڡpڝxI ZZmiJ5[Qq1pǬY @5 eL3r ((q:+#Pv![,x  Y qPx\ܡfr ͤ][@<)?n3u(y;ׯ'Ȑ e %rL[J2?9]]إ%_-EU_H܁$YeЅO@?Z M^s ]&4AI"xfPATHՑO`#8BU N &J{_va~A8lEq7C "BBΛ≼_%aI`ӖE~-]Q[IH0N+45(Ae(;UD!B8$7Pcpc=N$ su*PRj'Ouкq6"`IF!)G#f0ONPF.&R6eZ1ZC`Gh* qXdXc`$e|D,˲?F0aeHebJ:%M-ފIIgLV Hp_sguJp_pd-gu^M,>{| T! Gh6IC5Pb\`(M봱,F"CZ(r%2YOB agN.QN᢬dvNiq`{~pGX"?$Vք5n9;dbP yjG>[c=db8֔䫙gyF zݙ jWd \&&¶!8vH "̠L†|^Sd"@'6tCxB&i>뜎dFk[{!iy(Nkx*6֖ qĦZΠd(tnvhzG|GyLf.*Ў>J8ItH՛v/lئ~kp3b^iVafk'A>D`v@cXK`Y ~@MdMׄMF<cq NLNTPdIjdv^\mܮo"iG$?b4B0NXaSa8?H ?f;>"PfdrJ5 b=7٧Z%pV1N6zfd"??q杼qbD'VHIjdzL'ߤ0ZtQd0YF TWWoߥp\_ 엩X^pea_ru_GdWegfwghijk^AJt` 4p&=2cw%wsOwtfu@B"pwvw~? ~?W|Gx8lwxA`\ 7(I\d|1Wdh68Z@>^(y 3wWcw4X,x%x`_yhyq > wgyIah$07I0f{z4hQzx{Qc9op{8yH|8||w]‡|q||b)w@}vJH`RGr]0&ޗ@,R1eúڷ(?WLQ~㿙AH@HX%!8(wB%q/4'p$#F48b !H-⍣E̸ߎ@ߨQL"+!\s dȉ]TRΖ1R@fys% F NE8/|rGPz[ӧ]%$ԨŪK)*ࡐ!Dp8aF#0:J0^IM-{6ڶoέ{7޾.|8Ə#O|*9A[f8{*(?8tsP%dzUFҒ@k\F/q vPB "Z~ՙ#Ğ{`Fշ}ŀ( *T_ m8XCGh,$DCDXBV$d`ChdxbHw^z^d/pX_M2fX̗@\df!Q+Ei.#9fJQ)ZGdi? z`ٷ^}B(F6'p9@TSN-^ҍ9tFf}EzVZ["2۬$Qӳ*v*F xF!w^J&~;I*PKN-bLE? .VG.ZvDAEDDhP?H"HRfDЇ*O5Em&|*jO*,:{;gltZA/lu.4^?ZrOMK-sǩ*%wQW|KzK}~ݰ({}v'YZ 7to[cs޹ˍBE;T!pTK^ǒ|8"vװFEՒ5yK8Ra $+lxJuXPB TQ.üDڕKsW˓{?N ,{9OZ޳qYN'nm*A@iiN_BR8>3Dw6DZ.@$DJZ > p7LZ=Io3!(B~.B"h#"#X'Ab@OjWE<,&)~p% /D:@zh̏-fcCiO6Ҁ LfBH4}\|t>KM6&{D Iv-qt\XJhbD5QA*[Gs$[?(Ru6,&tWV?1o3'9(Z,kP P|R^ǫ θ0a "y'mAEЅ0tܟ>ÙْO(z@ظ 5;!fҦ:ͅB%L~2OQ5=jdn\fJԧiJDjלG5V5 FէhPMhY6.{)-['/FkxLi#ĢJlGM6eg=f@i[97o!3pz,ŨGo4J1u89.ڦ *=Q<29mv iF&gf:q HdӜ6FM7R:իnso ]qNX+ql[_;n=z;>< o#>_<Q88<+oc>yރ KG|[#MwK?af;GyAђeQH#<{8󩋾ypJnuSz[M@ӓBs#/pdi=m??7QCJ6.B5\\5\8Um޷u)݈t_\a \Fƒm ` 8 K BDDw_FaFPZbcc@Cz W@M5EKE $F`JxJH Gd$&F{ ~hjIuiʭ(>G̈{IQ&/-DЎJW'B G `YpI)-$P50#c99SL?,೸ABM,c'!$ }<ɁL~L WLNL(M,UGdE[Y%7e2j R}ZBH>L2elѼ(\z%шpRX$_a aq&d dRguZuV9-dfsFf6JX$VMTE^J)_ZFԣ OuHfxēLFDڑmާOzCNTN0c`RG*Уb[iY=(vhh9Maa`%q]{2 vxPiEWWJBEXe@,"|AdžΆ=,o-nJ.pT϶\dm-FJmj XmjچϮi&mQJr A,p"m埐$\/`Z"pC,u@u.o@movZoFr.(`U/=nֲ~.N/oU(m( +؊!cB#2h g͊1 ZA4iJxrW{gI֯c^p8m2W#7g Qg!\Os-;6s=fO=3УASP'5@;Zͤe4nMK80F1N8Dt=M\yl}1`Mstٔ "RM)g具\EM-jE"QNYYn嗣IS B !aS6$K3E4mkeCi Ct1@%Ja06[4_!jASTh֟EZK48T[iԮrh?Gs6׷%"Ga۟⷏ġ7Dz'D~#`n_鯟Xj1c˗X?-DJ @ p `!@ p&zo03k*pYO, <T2B08bfsipl*wGʚ w!JxX{ B4`a = Kohx9Ʀ 9#ېC9{*u?/`S|tz^޴6#hӡ/'7ўvge+ &ܳ!0Wì ;_rl 1x, G+jU0jSWR4&~1gqff#;N,_c_*CG>S|oJVvG@"V.8#zG# v@~_m.֜r08(؏bt?ۗ;@ʨ &AH:[(e1qiLHny*) LO(P(j(q'. #!! $Aĭ Юtp> K˱ KPAJxBʱlۖ* 0f·Kx&kێ+h0e2A ؤ-%qR#J 2"r+2B,ҫ ֫+P-A̿LL L*nHO͠RvKȈl'l ts1O~,J-g& x0 1$P}|+Us5Y3|p:n¬%Ǭ MoL!' nl@l:%7L'&Լ!  !5s>i6#r @uJ& O"bކ(ԚS*A1@BUM@)f46@ >etFifBr?sgㄭE LP^CebIkPجȰI}Tl:w*Hʼn\TʮFtNTJ-*R!D|T!34A/b,O!0O'xxt! `1/0YsnO(-.JةJre2y/v@T if9~yGKl~㜯w+ -+t WٛjkXҀQU3\+9"eW"yt`!̞y'T:Ukxem >Ν9HZZ:+t9neB}Yڐ8wFQ)S.U:! ry m9ReW&R.-׺y@ʬʣa"eJ! DQ(!   FW۱ l ٖ"ѯz{, z) ŒsV54iWv;#:R &Ϋ-/tۏwYE1(`I I +{kUWk 'ۖE:Uۢ.vy9rK1׳囬EvxQx31|Uǻ[wzK*|uBKiFqzo~v`i ikU(R):o}s!n_`όl5|рg׻8J?*BPrǼ ŊlȊT8A,/JqΖ]xc88v`+X䚜ϋ$-*Ǐ|x,~ާWYq ;[߽b ~q xs~:S[_>#g_#}=^Q,zJ^lscߖxz+l8t_+ܾ%ۅ>UW+?q? 8w t 8߈["EB,2tFLD(I B, pƎM4(P`ƒ+vdő!Gl(D@.YQŅ<$O*zRLS$IONz5ҡL {۷pʝKݻx˷߿ LÈ+6xP$gaLrLAw(yfƌWdk 9Bɉ* aQX4h3Ԍ,bm_7TP G!R6PM?Kv $4'2dx|Óa4>;C%*TuA璅2 {Zp KD0s#^AUfD@Bz0ij11 y-xq0uq@IBBnxbBqGIavh腆DmHw&:O&V*xgi9C3SM m5٥~_btix|矀LaMh&䘑=t &RQF"L/8S !tqn8o@BĤ:DPiN(2BuEHK IT+C `QSQk#iwT [#IfUꩩ!Q^⏶jB@rLBJ"Y jS"ԱoR睩ܞ,{ -LS|0jxlt Hi&kr[Vzq׺3 \,}()tmx|(T̉(B9&agWFccj$ $AaVzj #vζeK9!Bk`κꁄnd5$πV'W@)ri9?"^D7^pS>1)8^;69+T9#?x:6@GDcC?^fnr93uic*XɕؙyT[n4f5JsWgt|yញ!t{AI۹ٟ[KqK`d_O(/٠yR1^DJ~OO ":K$z(*,ڢ.02:4Z6z8 }I! pU'ˠ 5P {~U9R:Z$,WeY9@jZ]1@1ˀ }C(Ц$h]oʥ}*(rLjfJj> |Pځ QC{r)ErAѦoGJ( Qte{4 uѪ:sqoXgHzhLzȚ1X:J;z  ؊dk` `ƀ #ŀ Ű`JIP Ȱ ʀ  q Ю< Ȱ *°ך@#@[ ڭ**ʮ:!z~p k  1#ۯ.ڲzEs%49JvY&g ]ʚZt<j4^2 \ PckPЦ` Ű Is`ŀt˦0 m* I*i+ j Pˀ(0ʰؚsBи> F +t+q|PEj Ц+SȰ  =cʯ˶ y˻໲瘽0XҺ_s\[滵/prA(j#ː п >zK;D``iVP>`]RqQR"#@Dk `05L`gJQ˦FKL=!ALPRmYÜD}JFRYM(줮}m@a0mkçlGGǧ& *Ӛ\+R d dAJ  [{ڰ΢L*@€  JC  |Ԑ}mV(0 N@ڋNjڪ<3, q{+y;ׅЦ ḤGĆ&gF^gݗ]bZ I` ؓqɀ `Lo+ Q E*  ; {ZnqÀ @|(*->k /˚2 ~:V,.8{KNYq@~zz]hdܽ\uSj qN] `rW.e^ݞp1~a@M[',ꪾU2ͦ2^~븞뺾ž7s,>Ȟ+ 2}a@*gAJ7Ю n'KԮ^Bۮ~!50' ^F +F`^xEJq}_E' ?ug1 O!qAq,?Jan!m'/2o@oه5?JҎ#o@z4fN^Wo7?J@*Sh \ WomA_Z\\gW/R_NYaWm/[] Y YdZ~@~NZ۬޿K옟o+@oe?*4qɐ?-rP@(R?jIC$YI)UdK1eΤYM9uOA%ZQI.e4G^1©I#:4br n;ȉZjzد\jZv%Œ24i޺$wܑ]UyvmK W-$e ?\cũYmw?n\["ᑄFY120.gsѥO^uٵooHR7$:=!䒹תLCMWPjFq8[?s䣏@S20=ʒ?= DMbO<Ȑfck/+*;cqFkFsqGg"D< )O:.#T1tO$p%~;2- ԒEt'RCŸ|2Cs QLӳB;qO(B7!H 5PDUtQFuQJ3H.zD IMe[K1CI?$ !5IzU-0QUU0YUU3(QMŰTR~ =;L[pw\r5\$!H +Y")*P^jK3贋NK溷W}0ޅ`͡#&W, {Gl MHX4 Wށn& 4ێ]5hVziQRJנ{AHA:4CK6P [.aP[/Cd6B:oԐ6gQ'$\Ⱦ,;jwOZQiSW}u[wV^RdIwn_wT!T%ቇ}ywy裗~z꫷z~{{|7|W}w}~~CJbH* LD0A,  ` k %cRp%D u҈o@q!@ [P;!wG $%HP]$,E-!=q*X2&D BX F,0,`b*2;w8Α$yt ǕQwa,!"X&D A a cHR,I(a O>).d"]a+]Jx,QI8 ,hYI ,RIcQF&)H 36]dI#F?0p2͢.QI <1Ixd*HOp+@ jX|%$AJ4yN& &,=Q %t$Aa>Ӊ+e6H&$a cA%Q E"Qp"U `9 % ;nT$;h;L:zRժ#kUZv;ҊruE :ڡBZkRb$PG8Iֳ=kZUu`œ[VZA]Yz6%5,bAY˒sm}?vVsuv%;JUV)gdZm )HQOXru{dWLwK "څBI\Ѝi0nX )kL NvC }QW&4Bp G7R2ӈ( ja$5R im|㘤x!4HlC5__1% baP"t,(2 .@a Kt#A(0ALp(:^0s#P;y!c$;І6$xq7#sT&Mg;6TU8jU#v|Uz&D9&Xs;B:#5]XB9V%U`ՁV᠂KW޵JQSַ]GGюȞ} kYu}lvq$-(˅Ox!2 B&Q{hCC "Gb $  "o,I@'8 @Gq܄Pp̻Jp}Hh2/Jy5>#C@g][ P;Y\uCvlJJLh~Y,Y&C]\H )@G0a$a2]#(+# ;(%z$vJ 󖕬?POO=-qb!!Wd^#Qtuq;}FNjlEΓ[z8*=IhnQ/y_'g?Q?$wIOl$H ( & p:: !%p(qȁ$8k, 1APqdR ȯLA@`@,k:",BX BX{X $Z>%(r)Kp꺻;d@Sg)J*<1 [2."Pˬwx63@$p>9̬Gijzu:qR-v8qr#Т9w`kKD>>;?r&lJ%(,@GĕpDE-[?CB4+CCQ|'ADV[ (R/X$ (ȮbpF2@Nϻ@R"* qGq ,l|ppsp0w GFuL9G0LjGwlu3B<^ H𥖺B$[2J H"40 FX*SC\`h8 4%04x_4{pDÑxɘTI4'Dq4=;qW4 QDJzSP4$;@ĭJD,upRHʢ>D uŞEʭJ4LJܾ T7XHF(@"`  H MLrDGLs@1PL\zFqȔ+!8L͆ ό P@H <*!,)< n&+T!H'ө. dCe4[!LI!i3*4R$4KHO@d?DtE^' h) s^qRIh+nO1cBPT#PEPwC«J eP|Б4 t:OR@RxTg$RPƐ@( 2DMnB Iҋ -)ϑ=A!(RkHJ0=S/- N=&LB  ZH+B#Û;/OS)CEe06(R8s8*fБr+7r~R*s#USqR'Gt:5vh67f4=kzIprNJ3>[Un֩D c6jJvw*wf@VUoWT ~ӊQ 82:8QX %//@$ϓFhr"=Fi4 %{YYYYH0LH/>ZhkHBB=E]DM"3x;@ad`Pa@+?d@LM)OMب(P Bʄ쳻4 o볪><\.sX^NXÄJ(„xr2= 2սa=S,>k4sPڝ&-9DX26pc,ܽ]2]Iٽ~wݩL^s%֥*r(^] /7Ԯ9:U/J(2} 7ůG0/BEKk+%pX +b4/ 0S<'VH%j=a*24}$ [.8(X\jo< Þ7⚸LXB " #v%N&1HƟPb,UJa1c"](&pz Gⓨ  +78VyC"c@ 5΋'x fcwPL3ɁGHdAdOdPeQeR.eS>eTNeU^eVneW~eX^bp RC~ N2'VU cX>fdNf ""7T8F#aN^a#2&B[ 5elC:dVRUF#F։oOD{H0 !XVfg[Yf&µcljVk*J^ٺhf nDsw%p7XVF|R 5& hi(G}r鴭*D["zܝvʫ+L,!J,c,rpyIX+r ڻ-;J""]:(,v=*ђ.1`Zll14SI(2#i!qlȞBnt36E7p6;s4g4O5Q#5SC5,ekW[;?=<36u ,sXO#PtNTw%A(46a3w(6|+<-"ln#@ H(7eb"g+ [I3[ujSS׻כwڻ ҽ=ՕHwTS@JЕ= BXp pAB%,>O`ziMEU:,9ᰜ,nrQuRo ┄<C\jRsoo,lĨ }QXO j<\m@0PUvP3cLfcZ%ȷOF=  Jкܾ&.uu_wv ?@q4u)"+<#Pl_m]=}U|r`a%VJV^V4+fYM6hx=FgrxO)8BWq,}EڑHnwywb ɯ%Hu}gh=dm)õ?\:e=Ml^oT-kIw_ngK6 ϵzuk\}E說Sx-a{ab a^s0fa>~{|ȿ6n3||Mn7 B|?}O}_}o}؏}٧}ۿ}ܷ 2  [e_1 zQD*\`Ρ~afHp ;"H({`bm\"*",&.Öx}~fΑX6xA$Ӌl!D #Rh񢿉SP#Ɛ2aIDU qBGC1cRIMB)TJ2m)ԨRRj*֬Zr+WA+$8oޠEpܸ#ɍK.\r/GIR2dG(rbPQ;F|GKh ڢ邩+膱-nmkGBJE/\1捇!&HrhjYb"P)Fᅔs PXUlvWr@j2џͧH)D}q+3.q\6u?k@$wn#\ZB~-}/|+ҷKAi!-9թFqiY .ȊJuS F,fS}pR F#hDRsFWfh\SSz>3V?&.Ɩ*X?V\%R `<䱩I:&c YOS0d4F2e"I&{R[yo8Y+vB,{z{O0:5? (F7ҒN.-iM;Z\}SUծ;<Y~D6/tIByA# 0P\\RpdeĪ5k?U"[hsB;X `RκI2H]13m%as3t禬@o[Xj V&- >qDLߜ moI@Y_t{s|UA'%`ʄ=Po $ - YToWf?;ޓ($f:=-0OF$?{qlHQ-C", E\x ¡pĊ8wqQh8oa1_8_~Eƫ$8vCcsvՙ!uIDR"1Q9Q5 V#aon7>YM>@HjVϑ!  ;ʬ( D O4 `8$؉eP#=ń`bY}K#4C5 PLT Gwe 0]@&!aJ@t !G$H}O~LO݅] 020BPP\ 2|C2 C&A D@uuEd]a@hF ՠ96L9̇0J`B%:`Bk(9D`흃I ^!aʜ" ^)B$VI%(bp\h "ƒ+*^ 'o,j$@ )x{`U678p͏qXD 0 "( D XC(ABPc;<>2 ? ?d$=ƈ@ȡ!EVE^$Fa,Ԃ F$U Dd(tT@,K#0VhAȝTƷ?$V$SEEw JpEܠ^)filrYpEYSxEu >Ě2(]he=` QPDeniq q _T9h*I"KR * ўRĝC$hkq 6] |{]cCx D#j*zG(gޕgN! D H(X5jٜ9dj`9:ȦPJD ȣ4ʇyI,IP99aP"9tv P\I\ Ɍ ĦyɗJjԜgJ Ġ^j, xƂ+"Ğ,HbJE@ p~B֬(|A@:B-&Ej !ETŠ&*(*H\؎A"( >̓]L } U"NJCM̍MMEH$M4$ȫ(@$4tHPONV .HNgn.,6[OT7G -|( AOCTfn@P$/z*Ve/ZmQ2hRIgXEEajyB>oLj\.-N;HN`& ex&Z]̔4XaAk\P:]3Qb-)#Xm&uR ; 1eI2=#՘R3 )-g]jC\pS:Cj{gA =p/KBL)Lݍ-cG6DF\A>K\@6HjD$UPCN[qB>;DS |*EG@P;WBX%Tl@'[N,ܧHe@ e[b\h aboAA>X@_=;'3hFV/f3SPOVJ&eZU@}׽===>>[z"/=EPu|GDvV7*jO`~O'F{0XO,9A'~K'~ ( A!9ҋ~:~{>hEڐ;GD4?- ?M^D<+=䇄D+DCēV@DK($c)E@$i? 6tpDćGL8qE3V䨑a#{j2PEBo8H a8sɓ ȉ)dxї-!U)НqF]FSud°]zٰ= c3n\sֵ{o^{p` 6|qbŋ7kҤ#$FR2oܹ#U~3+R3Q,]%ui;vdsn{w& YMIa u7a0" a [6m۫#:t qxő'O BJ3oi>Į"ȡ;/+1Pv)D"rpOM!D9!ґ!Ʊ "<$\&|ʹ7g+3 * M4@[3͟38y1=DB(G`G9B͟Hq6XN᠄I [PDhr$I礤NvTXS.N;}s> tЦ2MtQ4{4RQVE+ 6WO 8VI4Q80i 9wb7vn_Փ-Cb1RI =WQ[5CFqk( > S@N] $Kb#":kШG"gέ wWTvzKH wT({6bK&!a^w ) Mi}Ύ_{F77#W8SV>y_߾1~Ù54DC!)T YB;vϘKxghg14Lc1 mh;^ Ѐ%Xfy C$ m^ 畘T4v jG(_L&:y#GFP#3ڱ3`HQTxcjҀ@z9B'2&vdHh.zH)5*YJW\F0M ĩ0C0cj4Д4[$Py14`f*Has?&6fS9Gi_!^*.q?X%mBe#h'=w%1 (8GNnKRlNs9?'%*,29 Β.^WC5K9NyZ$BT@^RD\$Ҵ<9`юHmpP;8c D!fn ;0qupΡ'ΓuU`+Yַ͊p]dtZ xy _oVj9 *c2Z !ٱ DjrMpIb4DYmH ~S^vo6 eR Ω"HVrʩgb?FDMnv6r'" e6+[WvCZ&n|%;/@l~FU%q"qf?Tg ;L7VGra`bE~) a$0&[%fc Oź!GWpPfZiVf7;T,jD󎢂pCɟ.r{zrԦVW3ebT%Ӹ,4/Ip?#"1;Fc,!8 6H9.8i 0a~y?O%,<_6?7:r!jE/bdO'0F 2chޫ3 ,!"FC8:GXP)eF5A!AlRP!bF=z7b>R>&9#:̉o8P! A#6×"Fj'ʡ:TD!@CF$z \B$K9JEBpF A0,A# 9v`c'; 0 0 YE`?&M1;Ȱ;0<փ#H>DAml jAnmqdG!T*#|Ĺ):62Aa<>X@Jo$GvbpO()؄>2b: AN햁npaR ,<N.BJ!- \\OEVJj]4xERr%&e}>%TR^&žܡ0B'[V2VL*˥e8ء6$%ZżQ]P&}%'eSv-fT,9@Or&eYE/%Pt-E-G'u.rTХoQ!> Da^,3L`,j, 3!\#4v%+;ԥ9.}^T3$B.8٬"$7 v d8f|'@P&"6.*$a!/*"6I"L"!!6ļ%wO²=F,CDڻ͎m#,!Axx! u!@0l("CVv;#pNC//"6# /2!.LC@O ]1QIv` (C$F5$BPDk P2q;h&p1B8ı =\qdI):e6GAΐA_+ 1[^Gx$5|d>_2;j:B 3T`15T` ͪp+^ٯ]wD~ُ^  OoM؛?o"XF[R\s\rEzrc++Ÿ?s?u*7IyR rTr^`aivhM6KF8Q7~!H6/f&|q%)qb#kY'f3jLau"u!MRG "aeuڽ-ΟRU/~ K80b| ;֫XMv8+ޜw9cv :ѤK>:լ[~ ;ٴk۾;ݼ{d$I}w.nsX'&UyRvivAÿg]vL,q;Aa4g.<9w-;KUT]`ȝ ӃQ!beXe7T|زȜVY2"g1.fݨ#Xa=fB޴Y]:~f\RNIeV^eZne^~٤p9)dsjF>DH]i#W9=NMwaQFPNGh8ڨ?DF;H`NV?D-7B=Mt?-}b` 0D\bBWcpB`ZhRB`_rB# Af e&If*׵#E"eg f oKo{E-雙*eSNjEKlpCz<P FNNā4Sm@jU;,<jꨩ0ˑth" *ňr-l]ⳉ^V퓣8n6fzjB6m wrMwvߍ7ye֚uM?O=ֱ}Q#lה@-ASKIhC!a9E$H;a{UF>6Q#BQ.1v ] !QmuWUYiu[Wc$hj(ׅy6!h >㓯>n=yOߏwKukM,(G!PH'X=Pn@Aю4!a vr!F]XD;"1JIuL$D&%8L7}"AUQnL1&!ƜAݠ@v .E ܨ2,M'ǚ¬bdu[$"]-mZԪvmx(NtLl|EO -4]hpMkhϺ6iduujwnk[/ϻ-yϋwm{ w}w x~G?n Kx¬A $AAHv? #$^Gx,n_ cF¡ /($Tx< D.I (KKfL,ky\fm0|.yd. agn 8Wi8$6 BqӅkW2Ҷ-D! &̹R.tשQ,l| 0( 6p(p[^r~I5!qd|HٸN,#w鍚~Rx |FBMpZl"LЭ L@D6( (d@`kٕ@Mr. :ɾ(L=`zEu}7Ua uoSw޵wH:@1O^;(aWNTFk~9hW\?`6ӓ~zb뒶F}wvPta"v&~j=Oԙ/Q_i~q}!`/S Diwj[=>gv-x8."Lhbh#~ "6-C_b7s#@j6+& uǀ6&Q%v!smwt{f(xXP{Arrh'0 P q,+2 @E#Sq"(Sa sa_|GnR7"pk^$mQ' Zm*mt]@jGw(?ArpmwH#:H~Xz' 2;ӄM'rT`7qezn {mX|~Xme*r'72Wn }Fׅq^؃(\PP"Wb\MLr(QUkq{7nփ7$#(tzd!q߆Tz(^WGqGQAgH+82pSg:A~7!3 8*3vሒ)^Kp& <_xvh恱G{`z?8we|_䇷v#`qtwk8{hbǔI>~ьXimTcH~xv >DD:Fwl@n^E tGk(ykwHXuHI燅'6!#mgEQIWcm StiH5x{"+G@A@W6MN01*@~qq9iIܩUD2X)Roɞ鞪*rSQkx;e ɟV7 ʠ  V%.5H%j"U*#IW8P#ѢW0G@u:ZVcq@ 4Y !U` ![ڥX\*I 'j$Ùb3j`v`%uKizx,vpYŧ~j?jnjK@pbIp` ?%x@ qj ~EUt5Z*:AJ` HpN*n_Zax1_VZU` jI@d zZh kJy37Wlj6'jQ}5@a~q m$믠W~+5JPȭ:oc!jZ).k+0 :<[>[4 wxQ ˱W=3_VI1P #@ ` ,!PC%֐.e8CmS~% dW5~e ?%Wk?:~Xk 3e{k;]a˸{8!o++eF a}>j8.a뵁=0f[U\kK`xk Y_@ H[J ` Jd!Rj0FDz`\H0 T٫HH pC0 [ ʿZLUk k\כK5K+@a:|<+k,!O R꽾0 ʳ[-|Q+up`?Cl7S:[x`j @@ x Yd5` 6! ` y~ō N ŲOI~&ݻ>0`4Ь-۴֬վpH:[ ھ`KU0Í'_v]ӭxTQ: :{۵͑F+M mڍ lʹ9 fPjl[ѡ8z0:abxT'sbp#>)>xn C0.y@ ;sʬ%z8B5 8@{1^>+M.})l0+ 5,~>ZJ mΥoNc>υ~w~)Z)TxNe̥L12[*CvFg^z'k{pKJ@ {mbvA {C{0j&@o2n7.EnN(:&J|:qC:IjEb>uZ9n^.?ͥba|଱_‰@}^Ce.=OS*/ΈnM(>ϖ.^)OkT`_6z>N9]NH<U;[~&N0#Ԯ8s(jKegH0cIIL#n̤Fcr#pn{j:?/Op/=44@MwnX$L(,C@ڬ`\޺ /ZZ/h%LLV]?m_/`A"> D-^ĘQF=~RH%MDRJ-]SLG!IMtӚ5@5'PKǦ^#|"l /nY{plx?sĞ!2LR3tA8HpSN:Snu6ݳϺXzu%nVEa4G];.t͠|&^SuFU^ku6A4Qj ϖ K]tO]^KP;^ҝ5aa9<W_~}0Bubay ydJ>w$p` @.$dy?f.fi:jj눅drx%!"yz"ɮ m8[$/ꚦ1J%GZ)ꛣ j9Tqx'xG>ygy矇>z駧zSz{Ϟ&ehjhuQ" _a˥sI@/#3@tA 9^5o($Ą~:!XЎJAv`/  Pp%ĖmsFn*ۦX$2ԒlqЌgDXB$7}E2; )rGH AE#"rH,`!&%đD2ۦ/Rlb#=Y4ҕT] $A%Qs`vmAf(9ءL:a0&%؁ {Lfӗ)DXYH!Yd.&H $nKŢAlS]@JŤPhQMFTs F,N=FPӋ<(,e:SR(nY[cmKG[!90G QITt~@p;7ܑ !iJ;w;>8dT?!)iQBd`O*԰]aQЕ^B+KJEEKZ lf̒ԩhd [):ml[Z,&tDVFI sv5s# !|&PXI vBrT? nҼ_Q#՗[$-{ډW@kֱ%lbR}r pi R-w6*Z"׾=0A;LލCre;b8xBpKH| NӋQa,X:(DC] P (Ɉ4g1V (jx[?8_2?^%XSg^pi3Z1\6f7|ыa7я^KGIb-ƣG\[ A@[1WRVi;p@CAnpȵ&5+:3oU- [64UKD/^tPӌc#!s< ޶ϋ_13zsb ϐw6AI%+ȸÚf bwD;S7d xsdXDևc49)@X{m`(g@s8vQ7&En y!3*:u{dVNWe+}WwֵD2# [vc,z0q꨹asC:{"q"k?apHk;\r5jffoSGe%XӚt9@k >}1g~͒|79Tzuu"ĂA@W7si;ŗ%ywln:j.wz;)Q& 1꒘zSB @z@0A=z 49[0)/B !$"--4ݻ&()*+,-./C!"1 3D4T3vP3S<ÒXoZ'?@54CD4 h"!IRBⱫ$B =DAK #E{ŎHEXUĊxD[E \6z#‚Yڭ{0i2A(e4U7YgYFAR*Ȳqj***:Cjsi2:d+˯ +7Lɔ&˹B!AkK DKD!\d lG;KQMMDtr҉Y"\Bxilp j4؁"@vz2z *.苟%K L8}t.Zr.. 82@O.A/ߤ.CzmFj,Fk,FOPdLODR| JvePT -J{gFEl!wx!G8(s)!>H8[8#C!=$rB@*ߜ5DR(c&IM0SsRc͊Pl;#eG!}9 R>ER3T> %S![R*+D\ܳw(wKl˅-5}\ڵ)=6 %>Bh ~ҪgI=TE#J>&&k>4'5c^2 ,PA>s^Ld5m*?mz%?sZGs7_?9^2U5up{1_ \<%HP1dSca(8QqB?jaaJ)!&"6#F$V%f&v'()?0KZ]?È/X+:TXC~O8cYr2!3c@aEZx!DId"!X9k_Cx\BA05Oe.2<7N$(Bn$*I&N^呣dONI/QjZLAkPVe~ R%(2?`H1l2&UlnHmD ֦:@!E{J~<=Dd.fOA7ud###)Ye8Peps3>shYԼY0Zw_6O N91kK#:3^>'f f WAx[ZN`bf ?]vȡ+c«ܳT\(ٛHz6h7 k?f N>ls{s[h!A t(K0Pd`8$f`+M_` ?Pdž1>sKw9d=;΋՛@{?@oBa>ΈB6N$<$iT7DcbnWم/adE71Z04FvxҹAwlvyBY~'7GWg/`.2waizxxxFyWFF尃a)!dC!"jÐcI:ylxyc0{_]^AŒU*B$Q*j{$TyxVw_tf6,)cb@bP500Pc@Fh³G~o,~/țumg@?9/3rnw}Wh4%T ?X/_K}>fӣ3j'ꤗR/Fkl^X<#&eΪ$sbͪu+׮^ +v,ٲfϢMv-۶n+w.ݺp5 IDh !IonMAd| eʊ=Х;K٤T*Cs64t˜-隞3n[(TQOyQާS||HE6E,}:֯cϮ};޿g!I9TdDI+FxY ;&WVV3΢mjH1t-' Zr5 7m:}ZbLnvԂ‰mV/3X7hE@B #{L&JbKy\VhM):`t1D!"wv[fǽ)%ٙfqR9"2ڨBiP@A8#VH ]-Td4Ur[Q^~`Cio)yIn*brmx$`A m2n*`g7_" Sff%mlR뗤/hFk= g˺ps;L-#\'rwbwO_3fZ=qNLVCG#K34 K-0MWYHoNEqc]gwu|qUݵ۵}-hUwӝ{ݷ^#3޸CS~ەcs^c=C!Lc3I_N+^G o2.;!cW Ek! 1>/ZbUR_߃>%r)$,O r~i(3 sTPve&7ke3c^w3)dTmB$QP0HŃHG?`zrzͫ^p KCU1*A[M"dp8B !-B4+"R" Y ;yE62(r/FcFX,ʰ% 6ڑưLR&VC2ȧ@yD!rY:$bX=U& ̊$';Y@d )1QJ A (DX! p8@\F29#X-V"3K',Iz $|]D+ICvh=is3i^/NJ 24`F@;Øяc9RA$d")g&Kɍ%s8ЂrQUSΓ4*5ES'N\OB!-}(#Pq?: 'fȑ^*{hPf,C%PW~($r0PG=5n.YQ|JjֳBpG=Qx #Z"K\@)FA4%>RIRQh0#Af:6Nf4iI9=R~<9AamAϑ :![H1m'"5-q"*xC5GYad~wVB@];صlR}1Q(I,SBI:]@!b%#Jqt_]IcxKoko{</(̤7 Zʴ$,@b"fmSZHOECi N+p/}4(X>D8 r&L=X `XZ$_Ÿi?8R߸)L߶u A9el ™CaPuaf<]CP5ݜX @B(ꀗ.)B@H!Z!f 8B{Z ~CݲuRVn ^HB{ ^-[$DA_֝ޟ$"&!\B@!ZܷG&rb)ehIJ`B`\^"{L]a!{)D\Nc*)9//G0?|[M$%])Nc ch,YbYD68&%jrbB ='f[67ȥ@dyG\^c(#FE@]=Z@@AdfXO/#YHF f\AeXTaסB#%)SRVI a;b$$VIxC?@۲icD(XB Ot^U eAxH!! PQ& fV%-fg'.]#^̦ X&A`f@Xqӿ Х%hڊ5"fgaħ`A{ ja.C>h@T[nd eDg"`zd(CrW&rhnT)ݢ R"h!t!$i)ܠEr*ƔATb.詢*)ϐ(B`'˥r Кt䛫 Kda ЪXh$NPͯ2+ 8]A4bmܪ]JE#>D#XAPDe6n[ŵǾ,ATnVd?M4=ݒn.Nnnnnn/"o*2o:BoJRoZbojrozoooooooo/j p#p+3p;CpK[oZcpk[/pp p 0s p l ppq 1p#pq;CqKSq[&qksq.qqq11qqoq 1r r! q"+"jF#Sr%[%cnAS0r(r;2 D1r*pC-d/-/. 73 OF&s11;Ҁ,_ no(Ss5o)#/A0s0@jsAt773@0c37*23>0/o"$2t@ @f3g@t82삁"(AD4nCnXsF[36/l0D0)tHtI+/A,l$,ko;#/LCK'/MN/e?/9/?gJQ#uR+u.B,4.A@$AD#\3nuAL?13,?t3E^5FsrA(h\0G#BA0/^^9ߵ?̀.*`6A.,. A BAQ#/7C,,6c+irˤ6Alv-.,`v,s--vf,wj+6b@1# CU#Wowۑ"|)xN7$%82 /zC2v"RwQ7A<'ӮTUĽ4,MAX7K8ARYߥV"S!`x7c4]85_%Au*9i#H^xA7AL c[6A, l3bC?tN2,L9W6ds/va.ssC,08a3( 0.(  l#bot'O'xg6>dԹ\" @ "X2Aw twBtGI0̋%@czsĀv5?PLITw5AW.%C5X5:eXtA8K//D;|i 6r,G?ovo3kN3#v /;K89b60?@o#@H_96’@;/S#o᳥#>K2$d<נ9d6 @?K|_#Aί1C&0DO#K_uÇns3Wo'o}+A9otH=02@0W 7n $ϟAnf `XXj0bÈ 2Q3>V,X F4&ehé&2E˂)Bj>XS ˠ.xfOJ!sJU;lYgѦUm[oƕ;n]wջo_*'TQCgPF0X1?gBp# e*p%nt(@*6/`hikAFeVpj(a*KC*EX &ŪQF{רeDmZE.ʅn!X).6(51c&8 yd.lB=LKb/dЛqYaP)K* ӏgXCIO`1/\ :Y1R`&*,;j 4P@0 Yice h *d2`DE.K 9z?AF @#)dCGq]y߁W70 }xL硏O+zrH+||*(R'o ^Ͽ.3J4`^ t!A %1hjbG%4 Q -t6Bΐ5 qÉ=cC!E4.M_E)NUUD-n"F1eaјF5ftG9ΑbkF:}i<Lc HE.I,#!IIN%1IMn'AJQ4)QJUt+aKYΒ-qK]/La41Le.t39VJԄa)lFۄ7Ipzr49љNut;%9iʳg5{BT>Oqg'̄T( ONE1Q_>h$9Q\~t$ AbRlSl)'_thLS<)J5TE5Q҆6>-RJSOu#_zӅ2T\e(?ϫ,ݪTWYղzl&ՊTΕu]RjԬ=jUzH п5i`v{J RB6Eg%X26ּ,Igٙ5ZmhY–mdIVֵ8=[\5/{êͦk1ʶ]rjYvns-yf׼PEm{^܊uc]V],u 6 xmS ލaԼ!LSeLA,'!oaG,b'[o86yU/d%/MwoLbPVc _xͅo[fo)0^3.x( پ֕3k;d'Ѕ6ie>)gFm fy~f4nQ["zi}gbW>ݘɈlaR:Qxӟq}y\ xdq?Z|i[Nv*[۹nllp;ܫ*]<;*ppv7;\rs j}{ڶ6iG Oymxȯ'ne nڌZ|9M5qWwkWC<ϳvv3cScpٝN3V֘+jSucu/smwNTw50es5zmdzjL/OI>w!T~ɓU*|Azя5Zzկ}@!D,X8S e*\ȰÇ#JHŋ3j|8bD CIɓ(Hɲ˗0cq͛8slrϟ@ SѣH$ӧP8ի:bʵk/EKbͲhӢmEڷpw6ݻI[}߿ ƒ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰ƙ*무j뭸뮼+k&6F+Vkfv+k覫V492#H>2 2Db̘*,LX]1bAV?E2ʬ/2܋/^vX@!,5# HpA"4‡H"D-^询F1v#ƌ$Cɕ"rr ԵS4ر#fDrrH:'8aQG甤Nip@BW=|:T(O4ҵgݮ9TO.H!QD2[8 %C:=cǖ=KeQu{Ulmp ^Q{\.Qm Z0OSs)46jθQ+g %ָti53xq z~yVqҕ?Q_mږS!:U)=%(&N,2_W5U&@3G Se6eE K6HۂD!A}`cN$t6JXSSmv x% ,~7@Dr䕇;;s}zX▯>X.좣6ZC@;%X 996; 9 8hK}Q;n<[{OөO;Xx69p>L h :*gBhxGAICCWTuuTgqHQ;{o`bE}*:'QEhj2jsz:,׮ Kkmzy`_|vg;:"hq! PLE 71(+0F B=6{,X0nH_ `TiU6y" N7gE&MՐbA)qeG MA ^$N#L)X7ה=>%G&@VjcnF QbY r#yk_uyɞAWԡ7"z#^guA\6ullTY42⇪$#t!VA!TSDeU(W*ggNK#:: [F ƨ@z[\H7d!߱&p߶];\iUsr]ߥ!s=])Pċ*Cs Öeuka?e10iLr Ĭ 4L?GxGeI*D=c,EAH'L7PG-TXg\w`-dmhlp-tmxyCw~-mڅ]lg@ G@06喯͹֝W6Y6 Pr59a;&C W; 9쨃Iߎ:\/a;[7KF O|הﮎ#XC>&_=`=/z_ȁBc v8 &4C`?4$$桡 ͻ vHЅo !fBC,t! Hv =B `7vTTa"1=L [Hc(? ` qcH sowjD9Ad@ 6Hʡ{hKN97\ NJKb$ iPuYr@;|G 8Gz.r|բyKX*Ә45@,Rz5Q׆v3h/љ9qӛ,5pLv$rSc5fw#π$#Ѐ !HQD.]knA*ЋVtnl'(gehHYLvxh"!p85k9P)Ty 1T+f"ՁDѽk}de8QҢڽ58#& ;b x;$%5\@ vU\׼%|/es` {Xmp}kzhFLh`^ZѢa H2䐠>ǻҖ4̑c wfn{;:uPnԭ.~ujrmry ז{#ئ7nͽWszu 7s `nL;p&\Kp9(NWX@3 pxw@y@q!;Pdc΄#){`=p2gW:A4YpLI4Oq y΀c,+OB{F9ĕK4G`юδ D`R2:Bu԰3@.xw}j 5'i^{ӣo]LȖA-@ڙp `ۀ?T(F';;Ҁ|tʝ΀}8M[2: !,vc@GH*\ȰÇ#JHŋ3jȱǏ CIIAN"LI.LTi̋Gtɳ L3I ςE+9b£N:B2HizHC\F4T!4V-L)QXEjuv\v|kڳc"{@xb>q߿XWҤ>"Pܷ#;Jl՟jÕ QT:(gY ^2acf>X.gަu]W0g7p-SEK\BI_jP+S ZqEEJX j&Fa27AP6 (8"j$`hL]RmZ׎EE&}yq$j2 >$)x'5nגPӂ0bRirL:٣VRi '!5Yi X#Ilwug"&je%)&X9唌j 0U nW8ja v~A!esFJ]ezܠ\!dk/nXͷ) 6qŊb5yu5qf nWpǍpgzN5'3T,8 &wpI*R!}DCUZ=TWmXg\w` dmhlp-qx|~.^6'⌓xG.7S~g^vڟ͹~P€晣f;KCzKNx;~7g嬧 Ӯ;˛M# PB69a;&C d_; 9쨃ߎ: g%~2鎁#GΖe@1; &pu[Bоo~C,=O!!Gw, #GĄ9ހrcuB$:sԐ`⇆6o{\$ڑC*XQ+"@C ԡ;4#[Hv{GuQ];!OHЇ@$! I<$"06`8IP2w@%;) fsm$+!4u!'wX@'@6BCk3s'L4|G*_.wD)kV{^@:|K' Dd';"S3K® 6˩u𐶛#$QKғ%%Q&› ށ"d`XiK_ |thDB'6һPIŜŵC`K?.d_ BP6Α TpTRxPG>J_XE59ƽxP`˦bn'Πb6C֬(qwܷXH^"Sяs0Frڐ: (;p@LfhN6xγ>| pvF;zт91щ~7Nq3 KGNW h\E~#fwkWO"~2g-j:N,QObĞsMj:KYG #}LCD@F#Ccݳ^fq9l S!2KB:zApC ?2ԧ2Eaɕ.b.H:D4(R(=YuD֣ -*٢mߥei29twLtōGZG䤸h?g#=jxomm$Jd> Q{}v% x5_g](tH}\ .aǙceh]G\A2Ev/8v@hqjPDv q7~ /#)ޕx#TyeagŽ`+VDR`Qea8]YtEhHJA j^p%Sw֘ KbN0hP-eR*H ddc,x&r:B7r#*q.C~iCJvV+zUv,].,v.%h"vbag cfkijuZk]դBP0[Za5n2 ZYڔ]d^2 G ^l A#hQ}gdD>,p0DA\j|X' ]HWɋ.D?v1MN2eZ1uU rx"i`g\j&Yesyvp 6Wvo~*hcر_t ?CK4H3[e".\矋n+ꬷꭋ{p\o'7| 0p?0gwsA \觯7Oo?׿@$@~L= xDo  a :2xj~"$a2@2811$`{,t! %,}H ,! <.Ġu=,X82Br/̓Ĉ=213# B m?.ڀxu97r@`Š&⡁ K`"QRpf;4 #w#w7pS"+ 0xĶd?ۈzr]T[֟ Xjf ~@c? `|ӧw`A 58MaD-ޭ[`qgN+_`@!, 80t‡(p@AC %:GC6A!TdD"I1;O? ۽`RKԑsIB`Rv$5 PN KޡWDVuwa" " ߵ{6.`Tߛ%oaR@. D,dk'i+LGHLtBP", : tɟ ?@7oOJvAqfԫ: p2;= #z !, 8L@‡08*p_nj p H D~,񤿔#9h Aˌ0??/~ a7!`?v̥iԑONU]`_;2Ҧdaڵ]A` Hnֳ tǮFa6Dd` q]ŦkЮ.(D9aR&*Xbi)-߂haWkp@2h;w=@̮eAzX^?!,T H*\ȰÇ#JHŋ3NqECIɓ(S\ɲ˗0cʜI͛8sɳϟ$9& lY+H*]ʴӧPJJիXj=8elKٳhӪ]˶۷pώq˷߿ LKp,̸ǐ#KLe#-KϠCMG [v/װc˞MG$S NE:_μУ ? rسkνs-ӫ_pcOesR(QsT 6FxRGIhfိta($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-mH'L7PG-TWmM_Xw`-d{lf-[pmx |߀vcw߈%ͅ?V?nBؒg O'9Y]G3yU B闇-LcE\YzGSm8ޮS;3{g#2Į|Uu(@Ppt@??^?bp'A]B~/J?@3@gx8اoyJԶ}O GR d@8 ^n ;Aqs_ }φ# g8P ! p*2UpisM Q@PXH,Ë2 8""#'8މogAFqdx911[X pMF.d{Ңx\PZ~Mu+@W@ /t+*9OocL٫xj;]>K!ЎNCfQPggK.-mw["pL#MrwbfЍݜKZͮvz xKMz|Kͯ~LN;'L [ΰ7{ GL(NW0gL8αw@L"HN&;PL*[Xβ.{`L2h~.<6pLg:K`,:9DmN3ּ ?ЈnBdO04 s:јδH!utuiMOB2Po(У&WOM8"c=YSqM]:\9-\ViaOrv5mjc)miۧVuDq܅F+n8k궼%Mz斾]gu;N9s7-qrS[ 8;VE;xAnqyѸ6e>suuCpZ+]~=C?),4.hQ3~g]OpNxϻOO;񐏼'O[ϼ7{GOқOWֻgOϽwOO;ЏO[Ͼ{OOOϿ8Xx ؀8Xx؁ "8$X&x(*,؂.0284X6x8:<؃>@B8DXFxHJL؄NPR8TXVxXZ\؅^`b8dXfxhjl؆npr8tXvxxz|؇~8Xx؈8Xx؉8Xx؊8Xx؋8XxȘʸ،8Xxؘڸ؍8Xx蘎긎؎8Xx؏9Yy ِ9Yyّ { $Ip(*,ْ.0294Y6y8:<)1@B9DYFyHJLٔNPR9TYVyXZ\ٕ^`b9dYfyhj_Y&ٓpr9tYvyx?ɖ|ٗ~9Yy٘T閚9Yyuٙ9Yy ٚs9Yyٛ9ɚșʹٜF Yyi)ٝ9Iy虞Źٞ9橞)Y:* zYM9] :Zzy) ":٠D ()-J3`IY8H@iB:DZz + .AR:y @Q ! 4X*Z]ziVjhZ[ @jhٟEz|ڙG0  !ʒI 'y:T:Sj200'Dɞ*ij왪.ZlʕswzAdF}ګGjJ0))@J k:1Ic'j:i>ZZZf:r Q:fZ 1 f0 *`@ٯk`Kڱa + Jy4z՚`p0(::B9Q5[/R;T۫Z*pӊJƤ`! J *n zɮ+:)귰0c`fP>+K1H0 #k +:A;#f0[ ;`;+z=;kҚ T4P:*Zk)G;@B  peKU۽BzII4pʾ;ʊ j оsxH {J@ɴ0_0[ :P˦#H0Q{<_,,P @ 12l;%|l3;kby л @yEAܟiXlR0fT ;d\ !]{ad;j+rv j,_˿]-'  )mO*]Vj஖D߭1M -K}K3<M̬nm2ڹ#K̉\pKL* K<лzҌ巽Al,.?ݒj10 9><܋j+:ٽ>EG !FMAY @^>lߓ;KFۢ b>r{h>j`q^G̞֎+Ŏ^Θn^N^~ >  _?1 $?(*! ,V*H*\Ȑ ' #JHE2jȱGC'G\RǗ07yMiɳϟ@ JQ$*MoӧNiJR NvVʵkÌ*Š +`ٳcIx]kpUK,ڲhUK"2trLAaXHBĊN.2AȋNyݳxU 'S\ׯ_"`:] 8T Z۠mdySdf)xfC>V_>W`֓d,!bKTJ L͑k_*9pdNF9IrPFNfi$9(T?UpQ?98X&M((c%΃hb S@Shdf8*虔U:|5}aբ dj٠t:ikf!5Ƞ?icN!t4XLbΐ E8I&pxT X6X|fdr|:e9Td'mSPq:!B0"H9^|b} fudaUO!FaT1 mQƴ!.;dnQ!Z-NQE%NbnIR5xGnYUr8jYe֪]eV"eѤ#[&a'i VB[GHV& WoU:DVH;p@\$;YqO/ZN&+^U!˝]{Mi(_g2X(mM'd8GI[lSh"c;XD}^j9%{XOI9#v!sDcUqvq!skrT`-[oX`!/E;* gfp!$}E%NTp>A+&5b:Q*$Ai o3\Ơ:ڣ9:q'h96*i`)XhQ!}ʑ)!BU&@q$ \P!8!E 0Fep)¥ qJ`StJ`tAԦ +YߦIDX8/:^2 v: $5^9 aBZu4"ܑ2}$k@{B;WyH|J;L۴~)YJלqʫT &jʭ]L¹9'Z~Jrf8Mu+ois`ss~levl讂tmt:uzuʣc?k{}yysox,7wU[ rKPC0pw|۬9KX4r6 76֧wlago8Ȯ5zĆ|&UJyt˼tZJ ^\'[|LJWgo9  jFl6'C_|6[gB) I[2A "`($Żg-`o'{k񻤔`Ȍ*@&\ٺk)j!n([ZjO옲`a~W}/IL$j); 쉷E77 ֙#f?DèfphZ(h bfg 0v |b? dPEEyh{ybBHhig6 ِ jixʼX8egѦ? lV.!ymh< Ҭ6{٫2;b[1]r '1KwYz̯x5ehK+], ȬQ;ڮ "=$]&}(mݴѩJCB88m6M=]:-<ѓzCPM=O0PYK "\ B%2Z_8o5N=vLGxˆ)12p`?2@nBf1fcKcx ji]r!"w}-Xm`Eáv㉷YB=v7ӷgرf2\ KvgeslI@uڊ(Zל:ahhrE)U}\o0Vv(Wv~JI0}CZE[F*`"h@KZ0,&*XCJl4Kˀ7yH&^"(5 nU2 V aoo@DGPz␧[{3u)ۅm@ RpYWETzsvpsa9 ;nCJ~^Gצۧ =t}sk_;y0L2VJ)@Y-Q5ͳF^ߝ^У.ѧЩ^췯εʳNJfԱ fZ|WS,[ec%aО n: gWMVѹ`aE%Z_d "Rb)ʎU7jB򕈠hؕ8my]8^#lShA}**0.-ׇ xߠX_m:aBf٥Tm$H3GqaV_#vg5^ <3d>5h]\ֲ5/eT6hV^/9g]AG^YKb7\{DD}tJ3R8S< =8l i "I%a 3tKB !D T%_)rpWF/kQ0i(srHwH&HTR ʧlK)K0).#"$XZS6Ä ߌS1*L)'ri7 PCsNv>;mO>,0}ʟ8=M@4J+En9hGZPG9pƑ84]Fґh$%JrNU ʸjI'WӒjP`YZ݊7z)rQH\i ,,Og cUۼVQjYS.U&i(PM;v پ!Xrr+\媂τ^%hJ֫~K1ԊxBfkO7#Л<"w(H+5Ї~.=K4ۦo}cٓ>N"&AV /{>A;񒧜7+lpI Tl̹"ó45fq 'LD\.8H_3?&ٿ@h@|@@ @ @ @ @  t@C@U[5 Y@*All%D.|AКA̸",cGli;a+A :\Щ? Z7$<@+ , h:[%(;/*:whw1" Ua;Kxj4:Y*6,|L,9`"P9AX(B(tbk": (%3:$*PDnԛv "$9Ih"$BN17(*p uj#@j$'iE c\.ug7i7)Hv0z:0v'9@.lw|G2A[;+ԇ8Fi MOk@ٷq{áͩ#TlB$S8R"hkzM_$ 1%@W!,L|MAذ7Ӎ5R5_ (`R`e<[sXD*:_II2jI_hHNN!܄!.]+ X\ 4Es"اXB? Yŏuڈ;lX9I DS*Pl ' ]ۼCZČ- JB존;e u=CQ\1vk*:,{Ѿх$@ڊ#صLݘk] A=̑YR<2}N&IT+ɟ$!C!R$S,)\@h]&z-8cE" S }x4ͧ !Z;r6z6lS\Z}mxe"' OeZ!RA XVŀ 3B#W崣&ZFpj؏ ?:ႥZVT&b~ QS:Mb^X[ !pY^:[&:.Z ["c]xB]5ơ:az[)mA(Bv04ػsBހBIOA 1,^Si %BN4ܣzë9D*=LC E lC+dE\w\»2EQQ,ÓDienQ*C3vҥM2?XQNjE^ 1nYiOe+9s B%@L\aTn sʕt0jSR>-43Tx;>'e.f"0rLSBp&24fX r %GйaL#y؁2'؟̾9A&g9fVۻ-B*-$$iw 9pI:5E'V%FnZ!QkiaT_ ei>17]`N:C3P<<TG~X]ވxq p Pk?o#"U->ą92v`\"):RI;`o cNFJ*L2& )q"Hh%BXP9va!bd&:rq9p`Q"tyXHs)'9 D@|^"n)y`MbQQNX1`U 5E%Ƀpa!V"I%9BU^G+SNp`Y|*'Z-kwhHZ_QfXB &F[sݲt"eF`B9@YR"p9`vvY&@ʂ;Wd|eR/NW{@U pR8ŵpe=$%0[D>|PN[ѡVjab)"BV90V։v@,i7B:ٓt!LT0-wCHc2Ox뽷@-O.y,AMkBP.P貧n 0@g'<[{͞L2 Woؓ@|E_Soj<>!gHB~CI&QQ! =/!AN> 6y+YHaJ]pK&DB _D"G#`_Jq@Q )ؾ⵲m`දZ`Cn[&}Z׿(w`7WE_LZ' >_o,| z3މ a-З_mB˪ƳMhP]g ׵n!yPXG/֕Lpx‘o{E0YcH@9eXH, P!Dq,aD$DfO"8c "`Q371 5a9B1:;R)"g?;6dUO$lGR%cϐ 2 #-)N:p/5iŌTNQ%lEsQ"Clgۣ%P\I;0$ayGNӢt5C9rل4Gbz즿 ~Ix|%Ϥf] u?*s"#9 ?nr8)8+D|A3c-BqY lC!/B9EbL5# &1ǥĆT'*.R?&IRNSy1M6yIo狮HO@= h0{nʓ5s'l7WQ\F]PHڊk6- Yia@AuL^+wJOukLJ< \M0=yaY(#c >T@ Ї~xc'tc"pHj.Hd5Af:m8DN3gHdgxB2AF??fLj8&kc=}=۶lkr56/TӋ!A憇o(K톌HhpM#M1iȋۓ^WG2'FˆHGsss3Ddu8uh7jFlA(Ҷ=Ha8cyY אɐ](C|g>TyyzLcXz;U.G6^8zc(t_ŃhY[_VFxu|w}zT^UNDwֈ|}~\/Ȁ0O!!x7TXuYh;hG^L{ =XYX[QqY yjpXzsr^ըlbT\9f('`EYsa!1tALC]d%^䥄w^`V҂6ROph]s9TP " ^fdHeB:P "5԰/ `l`OQbL%B&vHv0~''pL09;aFYhjgifhɒBQEadhf\mVGV Rǘ=-4v)j` {Go#P W#iT!-5Ĩn% 6mИHJ500J.iDuA[ngpKjڌږndmǦȗi+5Wd FoXpvpf LEjJPƤ7-'h(j}1' qsxIqpPC<,KU ^V@A^ PBETTucR8tEesXRd$9z}؋:Zz蚮꺮 Vɭ*Z~xa֯`=[%bڋP=^/毽H=~XًFGc 𝷆2mQDh!ai֎hFR ebEUE&qj&'F4 HzO)O5*y{F%AFJ"$\ Up@{^]@k ^\0B)8UEE!-lk[ֲԀ@YWaYjz]xgHw?%Pc c-P7{@D[incp¸#ٺu }.rh*qi9F!EHa27pUhkZg1\笗tʬt P!gO?\p 0%+)eI~Lnu),ulI9a;\υf(ZY]§+Gby!HN^o5T@V|i wZ{^>>VDAX>L΢x|d]eU3DdNfZLA%ۉlʔ N,}ŜB}Bɳ܊cj=<lft|}X΢.H͸B0:k3.clCf)#M]о&'͌m+鏔mtJrz?d DD.w yZfNݳGHEۖP54ՎZՐ17G^QB-Nݪ-ؕKCͲTݏ&KW`M _ݎ۫vG-yGzȭVj@\ #=]|:^W(m` XPRy`zE,X}DYͩ4eW?\鯊䐫L'Glw2 )<5jKEd@.&(qN)W:rbjz'N?!-;s=<\B}<λMraXN(*]ڶMt"%Y%Yχnyo7T~N%8o/n;?Is01*P?(#(XC/A\1;8(JLor2irI@ 'F3L2'b3B+()̡4h#r6CEaOF욺ǗB(3.Ӏ+()ǜRToLJ#2$BAȜr4&y J* bPaHHUuUV[=)R[rur&Y)+LfuW^CUQ{ݪXdaն`uYh_eY^D' #Zn]/jw/mUo W.#[tB).Ш<ŗ1]B(87>Y%-"=c$c8a,pna킐5ߔ"׏B;ζlEZ (~$ Pb~ͶsZޡUy'Nz<٥mֈj(AkQlNYEn wggF밑]"xC&MD8 )Xqoq]-{ras )J) ҝeS3ͧHBӠ2"֬C,.>v괯K¸hJ LL^k )qzam@VcJ:Jq2qo}kZL8) 35PRI3lAU_ܓHOrI*$D3_lH#S9R(pV%T+eLfBSud=e59 a:`Ш"<*Ruꢦ1! ٟl'@ . A]ØQTջxG7qix#(R$d! yHD&Rdd# `V~pڦFPV뇾7W6%"rC]BX0Ikd6-YĆעaHq Ur8Y.?ƇTJwW0ɉC^Obݐ|WY;H@ ıP6 #\),cq_DO 'xD9rT,۳Kpr`x*=B DP%𔝔ZsOTyF aP?FWQ |uIbzK:c*% v|۾|d{K#G2>t ?n|iBxrHTGmF&{YbԞ|[TabaleBM%ZH& i\tccoikop%-LR5 ]X1%$HGLҹ{L,=jįAhlHW$O)t!m<%"K_A 8E)RVB5 &Rc5Hl@qh\"Ӳ*]4`+)('߀k=|4ʁ'8o>-G.y>pA9>f q.dJХ+zJn;7"^1&C{{>zo\}B=/)A,anfAQdǹ-O?I$ O !S)}rH[h#`tӝ1G*t4/ N<*Dzd$C=q`%$U z.a L)$NMb kx*{c]g0CL5A=Q"^B3O'#"4Xyh'$jd#h«| OUX啊3,>*8& *Lb8hQ A->n׹ |Ȑ UB)sj|TLCt&b4J)D:=x>Y 3,^ ;Qp9&AcHi@1h` 4 &`SIRGLfP(8  5T901݈w+Y%iNyQ%A˳,TԴ&FUbWތFi.j šfI = ړ`*I%]PIS:"T쨲HC0.0uO=I&S5QH5|5Hl;[2]mկ&% ~T\ܹ'FGޤ^Y%J;*yu2y%{h1$)Č*KO%q))L95HgS΅`#AR,\?!Ҝ2PBoB7`/Ƚ0rHCL2ddUof*3%2w4GAV&I h#KL,X^A2!72V!BD #{*َ_q8lf' npNE6$&IYD$U&HѰ6!9AryY4H#6$PFKꑸ*L,"G(Ya9)ב8CAeAlYF]NǗVus} w3g(-If&c&1V9Mq[ߚ6ƞY2ra kSI{o.и!q "1yR[$oI|TBe<:֮*E%J1#S72'a5 _YYUI5{)IcYA]иEԡ(R)ْ y fKcUSܩ/i\C3Lm:eiObπ*T7kHMR5omYbһ]UsԷb%+i?+Md/y;>y:UՁKBu>䓱 [hȾYɦ9k&rv$5Mx\JBVs{(G47mqZJPZgS:LU'#5PRvS2#} ?q918MiNG:]Bs19|4t-,3.1Q*Ca&`Fmbam=2>bbuve!ddd;r%S*`VeUf=cFCeVfx<|hk#htuqΥCg{؃i{dHlwHkkvHĈ8hZ5qnw"L6eKsf8r?dq0^9؋8X8OUƈQ,Wv.5ՔTMhXJ]D)B ~h@OgyRGuruE D\_ (IBuu EvԀg'sUcwGyW{WQTC(0Q$Y Qc#5yWy*3gPo0)ASQKW9zwR {8{PǐOst {U7 'M@@L hz!Q Q0J{RuZ@7&A^(}}/o9I (;#rQ  xUHJDHԠPr#p[PCS~_yKpR>]`* b ,"mg,`TfQ(_3uZb I&U 0#8&BOP,vYV0c8B1BvP Pb^+@VA!%<9+CD!%RiqKV ^ieEM] 95PD8,$S$E9#lkD~2kE&a 6=>qz2! lwTJ#aF7x'g2&IAHB'ikQV=* Ix "nlmS=pϖjvfUl-nD4o1&Iqog,L$q1ئM8S*h;Zs:F:Zz<2o:93*0yc`٪r]D^ȪuO _Ǧ]&љSIEeQ6cKSVd#'pG҈UbX[f aBB$i@ 2{Ȏ=66H"XPw+X11 fLhp3wVP]p+2סxR25V"Q%W4i<@&j, (R{~DkJA5URI;E ?w6[F<H!ls E{"3%si 0gMEfTsN)#(P nQln]"-"MieQ UxA]ԦA0R~k@p3Ԓ1eF=qI=%>5WSڿuN|ԠԾNmxuZ/7zЅ\S'A=S5 UP/ѵj5#>0bel(uWy#2U.[lUF{eIoWET>Luq7Bsv}^uMUMuE'4mԤs~ZYt#ZkOesn(8%U>5H̖ l-!=XKaݒ= PxC+C |N﬑6>CÊOa>pF%1L%A3Pbߏ=r?amÒIlHDaa^9dVKJ(9d (<᭩Ŵ:b͒@)͜sG!w1gs b^f÷'^JIZ\f.F,͢, <{diUmgH+S!8.9y܌qxce5wa?Mࢊ)̂9ff(v'&H܊iUiTሢbL6^l'Rx'Z&f$sSl'-&hM ݛԔ(Mվ|X5usГKGs P}u[wuc}vkeuM=3#|xGwWo^WyԎ>t7RVƦyƎNK֨ jChI&ǨJq\W.U!.B#S'/AP ,cg.5)N8ς%-d'V x\qr=_:%L:H|̑(d 5gs9?AYT )CyDQ[,?v%,1VDlbA,P"jTG de8HB1DFi8D!,fY QԸFՌg(:bTQ"L]5 r61Rb:P)cpm:PB> q)K[dR ˓R94$Tfnu 6PBĥQ9҅t"&'@(U)M9 29ڥ.M&uKWL`ˑ,Z:ЈT"x I9!rc:)9Ja9u!Щ>եEq)"[jVg"55`D,k"(`˷'\Lۓn*?q-F`[ny[r\o :r ][ ~5sMC]0t!,PV*a[䅉7Z'ǥ7 b.!j! ;hy[H|AeSm5Z_!ᕌpr1Ț]:G=b2iΔŌq#OҨ/PԄ a8,#lg~=BG/tvÙ`eRX2aAz)#QSnsec3oz>mMY,}r&$ٺ9R,%S$HC*Rvt 5簛(R)d\@/Θ'j5&(@\޹*Q5=:uJw4lG wmDo2O;"J[! P/اCt\d^;M(JtV5Id3<"Xmt*5iM 3GD0ֺ lj^kfӷcWnn^ֿ,rόv;3]b{g ouu$\/ w-7)e܀,k.;Cd+l))f?<|Kdg_؎[SeLd 4f1iٮ5˪5M0#5{s>&X672DԵ~Յk?"{ !+t6ۭ>8 :2ﰻΠ3o+JS;>'i-P?~B7'6"1:q밒D\');:'\@A0Q1L,(807+:F@ ! I$@,TbNxMŋ΁bOH5IFsƒDq'?͇B?ql*D5O0辒ְFP"uT䓪K# / V-)1R5ciPRc$Û*1v%JUT%* ֮~}k\SY< KX}p^ nvl=_, 6:SJ&Vְ=r2Zd=Pc6'Iڑ6+Xa*m$ }fMk:Tdp]%S[7U4vժbۭ9VpK^N}ߎϛ}:g8]0h 'W68 _8txDgF'-Y8W%ŝmc٠|=މi-QJ2 MXtzNv#D8DyReS|LcHA''d%4XD7O yɡtϒ3!xx~ch/S"OAƱH 4"3ʍ8J82 NdO(QGԢ?Ef;!6[V,fyЦ+9̓jSRA? 1'RƇ+U;GϚJrw =I#|uz=~D>,7HNڎѽ'~µ|&2n/ڧ "BIzd)#n6<o`*ݫfjJ*Vi ,#"!OX7\5q8SRV gYʵu |Z'2gIUV/91;yS*ne_/˯FGV;?X zw|y(v?,YR\WCZS)[\[QYyuh],u5V]zŀ>A8`{W3"un7.y_x&5``_w:! 0%XC״OPpMMUy7.xX|?k-bGVgKCT&u*u=t0n3d5JpeCoCp?CViygvip3n4j{i6Ih.knnHl`lGkQKdhomTNe:TqHKC$VrE (nj>HFgJJKSMCBōv؎BƎQ8(xhuM?2~ȏw΃`2p"o`\j%xWx/xxxi惘wz_R"^zP%UVXz\)zE])W] @)x>ŷXȗWy4'A:QaETxg ְ4n~SXYH~ YOv&)eu`ȕ~W85sS'8FT? ^/8+`Xtpz(I?*VLT1U\ˇ3hTQ@\o|s`:(@lo-8,5eT|hŚPTJ P + ]ssLC\0<H5_Q8 |rDc.5A & h7, X9RvyęOPTgg-G2R=FgggtnVSBMҜЙr%j"%MI Lxk 0Y7Չ#dD(jpkVCPS`@[)@En.ʘmo>lVK8NAo*j>Feզn;qNvn&GnB$ІoڌuspdO!gh #lA PJrԧU tJf6L0WfXtH gJW)o@8zCJ:Zzs} a EYzjrRǢ`%C6 B:d%W ,J knDAOA@NĈIQ8s rDE]S l%Z;{#ҭ;QmL]jN$pQ xkX EE _u% )n&)*K%CpxUezbP,S UzKG>f={JJ~`8|KiWn@K W'pՖg\c ACtXC'EU~BYu8j Ur#c 2骝uy`^|q*Nw:QF7 ZZO‰/0PPUաw`>1As`) ka)_yY,˻EXvc|'zXKGV[vaUy3aE9d5c`н0W,_5V\"@"c欚۬la} :!\&L±%,3KA`F}Γ*0At?/F8,"tx>1uc=Z9-mI.FczSTvDdKYdQJCE©>RVD_QBjstTK tgSj֯jØ>q8gSCHA hp>Azo0zMnDzHA{OL$qS,ot0F%P48OIyk4ϒ_J?TJdd9ˆP7԰V+˙xK5mqa lf` ,}OuJnciGo_z?AñΠm~zrQePSZ+3&UB,$#+'9EMبKGѹP!`Ee͵T@eхF#'a)MSݕ4{aT9ǣ&Ǽ4=,_e 7&g|wŔ"(yoM9Чu=ֻu}K~V}u=؞epdG:lַ+[7OE[&uy͞{-2Už zPz˚B4-jU9E:ݪ };}k/a(0<}Y.DE2R\%4>?fB@n>NLJWl?G,nohfTƉƙՄZZhJc$ExE-gS\ %1΋(@+Bi>.ϫHTi\#8I¶l@L =Lϭ,H.>J>cQjTΚT,dѶ6]<_^H4`ILMQS%=q8qk}~-p1m&שx~@MDg^'ᒧgM#,%r->~~\QRm>XV18CY6>AoTȍW_;w,&];a 0X(5"pЧ?cw͍{PI YAwT$R˼  A r(K!("9` ,T($bNj(Qh2C œYB3eDZ C?]R| ѣ?q9IsBT%gT[‘ҨСF"#7r(PM(lݼM9¡%cL5ٔ1 s5M8t n\2- G_gAךS~'㎮gF0By |y!)W8` Aŏ'_(QGmz_~3_.o@ @k"xb1pBNA@a(2(pD,| 0xlu0 cEB(1FH$(Lt2Qg\P$0 T)Ĕt0KBE* QC!'4Qv,9IHE4YT0.E sK02 4/A$k k?31ǟ?EOۼ" E;O,ЈvBQKr2CQM05O0h80l KUkP.6V4OT`9X5y_ v"v]Ac%J,|P(Ht0ɄYkEnU\G2gU'ȃ|GY̍?l1ࣈ99xVx3ۄ>fmaySBXb,nZP0fI`fkd315Hi+:L­݈jzgnQ9ɩ$(ꤞS(B-R嘼: G~F[h(4j"-+dJKD㨢8㖧cZ{+H/}ww(87?~yWMl裗~z꫷z~{{^ߙ@|WHyWM}U巟xݿLbGFf 4 Qg+\V$iPJ" (;f.ʥ ?}Xati# hDlbɋvM J7z A؍ʘ23$Yڂ'E`,LQB@SEO#Ԓ"#C<BK*Vmo14r? S B LZ#вbqr5T ʄO%r.,[#6x. bK'mA (!$L{Q&2y2z[*d5zL!GcT&ʘ`4rt`4$Bmٕd%KL=Y'QMb^tF!! Ea u@L' b13`@FP!2Y 1B `Qc0B4"d)BׇH9tHV :3nD?0aypW& xȢ*d!&Bw2("تdTObz:a=D 6+jqՠ^U d AHC2谨mk[ҽ˲mpKܞ} q<>xѕn[]nAux(mČx$.1u/u3T<]0R 1KE [DyxZ\oc'30$ʹ0Keq. ~|Tf%k5H5yg.AC$LdC(E06c@\FRL-mI2\:e ZI;e铝,𔙘SMk!]Mr0z[llnIa$Yҙn0}Gb]BBI;軅Ϸ׭%*) Osf~j.IMv_-н^Kmu;KqgGËJlB޹ؿxfAu]#j}HPOO9!Azt AbMRԥNwDQxW;uIWs[:U͎m?Hځb8 btO۱2$5ץDdofq\28(Ka-m1X gەx ztkT 0ĊgƵLtG_]dW.T*EOVr`>GUynQ=>ȢiuMllL؃Sۋե*h\-Hiy!u<⻟:cK ~ٗ/414xHE'cuHAv/TAZbt90~@z mC9 D[Ègz"<%,j!y8TH7ڲA*$@Tw!=Ò@|*4%,9s 7բY929B<㕇NB4" S@  <0<ͫ2%r0H Z)5!"˜#%Z݀ 0ﳜ`<͋h ,-*d F,H#Qh>"K= r1Փ֓GZ=y 0 2+Ή (8PHLHtȈ?x%d ȋ ɋ|ȏȎ <ɕ<`4@HdɌ&aIԎɞ !:,(9*\ȰÇ#JHQ/rȱcFXBbOɓ(S\ɲ˗0c\ R?(gɳϟXj1JI,TjS%S+B )t$΢RuJҧ\:eU$Tk-JC˶k? Ɉ4eIpz:үLwc-S] kib5KFQ&S;:uH.d]_;[pmέ1,kjD#'w׏_,,STI뾺>vg?-}N{i*{,cϟ"JV hi?pwA_eXQ>`O5#sQ- ^~ XlχੴXcAAIMd]zIgg3FWKHMl74_F# p1RuSHK9(b[we#cH E!%Q!O"tލر;ڔG'%s_%59Jn7%Pp9ñ4HO<Z<(2O=)VdFOtd⧨Rzu8NjLU-:MyrghP<ĩ&,[Q۬ ׳Vjf{#v lmOW:n~jRݵn_;feц~bm0v[_P&0۱[qK ;|qXy[-k9l6i? qқrbT3)an/S\,O'+l`s*wsԞ?]=fB)>u?`CStΗ KH^|]siRΕJ|-fD]?k/ݴ\4%hm)NY4E{6YCVُzKN9Jܯ᩸>zHO!H* 9tL:.$wSb;{%-f!O&yǷe9;ږ\y|ҭ=tw?T[aͣ 3S+Ja5s|]C)/iMU<ˬ-m#>n0^j> 0(U'8CG;iDAp"3us1쳜^I<=`n&A:uh3Ï䢽\)T*yԏH;/I2mJ7y#v M |҂vT=ޗ {ILXb5/eJ6?~PI='(sgYɉ)M5"Q %M0JT4#[F@U iJ6b _2% A/ZRULM Y&_ ,F mŘEdbok2;1\G.ʽ Fw*m; e̽'ūS=/w[dSFW`dZLl +a9f2WL0a ,er {eRƜls!`!8HxRGPM uJH@'6jnkS0j%0R-3ܬW`WΠeQɏFZwZ->5, AnP?@D勗uǞ8r.b)09ڲ~atLqLK2i(!T=1TyCe/!kgք9& ."lhK?ږzmd iUOnGaL6&"y+9ʰܽ#bmwɹGA׍{aj2E(O D&|ad>r3Nj9s[YĥS%>bmBӖdK5U-bICSئѵ]j#:wZf.`M{IG<ԤK5rKLR~n߆1{=nb~c&7:d[{FsN܃E*! 8U#7?lunڳj|}g30X=NcDpFh/zF=& iB[^8ё5 V`Z@z-dbueZ(9ZA%*J>H5,6RH.x@AD;-IMBFSw-A8D^<79,&) ^X}F. )n?U3){Nic L !~!GSse[\BәHZp זoqKd4xypʬ]2EzYe`p3;+겙2Ǵ/"rR;T[Vr)GµL %]KfNX.)v/UҒ420/J4P{k(!ZcDDKZ;eq秊a-!LIa"Z)aV$Ը"h {?J&C1P+3OJ1c5vcrXf!=+HgMy"ǟpx' zÃ8dNf-hu%n9)iӉU^ `V-6(EH Jy"c#KftqQVC8Ct" {`@1z'7{m30)Ydb$d){+KQgiX;6U/><||"w*SpH^K')0c$Xi*P rWqYq[^]^_^a|^6XcL,~is! p|0Jǐ"2.r{vip& 0`EkE[KZjǠ981Yqw;.D%7,rjIc<Ԙl W46.3 M:Hv9fJIadz{>%"]IPUv5 :1A;j ΞA'CV*6h4`Ca\jWiv-쬙8 &6l7&kWFB #!}W㖑,=.n$PF[tqU*;}_=^UCԩh[ԙm…{"gXLJ/3u;iՂ}IԍZ"1ٹ&l=Tr&q(}׵*)L_`^ׂ$b)Q^z'غP9 ZõEx%۟z]ϔUTψq'i=Yiُ׼؏u :b@=@\l=q:u\GM&^bVTR*P="21#3  aN ~)!, o '*\ȰÇ#JHb)9ChǏ CzLE$.2\ɲ˗0cʜI͛,Kϟ@ ]NC*]ʴfQ6J*ЧPZʵIF3iJRaǚ]&ڴ1YGRnۻd}h~x˜wa?|ҝ<Ŏ+?> 񡰃FZ 9?.tAѐMZȪfrv셳վui@ (F~yr !,J寠 !xYK)C<ŋ-&~$ ̠5 tM TJl1[R]lC~+Laꈥ.(P4 S(Q A ,?(O{"CC~'+d˘5oraby /cv!,KJ,3erb.&R4hKvQ#ő$Kl~*OB"D-kYqA+E3hNx ]HiQCu$t`ԩ/M•k( bE(];(i|u)~ !lw*'5P Vq(_%ayZxCh!,+4 H*\Ȱ!BIr䏄?G,RǏ C(cɑ/HIbAD^1?-Iʙ.iQJiHȞJJjUXUyDGnT|%ٳhӪm߮ ?,B DܺET+Nc8*ȓ XpG٪װff*~4q ΡB/ٟ7[΅L4a+(9޿:bySۖbϿų'sF V[T5l FeEif2 e9YH,a0~*4d%U,@BK9Y/ƨ$~Hd(UTD?PDOָ? )&01ėGtBKZUD Z0ێ=젧\j昀FgZliTMyÜ*p5U i'Y:>đ 2!3Y.ADhMYez UWE$VI&B) e#dfqZɆʟ@eRY0 S G$CGdKXJ#qbP$]j QYZJ!Zq8L|Brۨg[m ZzqVoEJ*e 0{U! ȷٌY"\U& @;ة%3귍?HU(rL2`0?C? s%idO&U/"Tf9V s%ŀӣ>#5w ϓ =,wq1[]nխ0/gX04EzN#s@t!LtG׊ucu#b#"nK|10=62(2%;(@㶈"#5*jȐZNc}]cNӁ y*]BG.x2 cOA$^eNG15`})wTX2J6ș ' f:8*+k4 S0Vl(kLǹ ttSY"%+"\D:R* bdK0P2SN3ȼ"qVV#|)Fucq4w TY(U.B\R`1J5Ԓ =H-rvrMưHIPbu%%#` >Ep dQ8EƐ~yLG5.T@d7Dl&{Yv>(pR*YWrIeKc✸2P3{ ASO 3Da Cl!3AGV2 Ryխv5C`H#؁ cMHNjM#yy.6F+:*·7ˀ~E/~G mrlt1 VkF-7>vwl8Z q2BH^2eK? 74cU̍ bX%.e'7 Q}-w=hOυaau*Rbl[>2Ke<{ ֥ MHɅ]rspǼ.|=A`rk:]I >,]?Wr} X(UUrrTR%x9FOf~G* n\O;ި4!|A䦍mJwX:#ŬۣJNs2yY +a'je!G$4V&FB,#C-/'V}u%-R/"XPv~Bn"0:41BCDcDF'2 Ʌt9vCB-5 bs"HY!/"xgsWH3 40 ザc-{GFT8,K*rƒX$#/M$t#44Âi,4'yHFd/O@h;7&omr8QGP[8A4PA1nF\ȃ"A9X#F+Ѓ҈($HLF#&xOh^@r.)l`d,*'Nǃg$F#;r&N"h?BhA)D0eH c#KK0V2FԅT$(O%=Bb82$H(Ix %HF]sa e:RX`^4]"2d27ܲ# @X3"#iVeBK.]P \02Y(xP ;}!EAI@W3|Vu!eX8>8`#6QZ Uq$ ր; `PĶ}P 6wQ:v:J)>jHk>_sX9YI٠XyIn/aAkE8&I8XC6 >lT;YwPfq=;3C1pY{)9wA7Pn8焢DMuMr OP"@v>JK79EmfPeJJ zq b1<Q(Qz6ARM` n4`z !@JnN8 4P$PjYE!i!,'4 H*\ȰL4PP \ᰣG2d 鰈 F7(-%!,p9TJ-o,*ѕZ9 ~ʵ+WEICHAҘ$Ǎ[pʝKnXB ,Tp1 &Q'g]bR! #N#K`zmVċ-wbs&.dAηq{&7[PeXg˾ ".]#;t\Kf4w߰\h&c5A-(aqp!Wf >rE"h"_+X IE!<Dc\V}LP(TeOȡ\begEՑǒkJE `L!|e9frQEtfrBa2XQB\z!dr i eb\*Z]7Bo~PF'Pa\]TҤEj;Sq0{U:@/%g=)S}se+?B髦bvBza-Q:d"X4%(c&稣%bH&K#(bI^%t&Q"L+Z!`]H]pdHXMwӖ06CX V\@%|EgdGE RȚTV1_Xo~s{ų,]!Յ\2LDm[%\m!DWr+q[ƽ?(/ Iq,8é"j-iвDz!rLɾb(\ ફAIO f*ɱn6O#H8sni̪{ō]G-!MjH얀֩%)h6@ېEKTvJf?dU6I[7t6m?,{[䶷M.f ܃ض9rK]6pQ Y b! PЀp @ K*i۱rv=oz4 Q/C ~}U,C @pk hq(.k^ ^/U׽bJEoa /2K(Y`+a$:C E&;e kq- $C rH mf `{S FrR&[$ѬFS\/\Iz hvf.?k e.Dke9Bs(g8H2+3rĆ)kLL;2UccohE0HN[RhLmm%·vo9` r Gζ?pzu-2*ULP͂Wٿwu-dOz؉&S3NON Nd $nqH0u;96i`*bLWT'̅F`lEo߿Nqr~-@ Xֱ ,Z\h"MB(hD B=A9D#} &R ao^.g.q rbuqW|w|&!T/?(3:xSb-#1`~t#C$p?5",h$"HJ>h%&XT1ȧ 24GM'3h#S#w'}}Mdp4H@-것уH,993qJ+L؁d(1XX(oSX~ %s}0\ȃcR??34K(6B@T+{؈( x#5X'J[iDE> ET$VErP̢d䆚?BEڂ+`#D7[}ȈRjP(JJ*%T#h#ۘ8q!*f(1xi#X X55$ 1)\ 0 ŏBB7;' 7*P$Y BB'v/,nP[@ai(K ` %in "!s+SU/ rcX5~S5W5>7+GYWpQ PpaT @`Q qar)'YP p@ HbIZ֗ei dY>䀔 ak,391V x:>;=3E=J7EB5L@΁ R/'@@`i UrYn@EPi> P@gq1?#(I5ȴC/54tA8(QPPba+iEYh0q YWp)IY ipDԐpJdXUn=KEYs)cQs.bQ ѡʞ,:EY0Jnp1q񠚅GPKKB:Pp-*+Z(:=i"J>џi! P7-6QA'MCD7L38УUxu,hӪ]˶۷pʝKݻX8|#PBXᗈu$/H² -Y(fK1E?4 "ek̼7,yH쩳AwY)c.,УKNފ*DKRL<$'Vȑ#=/B$2{AERRj:we`G*!Cx`W!WQd\u (w]Wމ(r#0]3Ƙ؇$ՙh/ H $ I$H&$8PJIVD\vd`]ihtZt#Oxyѥ5h[\Am3z6) )(Z]?`1*I鏢q1 I2&2/L1eJ\*"Xē"fX*?:R"۽*h!H\*2nE撤2*b"ri&T`E΂ mo($q0~@! 5&Z4I4ظ$$kc#elֻ|ͼC+ <0mxH@p4I3`l38["Ho@m$ E4=".cI1ǭF2ð+̭.#Ϗk=1Ic.(# # #5Y}}>,Lww!*ڗRQAG72ҙJ7@H2 P;Hc ֠0 ][F&FpiZm/#C @1Z>P; "ßp;dP.e0v_&tPX<1|OB*B&0 a Fndj|quY`V>( e,A[0JKDt7yGԯ]Kzp)p1SвF\Es@#S'\$#HEv/,tg&hF6Y%m-;y7'0Q]0bȷdE1j;L#0oXB# [$Y0u].|%`zPCn h2ȊPzd#VUY"lJC%9ӾRgwF-2xC8eF0-pTyEMH! K0d 㛌X\!Ƶ$42 :Ѻʹ#Xb (~M.TEx+vēܑ$(z$_ݺ0# (K^%m`yS"d1:oz绖%|_&~;_M;'L [\@R,dpŒW 40q՞ji 0)oi"'2pp@2!$!EJFL*[#YV@0&)."fFN1J|f5/ 'L:_ٗ07rpȫ:Lbāloe聑3DJhw`V41 ȘWV[xuhF>/Ao";DluH2Ui2  a0zTC@nm ;P pn0I y*`iox@2I) ^n*SI.G5VEWKd+BIB (4P ߳;pI(!PPo@{cEX)Ieq?Za!F#PC 6+ԓ I$HR(")-)&1$QkZ_qezIvE:eAzDڧFu4"Rjj1}.M$M㢥%& ͉h æ%&_@nHiکx)*cASy(xUZ ):N!WPCY%\YsZ9$ ;@JjY1*;D:Zz-POP;[{ ۰D {۱";$[&!,(SG\H0B>OD/"H1@?. )2"ɋ'KVLidːa̔I"Əj&K;)~jBEC*e!SPMY ذ S9k u '.ӣtFmV P/ W-X}`'~5<, 4,S=!)T{䉆s^SIIe Sxe6Ž!,KJ)Ák .&V4x_F`E~dP$I'+dyeɃ&ɀBSMτ 5xFGa?8*4Dū]鰟Y'gCYi -BҨ'2S]xO_xJa`R9/?dtIgV3928F?+Ud4 O!,49`H*\ȰÇ#JAċ3j`Ŏ Cy#ɓ(S4˗ YœIS̚8srɱK<z.M2OD.D"41?0UUÒi޹yd_V&*b1|/GF0U7Y k`t TRZm/&ɕQd(κ5S>0\hzϑ!Zelkz"0ަn&{<, r+kE)ɪ,.1Gj"h̪v 4BYs"/ynӼۯǘJuVZs/œpiO;Q?Ϛۦ13{6ʺHKO9S˄Lk/+ݤy.`Q[H]r:ck}ĘJF9f".H/U);kɗ0X_%Lq?U8 +h*.fyM;G3X~`3ںjRhK+8OUxguZey~܉6+U:E`rkxp ;WAɎ #™9eB VџMla(P<%t״kw`@!,KJ DPB3eR/D&w้YџM;YEs繼(1ռ}JD= *tbN3 ٯ~"e:T]X*V[v;S@y Bj%-k7n( .Dy _ LoG!,K*S&&ׯ˹ #Rե߹RTEDHb?u7Lr!#vȰ}*I"dIƉ+U.b?L9~4RI4Pӣ ^/+GG JW]EK(<C Pl(r_[Q֠AFލ|},S-/ !,KJ3e*sR*"TPr= ,oHDI44D'kGU"N")ѩU\FH#hR&?Y""$l7Uc8!)A V‚1qQ!8d-kӨ~Jb԰cz۸=6 NǓ+{УKNzr2lmbË_܄*rD0^lmED*`'Ͽѐ~$DB0 2p~D&oU]aL8D Qvz;yީ 0D(},ZX?>Dvݱga3*PQdmhXbEVRbCm9|Scw6,C h&d1 Έ݇5;@p@}``(DHxL`[sjE_jXQv'awݡ9g(`˜)b) AU,OK$Ee&eE)EŲ$e1I* 'E >(+j|5Ȟ6*Q:bѴEvdJ aҡy*m(tz?G 7T= * DB'EDTJ 3B?!Ec/Jq+HRilNR0P3I iBK4& 6 &q"EaD#1ZKD ZV9#吃=`#X;%p49'D)MnY?i5 IK):x[ƣ|s& \iJ1aؓH8iPdw&-ɨ6*$G ø ^d3 )Ss)OK=yU8żQ00m)eRTQ{lUd#0?QKNruP= %5AwݔbQW;ce dU~5V+fjml#}s*I"WFb?G>0 Qؘxj'Ex|>I MrOΒt;lM'\e=wP<'2@&iTQE*cp\ZUjJNv&`ɫCJXU"ODMe J0RCR(`C<KX%ćt$ۉZ$: F6bQ s )E'U\P Dxrr$Kk%M(CGJlL&&%uH,V^,y :+!25&Iu{zxFE y%X i 5r"SAVFtVFB^IaRrv-f1] 8J:YqQJ,Q^dU/PF[$KtK8DM؅]TTTTP UC YMtP)A 58Yx/!P4OELt\b9=Y؅O#!PnLeH8%!{WeXq$]%SD!Y5D*YS%fK]|uQQXRL7euT[UaSEVA`UYTUEY4}8` PWHxDUUJY\0x8V,Y9x!4uRȊh`Ձ< 4 CD`ٕՃE]T8%Q Z ՏS 6H[9`)ar!N#cqbi111<aE7)1:D_VA)ʕCiFgF1єT{dZi\ٕ`b9dIb'W'vk9ZіQ$w*.jYv#J]4^f\+fzv'QBl_~-mQd'I7GzGYo +Ru_Yp,I!C* 2h_Yى9$t(>"1Җ~*$D$Vv&A:v#Ǚ?g#+ 6Fp*w%7;up92se1#ERA8IB (u tf2egjgmg 9f+:^Dsjib+p&O&@&8+ExRa8-s?؎9Pa)GeТ_q%F*k*i ?)ĶubnVl1e,DzdT2/b@ҎAtGT`E)hk SmHpP&P 4!/y]vqnWr6&qf1W.l3!h`XXF!D3!oV .PR'74.1U<9 )8x8C+F`QÀ[2S5'p12'ǩrvGK$QNJ+r7+q!W <5\}#SNT=aJeIɍXzΊ5P#"%2DOGyYzwmWusU= +$3B/*90.<9/ aTŏ m׬Cu˄Z{g:w:ۊpW;G*a;pkjۥpxS6i1 2Q,z1!&c{ RI4uS1 ǃPl7cbȉ{{m.Ƿ &|a?  .pٗs~W}`;o+oCP@s}Ɏ!9_?鏆qBёb$9dqSa%I! !*e K+[Y fƿBj񋗷<%Yq "<$\&||Hǰ_Cm¨aћd54CqI)5jщB\F3ZTŭ&J(ŠCx/K^գBZj7|Ե 2FהM>uJtQߤa *).L?z0޸̑k8Zj1~х gOvH!1uLFSZH82ʋLI]~( g!Qྨ<>Tdñ< T̎Ȱ氊앹HV XBHhʵx1ͬ$fҴQe]L|;N%Q gYҦ9+AlÀl|܎XX!L5e  T7picYݤ t7֭gCz구 O:x'Pxbz+hi1{y 2xEe+ȷ]WnҷXat٥[G$?N(P$>r18}) ;xGaAO,J{(|Fl\Kpm; IDR_b*|2nN%fP|8KwcxzZOvxƑhxD܊lJ<ᘀCļD oKΪȓHTX͊zJxX9폮}$PY'noڞwwq0(A9MrB1~($6_8C 6451yOiqʍU~#x݊Na;fl'!RQFjIXb?d_fh˱$^6WBğ{i xYҧӈBp?yWu#(n iޕfr2l+eʖsCtij!>?ЪoFꥌqz=6|i؃-h-Fؿ 'v6B]Tfc,Н)y{7gOj$- *M(K&k6p-h-(h.* 4T WHÇ$`E-q`B "a QTЄ]$h0;>(#/Z!ϝ.u(pOQNQ`̨7sbzS&ʟ ,TƼ9,G$L4D;hutmJ=?Zڑڤ&Ɲ DUQW._G_)L"l'Z;*vʱp6.M?~[0%҆3n*L%<%#3EaDFk!i}ߐKL/U{](f>9ˌ{z7-i9z*jj {lflV{mvm{nn{ c;kP;PWJpWDqȇmGrŤs?vqIxwHwo; , ؇Hv!~{ g\B>()<|E2)*/B!w1!"Jڍm<?A"E@sbOpÞ1 6o<Rŀ6b/s {hD$Uǃ?BzUŃ1?h .z0C*1h< ChTcT;;"Q9"E)b8O0~P, 8<1p\CXHJ}|o;~?<;Tұk (#"G%UxHc #NRT%EIљM*WSV&& dyI raЗ)!1gEߔY0} je=aхN\fIɀ$BKO>:yB\~t 1"'\U<" K)R指@8=/SG:d~|N @."4'YͨԖ1)/kTH?TH0&RD^pЄN1+bCgTblxȃ4 R?V:ƍ)+Uҩ8DA!ddiL >2=%Aim4hli5Z2KAJMM+(C9tJ~4#51:}vՔFl4AOHC0@3gEԶ6 tkU'Quý@$ "St8ٷw&7ARkb{ d*jo̸ʎc1"q74R=Ar?$|&h#VmH|3woc&H,=~|W'kU-[}a`RiN$JU}R X õ;cr09lC~t IoT^+cG:.r];RWL 0%tA^Zu8GMއ\}I—{3%e5[UܡxE1b -P&1;lO;|}#{I2܏fo2dPK-wg Qkčm%z`WHD"œ{krBpRH nHmRHD۶9j,k[뒾:7/\b v;Uî 1-m}:K5W\Z'F8#iK`qOSWi޹i4CSv8L_:V]@?Y|.PC\RBAD&Q!t() jn#YR #-x^x,2)BF ШXh![I0mv0`#櫔 h!g2#2L8n(D3@,s[&1pi#@ϙDQD?&=MЈ:m2`"Q -ub .Ad`90HRSJۜ2)Br"IpDEH ƊLQMm\\,8۴Bd.!#0iMlhP܄Fm6 $ppDX4&*( ;0y"g.(HePFJ2P!̡ =Y5HoӞkQɹA nXϹixg=ԛE;y~ @ *mc:̩ 9;p>T2ŚFqx((h)a[CWıiOmbqR#Zq_YA@9}C~NoH]Ua lǘiO `<uA= \+!Ԑ. A4»|=q4.徊ES)I)oTe!g%Χ$ZPPCo][ söpfBcA8;_&Б8HKcqÁofU^4MT…j+h%*i1LYUة8U&$?twzWıә[XWճ{V[N05CbITaj]1e ^%Lp |ϛœ;bMŃi1'XmN?xrn(JK[&m 1qqL<J*UjҬq{ͪ}_y~8!vPL*x\`0aa 7"PbXt's aUeB(*Br'˵2ؑb1p=WBPvC0m.DEGDCaC8bCZ!D)U`A&o8K~(#k#mxtYӉLM>31N2&.Vh}1 v2p2 2`X0D5A9fh%gPE Pe Y S[M4S"Rt*KV{X% SԦ{UFA$GvuV  ǐXuWKT&<2,5&UxW~l،!&Xs`Hl .&Xtœ W%XU&"X'ZAtH#1=;)W|Y9ߨ0W>ŔEp|a?Ub85 ŀ$N`*E+iEA]pY!yRH/ñ`0x@1ᵘIɘ 3Q^$ْ/`%%uY&t"`"qcYٕ`7'?`hijIbeTX&+NS>f4 hǀ 7 N` ,NUedJS%ehhֶ!밙UBP04Y Dt4a&h`d6o<%% gghgBFNOe1{/vfaơfkD,z:gёs0 ' &9FYe~2` pOwX-)0 1VFaj>"ir' lR#"NAQ rY_xVlRql>-Q cA=#ѶQ*O/$ƨRƖ!%G5a@jJl&&eT<3^#B5FcD0cN`+1;7ݒ/ 'GkFO;@4e$ mN A6grPP -nRoQ@1!p0 &".oPSqNp?"B"`"%.#Ŵn4E#SDmv?$CoKq$$*=F0F$V\A.rX)гN>9&DMK1c p :[OaI<>:~6RS!/j#r((,>ohE9N @47UO b;kGk\N_@! o[=O@1*A?&+3N;N7**zh-[[ơFˣ:GlG}T\gS`6\p[H[cFuFF{trdl:{ :2Y+2bCRc(4sb,,݄:Vp@#:;"O4g3`3++D0`P<[;V4\ )  &w@L2帏[/3&]etT0ln6U%NL@ML%B,dNYï2_ (P[:C>3\faC086o P7 b]c4ZC-_bJ@ͅz\mK\uȣɂL/bʾ ïb0F6,8B3ccscFɴ3I3r P ùhrm3wu'/r@ @ "4I5,O96G;6ꫵ ̬@ͷ,.xsۙk\<2/C1s ~IkxQ@Qf4&x` PЖy8xtPh'r'&!= -%(< zcbcbr{a_2{ā`W[{ƕvr0 J&B={@+|eXgn--78~ȤiJ`AÑq_cD( G ƒu='E`b&P-DD15dXF |MT'E6HUl'uA}K݂2F&bm'czf 4F/pDsƈ $H}m؆M`Kz(PpRxܠ(L LX1D,(􉐈Mᄋ(x/$YZǘoҍāY%eA&͝_ِPIx)Q'SKQ'ZSeD8£T=TF~an6}֗ ~5y2 s`cI^'#M)aYyWe7dIxCYUXR9kQSyUIW(< !_ɣy#['Y~аl k"2 9ն&_vP陎 e``IR:~Ɖͱ雋*7y^g>[ylZ27b>dhۘdoJRBU/> 8Zޞer]e:fp&Ԏ.O&h:n)&N޷`m>Oi?m]}aPXHwA @"¡@ގl&qƦvB?)_k}Zk;z"7Ϧ/?ƞ*ZzjڪhFM0a [ ~_r1GD  1mG2q1A 9'$ o9p(!q]"]*Ҏ[I֛%@3#[$_2p"@|u(ԏr'y2 zrURy현gc2(땋,gtRRR%t{rv+ȫJ+ouL,iߕ_20$,o>$ XA .dC%NXE5n8Q`G0XdA.o4tfeȅ)_l6$9ĩLAr& ld(/DsɒFr+E.jQCt妛/'Y듪U tt(@ժ0i"p-SDF7 $TR!!q0.~;dYC 솝‘aں wT(6脭pwԥFŽ}Nx`Bܠ$dŅftQ7it\h)hI+Ir"?8P!Pʿ6((%|)'늒B80@@'&'CPAQDZ"Vrv |*1GXtQR| ,G/ .r!'B|3OB !BS, CNۡD5Ҹ@AIl BK败Xk%I"2= $*- [jє Z|Jsg YQDT8GGb) (UiǜIj!b1xQgy.!ȟR1^MGrl SM &)v *s! *!7r*yl]Gr΁V-,l8acä_te|ßsdEĽi҉s!v9L!g ,B*̟"tCGШbeV5GZk)5>B0d C.{ts'Ŝ?12QKd$?4O܋RQBZ*gG(L ;K1X䏍OZ*TǜGH=r(Ĝ4*DsVwܷ/<^)]ee[!'`uI 5QI\I炲,}N"$ɜ0:ꬰa 8 ҲƚY T\c5$ $*\<9]&BSxt'n"01\rKI!|iui]d8rez# 00L_37q1>ӚMqeP#Z#orCz7iY@U454[KL@,I~e@FJi~ "D ̠%9xXPG!Zrt q<NlR8c 7 Ҡ. D Q;be:9v120:\JWRqF4-^nqAuCL'қT:\揅Bk^˦H>sl  xKphɢ!se o D/IL. "ys\%09Q/C:, 4 |-dԞ^g3-Sq915&%ٳ)18܅AYԲŨS?!DlKK} ZP)`0ֈ$ĵBvY'bjBa(6(&e- ZCMC# )IB!MPp塹u%E(4 `91!>j}#t#]\G<LU\-LН8!FH ; 4EO:Ջu7ABOQ }5SBLЎnDg\&0'֨kBOZ/.m8Au]r8Z(rUiOBpyX#9"Pw8}ĝc !9°D!,SXR0epOt!2!EdbԆܵ~+`#H1iA#r×Ry9:=(gCb鿚y ~?ܝz@~A v"@;B>(n棲ap:9B샃[ k؃aPE*8\%9;Ecij܁a!jy"aCX!׉ٹ*(r;Ķ13ܡ2L2{22s861D܎n-Dԋa%daa`U"@k)E\tEtE; %&Wb("Z*ҡ!RÂ(p&18$RdLFXFɂwAx.I#PA=p  &[z[X!%[#=*xY@ZB2$9չ`[ b[ G\쁊~%0ݏ9pYyyRڄ|z)4%8`#y ]`E=Bݼͣ<%#P+E ]ŐOizޕXKHV9]^$:j>F(Eќ⃈ZK! Ó}Q1}J+ @@G@4,LALXA^ŢL8;KmA1De3sKܡ =Ѕʅf-XВ5h>x!Q"hƒ8DIEDG]"J$KXrIX"A> iɝ3L\\@r蓀GLm 8q]>:Njg!v]Ers,tluLGu!os/(Rɠ^F&gCNߒvjh|=@؃@NقZaC it&iȜI&%J1ʾ<,|ɟD&i8I+ZLɆئ6Ѓn 9C11Z#XvZF`XAv2vow]Zub9 H}I#uBpwxLjLwzw_w|sw}w7~o9D /J͜+ 06~g]u/S Bh |Ҡ[O8ڊ 6aa0BVp J|9HS OwS}gݷ2xpXx݅4&d9/ '_WN>;ɔE菷cdU`V' wl-m "pք 'z{Qa /yn-|8ic0a֯wֲ31BZ7tfA>!)EX= _UHy؝x]X.XC}_ݧYA 1~ؽnjY-b?_ ~\#dكX|Ƶޙ܁6>A"C/2H…mx(lQE͎ )^"DQ^ч $p%KpĄ̉ H5T"I*d92cÃ4.B>1B "&Ƨ%nm-ܴ^m[.֜uˢ$ei"tpBl]yv,Ә^'t2OS12ZUeiȓ1A2+[Odq6I~4JNAիYѾ-Z!dlϊ&.=.?č+Q E[(X1XG+oegr)]kl7UcYQp GRq]UDWS ҧYOj7#ԟH#ؖeH_G ! -P-bD0a^ cO5]fHixERBS\ dG]!ptg*G2(V=HcV5*hƚ8Zw] !T!CVN uĎUJPCgYE`K8א[iV~DWjb4*Y^Sz&Rj>@FWə>E$enު"ћ(NDrEƱz)$sP!Kxqb]elVfO^KuWqG$mFm'xF3׌pd\4?s oF^%dCtIE_mu]qr4s9A^gƢvo=7qEW7y6w7 ^*ۃ~8;K.7ߓ[~9ky{9衋>c磛~zϭ:oXHN :K(0Ѻ a3>˭|dO\8>ÁCR s)!9 3L-2"HAo Ow>.˟A-¿Cz l"u`⮤U0 R{a'k0Ko9a J@ . tyn52"F!D,EAs:@ ƧrbLN8Gna"PBdB0K #8H "1\% a aX†E&X$0΋0ox : r8DDn‹"J2&HWBB2?ÞP2DZL.؁/!C"R,'(:*DFHscR9:©J@{(9'LRIR!>a%08ޓxtD=o$!~_1L@1x$ `+х]FvQQPz .QW& LE=*EB' 4Yєc1Qt]e(PT?M/Dt=KAsȴHX?Es< B$f$E M<!ϋ0vI2h]'aN_qqzJ̥#GzAHS9>-d[Iي0tS`;KQYR dsI~xU8ՈBﱍMil AK,ʠsLa&"A76 A{X'^p$yIGllyY}V& #%#[y>Qd m/kZ6=EҗEs$e릔BD{_O G4*0xz5/ r(G󋢟~TM(YZ&91˫W 2lk$#y L&*U0L0\Dfp `{C*[ᐅ@-F0~:ԠbMYP3od.f#SBS(sG(3Hfg4FD l ?@2F |D ñ4]$ rhHdigl|gTH%5p$$ %vhBϺ廬J%C:5\KMI,mJ5PgAffKH %l 5Ȃ:% T  pQ?B#c@'(4Ȑc֨L\2ːyd Hx ԴgРNfDiH PDiƼ )jm8"!i)DVp,PThr&50) C *ӌ*W q5@! [ivDX j.{H,f#ć,\PCh&> 5\cZa+> g^hRHE\(g+5NP5Lk rfEP%lm*.fZ(؎n[TZILalbTJ5,g:\B|fH6C+~ʢ뢒rfB/f&A,/m**LxoDz.P\꯰-n`ssPAtXbA:mVpn\2^.p| /ZpȚp PC\ צ`V G1J w7 [[opZ6j*J11EQL00*!˥qӂk E,,\𢞱î-i[Q?2Bkﯰp!2"_D#' s&1F\rʪq tA-&2 s2FO %3M2~x.Z>0ߎjj5 *pmrs[0qPBBo5(q6Q5 * 9;[X[lJUNܠn.51.j"-^AG^ts 73Sò6RCBfɆ/51//^2-U4G JFctbS\H;cK7<,8q=&6%4)PQ{OT'FܠU.>4~PC#,5,Վ._4NBlzX&*Q+y&bC]]^" x(@̲)at6ߎT5Tf .WxvhN4β`_ o6pp7qqo 7s @s6tG7pu r7uc7u7xx7ys#w@! , H*T)0I% ,K CIdID}B*ZÕaJY"0_*SK0RSEӤIFBT(KI"6*QA-iYX2a$KPLbIԪi&U*&%la@t-wbELUqVhu #ё6D) خcW\ƄِAJvkLG/ͻEGË"УK&[TyE+ZTHܱ|"6wa%8T >t@ԠeR ri}W◠?CQ NI)\f1!64w|W2H#RU2It 2$FAxp߂(b-y< 7EH%|>ʘo`&pӕihJ,j,9@i7]w<52 G*EO)S 6Zp0)襃 "Oxvg,i> fFJ魔ZJ-kpE)rޯ&)Sڊ` fvԆ6%_S$Qƻ-kBQ%jE&\=QHrsPhG,q6d htQd҈-rj@ЍL&Xe(Ʀ,]%Jȑ| Ws]\⮫rQ"`҇p|uMR5"/3HpQT2FR{rI<1\9\5ڇ6 507.\ ǔp|$:ZEw`ܭ3\} e0I94*gqUAp$ ]&&%kx.ۈhXI^fHrp!#!cGQ:Ƨ;X#kav7R͹,_fFp ]uxҞÅ` G:Fqc uuFT"@h-]P\0N .8sJ0 g1BrpB:(A rTzְO#cTbp8\fL*if 㠥M `COA*-b?B\)D!CQPBt9Že!3d a0qf !Uga@ɏo} s[AL/ȡDBke~ ffB88T&1V▋P(c&sh3q`8U"9_E%%Qp0AlgY 2Dwh%5AAc@TǞ:E#zK (*)]8U( :F'z!'Q(JfѢ!>OJRc$rJK;=W\=q8raXeKaRJ‚f#DU.G,לP$~T!jh7s?:[ ΰpFAmDs"[O=  : zJ>EtpcgƔ rHWGv^,ӲMЗW (DS) L&UxX>5\U;b$Ʈ*q^Bg=u nw7w;X%U*ey>( !o3Cs0G ϣ)D<7(`HW& P! 񈜥?䶚\P knYI3ђ -hLdhCrܓHdFOfpb9R1Ѥ95ͩ}p0Kµ1`ol;߰7A4֩'[tؖ BM9A%tV{|.wR88ΠT^q׻Ox/E~{A^;b{ϼ#-gI iѲ`+^kuzVu"T}b cmus֯L@~(^7DkU)@`9?ɧS @\B(7+q.vϡtFW01!Qpg~2~~!^A U.$Tq3iwp-b K LL_2O&GR rDKȃE"6&mo?1TX ?hRT!#q8F GdqH5e L2LXzq\da HEЇM„zĆ#8?h,e{PX huZq| Q-؉1w}FKцTa&@ V6r4i MĊ%T rM^"+=NLD$Vd\WBiBޡN(# N2ESԆ8̔UiANKc(H!qKa(Pt5/7s 1"QT W9]8RSNb́[ X &R.,5S2!SOU?8Bu}x2x\81r# (iÑ[,ɑU6 rTrGS xxVpWrr3Kxzzw R'[c<j@ yb$9@òZE05Z;Zށ[Eh%U\;ɘ>%$,g)Grp[|U t9s[u2@AE|8-Pp3yW!!D25!oQO'R`SDU"d"y,33]@7Y@I9aU7^ y jv9cBFi!ӆ 0-$i3幟w9 ^i9@/tԥC]a 鰛  q,O/tpvT!\6 iusU>PIIHP="#U `hgA9E c4iY1,Q,@*\[RL'Qp$U?i;oʕ䕳iAw A5vB,x /Hj;f0lP K*CklQUJp鐎Io A mE0m""&^a1`B%#k8#xo!Prǖk GJlXgjY&cDM\y5SS5w5vSB5M'S@ @9]7BAVC6"r/0iXi7hXf]P F Yr$# Q %A!mQ 0.Vk (%+=.2%sY$E@s:r\8A2$ER@$2p,qt)sjV7Vp" + S7st>|<#CJ*N3=c>U B2UB4u/{=󸑫X7# @.T F^6-e(=+U _hIg%hEPޅFϞA5Zi@Ykd+6ӭ~I9VqڱڨPbp*ʗPO$blĖ >yLq4 l.FJJnQBnqƺi߿j:Z閬nU6JjґJ*p9vr.T48w{ Kh!#bT́Fьx[wpBh$#SmR?T/9bs!vwhKd; p\k(-$Qzt'|ONT|o""uz终)ӳop)+; '*E !XA .dC>Tȟ?8&IXE!E$YIOtd%Ë/%Â_\J _OAW)S)L USQdZUYnSaJYiծeXqEmJTRa]Eh#A gBlpp]YNVtB9Q)(B rspB K~(\ U„ C(i;^uB\4 'S䖯byeAigx8dYV)&e]ߐ6:jDAj \(R N.4EJH+ S!.| Cb0"J1-*ũ#(=8Ҡ4Q ࢒E 0"D<(6ĘlHƂ".ld(CNI<;dB2!-C$ LrR5Ô Kr~/q=7r: (h K)!G URѡ3/Is!>ä,ֹV<ؕVAP΂:t5K4D(kK X"l=„ͽF΢=d?m˱&88ʙx=9';h]'Z8b"|)Buq,|dy1Rb|9gc2,ĜL1C.:A0q:̤)eu5̋qXnVC&I̐gin/f)KbG*9Jp{$1":Jo]b|Beٴ#F| J?gE0l<0- h-0GϱƟ.QĞmCMJL.N"[0F%hS"k)7CU"8.DT,G{/"8XaK|YHGU$2e" <P#2AlQ0>G55)>1\ yq:!5}P>.t uL;޹88ĹAQlFO6RϼTI1ᗉA! X1x`Du@* &xH僑*q1,A_ .ІR!>,D0̡A@2MLڐ1GNiV,"}h4;%Eu|LT`.NA#K摎7&a}pHc'щN(8RR R$k%R "dg!wOG'$|Τڨ1 $w43@W \([fn[kYva yBa//gǽԕ8!^LS)qԖ9paf)EuA )lVTTE٨ )AJ g75Y(1M©s(=EHrbMDJSIV+i%GR YBӬBN\H#USLK rx% .\h#֤te?.p!ೆ&rp!.dִCgڠ_8hWt+:),nR+s_*(F }`JOQǍ=iEOH$ZR e"a'JR-q*K#h!Cғ*AWMN$+ &x&M-i&PtM%K嘓)_wLT sԐ$PⱖKx?VA(@M<|JL>n"\d wK!L4 4R r.ho:R\L|g&&;Cg~SЬ[ԥpg~NhOicVT7|+bD=@ (92ce@B rq 1aBuSur|iYF["BC 'C(M/Ξ]L\:v!=nj>wntMt7n Z, xiZSg:IǁrD\dY|c [%:yC>'zCnRzSG]S:Wt [z׽s7_'{;oc?{GdXLd?̝^wCrc9*=۞FL^ܯ2WY $BPZrJ8BjK ȃzlxK,;S}H{}ThY׉^Dֽq٬뭏<[~qa: E:pPA(B.4? +%[?;z)C!qAR @)Q9Ɉy@e[<5먄Ik,4{[ڕ'jx?h)?+\{̓YP?.t?0B 1S*Pq71=D8h7 + ۟<01 )uDa6QIL!BˋJ%+4=B7,4++E.0 *YٷE\˫?aT4w<ڣ>*?r7$Br0Jlz0E,{ ({>T4Dj=w4`H Q){\;TbESjXE+ ˛;|0Fds dƂHHm}~+ ɂ((ƺR(D>z2 cL.sUI\R),3iPGӺ])ܛś$JSC*BIY%?0TƉʴCZ *ܫb5R+t0r4*@t쑺TG`+Kńt+ʾz T;,O0AzD π6XH[d|?0ƯFC\*ʵ,pԯJKcKq$ ӫ40kI(ǝQCIEʯ L|40"̰ @%C9!Ѡ!ybA͂@cȬHf\?x?H-3ل*?/6)Gۤ,R5ٴhX[3E25dSۈT @q3PGKGPQ8!D,@T^%S=, jܣŎtH Ét@> as?*4,Ƀ7ec6zۙ7}6p8h#Tsss(Nki2SJa$K7>A)sS!-"JI%i)?+9 -ƈ;LD88(̓WU>ڃ(|CZ(=@ >@.].=C09@+M}: HX?@<XZ@$eYA!ɳIA F:5e <@yH1S1Z)I@18@DDE SOA)9LX4AAL<MA4QK(g 0Lg:CI]gSk.JG;j@Zb]H> U,!)۟ V"*: tGEVAl nT"PfэF{(!-"CBpP 4I[ g[u*NeFBp?i~fk6*͞( 5gpXST7LrN eU˷ȳJPb |7ZfzS6_D0T!i@A.FFdEf;m:9Vrȸ k=9K #>?F(r+9;dtP^B Advm/vov'vr/wvvs_wv tu,y OhCw {w[[5ՀlbgRA(ld%[sF [۾x1S? @xwǵU %3؎e=j%g fjIc /v L)\9yq,^zt&a"XUȚxUiXgOĸeuyL`Ed$9Yjqι@dUvY~ejg掑8R\xtd1%)}-! T?nJU+vV#j5ա [\BҘF]2.vaMG $ZjRA*F˭Nr_p^&&4m{P+I:*).A66JSiX\4w ?~BPBUv! !14c\T9ɾ!)R%Nqq2&\f2ʇSs;W]W5g 7Ĕ LTXc23dMvc\5=ǘP[_#3}āW!\8+88 _K9{n`˟9喛?譻;툗~:׾;{n<+W^K;W?;8"̴";4E!+R%/izs R2#mObkUdTr̒>njoZD!Aݯ}c?BpqKvm9}:x/RPT,t TӤƔCG)z,+ Es5,+bE4bь!?+4DPD!&bR'0,s1HE-BN"$*|TW/B?|()2UG)}8%p~K.”-½D/)ŷV>敨,'(Uz/9B[Se,)JLSPxJ-EܢCBNG)OPOWRe!l䠪c$'4/O,?<T#Ў) BR#f(EKhJ8HG2SS .Q2KӎЇ"dIaS_rӔOKe>%GCk6ĚyJ!,b&8&RRj>W1*lLr(Yb8:DR5*lm%3Pc?@hJ/+8'ن ebc UNa8,t;EiDEWVcSjhT-BYt c*L(}*&1)A]"$$1zXvװcڡĔ/=1sN.s1gS8UzjKCpζWyV 07ӱo9x楦.CYKUntGv% `#*yg\Ď0'mG ?c&LZImkd}1,*l`-s3LeTʷbpx?,]rKLbx*+(}1I+A. EW%C۵ z 7QpRz5:KA=Iѣ@i_ kRvD-iBVt b5ouV=1w>M**L!1p@UvIchKCӷmJda-8|$fN2 4HUk!QaaTM[{7G|aKZ1 8%x kl!&n(tdy }ﱄXٕnLbIh'vC l qKu`oSrh!44&w^G.hԥ߅OJ%EPSL{p4)Α o+#|p,q(~ {q) ǜc%ʡT9 x>GI-W MI䱀xE`xn?`9ЃN11V5l8h9S҅0a "U'5~ߑZYF/?~ϣr$n"n$"s~ԗiN "LDFQL_;uM¼=Yγ5H|LXlFgA qtTtWTHhM%&v` * FN _sB,4 &4K8 G\ODцA5?EDL4B oX| A`!\lKGP%pOLDHnט!D%BJUtƾ F!xj$R(maQ~J|GpaW`ŭPN f0IEPp-ɯ.LiLnZpaZōD@#[ HS5U_pLc6B7hx0+zGdƌhHq"iFIttlm>f oh ȸg"Dyd%Nc@^@v_hdA~$:H?<I,cȀ\"$HIr0~Lȉ%mCD %da$AG @eT,JGIJ2M$Mp뼪(\$ٷ*Fg(ꔘhi}k*F*k*DxR븪bT$j?GDɯ^_6DϪK %vkrkh g4F(΄՚?ABA#hlѶk6B+:-J-hi mzlTl-֢l?j]+پm$fbmHmJ(:xᎬzؚZ6\ՕLjNRF|fA hmvkLmbT iY0mkjk^v m措*Djml^**D^***DEJ~ѥ?h/n6nkɘKH^ /R,XT]E v|j]VI,*of\>/p.]p\o pqsk % ˰bp# qn]pokC1ƚ2n8^qCXbp슉Q}4N~&ޯ/\0s1`WoF^*іf.q]f0 ? +w!p %"72Y0,%q!;n0? rC^){0L1YAnr 0 i򧪰BXmEIsZ5, o52Op (435S/s7O6˲bH j38973r,C&1=={/0G0E 92'N`n31;KVs#٪gtI}p+D^4+Nh4F*AHs.66A4I5Kt).Mst,3jԲ8DR/uSSb5G0kem\4o†&xQBuHV/O 7zK6p@uCoԫ&C`g,P3GjgL(%dk(:%Ev+_f??0*CGjtRvc6E 4tO7uWu_7vgvo7wW t7xxwuu7vwxt7y7|Ƿ|7}w@! ,;rtG_,UTR`(YHŋ1BGWz,8G0`X7R$)@FP4L(PP,!N(#i NM*-1H"8t"Ue A"K%B kv{t$]pXʙҖfYPљ;wųUfkK'XjfR'P KXN˞M۸ "0k.|O'`\ڴBin?{JCQThmQ?|v*OxmvߧZ98s}!9qvٖ!hq!uw^?`G|g?r'1߃V{7#jEXi@"h|#F8m$n76H#kL䕷هeO]$9wȗhlIpY!gvd*"w*qB BX֦P`.ۘXvzg~ɑ:Jꩨꪬʩ)9XckOhCf9XqZPȒ'G&ܖ&ҙ" Y#pr,R&\jmmmNۭeE7f],{9Ȗˆi]hɹNO):ȢqŚ#ٚi,;ܝVw\ZejaYVՁ1k3φppAb}F}2P|5dPKH!=CWϦͺ:dBt ?[O@kG-i\2z&s3J5X qaz$(VKit5]n o>ѼGZmJ)sۆҭo&0G\RI%XC?TI!e͔%?%|5sjD] 9avIlR DӐ'pi p AM]`u0ix*mpҶ`A񔇛x`# "K&x3kL\T!`lȨ{mw@؅ e* |%aA-1wFEq8gpQyC݈ruS%0EPS"yd7Qdp' ޮVy8ѭsN:ڄK(^jt)jUqx&w4MbVE86XPᆞ4&J ,8!4M=Z؝UF$0Oq pt=|+ΎH%y^.8nk𨁖sE }GV-]8ˢlB/P8GG )`VƤ? 1 C9xgLL 3Gy))=ZZ(6|s Y[l».Y>,T b+ub5ξC| ll5@tĖd93zaA_3/(;Gm$:5e='/CMP/;;[U-4 N،̘5+D(`#.V,Ő= .;HytHأ ;T492L[=H`Bi] /h(9(b~`_ &?p-ƫBXj^S5׬ȳrc6 YH |lO~ M+ȁwPz/mF])(X4G92eC^":UcT&AzMP(VFQcJ8Qi@C[UvR#q7lT~+okDƮ~߽7N/JO# 1{|)zy2PP\2HRj>$ ~$)8";Iڤ!07HPjN!J 翓ȓ6%trm8dѽ@鸫tHs䆵lbؿ&)!P<圼NsI 7 R`~}o:mi؁:iAi=~3hEa&FuoI EHn* zPA-ig>aBXԔWSyó0D=w~ ~yaYD9zgPs w@( / gmXBwĺC1gdT?n-AWeGGk}uy,"kIHeRIuIOVu#~Hx07F%FMCQrF :E|6c$@d206\}APgv)å;?\fMdbA x$MMM24"!$fOuWfbfkO'!j ab^xcNt󑅁8;ZN\hIiC?k+#r?h;G~Cr/G{HbYS V kWGc򉩨zъe8 ]hHkXU\uFeU‘U,!R\ቭ[L$HB84Wcj)gGJ'!HjCiFXHBbR+i?ӂ)XIp芙0` Z@+!3[u\cfFpVċW#HCj$yb=r\xb(Y8tj>VB,t1R*c}9(!4iRvB=@sB:2qbKuS2xX!<3B84ր` " )9$9# ৆Qj+}# ,C6C48WT]@W3L={0|7{%)ŨW'[`:vH)jR]ҪJ mk"=ꠀs=ݣ=Q%>i (ULc6o%᳚`0Pj$4\0wߪ\)/P'|AW)dR=:@#1fafCtU.fìhWHDMPB ±X!tDs&"37d%VTT59'21C֚.[@Pn*AoJ#/m>_RK+?9KL4R>K2# Kf @i`l*۳F;-1-4e*O+:Uqr/J`y'/ s 5}K{1_3=*䵸,յR8Pɳ 4J tK깪kr3{-P+'%# *4[B3XuX{FeuR.W"$J[m98.K Y]{{qB7`Ρhe26^JQbES?HSja1<4*,P,m:19s p 1;в,di7:R20_3*gm7&q1#0 CrZgd7s1YAm%s@Bs`s1 s{hM2l@cacOR?gK;E6Ew%*҉AruL"lSuYW\Ȃ(gnӸv{%$VBxz,|=xA*ma{yG z$4'@lPDy7jŗj "€  4 wϤ|ܥ+{Fuq{i6|ެtn}gѺQ?Z b-?mu<) y#ׁWtuHz܁G,8A"!xG4#J766KpjET(x;=Y!b_+43ȸA](cZ~ԆuiɄᆾ,R]l}b1Rň=֍VgVxܗ>Bȑ=F=у~_m$$tUFeI奵Tx&y^e(d1Oґ,x]5w\O}'=BHKrҒq|m)#9iT|Za(e[Nݘ$a\ y4"I^ z!=]Mi",vf"&L?-OU{irߌ `x(bjB]wYbz)})݂] ڊ|I1`\NƱ1\lƋRe$A ؝iV\[M<eee,"fy풝uY!]!]u>Ν`i`h1wf}BNL^IjڈNӸV!$RAkakA~ Uj/B7'%2鏎 o)SR%35lRdM"#HU)m Gn)'l@XW2[:H&*o&XҲ'.'@@~>t^}"(/"A|'WU/]C/Mxw?8/0(Js1 cR"}Р(9DM1򥋶3^2s2 *3ND2_323#8t"Lw'%_uoA2UWm]m%$[pIB!gzj7}z9C;t⻨,::h * IpТC+v001Q >!޴8TO0MIșɓɁ?| y%58p8><ȅ4:!9, ayBr@9D'L _!CYpgOFȒA3.?~ "}߼t\V̙Fw@+VkS~(bA SPV Q'3 :2Řd2wŬ+s)'\4erYb.o_Oup3'}RMS'KlsG~(S9 &fZ \>j A IN5 Ap: c' "@U8гIkџt.9+kLcC$(I1$hˬ1~$6ulR2,KlLBlʭ|2$4g,]XdJJn:&622%[!R4E*TRNTm9%肒ܒ̨cd"#&^"4 Zj#2,qcWfA1`PzՙtHZQ"J-K@ U! EBOn!WHU jF Ov{kX3H%рT-THp) !g B|;inb^ɶ9mgj27j"] 2}'"I͌B*% AK8(I@4U* P0!UҬI@+< 9r^f9&ڸ׉FW޶LI־W#ԙ{l?/Q|sMxVָq<1TZ9P%ȌHNEb"~ MN ۜ܍Z\C |R%XbYzoB+sЙB˺UIB*j`\ GE` \Ȇ\eX,B#˅ra[IG%O&1q\ƴ+B7b33je&!a wTpt" [.+(U/N痰DPA4PJ@!r0#Ւ@@LY:5[:# ZR4BAś4Y[\()e&HajJ:f* Tҳ*9 #<ZY6 i""qJc)2Ѣx @ u#{018$CӴ8z3Bj*c"+) :MTQ' DL,M9 ]b>ʴ:KZj . *3BFYsh 0EI) `&)@ ZR."r r**" +2*'.]CC&ZG8r ,9 L +(`!7@Hj | ̖xY+(F qrl:Z+3.[.v-Î6@F4JSH ! @˘ǀ (  07Y;̒ ؊x I",I(@1\-̎hŞL'yѪ+CXi\9LupLJ*@ͪcj!Ll 4 GtqnjجS8Lc;NDzLt*`y44ͭ@MxBs⊫̭1MDNaNA)@(@n$N<,3:8p ѰˣO U ,8s Ps`,6yY Ÿ<-ƙJ8zyO dӎ+.Cùꣲ.,@?(= uA d4̟-FOoQ9g)'!"("cL$,R|y0*V*#ђߜ(8Hxth#RE*~̪~4(*74P7)0@5%C=|8SCm@$+Z8bT!Ҫ)"Zc-ÚӇ/Űz;ѧ*yP'7دxz%"Uy+ | N]O%B-k25+Kt6+33ȳ6@ie2433(+PחV>\-BYi0?ATBUnۋFI4DDQ)T#Ss6i+jVlmB{1AWh[5P\K6t% W_ }6;q'8`@X4UU{}c5]r18 +a9# ;0R9-?+;450L 4HȢը* cu;;==:/Cq0,@EYf<3kX\S]1uDP'=S,X"ySںK :\ݻ%<}cQ;m{᠐[ŗ<=i=| L]г[ݸȽtE]KkQ0?|[kU{#?}u'YYyڠ5[;{_ KXM )\-+%,-d\B19mB.ܥ[$4Й%YY񃁝= Vk:.2EYm}WgEK|\3[3*Eӳb9NcY[^YՓ F, < AlK0*wխd䠨Sl@=*Я*٠V#ۻbK+\L%]W> PUϪ [+KeBUi-K '(hfn,\fq<h&gu^g gv~gx7w,sfLѪ燈*g6F79j g65CѪt,ȼO#/= RҳBb\a˂ -9@K^bXF@.nK/  AhH7ui:HwZ+6ȒڄtbLE ꬤjqԠѽz`dp M)be^gF(7qlDm4n,'q$Gs ȝhOD(pIuF.BHXOPadnʮkT,U#F-iߙq",qHsHlT /܊0I-_ mL rh݌(Г @QPn, nn:,J7MJ=ҏLn΂._h:.oS JRƨJތ$j*AKeeJt?JP) 6NihF6 Ң_} c*D*L̼h3m\ӰBJ81L ? MAqĵk9s6-L8wΩ(#*i|oMYM'jdtKxOw/NΖ dMt*|үop?ޅ+/y~}ٟ}}ڿ}7+}0J}B} 2-qg%\;+8Uܪ Z06!I=TusEMcXd0)brr] ~ݷђ铭<)h „Ps I31?TC aBUN,TeˁO.n48&Ekdɳ'Р9*EEg_'ҹ\e~@LhK#]y#^HXmD$GaW {WpsYR ZG TlgP~&J!A.5UAELq*ĊY i;FZVد$ +JULn&*d K@f5So~K^ IWAbQD[XXp3uS.M`|iv .VIId@Fs^|e+iԒ+ĶR,S,ГQ;˫=y%cwE7sǘ&1R0L}{4*Vfp飿up cUNM66''*B et=2^@l3EvODygl1,UsdBEgS< 9ݢOEM!5bX $^X`eچi9 x|Q|V/Oo[,žl;KV<<*+A#kyɻ]~a1vEof1Hv|zxlG%*"("*c<t|2"w>#fF $(z{ۖ mX?$oil(a25$hHCJt\B4}4Xq`STa8t84„S#G j\1˕8X( N Gq2!DYĉ%A^y7$,d OEJ8&XK(ZrD3ͯ)spF)Pєe%E"[ őMsK䌓VA#Y$Cх1,*QA5]8 ,ad1G%s'JI>3&DOşFQ j VBIdb=A3cϙҔ! B=TO>a`hK {`S֞$(t)Z'ֈ,50{QT@EI_Ջc-T9LXnKM  t ?f\% z6eUYil3WI٧*,3ArD̺H͑cэ] ,]:,tTb(5ryH[#53_-B(5LPXvhO}g:'u3}!GvBG[:TDSi` lh-nW{mvi:.({m1Ú u*DHpau-t/۞1e7Kp?/vJlq'Ɲf P  ? sưQĥ2 B /ȓ!wO!+_ǨpIKvFD"qK>$칫BqI4B/+չ?W)ӑ'*_'ɪ,91? |'Y@ ^= BH:гj:VCkT`DM5L,TQ]},\!Cف[5%09] dA,-_(ڢ՚9 mv\IAD%0Y`r6S f:D4 BfK!DS&9\J Y[ E%]_L^A! @A B*BG MF,]}'"!  %"!XDf"(v'a#`'*b,(b 4I" 8_9nbf)%b266) A}.#9b#b/BP|D%E<څ";Hc*"4"N# BI 8)Y$DMbAJ4C !K?4 =AHQRd]رJdLB!YIdJ T#Nv }ȡM Z (Nd=eS2I$"0zP$[I#"& YZY%Y $`KDbE. EXpbc8O @NUi&`3Z[a]8T]fAL#a&e4jjN?ai~`ge`N'BlmfRgfo2Ogd? &Afw".Uˡx]u%[#lf_',ߩ'ne:ArfvT(G.)B@&`(Bv(N((l~$;:F芦Z5Jٵ'Z&|#bDEa~A`G%VQ kBATDHNhI&g P%¤hani~).防I,&Rg&9{byKP$d$ީaoBmYK|,5FiUw&^*lRFbhhIL\ĝ6Z"ȂīQnj`FezJj)h2ei)2) TFL:F B1J0&Ob-k*䊆$& +"aS-BĖЫPŦ@?DСf,j(rnN2j\("2ꚞ6bEf* ^A2-$y/(b;B֢2*-!m@Bl^-&Bm04_#/QՂ"Dz2<Ν."#80B>-"LBiJ&<.FN.V \n.v @FnjnDv.ꦮ.!,;r8@"2"<‚#JHbEhXƂWp,GOdTtb( 2!(,.2Je̙Fʔ?LcBQd">V(̡RUfM(tlPV:%ȴDśpS҄tY&ԡ9!uIm9u%cXdű?U=̹ϠCcIS1.Xd1 18>NkU`l8U\۶: 7өmn75N={w\/׎{nٶ;r3XK}r]zuV]ghzp@XqF(ᄜAXG([{,(g<8)(RA`8<iM_n!g56TLz6EVv}eQihlXf8B ?&"IYKs<ݠKc Ef2,]#?zj&Cf#A(;FHkۍWlq%j~;㝅Ȇvl Y\dgXh7U%#^̘L<\rg,X*LE%l*cI̎OϚu"Cw' =NGх*Fe[g]~Q<r棆]1P)$Y ^8g bQLrmY=T?LuNQіti69?~&m gbسkVE!…*Ɵ;>g]|~+(܏x 6o[tw^ݎ_ܿiq]tځ[+R֬f*zjeMt V:|'r=ݤf?悅86.{MeӬ[nعMuҍ;(OeܖҴm>L}VQreǘnWhggbdeՌtG!v'>3 {Wi #(CfT}VTsBtٚ$4|S'odng>ُ9$H(BE1 '+XfuiMωG2#)јPXCl|L7Slp ' .T9ݱ:.z!;T<,bqۖd{A69Ip>E'+OEk_?*6q\ ]̓ZJĩhfhB9`j]D;+?(,׊gyC69~\Sr?L5G,3LLIu:zC=g~ʹӒqQآ$'SX2|.{32L2oFhH$[ DS<&@3e6b ! M̪Yg ~ў٩Jd1?S62ZH~#t:M4Τ7ф~Rf:-;+(e HlCLp( N8 ^Әl&{ ph\Agid˽6wn[&_d,i VjvaƬppe8dmip)Py+ݺI ϛC鲰 a, 6/M =~9y hjyҷ)t"簑)-x(Ntp;G.j>m=A;#qr{4Ց$yNֈHog; ^O' ڛj䍳BݝSJi4y9G|dot2Jonؓ*xDylOɀw3wɟN7OYAb'rhY-3n! lWs.1P$6rr۟u%wU4Ua5`Tp0'^Cx}WUW To'ZUzx WsdUPnR2H>3(^0;6QLw5zDx%`bUWSv\pgp% 7UK+9|s#%aIH+'Ze!BYс`%'[B*b810V? dpkD*kѥ@BvE[T X"0/SA2Uws]TD7vHEmk[u$q5E1vϑaRgOS-ג-ے/r.B.4XP 3@ '3i?Zs/(/@(a#;2BLXw4P6 @i`Q/ڂq'Qc?6d.n o/%Vj+t ֒εV64?#Tc4c38C:9r Tӕ`f4e57a" ]X TB N)/ri"n+M5^k8[Ĵ8j#3g}2R999:iWT4. LY]-]4QQ3UbKqG: ѷi ;0G52@ >HYY[5:?#:(4@@PK')?92Ւ$u.I 7k+i aXF99a%LqAV@/y#y.M"FrS[PQP)2RCcmJ(e+j3x ar] J+JgF"J#J`ۉ#D`0 tL30 K(_E#mtҁ4t.e6jVGzڇJ"lOES+ya_U8fGo1>͆mЦm1s<&1ap=nn{"zv |5ړIi}E] M$qt@9<*rKB7]dzrgt-^27Dǻsϣ]tquû?gtrE佉FDv$J7q$HwiIͷ&7p羕'wwvz{k~'=y\\Qt `hy(*C+?{ g '}O{gSV$Mէ{dT!,|e}ghx6l_ B)(PE|O ^~'}D%U#Q;H4"HSoI%|!Őu#f7G|O{6;kBUjiDվ%"Tnj%e(;<7ɖahZ:hhxjX"Ɋ v8ǔi5pXBM*+Pw1si %[%utXU^䢇2`K0  m(v%hBȬq<N=ǘ sa?ΈE2E9n2Rbp1ul@$IoO6+s֓#"V2{ֳq͌=9Ie3%$R'$9$WSN,#TfVb!5UG!+2$ 2t"lJVRLRm,P=V}pR՞!~Tʀ|cO?m$$y2ruBX}#%k2#"Fb.GX'b+r~+rh}8(R yML_++1)o8·,\4 Ot?7ԟ!QE3e9G! E3+ $H$SQyC%ڍւ-~/22.7v23)X/6z4I2/XCe0V-xW'902qsBB9Y.&"yb"I>Hh$[iqb%Kɡ54O3\%6#4wWﲕb3M#jl)30PցC@TiRdPw&fI0>c` 52zDno>W= ÀKo=[,E>8xoY5p/1JCps8y.н3iu9iM"Ab>c"ّ30…C$X`:rIkwyAL$j`)ρnPUfOOX)l-t?rKN %Yl`X-&} bB8L[eх R&K#ߊ8'tN4"bĴ!폄t^ G E4Q`t(Њ"$K9?qR~eűM&۬.a(PP?b[(ӋѸ(FF4ܢR0M*KҠҐH aW8F'X Д 0JMCBA,=PZ,ϤT&#Ci"i*ȧӵ(W6;3:m˔$UC/a1G65c"jDrbXV HnJݚԦoBsfY7.`ajƮL&=q>VcE10Dd4M>4أ2P-?a0D Q1 2Rm,)_#d9Ag/;(6% t +I%Ѻ,$TDzPt oPj BGU¥?Α8/]_Me&Yt/1Ce2/nN HCBa4 @sJ{rbZƬQe80T@ !R$1煚*\p]ȓPs 3H{(U-k|~Ȫ8U}yr^C(*I\|݃:ewLI(1PG];Ja|!zBˠC Lyù8rh\/f6zpj#ֳx;Q1QJ^Rj&p) rNeT#Fn eFQaf1GB%p2%*Up! PEPNI GZBD0H$] 4 RC$+ !'xEyƋP,glANzfRiA^L63EF;Dd!"J*N-1` 9yPYzT?/G(0 # ?Ӻ7T̚ͺ,QkRI3%s2I.ٓ%9F`+kT#EiكiAKc ף!)D1ĖJ7Js,"LKK+둦\dG,LH̱msj˸/}Ak[1`"0zC2%c2'`4*S,K-#Rbx & l]1 ~. ) )26s3:c )0t1$2gm4+<7;!TN3>{3HHEWGcM JKK6MWH Xm}D9UXn`eVb3`YfeQVPyYs} grŀ5Y5[յ\yA3bcd[6= 8!xr(ek֫CyW%١iKYk;ՍO0F%ґp̔ a;4 vy|547}~(8m \yKW ~; /+\UUf7- X(^ RKmG~ )J 89A+9˄K̐ݖ9lKZɫBC_d_xD0S'66-_ _ K:_Oxh1]U ujp8.̐\PYͶ; (a; ~ۜ_ǰٵ7;)6%`5и'މeTnZQCn;ǙQa!De;ƀQ[BwxȎ֡;Lh1CeO>CHfA< y)$ckgS fQg|V3 GyP+v K)b7eS`Vl1dK9ie^>2TlnϠ fiz㗜VÓgs" ?o-=e| +Ѩ?lE K!XT n6P'k Y>poi^nϹ.jll0q<1+JľkJD'.xUi/,ɗfvg{Nl5C rgqm65G摾nxn;f[6,˞/Ґ>o冱FnOgŠ(y4245L^嘪Y'I?eR|Y$jai% oi霦o&n7 p[ql>qY po?g\𺽑4ou3Ӱ4_A:hR^ (wq3 UTŷp,Fqk YT2GqNlFqsrvY,sIdpm)o? ṩ\.^= i d%Ή t*(nrk<݋ ^7sThK'uV&sIS<ޚr)gjg^&7*k6kqNl KᘙqWHpv j1Hb4snm%X+0tjswxvbBi)h4~⨑z:',X8 5pI >5Vl> p`{4|pGju#ii.Pȇc >OaYX+_C2z ~uyjq1 0PdDI>|A> XT.e4u 6=S/EVeL5,bb-ת.PPQ"e +}Rp2R 1RQ8Rܔ ѿ-b/&'EQ() -WB?Ƶu}SN;4/5|H/8070VU=ԋkJ0B=)VEeTT֢JtLCş~.إ?|FR*|*d0Ӽt2ŋQ=PIBq#ǠQR#ehJJ}şIS(֬Zb%֛9w:Ԋ2]!`+ܮ\W͍kL^L ՟=uR)P=-L~0P55 5T?ko^lI0?]:p]VR䩎<'d,湲BFN;xo岼s\6>n_7w_:$]A TZIM1VSP'z7aY$ j sEGJt=a|gABM<*LkX t#|ArbҽF`[o U{uuSEqSpp܋a1_fTDX][ D?ē!V@GbQHՍcKRx\Q<9#\=VT9q蓝gV(9Z6u{橚e.eF FE!-'V0 %\h4!4&P\PrxU{s&Ao]FхmX l,śFAaQEn5:ueS"2"_vT& RH&=#iş5%be(2%Zăg(aR?-cNu8TυY[wųxkԄ?a6Tr]K1 T7ܜaϼ~ <\2 ^uSpf^WT"p$GXdE\6e3[! ,;r9pGП\ȰÇ! dpA/*HD+jDc=.D9K/>dD9t3L1a &I-(]ꏩҦOJJիXBVVVS`њuEVl5 שp\ /շc"ЯÈ7qŎ#KLʘ3堹3dϠMڽS嬺ė2~Mژ ͻ[^yJAMYg&/ĩ)tYSϝ|?~EM_U&[>}u'[T5mxOӏms<~ja O,NVot~5sh̃$-f?S(LuՅ*㬨xIX<&v !-vzۀ. i{k6*g%}b]3  kzd9Ju Z@ |z"]Ҷ*>jᠮf 3[ e"ΰ@!h0WO!H,P&:3<|HE=-Xbh/!jQ8_ E۔12gd.1I;RWi(?1P;`}Beg`W:=*"%Ƹq.[JaԸ6葁,V'lcʼ"=ƫ\Z`<偈U&$%!yc۞/047P-_&OS܌?"f/I!#66EfpT:9Ouq|BW- lB(N1S\K BW~z?"xNNW4a'-*0H1RԔ)cq_&W*Hjj鼥7:5IZ(>FP~f v]n3LXxMg|quMɇ66Txwnoq$%\^$MX5](LSXLXIP?8D4LK2@:NZXd72JGuA}I7 ^E?26L8ygN=xhEo|j8[EE#(nć3ӱ~(}&y.t'yd\6xAth]щFH8Sq.6ZݡY3&taPOJ5lU!Ht\xs ELaVXWhX@z8#j1(Qz0{ESAgtHy(Ǹ~r6) GnH̺Ew"^$6 <fp 8Epr8"wc)_q!q;{;~s3/f]7?sZ"z-hsvf0jH«2 OEsP4uu[C|ѯӡU@m(X4h4˸P |2Ej| ɷ 'JtH#=$:~R]倍k}W }=;z4Cʆǡ赞;~{& R XOvQ}yaͺqE_xw,=MLᷥ;ک|jWͽkDSU$Azۚvց͚8HUHy Ï=22'۶K *-ց<|D}D KPǛ S]VXoJz!8f b) ׌cAPhKыxn$·뇸IfU5$\"WIv5#HEL$u* iy,|")=&ҦZgn#"^L%[-…Ti℄Ag:5%sSh'MLU#Y` eegEI `>`^~`@n &@a@yXn>ad&c=j,y<{5:ƗscVL}kDǖ0j=M&, iάqV9^d~|Y&ʂ}Ăr|fkB k#w 7 fp6>1gkf˗(!eVg%NhNL1ilijtߟ_Q U LVjkv&:*󺤵F53 z| MzXP556m4\Bn[l9E)/K!*WB9`qs*rcArrt*l WN{;exos mީZdOMѷ RbuJtܿv?,Pa:h ba!XA .dXП~1b 5&. oA$I\Pd˒0eΤdM9u\gχ?%Z(ʇ.eJL6ZjըSnWaŎ%kYiծe[l[qΥ[Rd\u ˲/ο~:Ǎ`PGJ.2CH' 61A13S4`5b& i{ƼR驒)~a],xjf+g|xru춳L7oj%q;?>˭M~9swМ||o@ NCϬA-& := 0AAB\p:0´P6$Q;)?>X 1>i\+Goa)P#?ҳr+ߺ|K*DŽѵ&g2AsS4J|<χr?H1;'USCN$q.R0S$e5s椢n R)Ƕm.UG ]54j5/Οij jTk~|I\~N\e 6-}Ӹ'bie3+XKX>g~4ZHn({qݬxz4kAbXrͽ4F@[^"*kg袧wMm?g꿷ojF-(h-QIG{ZaJL~iRF2J(I Q:6|&Z*QQk鍤`reswz鴩hD~Ie;l<ڽw;揝I p@g-p*1M|3,4 d`bhjX*r9,` ]Cr*s9  V_xÞLĈ=AfcCZBP Д%:ǘG,RaK$.8$ |UӘ qLbyGBQ!cSЍ,4hyFǠ1S4C $WLǪ}Lm9u$F+f< 4.ds>}rf,Ue{,+J\xO< >g>/!hc=Գ.Ao++A3Caqa.{y!zzL { aO 2I=BG͢Bb%{IP/WWX3,K)ħ,p\jC&;=/x#6r)KEӴ1Ie+u懩N^LX״+j6|N4J}\a&(t)`* uQ4z.hm{!S*#}z [ .)-"D6O3l%86/LJH{[Fe,r[Cbzr[:᪳E-u-# @k&KAtF\ͲYd‹'VQA!5UxC)/͔wժOMSu(Ϸ@ғXE Ij'W Z `_1O d ;JR%,N3Xc0~zIAjGJV0V ,G)Da([ރ19C2d'yˆg5(xZ Fd>2dɠs0 &e&/Bʲi'㰡z).̪^Նa+Bv!opE3{I?t(DLyԥNcj ^(jNZt&ib;q&53eIx6 SyӬ'XI gxpG<) x-~S!W8!qc\#'yM~r!,KJL *\OA%d`~;7@TүG:$_ -6LEK eY!CV! x*i$jԠEl:RDvz+Ӊ\5¬ZvZ< 4+զؔOyήA,Gʕ%H&$q?ƎCc4hLq3 h(5+m0 !,$ HA2\Ȱas KJ. Jׯł3F<Ox? ٯH&GQJ].L5obM,9&$OɅ)7c˂)nM9uBٯEA,Z(ΠBd)PQvJ)֬rzʂb6uZ]}[ۤsڽsB?CU3đ]w9ǔ&ǐ#?VʓOdh(WT(%OvX˛yZ2(K?ѠAgeM{x!,+" HT*\ȰÇ#JHŋ3jȱǏ 390ɓ(S\ɲ˗II͛8s)sΟ@ J4dOE*]ʴˣJJTP ^8*yJϬ%Q%+}Munȶ UkߧEɶ+ޔ{Uׯ^|Jl`&U튐qé;7ld;5mk-/ӑMMwSӠ!m(e3eajƯG#k![Nԥo]U{۷{;A}Brn9 %^s56y6^djs^*)tځކA٦aC2T@!_?gWV& V}$R(cB7vcq(N5`F&4@Չ(<>YxC e:B6hKE9&]`.OEe?H0|ny$4&>&4W1ԕkFmh]}KҩuzBUuFaة6Bj~u#x]]&hL폝'PAWXtU!,V" 'GPÇYKBTͳQ`*U1ɓ3ex.VZlRa~1gD&Nw<_)4X(RJ lOèRV}ZRZBٳd@ m[92DK?lݺW`ݺwW_֫f *^,2 (Q M,2O?,ϡ-otdykHpͰ5PlaѠZC[$x'tlu4B|I/CtTs!,g HП J0S2$C%NإE 5"H 9[YdD ItB+b gNyYѣF@ѰiS92 DTN‰*Q6*kҥŮşY,`M#J`"I[K[֬Uw5 E? 5M,uxł]sd܏m)7myƋAW K&y`N?\4D,bF/Ԯq F/ !,o" 'LJÇ BDZqF 3e$.FR,i`~)Wl%Lgg_)Jh(P4[گ(Q:T RLM%A`u顧RBh Jm?9q-]8q_eخ(zpkViFܼ~L5hr?2?,>j.͉~ꏟ)g [@>k0]Aq)9o:w.O(Tp"=~lǐwbD(򣘲*~w@!,KJ $XPC ˔aˆ h Ƃ]m숥I,Qhׯ(Q4r%KL2L8dM,+y'J@YNњ;iOQzp)r4(UW΋5lR8g4Q۬R6Ld*$PFѵ .PJKS|ged\d<_~TuɋW1F_M'6h(4|).\ĈdڑB<(wBDT>I u !}!,K/r`‡k (P4WJ(/f  Hɔ1$9IG+;$: D ~r K~pʬ1jxnE`%OB)Ob,ٴQgуʑR?p oITNޝ<lY_]XP9h!G,K/rΠ‡k!(P4WJ(/f  Hɔ1$9IDŽ+;$: Oՠ T,T?yHRtHN(X&,e_F1ɈJ#17IhLrn32`f4AM"JO^UP!iQ\Nxȍ0V`;Qȅ [Ϯ\ʭ^zW&F!,;r49H*\ȰÇ#JHŋ3jǏ CIɓ(S\ɲ˗0cʜI&K6sɳϟ@ ]sѣH*]hѦPJJ̧VjʵkO^SNQ L3۷`gv/ƶt}if!Pk*^5n.M2.K.)S+ZUd&2SbƨS3u 3SَaA{.-suȟ?=촧@e*-otw{Dןz&7WÇĨdr5泄8xI%uQ)5V]B}8fM [X>LgSbZ[)NJC|sg9.C`T nGHhTr \ 'x/`4 e~;ġJ>ka xpsJgH€:'X`ρZAuoyE 0 Qa-7T[h9= $ YqZcxC8aCj\#3yE!,:iVR#R/ \B2z,f7 K#;l(_Rs`%SJmC,F0"B. sW/\%bӈ,58E?rSQr:]H #*QSh*zϐf.ZT01?l24J4!IzB"TueY9L򳙋EZ4;Z<99L=HR-*]a|Ly34ME:MnބKѦB0-=>Zқ4Aĩ^%:ʽqY%sVfd S î*-3I2XaTLB!>P65ŪIwJ"Qh'ELztUz'3kޮJ(._llcxІxbр$n K}RS$o::ݦy{z]ruׅ[(}Q8y]&jEt ~_3c3a. 밈GL(NW0gL// !,a⯠SBȰ… >D /bDq~2]d8_s"󘪋?XYh ʏ YT&RYД4RaAC>|꒡ԏU5 *Q5(UZ'@yB MJ•*~F+RP8JƱ\~k0 !,SJ LUC>t*S& r"먪x"Gf/cJKgaK]l&B'΃@yУ?Ni Ӄ4ij0LD/kͲxE, fk] %Aqj`kX ˺_(O?ap? uB9qǑ%G\ @" R!, LJ,T"T5OAGpF2=(9#K;9!.Y|_)i ̃!{ 'IDECMrdDBSpMb)~pdگlYe5@Ԭ[Ȁ۳\d!2onu4(hi>!,KJLP† Jh0S&);wqF5nb))V% 'ɀ&C,_ڄX(Nr|b ǟK"_~N>Mj0i.042ek~>7O >g5<"- x5{*7J'etIT̓AY$r4Pېn:0P2ԼyileS!,J寠D0S {0-,J,X4$#ǐ+($QjOt+_&MB,̿ Q`G.!,KJ3e*s :$J,cFdDQ`%K$JDz,YHK9"S GFtiE˦OrGA(.{Dsr;sydaX!,;r49`H*\ȰÇ#JHŋ3j(@ CIɓ(SB˗0cʜ%͛8s3͞@ JϢH*])" )Y]I.RNI׉÷Ucڵmf˴FIh*]L vPU5%"FXC6_b]0k.Xd)_I!F Ci[aCf0?Y\a Ubd,=3MJ޵偪M)h[|?k7_]3z Ԛ,X~Yuax}Wo⇀홧a[B_^4qbAQՌ]V>@񤣈nuIZXWOZ,FO[\bXڐ$]\_ćEWfy^ST`:H' tY$CΥ=v sPJIX‘"OUgs#A5RJE$xe2%pV"s݄Rdqtig]P*dx[*v1۫*YG AeX+g)l\.w&TD`N7b&:ϭR\nvPW$?U㼬EAS4.[PHW O[ޤX&=`P!mdΦrv{AnN p˥"4?Da+ 0ל㪊CMt&lB᪦tams;.7зy-ó9lHXo,dbՆBgmCl׵9MY]HI=V( 8@ [_U82Er6!55WZ8su"ǣU*sH!|thZ/n[v=祐ڊwu^4?C0)Bg+yIsu r,( [ SP\c2Agܽ> mh<'Sh2a꧂ t恿Qp6]8!| (YPBB:J$MK6{U@2 ֥FLbBM)q)N|m8*Za"Ej` cj(2(d<׈4*% Q`{ȁTx̣>񏀼c&2BL"F:򑐌$'I?v&7Nz (LL*WV&5<ˤ+gIZ#,Q Y 0y]җL2LNϴN\nkc aj}( Ŋ/.̔IsKd*VI~dXҠ)s !LjxeЂ8ǔ)Ҥ4miS2=5Tz-dTl.=.l}vnQ@yA (QûzU\0 !@,J寠3e"ṅ Bx!+KeѠr ;c&~☒ʔ'KRT_.):Q'O~Ge.H3:RQH䉆r45?d@0*'P0rʵc[!, GH*\8 z!È =d@E5:"ȐFAbV0cɜ:' Tg nL >#m*˩MX5VLWkر1L0 V%ZbKEms7jƍ; ܄7bu6Pc\ &p@־#1g (=(5SpaeݪsбCDLHۯGwZ`5 0ncc'nvվ5""0 ! , (H*\ȰÇGH(ŋ/ȱǏ CIɓ(S\ɲ˗0cʜ͛8sꄘqŞ@%JѣH*]4ΧPJgОMjʵׯK?!$kV$vd{Vlqi*F LL dbП AT riQ;1䁊OͼY@~^ͺIX!o?ԽXߧȑkn@ر#[saJ}z]8ح#wJܲ2 4\.Ys1 dw.)G~JɇPݙ@Mp%FT%`΁47:vf9¡S:T; r%X{TN%hxp5rbRa@P&žh .DViX4PSTsSTdQ&Y([Y'opbhpTlRN9B64RvۥxXW!MtE!dUH;uZ TEsd)*ԣ+`*ejlX9n顮f `gNbGU[PS&@zV))6z:@XYiSS))Pv%h۫v+M"ȆN!ʇ,Y|XHve"cX&I QOgJԐ+1[4*WL !C 4Gx{l|C3;:Պu)r J^R ť.;Wdk=?%Іc Ex+JR&d9)":O/M*'ʌFR.052B,4,htI5."XG@ <3ʮ5  (D !7A#$"YF2e(B"PD0,2 cJ&2q o>dݍj\䯁lN窎^\%mŖA; 93V5Z^H >71{eG_:䂝[M/jԫyA9mZG{Bs*]7>耽J_42T=Uź reR{%*ًq=׎WFq0ETB@;N l_2d0D +H224\"HF{҅PD"Rw$!Ej Xz3i;n:&*1d(> "+?|vl:S~ml11[⛃揥iD/i=)ŽJ}k<."GOvx*jww2%-DuU%P'WmN_KR&HQEx%Rh&lWx"vP f0 7VA 20W DB*0ekASTi#d@T6V%KZYPA5Tm,EHZZjK#Uօ̆7UZcC `]0P@qRB7 xb@nPs=V^zvY8|EtlVtbR$O25RsENZxXNqtT\LHr&uXpX#&sH]2!Ou7yHa%tdH'Jp1~~}ÅR|\uZ'7[eY+UodIW5]~s33~h\ʇ\[=9?N?AdԨAPx@9y9iEb&|"ْؑ@ ooBHona*`]p{#=)^RrUCtc 5?+2 ]0B0 \) o(oPa] >Z ( A:DD\KNoxAQ{m)y]y֑O@o#P !iTc6[mFqdhHuflfuPwvFgF#ft4 OCXVOXWF[UGvCH~f&& EhU ֑i  n2 (IviT5J(GJ6;gYnDXhAK~aKyGh@ў ԝ4KDkpC E3}ȜZ F4 o`P PpZMdN.Nv*Vm0AU\% TNq@a#pm9JlXTm4eqyzՑFK0C  \ MVP͗Ey76Ri(nJEVeZ3B(#}t'H'tQ&pc )j]) U9oWԘ' !5R$xE55%jS6)EDzg;E'WjC:QXldQ:>y\&bٹlhKVDG:ZUuUYu^Ԉ  jSg[EnDzJ@Q+bn(a:oz'bɉcr5AWr(sG6Śf[5X!s0s Zs~jzt/uvap =!)MY@Bfّ7y;V\{&Z|}8}w\5N)H[LC9qIg n''(ZQ(X?~ɑR˓9HB 7PPT; %g/iL9[|uXRXU# ;*/4k~뙋kԤّy+]{!)ηl ;+1+k[TfC:w clZh9;Yԁbd&[<A?PGU]PK A )tݠ)<%pŬK犨HrY- 2Iơ {[],Exp78 B"g`'z eJU6PRnwszq]+/U-v”ڏ:/KTRFP9Owl阅* \^h qp˽ ]f$UjXeEOԪ76jF=c R Ɋ„HxzPJ0^-۽w.n1NxA+vZOܵ pwp0 'kjNQsVZHCuT' - F:RMUl\(To+ U~DȮN/}Jx9n^8P.]Llo&#@pp ppqꆺAa˸׉"7-˜?۲B=I_'t~G퟈(RU%vF]77>tE';n[([x] uy>yy#Nzzz{b{\i|'A|ex|g+k{mK};77Gk}~_+~R˭5q'Hew+؂/15x[P΃>lM@%ZkXOؒzȇ~ȌZn^b]ʘH(7K>D__T>teOT+院dkLf\ͅ$\aƛguE?/\n54CqI`}M@#`` ր |?2p I;~DH; 2K jƛ G[=Yu)$ÑIk8Á` &=94= XA־S5z  Äw?4fTi.9zK.Ss1u̹3"hA!u>4]BBHsdJ)!ԍji֭.B :ԬHqG{P$Ao W/޺* e^&(\CMnȚ. ^\d/SYf~ wHM mڏ6wB:J,y` Ù3\k~`GhD廯)SFCVl`el٭Ek9hajLa4b'u!N)[F9) iSjsDkBPAJp avȡ08rLriGBc {n*p)E$0Lv*AQ@ZґwX*gQ# $r@  7r r9 N;n Sx@QB ?m5N4$! B$٪OCM+ST !eYe#1Y!A䠬qD0Q8Q@1'G7h9& ĜsZv۰vAYffJM 8PsyLgu%Iֹ,Fw AJ) ĸ(R!aowCzۋ[ xy0 JP᫂QvJlwk^邖F4U6 L@$1;6[v QOb$yU!֊j(0@Ѩ) $J,B]*)!MF R0 hH5L9Fw+x\QGȄwuw7 'OeoS8&)@|3w ?`5{fim ZB6@BPRs[ nAFXo-8p6Ʈ'6ЩIb<\. p6*UNsdO[+uhbڣR c,ĝGvPC= OsaXȱ)2sdlF%@C9ю,:W7nzT9ӄ4EP$o #! NoAG=~e6: w(RSÐHe# I 5R( D[TfB|R;jjJplaZ t3Lr {P.yI| hA#V ?%˘d!\ =ǰ-"q]bMȸZR-wD+)Md ڡHj!ZeG))S[9O$?2cS9?-"P5& B,,8kZ(֘x G?Qd= #,Q aX%1 cVb YKa2 !n˃jJ:'LYV_-J1ɽ>M r8<w{$:G?1RȚ͂Za#~#5UY}6hCһ%r A \0 E,4F2 &P1nj e& TzyCN'Y ZB\Eqs2(́Y4$LTe *Ahn ؈Hb<~L c3CQ]jF6DD֏R#\exf5p@?` dEdj|#,5ҁBq }O  .G,U,;8Zԯy):;  dF7 bY>ӥ#C&i#76fv찢Ϋ. rd~o66~ɷud"fwKCֳ?}o|[wo Nz{` gxpG<Hpg<x=qM'5~ؠصXl`p}mnjƂ#QP'=yHD,<,t%34E~$'Yq`.{#8Btx[◽S$=|Joi$t_c_]Kؚ|楁H*vNa$|L7T 0ؼ78BmxUII\ lsv52tA0inLaMt4C).}g#P{È_~?#>3~T-9`jIT8D96GM毛bWn @%4؁{0fs=V2ܠahg)v;0̒`)٘ 2@ 4s@Aa|eQi,ȗuiQJv1q71$!% +%17ۈ)00 ,ʨ&880 Ω.~`šye@񼌠AL,85 2J7X=Hp6::j+;<JM"ܸ[&C|hYm%R!D%Fh"ADk )F>\&!QIt QXѿ~E'9,0b(  T| &,x,˥` jZFv*LEymы!R7?;10JpzydDI&4Ōd 1a {s8!%F7<9B՛>b#~x{CfDʙ>2*xGQ**Exr)EN#L|D*EJ*D"f,&bHI$IQ$0+Z B9l3rpHLً,DZv1ߪs3.\.qGqN"-pNՒvNZ.씖ʑw̮ 袈JӤ*)* K њDlL4̣b9GXoc699˳eC{ @J3#4(k1<2Z&1Q(2k#203*4QMUeE?+ #s { 1M-٢-YeS ʭݢ8R ]ś Q}04DNE-FD5H4DmGuKԸT`?.2 yuB#U$FGz 8{M} \ӵ> `]U`Ո[:PVUIemVV#֗ TgVkӀևVVlVp ׌VV[UqMWuVr-8sT<"ȠTQ9 Z79fr8u9h #kGp2lb<Ti:WeXT);::: (s8ق8h-ެ;X=@hi"H@@}{ u  #{cZHZPщC8{1NmY7+=cPY`ٖXdXY0"[(ړaPd][[@EK0U˽۽ދ3 >\+9,u3@ (R9R9C-DEh ,<@٣;\c Z(e8eY.PeMM [AF0 *$Z@A& A $YS@$q 89()t^{ɗc~-X$h}õQA=Ƴ-^eHee Đ ѠdXF`a6><Щ@w$PDtČsx:!T' ?<D~ fmb40G޷Taehaa bHXxx^E { i,Iu|1v wFxod)GXڃHsF4iFFz-9;Y P;u ~ шv=" @x";< dE&%SBWaW:!FfŨX␬*ē<$ʖ̣I%HuA.82;nDghJEY&`M1< Ж=CLk ʸ=c DK:19|fs jf 瑠˃PIiZ(jŬ1uLT)hL\$̨2PL#[ nğel#** Kȣh{W@LݜYOݛ5ffV", ? :(ex¶iYe[؀ NN-%.lr-y%~rЄ@y̦=qJbS, a][)w 3 =bep9m3 c9BX:7h؇-i^8db~a@!0CI?Hֈ50FPEH\d`@0K3(sQ%R1eR2,':  A8"q5U-1PݱlqjZZg9q8 eBY4n5O|PKK,cI}E^c8Hʆ +X0TXvԌ8@sTyLTJ+ NK{ sCeh6f܁cnJ45-(Á@H.-NrkZ#\m8^6s(b iPhAK *(ʧOF&wb!w2ͯuk66CTp0k(Jt ځh)qR̈́Fʡ>khg%M&hd7HukfvzKLpqw* drj" ٚwx6c@aj=zڊ6=yW~i.$ɚIJ";=6oyW?(sTaVEGq7x?1+uQ=3 {<1W ӟ0ӛ(MU{Eh`]1kLx/XMXEVGTuԳ:#!I0pX`]TzZJ@|h DpjL.(!XOL-0M0/[Kyw; ; 8LסЭ?ϔϣE ͈ (r F8.0Dm+ׂ '!p/h @;Ir$I҈ 2l!Ĉ'Rhq|)9rԱ3bLJIrbGẖSGH"ԵSW(!6@ĮIu\d9 ?jQw?e'6S=bu(]",.Mc"S&,jɐYYf"Ȓ'SlBGfI@rԪ7awnڴYS8\UGN9u/z";stͩ,Hr ="TnD8"$&ɹ]g[cG'oz=9BXP,4TH` !RKCh"02Ŭ!!hf-A92?@ڈ1(F>b0tPT;E>)$aΒ;3;(d易Da8F9$C:%#El.Ħk%&eFBP#4( MCq\02(nV"f@Fh,VF>D䈠_&W=jX;tXnB7p#uȪW$DxPK*yBzsBC\bCcpBZhRC_rB*4)Kij@)B+&d+x, /,qWXihJ7m35 +,-3mC G+1; {JgKh. 1}RDw'VB"tXq>PK^ Xaي~@uB-cP#- ;'Mc#@uB[_;ˊ}j( 2!2d!ԙkғ!8Ro5yedp#9G&d';nd;p9!nb:ŸO D:vHNGdowjpLI]&2:C)Ő ?a pC'(Ɛ" FGˀB=4$KJ¶ ksFRTb?JQ0"7(eKΫ B|j ;BA FDa9„.t8ȶ1Bb(* id #n<:5R@:S=JY~[h/XG@Bn,F!FbDآ a2'f|\3̬^NI(5, W2Ftȇ5,91W&Hn ҄&H[̂ A%JA_CGG,%ӫxSae-9L ;0.DOh !4g+-he32LXh}(D߹Rt H;" Y(FӴ%M!pDfR'vep0>GI>)Efㆸx9Y|cT&9 mjr5M #qG8zzsf=CIu8J4eoZ`9!J;7썠x~@'2Gc"[WN2P@[dZH0,9ɯnUAiU#N17@@cIUoEpc DS1ц%,]Z "0Sl+؊$t(My! )۴uYHM|xhvw̗T s:a^~(qE!r; L|rCwɈѴ,q@a}݄Y6|&4GC^PVf#bqBra+L E)L01Gizb(q!̈[f!Nj3'JGʆ>42ljoE,)IhJ}j3MґQTPrԦ><iN$AjTӺֶ~!Xt#0H [Veh[t~6\K־vEms6]o4ϭuW9AUov'2‚RNADE 1 A2材$`䦻PF*qr}h(d@"䗡A oPӚInhhż 3;zUOdQ2T( !XX11BpE8$ Dh]BsK79E̾(DrWHSFPن| #2-ޣLxf)$yIZ"@ Ɉ$C'1Q`p=!0#v!_%{=[ޣ]# ~d(IOBTeKHDh.i [dU)},GP:yē(HGR(E$gGMaIXx*@,C#0 (B1@1(CBA2L2$CA*2(C >4 (؁B& ( @ `&``؁Q@A&'dB`P٥ Fd\ 0! ޠ  ja&~BKP0YafaBL !Dt`~aB  DBaxTXWğ܈nPFUn G]%yv <%R&V)TustDBm`IU nPn8DYƾ@FD@2`6 #G,B1,@)"(6@jM2XB9C]bBHУe eB!S>q!a V cpA$?&<<(#@Jd8dX0(Da=P\ _F?d=v(#(<(d(GGQ=B ɉ9N/և&BW,KfVe b1Q|Ɂ`PWB&u@p:p$fBg ٱہB h6C =}%W[JBL΁,A;P VhY@je]MCh\Vr;,^]˥dB0ͅA,Co!<&"\&Cph,2 q _AzahBj`E(ۍŨ($bhܤIZ  iiwƒݍ>)iKv(g'yB- qrg[Ne)眨;p:w%ʬ[Lv%}"Ō,Dr֝F^1~eD9_&3-T##,7B,& @&exB(@**K2)D>uFBН].i(,xh _"ᔪ]vl$dd@fk&ݵBj'*-[DqC)>Wp 5]gZ~HibimM~6D@б?SLY^> $)D6JӅ2`A\Rją&Cc#Dx $m'%'!*zɀ 0!!SvwNDヲrꦺJs\f_sr"}(mRDdmʫlDeR LB[U hO hGPoH~O+n!^aJHGXbi,eZ4:D0DBP1\""X7B %`vcj`LʭB@Ȍ 9o &h?CLd DVb/(h*/ޏl+Iʯ .iFHu/op BoDB wlOޗ_rPHU%@by4OIDuPD  u ɍPZje,DX-ٖ!BS00$2dԹ 6eA2lCL! b0 *І O S!E@fmF r !A #-2 1m$7!3f S!ˡ1"&?DSMԎM6eքQ&6D֝1oQD2+133뚚FЩ! d|.!C09 %b愢;(Ѐ3=?s>o3?3@?C4AW 4@t-IteB=\E/3ed4fR>@D =G[F#=<ӒG4DPD,A=P 4f m5ؔKj@D{t>=A,A#0D5RLO XLKQ7ԍR/"Pd$=45 e==PCuP-5RSWVwdBuD4>RY^yy)AfR86SpBMRAC`;DSovEx6E6BK 4h3i5YUKEvh,XOR:glvjKEUU(9e=-=x7=z6.C:ulxvG\5Fx5y7zEmww-%,]Cķ{'KsxPuS7|[Mu_[wG5gl>EZOC({x:xB|G}7E7g Q0wE/Z'`B: xB4B>C#=w=A:P5F,ds%Ȝm8 5̒,,P5,Bܒ7'sw9}=P Z烚-MzC`9p9_564﹠B@nѣ7:9KЌ]x6$ CM:Y:G6yEpNK*e:%8!lcol6] ՜4Aлc#e#B=pjǑ@ ؃<-{8C-]M{>;{B;ûW<8S_5`A|+jK@|d|]S6Z{6W|>ȶ}dRS5 <7׏׳@߽7"XG4ٛ5}>=a|+D7}kRd0>Dt_-yj܈DchtFRA$H=\,4~C<|iS@5@sৃ->5y>hD_5B/D4u_:'AqsGE?D>7:p$d0BFݻ SN]!٩ôc vԕ 9vȵq$|fPC5zQ@R1 %IRz5Š 䣃5Z#j5S; m%K=@ ]Q];+XdCDlڵ \f8.g݋ψ &MzO-W$x6ʇH筡Ჸ[yh$ͩ{S;#<"drw(":sMMI!8Խ@s#V#LZ Br-¯(@IbHب<瞞zG6F6CYȇbYAYa=fCA<0Kk! )Þ#H9D ܱ-@@Aaƛ QHaCK=A !xGځBD~=1' Mc"`L#T?#dTL;tbqAڴAO@;bip!6e{JA\$63gqUW^G5]_["@XY%!W-ݡ&@dYMۡ $7^U'zI"N5}"6߽]"i%*xYXF(wTH9Qνx1֠cU袍oȅєrz>hꛒ~j^뮽iRNx۱tG:r94Y%{ ?_%-SIEߘR5ǜSjqs|ZoV*uߝ}w|gAܸ9)؎l!@v"B82a'V{ļڗ域Us#0t 7Ä{Rs 2_=$L >9A~rAI8)T YB1*aKFOyՄ OCA3;14$#_HD(<\~Ιԧp;r`ʷG=q%W 8 @eAݐ"\ߔiPBP#JY;3QTFUP&iK&!I,Q&;@%*ReF-U=KҖ>3]|bɝ?EyN jde-8v줠OTMh+$솷2 w4B6nX[&vNubӯ `x&SF8;U!t]B@+&vUmKw=H8*v  ,`rn)lx0/ oa0#?b[qċ,Yr-1_,5qocPd%=-Lb## 1X?9Y M([&E;гý^ `IT2Z|o}w_W9\DTG::~_J+/݌MwΡ^FOUձoo]'ץv/@?s#vJG%2^wY>v}YOLI2(f<8;푗C[;#4(.?L]w,U;?HjMjk}Y_k.Eʳ>ƶ_{ m]7#~zQNFJ+%;vr=տ~; zC6%z¯k(θr|2.6.-lL"gP$c:8н"(ȂN*xBPiP%Ubpf5ervОz} JNJ eL oP(P  C v'OU. $ q 0`Zn>Xɕ`I㰺A.˜ԇgV (y,%!h&F#IV%%iHNzB lʬ{>:K;&Qъ+`&A &;)ʠp Mށ, #ЄH"ormJm4QBn*ZFԆ.RƑݪzMf nF\~ئq#mѲ~""#"v !,U H*\ȰÇ#JHŋ3jȱǏ CIɓ(Hɲ˗0cʜI͛8sɳϟ@ zr%ю;*]ʴäNJJիXjitB,)Q ^^\"IX %1nDj˷߿Z ȑY ;پR%X<H0_,Q3hlOLCMsM۸s}n E A DH! %څKE ĮPF;sm8Ë76pXP)$cBE ۷-!?by/hP{|HKyl%E!nI cpC/f&ryovTG!X1/̘aﺬnf+Ct߁lUxpRXBO;$8~5tS,;q0 gHC.F,Ŝ&d,la!Xl!=ȵ>U9Q\!%1[()h|hc{ؗ38َZUhG*Sz $4\ *Qc|b"(!l%HV9iX""`q9@LJ=CsFF䰆 0Ǐ8k#l ~3Q68Y( v1()ZB$`#mvE[+23y27cs[NjN3>GNu6Qܜ8IxK9o&hE'zN`2$TӆkuGQXS\+ II͢ (?Glfya1JԢDnk5[hD8W&!;@NJb4͠_":8IIHϟDAԪ@ಕZ5(^Lա+>VV^u.J ". V5-emPB+ iRIOF(HZհ-k{؟AVa,qE!'OGMrKNc$h-on-3FmXɰ 4E " $qp!p>]o{֭+]]_^LiL^WZ<8+¯Ok`2 Xr_TV?_NXА6!j+;5h7zCADP I1an¿GƩ$.!|싏s,`1z2hV tba2t#4gJƞo(Rb M(jSBkD|v$hv zegF8ʝp$Fϔ&ZDUNrj$AH`/PR;&Qx-EG$d0i`td4#bVȺ^6LzBYL8y:>i7AM<=^mRp[;ED"~ŷ7cE0ف N*rlBVzp]&*gN/)BTY?J̓HOC;PԧæSXϺַuX`Nk,"faxTNQB޹I {bx+~]? v%? NқYh?H깨Q,l/dD@/B ˃Pd!EhG% sLb&X~C?_m0P{[i_ 0V  +\X !` GP d1֑;ٓ/`3ivXpHm%@}!gW갉щ8 ^0 \0 &G (n r^ЉH ,x~m=25yJILxkRGi<`X})0^b^1)i7qM IkYycZT9'gp{WXW`E)p!xu1wKE E p0wXDAy*D҆i AEȗQQH22 P \ ʡvI; 6y+⟓'isW`ɣբ Ay-ڢAz= /PGj6I|` ǹ\ڥ%C%zC`y*Ȱ I!xAp7wR9BJw@w!@ K1@Fj ؉Jxk) zXP~jB?piz &JI*7FJSʧw^ںLU-zHqP(PȀ Ǯg}Z@/$JW@wꨕBihb#PP۱J\witgsZ< 딀:PK1dzKDg'-{gDj KZʭXZK`TM^T ɐٶ` +#*J@J/yIw@@# G3@j5ʩ2j1 ` ,ik: z9 Ek+{;MJW:K=Ϫț@;+++ڻ^ 2ZS];] Hp  qj Nr˰zɠ gp@NI9+%rp7z!()(\ ,똁`(*p0 1&Cef Z oãۊ2PK%E 姣@hvܸ!<; \RT\16vx-_[< bP\c|qȽ~m&\1o6Y (P pP)9À V b3rDz dʅ;hRY xn*r(T4-a8@ к. pAʯlh t{;4iD| x8xzy"*zך@a!t={A !{{xtn{ }ʷ,w }g}~ W)wEg$X| }6j w 1Gahnr͢"(۟&FAAAx+XUQ3h !]~=f}.s#ݲڱ#Pt-m!➍MQXShV8;aH#;A7@|嘎LᜇK>&؊Ȉ88@9XmJ(e x38ˍM|芰(緘؋Eߏ>(ʸ"Xhn,H丆tbXژ}\ȕ~ Rsp,N)i6 #Ep$"^'972I:y?BIFYIi Q9Uyᆮ&,yslؘ.TiAq礘kٖsÜۗ E0i0 xi ϙ쎙>)]-i1o7&Ū9AEfZ9ݿ@Ḏ## tj#z_ 9Y I7= R0Y ^Uj}C9ɟ8*2 J3b9D9K 0:wVꀤaxb4:jT!H!:_w)J+*/15z7ߣ;ʤCߪ^ͫ_I߼B[Qoom!˔b2 PBep)nџMA:yc; Ѽcʖ,A&s؝+XȱSGŘ,Ebdw*Vȝ (9$W:s5dիp'Ս0c>X]\HȻW/);4O&5X/ߺ Ky2ʜ;K.Mwt=*ץَ)VzuɭウKFj3}}6eQbx/gsѥO^uٵowŏ'_yv *o!Ņ߫C$ѽ8$#"ahPh"@T9'zS@bQD ># QqGygiw(v<܈$LyG#7Ir_V q{/h (L/.de03@SM2B\S",qƚ: /SFD1L;ڑNPFg+4L=yTGSL#hJ#0lKZuUXcuVZkV\suF`  ӈ0Fpdaea(F[X5p#A8qT܁B_9 -") v ,̉Jꂣ$LB;ǟ%y"J5B)ğnG({:8፰b_Zn*"J"s6ןQBzzǬ<)mi@&)Bd)f "+TQl9mخAZɒ>lYuzң^Fh># 9`B.ЃNH I_4LpzltH=)ywaJI3#臢 (>1щ9$q#C fԼqkdcF8Qs2@ s 9> 90Q Ekp$2bz7a ʣ] -tF4P2 Nf:dJkGS̘uqC1 a .a( ")GhМ$\5:DDbV*ڡA;F֣ =Ec\zWU{+P+I2PPUjQr|"cqffVlg=َuW4(? .Y@CMZֲmmm{[Umo}[W%nq[Wens\FWIt{]fWnwX]W%oy{9~#g?Eo}{_W5ۜ"d.W fp`WP@`a8p=a=4mq]bXƸc`ID)v$YC&r8;%1E%hSr|e8;qDG ,Yc&s{;2ɀewYss,GZsr΃&t }hZ٘9 $EGB,ѓt-}i(ӛt=ЂZԣ&u iSZիfQjXZֳi}k\Zµ}k`NBE rb' ŀ2Yr ߙvsڻAB`-lt[ݔ%v d;K Q" #XbX2,ou IE^0[#'P͑kN?5zLߍHh)Bp |:4spa%J?WVo^q\/F"8%zխshp A+Gl.C(p$΃:"7$^L>R-p A@F0}?<ܱE;^;$)cA@#ZW>_)qj[HKob#EэpF,p 4x#jĢWg~󝯝kTyÏdy#2!"IFRxh+ #s36*ٿ#@;<+s=S΋@?d9 dۈn=DhqXjqh:8X|AA>3Bxc+X)@9lQXc'h$XLHdXc1[45l*./aXE蹺qxCA&?ADA=qظq71EBR,B) &H 08Џ@qP)9D,pEqɛIӄFH4@ :dXK(?Pe ;x;K`ִb;N S8،@M|I(,MP΃c@AΥu i1D@hGql1Pp8|OL5Td47p6P@aFBK|ScJ Sd@L෇XЍ 1E9]|x!ɉpriJx`J%uE&s( Vu׃=٣[==;;oH峋5J1oRkۼ> RiPpi8\kǵqeAv{=ID]qP]\\\ʵ\p1 =ۅo\(Ľi.ݽpXSڞHs#iD>ê3M9yh(B "xv s/* ^PR,AD8\|yA`KE@H\@AtA[SXmۻ*kDkXpW̃1ȃ!bq0b$vnvFj׻b'a&a(=5&]GG+HIؘ(M(l;d2TL ʊXQθ (wо  9DqKtO;%ʡPT]YKiDxo]%p 1@ bfDQJrcWe`c]3]kf^`f@e p>fcaO\ScyN1e2%Xf[?^kTl KEI8` 鍖hػXItRLT7eݟ=|%yvPq3YHϑ&ϖ̚ޝDhUi{j8FЪDjmNsjjXA!ֽɘg=H 8BN[k  (AJ(h+I\ig˼ϏK8.ͽ]jW^qg1I,-N6HO"vm~UnFn؞퍸j̹jҥ<,HU?f#KlFb%NIfBkxytL$lLLdY}/xGVqfILmpݙd7w><O/Ғp/홮 Haץef^o>qL3͹4I ͷF:`úުx 1Ipq6` "')q+jRa J$oUƋd](dn]fYk@p`R%09;Om.@'s;a]HG/hW{=7Fr+?OHύhH>FPժ % dqXbar i" L&:Psyp+Gj%c'-)R1,罋mR1ۖR*ǍbY5e[;R,mBzg<OH/x4By8v̵,;8(Txr4m+絛h}V|w:u~ވYy y_p?x`+yBQMS nx8"o#~&.1 pi{oz:p7#>.Ҿ7숺{?O|?_|||ɟNmX`ՖjUvP(vdގYt_=?Z|5Uoi@hY֎0~c%xG /Wk8XQWjxxzW|]w}5*Z֟R~p}.I7O_w|N PaB'Hq7*GHBLƒ5B(dƔ+eR͛SttB%"n_"IQŒ*2;RRj*֬Zr+ذbǒ-k,ڴ]T$BI )Dc:rE.!ܻ'T1SQNSǮ@8ّkqw) -}u"(jzO[?1־}f yV}ZJkݶߍiԭŻ-]kGoۥ^{G^8 w7ՌAс77 $uօsNӍ u3n|M59\T} C Î9h ׍C=ꈉ93 dN`vM_E TXeavd$:&Zey&i&m&qʩ&[m#IF\o"Ifɠ  13wX<DFm!\vfb)cN 3@bE%l℈"Ow. kM,-7ꖂur ?j@Ɇ <``74ͮed4". kc1ҽ@͹ނ+?"Rͼ LHK sg-Bt7&D;T;n:Q:/pj  0L X3!;ƸDzNpTPcz5+Da=6e}6i6ZuRU$ -Rei P!P;p#um;rCmFu>h![[nHKDQщ3T)zn6|ݺ7# D D _ e4DŞz%$b [:EZPB,X P\#Ł 3` Ұּ&6mrM6$e0p'Yf,xƙ>Mx6Θ D;L]qPσDt7o3ql\2QO745c$¡ #>1X&F7p`/qdJeҖ bj2Go(n|2Ie5W"Ϥ%,,A ;P;eu]%/jO"螐dt+?RVff+`+,N@Ӝs.08E(Uz j+N΂aE`zu)KH2,!$~iukWLBmq t9.Lth+gԑNtk}nr2^ݒWro㎬dWb!o@(GCOt&12",iCW=Q + S0'؛,$I"i˲C 6jGX9r,H:G# 0 I:ucd$("$!F$_H_#ưq@IߖbCp5P"d18M<Gz&wyh;כIJ!\Ml2XkE"@`8dbJ/xTpd8UzJDi g&LN 6ri| d!GyNju@f־6m9m&h $CmbcK8hB 1Q 0v$< GIYexð nAa4؜?m= TI5:na`G g8'B+G$N|a:(Dfn%Nsy`[HVFcW*s~sj!W%!" np.r0FOk/%cR/cG;}Hr~<#/S&f&4!DF [!.8]H 90>dSIAW҇M`C\{$0Tڈ"7g=r9W>O˯PȼBoL#_늪1|Gh]&@ܐPS%ؤ> :V G8`4XU *GOƕ 8`H ;]&Iо   ֠ ɠ !!&.!BRķA#BIn!v~!^BDxX3E @$P\!ơ!~B[$M "!!I ğa!$N"%V% "> BtD%(")eC !$,"-֢-V:\D-"00X"A(cER#4F4N#5#a!] ! $!58#9N5+z#!t`9#<ƣ<29Σ=#>#֣>?#@ ?$AA $B.$C6CjB>DN$EVd Y$FfFn$DTЀ" %x2(E2X$A1 CIJE02 0AWKdUs~$GQ%E &&D>% G("$U* ,2 0"$SX2X" %@VfWNR2( DPd]İlR_r@ڍ$`U\4E2X$IeBpTUcD2(RSe^_f2E\JaEO_&k$?Iğ,D#$$HK CND0,qUCJFe1(Bg:dsp@@?0(2MgBvvw2$Cny&gvJgr1"20B PfF'24\j'wz@eKZ1CF%\58G& DB(lJ9Ǯo0?GuX|twekc=.AŦcC@2(@2U\2#8U*By"2CAJ.AXF" `"&#p'c^BĕZB"cUAvU~.KZB⧁i}闆)c)#Cx 5BPh @P톭FJ\7 ٣N4L ? 8Q,y*W.cgJBDq*f,C&$A2@drG0@8+C? k& '#(dBDe0?j:M4BOhA h:dCIzlǿj萪>l-ZE  D8,RV*Τg@fo$2$CJ2,C+璒,VlV*irngdK쯖dOZ*uvkWtVkI`Huj)qݞ DK^C^B۾%|`a **Dn)x,W2C8KqvK#,BV:" ir)n${VBd &D.Z ve}&kWf.l)D؀Kn؞J5O Ճ8DRTFIT@Ci-&!* WC@2|gn0\Z'OC]nY~dM2LfՆe%Nnfno6ڤnk^RD AxrYnV2psEЖ8ؖ~0!m$h!2r^&rz20Y Cc^f(W.%(Cr gYq0K2>[/fp "p^'q!'g%2(D Ao˜_M͇y]Bx\HY\2!o'8G 0 &#tf!dsfkT*1cCbNv&2dd*B}eDe}*"b"dBL*s.A2&bv (SD+i@r*%2r߇84aX%u̅\*(ٜ}ps7D`!;GJLunEqUJ賛\M;4Asa<3HvgA/4C7tdCO4EWZ4FgFGDoG4HPG4IIHs/?#4",LJVX% XشNTU,RoH &UCO5lQd4S7u("V,"sBl%j d!PWHᕄNS]Aۚ^M(5\#B]W hS5`U^! ["BD_gW_ @DNC@4j^R_iNh|egKhM\_ekv Zl ]vUK2oo*g10s~Vrg1>Ċ]IZƖT%I%x: [,I\ֱ"AZ(E`(t`hv Hxl]u(|h] &NCrE@DH6[sö?8YmITS B#(2̥q6'.ΓFi?B J87Z/ŌIM0%; ?Dʤ | EȊH*yDէFjMD˴ t*LĔKf7}˼ *F LCLX4 A\9U*!* c]\T|b* $bb&͕WѕA8 C$APiB}C ,lJn@ڎ8K Ad,py-,EUWK'9';UH,Zla,n-•dȒB&JDPJ[CCY_tdq"G (tQ5%e$|л"цM:,MU%esM (O|H-⶟K; W~ZK~.^C:;3)]@պ{b2Ƹ‹ UG)/~Qn2R|5S9U OAp&P+s53%M , ESRXڋWYuEq#YZ=ğ}PBd:w@>y:A #rbaɐeo2 $b8@$.;v,\B:L/bbL޼P9r KKuQhDDu+֘~ Eoߺ5 t jƈ0jH®_#ޘ(_QNSD~ca,LomUgnShHӑ9wthѣI6}ujիYvvlٳi׶}wnݻy[5a3$tIS 0O -_)F:E .>m!׷~04[`M4͍w:ocF۴.EM<U\]@i@8 wQQ"<$\&d1'*,ܒ.Q02<4\50|8圓:OTAV+bbB[LʽzkɥagEEDv! R>ԄP @ƒ5<TU],I$h@q$ wS:C*RMe2@kI@YN7 h:xp'Zϊh71gpSA Zȇ5QV|U D@zuʶ3a="B oX(>m t ;Z (@P,0Kx!+u~EKCYD^đ4$dQd"vAc)F9vwi6"iT]域~|m Ix!8x!VIۍ 8,CX2e$"Z2cR[1șf q\x4@l%-,t! e H !kTSa Dh ㏭, ! 4I&D&{G""ADu*P9aZ= H:BB$ ;Q 8 :r$:`G2pCP)Lj$! H챏 Ar2 "fE~.yK3Kp!&4tf"X!PRH2AFX>@ufc)V޶8%M 7 t橱F`!IѾq8) KC B;wO!D  - ;c2cVK&ĝz^F<8iRwIKrvd^#c:Ӛԥ]2@|YU^&g~AVoPhM< 2A@XF0B588m+`zpSW"ܥ*l)6vqpx-O;H0JNXn >=r XH;Bj2֣hOT }DoQZP ~ěx[^i!DЂ},7QZ0*2uaB1(|XˊC  ACÆ9\B8 ga`3";`]"1n4dzhlvG:y[ r  XXv"$JYEޭ |u@-Ӆ3d0D'pyf79I 4B77T3Iu9hFXR,Bрgf9`lҗ0cŁYye@ E=AqpWt,"Qof!ELקup*/b=J{Ҕ?\ܝRE.Dl(0%nw{@r 7[i2aeUwzrGK^n\nCS>NnEbi (E`&Tr4„gr$8LQ wheOm풨pȎ ?els4 7Ncyk]tJR xn:κAX3!9g oR N2l&N+ҷpBfC;9`$8x( U/o ;tKR:v:<|$$#O&`>P.L$(Qn ϾgƒOPADa:C8C963c>r"d^C;8អk>" A@bW[ P@Da` ŒK6%Df,P м`p@JЍ؁'2! #bFL  PP  pMP EP7PQOX#V )QP ZI 7;{Ih ?SQWU0ǘJVaYosQLP) 1J[ *"_Q i6$q! |Qב;CmE!=Q  S !R!= !"!#"+"p"/R#7###?$CR 3R$K$OR~H4h@<㿂P6jbR4 jTb&P o/B+#1&K5Gm@+X6_koV8$3kTSVf<hX*aRKa*HavXvS.qRn-cmJ>k5p)hp3ZzVmmBBNc*X:"dª/!VvgJZ19U A;n!C #+[Ѳ'C/!TvKA6! z˒pw*ex;yB+-Ѩ8T)S| )[b )*~cDNU-Q[Bw!Wڔv dww#"4kDdRW›a,!G-a<8-!ZЊ9cx#&AXSxe3lpKuh,a-9Csچ*n ؅!dj0 \2 # @FXR#?&(*9+"fA FadvO B%i>akz/r8钑S m7c*=% 0YGI%7 bôv,%*+~oCxb1‚C8)g(\n>np؛y>Tr456>P49?:.?i&mJC6E2w٭B.Y ڠ>G0Ä#+6'zgZA7Z-ڣ?Z_0Zg8AڤO:UD-iiAb&eC eQHPHz(eP)6v=h)oCcS qS:`&5T],-s5xei*Zy5%epB/ 8(ee0B0ǀ0s#e)6:4E]گQz!W O5TlAv(P)Ƭ[4e5"jmc2Ʈ¡,7eQD6`7glf9lEBíy@Uw0;vBtoZ #aR*@4 h] @4 tM(((,4 m:s̼Et3:'/Xq9GX7+r,Mr(ABs؛o,q|;?\Cd!&B Vl!3)F"P|B( IŎh*Ȣ%.Ʈ3>"Z]Z"N8n"OaOOT*6"5Rh 5QI6QAN8(Ɯ]&gւ!2NbOV[s\] ܈' 7pS{WXS8TVIX_5}fj5[ϧMlz$rZ#9<\i\?4] Iծ^u;]x-\*b aס*9߉ GFl[5>9'!Pk aVmx7^;+Bjʪ,5VYGUXy⿷~4}|=ڒ-=jۂ]BN%xJMᅴUiMl(!8 '_#f!BQ5-6Z~?%H'kH" ?C4z2ȑ$K<2ʕ,[| 3̙4kڼ3Ν<{ 4СDi8I9j2D,˒)[LeZUfEiٲ?"j \ A04w.!uy7 &vڼy`wK]Pb7Ie/i|iZ7Dz(F"@f PiqcukhZ/c9do!|(ַpo|6PjUn$鑶q(kۀV=QiSn –ݍw W8\obdWi6[m T@VQ^ana~b"Hb&tLITSć-0  [uu0X$L&`A$VHLi!d;qS  9p`a99\naJxJ_D5ߘA.kY s0r3A)XCiTZ8$glX3HhH:P5AB49Jm94jꐥ98l5JAyt35='nm~ nKnRb CD%YHIA*G;x¾fZ˫R t.,L ) DJFp r"Lr&Ҁ-S%SB-Y̳LZsBMtFt;- Y(BpJoO\ vbMvf6hj wrMwv߭Rxw~ xބx/x?~6 & GT; aJ,Hq[A&2^ |-JEH"GDQ$6BSP;^jT a*-#?Dm+ޏ{JJ'FpO_c1P7?̯~8Lw?̀ 86JpZRi #<)%CJ(D+a!IzӰO#0 $JH'i*H %DIsđpdzy;*,jqߺIҀ,M G%utZYvG ąP;7Y ؁GШ`O"9i ߬Bq-Xc, v⨥hMiK(K9n 9h߸oJQ6I#FdV4k131H&YҖYe+%΃q b D=혨L8)zs7JpN^4bE.JtPX%H<$ȢȠw)B@59F.P#xBb/L!Qz)GfQӛ!")FRX#h 5!N0WsA7$X#ȩJ0 ix)G; W "M# 83a5!5zYJTd:(kFT̵Q+[ce1B42,bCZӊȬ^rU,⑈ZtԭuOё,xAGAIx }3mi 8z?|At A(У{LB7S,15vň Q,d5T=0K1hR T~L?Nn/ _)D& Dž3D@D | X?18\ؘ$aoD ?Zr'1 <  p$$Z 0b4+a ` [KȠ b)?  t)>F?J58:( #q#@E'Q[ .A G_G;$N$ DtfZ{\~AaD6Kez2b% #! Kb*° X [ @zH$   VB򸑻~ r۷~a0` 8#q;b+` "t)dM%MCiJ(NɆIu{ftUikp"]`D) )p_ưjQ/\ X1!ۺk{(` E+ + E k +[ ,+#\A"` kwW3Ve'Y]E[X-/|b@Wc OU0UXYyVuKĵ8]j)^V RPRUqj\a!ѷ@ː I ܺ`  M$ s|u|gi @X( Q}+_a! ǎXa g2aNeb`)~Ma[&dM,˳L4ɤ" !$Db$8*.^⋰8ANҁ1CR$ ԕ;EpMr@HX ENr*cQ?IsG  3d>[J0A6/81+"&{D } "1^ )yꩾ-49QN.趎빎묮4.Î 22 "*ZK!~~>v9!$;GΧi챚z/<ܸ2=P N҃_aj"=+1C03.k,_(? p _@AiJé.xh% L2RRθ&'zt ?: B޵%CE ]cQa[^^KSaEZIj!q#0 zszR1L#p ˜)^^ p@ylcHTꀜf9`H7Gw9mt;{J+N"S弑K!Qϔ'r-Se⠼MՠMoVP1PcP ub,Jp:Kb;*sO{P/Y1-鏜!CGyg%v#!uFy Q Drݏ@  ṖD8! Po.YQ7uC4A3Ϙ1_hLZTkwᘦ9w|T)ӞOVUۦ %X@n wpjU֮zK\o 7Ҧv'6g53 i[lڵmƝ[n޽}\pōG\r͝?]_ ~$m$ɟyGݷ{>/,,eȖ=\F)Fcb f+IbLϊvdA M! v`(Q6ZC(8xhgS+'x"¬x!1n B ҟ,61ĹpRJ|H@"%4R.RiKgb99-1doyh)$L&S1,6&RK/4SM7SO?5TQG:dIy7 " 7А NVNT?dP|oA&!T I :\!Aw((wTXWz1qe]Ua7:J%ڼRm^0g_'!k.֗߂gbqfˌKK#{!5-p\~ vLjfҰRwg:h&h:OUg"ļu $)d ׭ΙBadEkn6)\pwqoxm֟oy7%D 1PK*sn&ytc:'1sķMRe}NC/9SJy2]rgbjhBRgy矇>z駧>^[U1 "BH5ϯkl;/dV֒e k["Ln-TĮ"^/2#D]q< 1X#LFs6m"HowH *Mj]6la/NKp4l 6 ಛpZ 8,yyga>ħ JwUrfݵY$- Ce2P-hD8YBI$,֘Mj~CT!bJӟؐŬWƎßD J7ѣ/Mcv$ΕPW珦~ځ(a{>0a*L ^Wʋtn:/'9=,dH!9BH d 3ީ_8·5Cd?~c{W jg҂eg#QteF0ab#ٰ Hy Ԡ $mJ&h>pRj ͐&π Ѡ ӈ AHH TJnrP A75P P@hA3T y BB"w$DBQ2s%hC-%lب$JHQʽ B B"($r,Pa(HI̲ \q34)] Y!K[F"d(6 H,@%YP4@?IF@Jp Fc2DI$Ea @É 4:4`8SK|9n3@FGv "0Gp x1 g;x 8=?{ZH(ypq,sDsHHYDPx)Jɑ$"XGPm CT?Sy4dV7> xFx $k8Axq)p:q1wxx|%hJJ<ȇ!KSy`˙uũˁGĹKwTKK,p*JAM;(Pt@( EMQşD@"x)dhڤMڱA'Ԧ4]ٝ΁7 4%p8, 5\C!+P L@N| C,L|ϯ\G‘5\pOfr@[ 8 ЈOƓĹ萿I$5@Iz)eKT@!#2 (*! !"!"+|%<9*!!RynYL Hp.@s L0UzdpR$PS#K:;4=H4XSASoI6-‰FGKL LDܣ>Yce 7?E`eAz:j8o_%(5*ػ b-F~rҦRo"(v8LHSHU t8@*q%rp8 ՋP <8PnBH%0sEWv1{uh9~Vp?BhwWMJȤrUsM*4SR>@a?MٝYTHB 7|+:d5hZb"@]Ň) "Һ;!ڭhz-,%[ʢ =sC* sQ<'6pH*+Eɫ[ \Ҫ@u=QB*ZҝZ$&aX`FZ3)%u^ Pa8 !&#F$Vb 5b/x%)*>( /I+&26c$6N4r4Qۈc(3=cMŞ(hw7@Pވc9N<^#;*֚Eh秹fg&6qiЕDdV|}^dicVeh~d>F(ZjFuOjjmThok^&k6F쟉鸖ڌilePkj⨒.&6mO)fimEc mmJi'6v&V f3n261 PaM`Hh9oHcZJ3 aM3^4O >D/G  Vk`Eh۰KXIC p dPR>Zgq!3A78S&A(xaqܠ \ $ WCNP/887-1#eHHVaWbp:SrkE79aPdUs@7F@DO@s@ZcE0j8uZ+@K0" 92j!:k03&@u/$j0Cɻ{s Vb72d&56xANdGZ\cxLFDzC7E@ 80E@?V#VgrxwqC !nE4s/tWUpVMwLxgE2y_@@ D  jJ0kBATj= ,cwwdkxp_<8Yď>ɟwYHiLHd8 1Gtx6WqcXEĪG{8ER+`d*}y= "hcA)F(l{gT/>\-lo~}i9X)hQt7Ftwgqgi}MůGտ~ߡJJl;Ԉ!ғN1ҭt~q.G8EqFGi7wE?@|o{X&e[ !C  h >\q#loDz4诠 Œ9F#1Jn Y3Fݪjg1N&)tL$N> +v,ٲfϢMv-۶n+w.ݺvͫw/߾~,x0† K$B24YR#`c"XK22a&=ZJO-jOvnh6]uet}pl0́0V76!b(fP_Yw3EN*1)џM4B! 2ؠBRXbb)8#ЈbYXP2h"iH@LsRX!%X2021bI14$9#B 2:)$4R:Z٤ HAPLK8 ӄETsQ MywX 1tH ԍ5v#U Zڪ`pA$$Z402R'B L1%a 2S c!L2d"P2" "5.N+JPvYYě(?{lI0Ȱ{L݄ 07Cyt7֬p㧟ND5H\{,Wz_\i7㜳;ܳ?`&HᕄvV>Phji\Wk ^Y) _c]gD4b4|ڬD]q]w㝷{w\j'HC~kӨuN3޸C_K^cs޹Δ{裓^駣^9詳޺4 2 ,apLITlͅ(Ȑe<vI(d{2&s߽{mY/kca#? ؂=;uXY"%D!&x| xKؠ" \B& hZ;J|f)R! SDb~0yYzD(X .<L2İo!L#aQX)eX+2ĉ#K4Ap,;;71r4 =C%?lY.H2Tyd1 xǫ(L'Q2(WAPH 'Poz'?tr*KV%-D1xA,*ǂIM0iJbҘ2!KZ^L򊭌f(B=P<'"̲c'Yycg>mp'8S R  -9g-M3WJ˛/ˢ C+G!@#"XCIa aqQvR` 4+uD,] Ȯry,6) u3*(LuA= "$wB_ {ع"yEFNQ\"k_Wڿ]_YA.DvlLy Np?̭'[=o2./QC.(e]P&4"F mx 6_;\@G a@:r;Q 8 01R+l cPF*kb%Y Qҵ`}`5QH򑘀T fD(Qq+# Ed @Wzlv\!y8}ٳ^]:}, (3hFrd029q:~w n#j>d.6׻u,Lv"h">Y P"yI[w#Ի??x7h?ŋ0h4iA(izғMOӵy_No%FXz!v@cF__?1q!U:.X*w Ds]2wESKXe)91ܿ)rdr%ЦEM`5cBPY( 0 "T )e&^! 29!O uYYY 9!ئ1_` r Z~-Na9BX!LpcZCh ɐݍ%AFALL}m|)лEA^%V(R'W&{ajQ&z'b,ݗ% +nXL"cU|i"(`%N'"(}h"v ceU2VY4f4f-b}R6jZQAeV(#KC9%$ :8d;`1]m]"dB*d!Lʭ B CL,i w0$0 RX}$C$X}i!5QL %lm.kʅāYfof B qh?;`rBgtJ]pftbym dvzwgXTgxgyy_gzg{{z|g}ڧo(Eh[^N-Ԃ__%״ZALMyLET+B,}h(Z'U$_`K-fLX\[@,Ԃ`D]XTAtWYZ;iLA;T9\\"5I^\_1D7Ȉ֧)ƍ#4>b>D$hJM7Ȑ?*BX&CŒĈţ+X4+wCEDjX}I[)\C7ArFAHɗE$$\ L!:X?n-X=X:n9cXvMPO#&@ n=]w>i"..#nd,!n2AEģ1Q!aѪ L6 D#|}HJU  <pC.r&m3Xư&Ƙ2H2!CEبB{p(p@qIBxCH=BS2[/3U,%(e>]KhD:90]sZ>EoB,CC7ݣ=B"/"3ԝOBd*D<Բ"-҆iypCrO4ۺ0+rܭ:90?k_D)62|MDEsV? 12*X4'%H?4 1?15-ݵ?A떬e~B$aGn 90]]_Թ.vcd[ӳ5'!b'D3>K I|2C؀˴~tEO՞OoWPh40c R3P++B mnFI9ߨ9/ʆZ9VNudY@6`Dj$;a\2uJηD6B`9@CzW/bAe74ͣl%خd@~a/3^;0ir};̄8`?4BmG(˪8w5 ?2w7.Zqh5!wS뗄ujIY19\}?fl!v8A>f)c@%o=>v;`C;Jʚ $H ?zEyn>9c7[ ŰrmI0x1C8*C'+t0+"ðK`TGv_J.5SY|:OeRfdҔcw5Vf1c:&dEКV?@>(&TCT}c~k^{~yv~~>~MY8E EmZyZOI 45XC$#hL0(_=7xC?R7JDCHhŌ ?Wv XzZL  P=4ȟ $)@7`A`zqaC!F8H6'yp@8ةsƗ/):TeK/aƔ9fM7qԹgO?:T(E$9z?JMۗE\l")cPQ.Q(ɔ DSSͻwʲ߂_婶#}d 98Թ|npgϟA=tiӧQV=%|{Z"Ifi e#r@K0reaLi"(n\j_?|%EƐ1jCѱ4S;v6 !Gu1G0a'B4Bs0,B*Ir*v)#*k!񋠏,$GƆv@0i' A$GDMDq aEp%<hAةBug rB2FCd.4i*w0j(Z憃6CMTEmG!թ5АRGvQ1"ccQ7ɮbaaSKN>`JUdd$(w";hpqI`c FΟi}eaaU`u|1(wܰ1J)vFDB(G5^s*,D8$AuvGs!IDw c9vxۘJw~'` ~`^#3ءdZ60Au( MulČBYhBh1P"M[nᎻI[ԑ@DF;/j=eZfGb[ XA['"(D2!1q+= ҖAa E+pOGu 3/J<*bvء4؁o/,>ȕoubaX "CC D ;t1 4<"sȝ' aQ L`awaC> <1AC7;_Jds A&qh+J0 #=vP_@c?(!E'0xbLaȘ=ሉhl Le.t&RHf5Q.Q=ڊ6&XDHnJQ99FN1`ֲQӉ*TWֹ1^n!y1/y@ KD)jQQas_l `aI9QDAEP9FthM+PB2OK.JaڐcLRKɇ!zWVeG4WRQ5jma>%m%$ t&twj ^W4jAux9hd@y-K4W.S ܣ] *r>@ b7 Jxr B;hV `_D;ȐַuiS;~-v:[mo.},_hl;0 :lP īf}_50[0_I`(5+\N@TX%ΕNX!ahGWˆ2(C'CCYl؟e 1C! ʐ qjeG!쨘\d0tÈ$Ǝvjnsd"w&15h?"N3J"KKpGDϦ zDH DBV+I :CBdD4 UcJZEr$BU]UVc5N2AN!)ĴGWH6CLV![)pZZ\]ِ\w\WIJ&MHuQ6a'b4 BNMH% ‡h%,n2UƐ\ą\B6\Eb YSa,cgD&hJή&kxFb(F]]B1ekeZ&&fff` `re[*H gfdf!ddgrm`Ahc!0f}F##x^EvmiƕzvOlv_,Qkv dge`^hmiفefi96r% -&@+m@:Yn:ȂrV t=Gs GrBvrg lw0!Pg9gI /#.m5kwȆx}gx~gfWwq"WMk*1&!3} L̡bxzg/w}H}}}h 7|դz13{7~!7}W~Gyv!'w#=WhrtQHwvE[.ֈ@Xb*ώ`Jq%i!rh2i(D) i)ROswi|vI()-@ )U}qx{,؎OOرRrؓlFI؈D#r-55R V"_i@ H8IX0%'L $I* dNxrjDY~jWʒM*%+TGH٦P a by|C %cY$JmF!YY6"`s=݊FTQ(A De Kq4E.̞g $K? drL+k{6wn+( +U4~': ں z Kϴ!@>:`| FLZ+ͮX:wqkQ+)ڵY@D+n8%$U7Ze:&̝.2l+69%dlXzK=Lʒ1WˮҬ,@0w%3͔͌l ΪlGm/,CDJ7 BEĶO(hܠBAFb 8[Ƈ/#0&+;0Ɗ26[:;_l2݌#L :;Dݳ4[M b ܒU-(>z ?mJ--v.B'NMts YG!\ b1!EM3/r{-ԡ%Abd#1J꿥93` !XP7| " 6@4?`/}؉2Gݏ"&E}o=}'IdWƶ& 6"'"p+.07p ` d@ A h `}ߑZSbK #bڣq"Nu1%ydO3w º *t ] fJY(}ԥE}6=o"E C}~g>'L5-M"[1[%KKpLD]PZ0$3a'X`g!]^Pd :=s L%~m^'T mjlooOFfbkLv'f-) PYL r& aq4ԍ^5]#ړ?m"vk{G?:"Z#c/~O+kA ^ @l! AXd$B<\BHқ 1 ܘqcB f QGS\r8$Ӽ["ͻh͍9wiǠB{ /;6SOPoʤLܩpU*ՕdNH\\DH9[Z4H  LÈ+^̸ǐ#KL˘3k̹ϠCM`:G8ҤȒ_HDБ"#Hr1aJ%9"l5Jňͻ"WsBeɎ?Jn]sM~_ zCjرZz6S='!J\R]j&Vhfv (1jWRu2mA(kiDG8we9GK@;.jFK6m%*D `p܄;|dTPQ?]e\z ҍJd"d)!2 &袌6裐F*餔Vh=[ $RE'mJܪ$cfM5)cN &8G&`Q;$+.IpCN,K6Ž:`r;1ɗXG 9KIVr--G)t3MJ&drHJ)KJ%hbHJ'2d 7G,Wlh(ڸ*qi !iBYĹ:܎ +5aaζ\&c*9s?o;>tRF;4%٩`δ6|9 L]Հm:X K8bE(P s zD}n' J76F~Y54BJ*hyY{^s7G_ 1!-7 |-MqeGbpSxiI2 ̇/o/F|ēkv@2< 0$*ѐ HPQ;: Z̠7 GHah`˰aP *3I`2!5hf7Dl@!"x&:Sad#*J+/xC!>FȨ@ P9ceXbȰEGI ]`dPL"HI02z$Wĸ2*fc P(`@Tf>Pr*E0;B(Z*斗Jatr#d 1 L$0j4IM>0KxJlsO"2pFPZAC aGA;d Yw*?` 0(`D vd]F2"p#@,2عN8-B0P;$DʑV%;hP5AgTy9(S*i %-4܌[)9AB7iҗ#0}K2kP:P*`q(@Bzd`X0kIczǻT%aE@;`mlk6BIhKE2l40&ӆCqlo{sԦ7l)ěmokYmAt 2E); '-M1SR&2.W퍫e%ZJw7ne64SL_`7a 1\P*;B]RGՋa: ne`YVg;}(E M|ڳs9F ?.yǿG6ŒrO`仢w?M.O+)YyETF vOFh7}(wxPPTlɐk (m#L@dFOg\>l~w+yX{oNbrSRg$f@R@`3!gKH%=&fcXhaTȈ=x!H,'s'YȄjb$Hb&&'&x'|ȇH'Qi8X+hF%*P*xN)FCnlȰ^% sC]4Q @! 鐀R~J0ʆm$ u\ `~Pe0-\Բ,ע,֢oznS n57@IryS+F-EK9r,bΑMIc.5UI/2/.q.3| 9bwX,قyX2v%Iq|8G Nɀ `jPCqiCUI` u*وqkQ N%w U;d ֛dd piG*ŀ\N K4VH$2"fVb?PWfKnT@$XfSHGi4џi )i+6l5BdX5`#WcS6{ġp3Z3\Ǝ]eə6z8)!`LsThoVq!L(Oz!9svNߒ^{){c !q/c0$&<ƙ_8<Q0?⪾g[9R2'n૱,*7Q)3SS${,Ly !GP{@vʑ,+/` b '1 W:Dmou{!jM sUW a톨oi"1WNWe\Fs]ZwZkyZbYYh _Zv9(` Q"h(,31%B@y쒋BBIIgAjդJO6lV{mv;צ*B$ B8 9N-49"!B>+pRq0͡UځBD*IHf'u/1n Bp9}?_JoRPB |@n}CgG_;iAlB?vkrZxXJ(q2 d(0 DD@(\ʓLP Jjbr 4JvBP+da ]°%S ! Bn@ &5XH1*DĈH M +4Q pǐM ,bЏyēD 8Q#p,PcvSخ{ۣ$n(2%s|w@|L^8BCkl#&bYsQҿS  9QVJQt k6)@Qw jAו4R ֒QpIq-p"D44Ř4)6dT#+?^ HrE_Cr!%F#T%VNPd PV2xB&NɅP$U}VUp-|UV7pOa;0LԩK!#@R%.b>V 0 K0filcVxR@Lb޻ӠP9VVoC1KdV#c" !hV +7"qRRe䮹"3tZ Yz4.a|lM+Ѧ$Lj.3"b"S~t-.a@d 0fvlhGMpٰU@H C l7Mh!b9P\ |0B sv{"..cLx"*` ;Rc @M|uk&(@ gvCs3Gu @@Ytj OD!G9чi&)|Fi`(ʁ"%(o,s!,P<#Q)> -0!D=-U${JBw^'C-UCCn#- xmJ `Xh500Pc@Fh+ioF@58?aPd5vDmlPc@pDŁDF}T$8GdK@`Ȅ8C@jYu%Dx@[@50x@_HBG|)$BiZSLɕܟȌ\/TH@Y>z Ac3NJ^!x,..FcCV(9]uW.>0dnmN`Wn0qsd ׉` dP1@xVVf\MݧEeA=E\Z͙Y@NEMa@@ |\ϜbBe BhTahN_mώ pP.D+B$Y ,\6!{gPN,gtOx_Nz{eghYPhPtDREAK9t } ;[ .Vpz&'@ޓeejR lӶ! @DHTced@L8T] ?HHmTE06CK"`lZE(FZfN Tc ^5ѠOIPu@OV5la dN%K K@4_ blV>8رq`=rr@_r&orq"#A6B!)'.r8<* 0/r14wr6os7^17s"ý%H:r(s57<"0r)7@_AGB$g7tIs#q1bD%m"tGEOMot3uV?SWtUuZoUWs4tJu^us5t R?i4J)bHu[75_uW?Xrjiu07t]upwq_>jG7ws+فfkv\smvyv{_C{qO|uEw?x׽es'v!C se['tTwtxXv|/yOxOy6&w&Q_F؁wywubxwwxG3/Oz_zK7xa,жCty'9sO{zgz{w!WovnS0Ip%= 8ygz/Gvo{ɟ|ʧCyrwoa{}_WvXG)y|ٟ}ڗ$/txV}Az?~Oq9|7~wt%W~~rr}l~?Od~ocfc/ Padˊ+h`FȐ [s!Ĉ'Rh"ƌ %JC.>j($F.J4I-'@4 V7'B Q(ў*e9I];uiլZr+ذbǒ-k,ڴjײmZ\)$ "$YTa 0)C12KY2I!pAQH.L͜3M4EѦe ї@ڴQaqvmK8*uwop.ӋEUr#ܤǓ?$>:s;Ǔ?+W+GZb0^YHb2e+~0aV Yj. (H2Qt`E2`^^5f!bKl^$\F=4U$F;&o3T5x#9#=XyU$h<^|U$ #H1LADY"-24YD-L`y%HRP&p (! yG*eћPI&Tg(4DuN*':AqҚm)QpR(pJ])gAE I!0z꣩Nd證:Gq*X-I])AEÎ:h9Î9oh0.;E N%ߪHAb;A(Vǹӆ?fT!oAQ;D?/OƋ-X :o2 ۔jЌ?21<35VF! -! QC2i20b̘L1(2"TCb2 DqURJ"眙H6q ҠdR(m?qvE!ΖXeD#Rtچ$1w+qj2pwnfn?tM-4.!d[% ;n,H$E9r.*}Qp%\BR-9RNtS7'z?7{.'>vx0,+g~iB(&$R\DL9t%@%@X¸i^8GQWwZKp)U)Ük_WmfQZ|,d#+Rdz>0I8i #5$(hCN\P V~lHd74"fKGn Dž$|)bf̽(`ɕ4;=jܽ?`pS:] Ki $ J XzS؉:'V}kh#K!,΄in?HC2˿ZӸ61sْ z\A>$!`I%YxM|Hld0k l3Q2QV2QP$"i^PJ X6T ! Gvw z# FBWzsD@{7ppihfʀqDhBn9rn;ц'xn??R/ҙKڞ !#4N#5V5^#6f1b#h7~#88:4b!#` CE: "ֈ<;£Z =<D>@V;ڈ?>vEAC>$D*b9R]ܐgaU#;5 D PcK,A#dYA@IdFK"dA̤MOfMPNV eAeD>%TF%MDz^8l%D:Wj>ԃDWҀEGD7^Z T.bDZJDXF\=DV%ZJe>_F`_b^D^ZDcvTN&eVfQ%D Ih!5=$B:܃5 BA؀,C=PC &@r6BA j,$&D =#54B=(XjB75opHZ= At$5 5$p 'qJ CAmc==gS6gk#sn gRz;sfA grD'5Ddve|'yDÇ.dk"gy&j.Dnr6s|gHʨorvhL"u5\C@&>e` W%#PV'ZG6CqP5":>H! B#dm"B4=Ć,iP>ĢJn&j:x)DA>ti>Tg=k|f:5BpĤBZåzBu`vC#=ilbdic§òJhJ5ꮊjxj+jbB:.dn+>RkA?ND&ꮪkL.JGڪZC4F꾦^)z^&lIB,Fa HxroFDbh&꺒f>hBd,BV \ziVfb"A_& =nD`&[.c~/V=X[X 5?A>&>T)rYdCH:#;jփ5(p6i/CPÁm>eWu&Z:/D@ ODopI%bnRp&A0p=8<#o>A1AB=h("B> 'n]ATn1*e"F C g1SֱqVAdpA$E"g=ЀeG=\Zbñ|@'DfrAh"0G,@C:tc$WE"`6 $S% .>/;j 3' r=r,2vr$&G,2M2)rr+2DL3f?4=D?h3./(A@Ah%_+slb6Bu~3D1[m2C?DD,A?AH›`{X &j=>f#`CP~Ѐ=\J$ T-ܫz2˦Bp;"=&JD,5% ܃ N#_Ϩ:.*rcFo:´LKnS/LCP 5Q%stWK(QKb-RgP5 $[T{+HXu8/<-\A4YKf:VeKpcABwgױByϲzXf'Z\k[ƂmpHn^qfnہ,؃y>Dԃ,vV,a&0/\m=ZNjHoAk|Ruz%vwi+b[mlck j7&*g:7JwSwnҫ8{6"xim6" wq,oBuNXj: owD@wGmKp,ydž|Dvk+On;gq6:8Z=h7{{K08{g/9[fh ꩞mAXȂ>X)g(D;0 nÆ:n(?ÁFtsƂ.;ڀi5A,4Z.AmDv:0-oց,R/y>kvt[Wzy*>lAP{)#hy@J9; Dī鮧lgDnyzeKʺ?:b9EAOzz铏` pC@]qWh[XEc eE;;|gl{Tu$O"<ſE[f&w۬ȏ<ɗ|eɧʯDo?̓k&j 4vD&xzԾCd=j5'ZtGDV{Yc@5I\RoI@,RKg/j7dD'SdY)D=4iĉH.aLꏨʣ\}&N`}]:ڳ\B[dYsؗ=kb,-[w{9wthѣI6}ujիYvvlٳi׶}wnݻPFRM=֬Ԩ?kZך,h}/^9CgF5co,Ԭ ;= ΠzZW]YUXd= ھcbMl tfq|B VY/[q|z|(&ꑫt.ֽڵVaw.֪^ x`q _y` FXחS8o$UV\m-Ҍ.=餕^~ꨝ5H$!QkOm]wi,ӰUyE Zkh̯ةk|[^În;v|&i/DpA|lѮJ~{<~3WoQBgo:fWn?N;Ë>T_'$T $qğ߿3sH"'lD*M'*lx / W4 HV; b3 xV ⪅'p v0&҃ky_iYdx Īh yx(JQ<;Dh"τ/"zȸ&vz99eb2K񭲕q8"a_$: 0$29MeI|hV8ӜhoHy1cL<*OIʚ,+} ͘H'nɛg%Inr/D)ZQp?7cXhb8e3#j0 ^B&NѤ⡧{A=d;PC;" {| ai= G)RjTY(MTիIRZ:5]11"ʐj,z2'Z4MFXcT1GMU }}iL+[WZ*4 6mE` o{coȲ$ymzj^̇[ WUr\>4-  BmԵ.vI@("l?X ݄ J† "HyϋIg֔HO$?w+D㹳gD$IM·Bv-Xxib;nDυltDR[c`[wgJ~q3m7OtZ\4/7Hnz ]4a5oF.c~67aSxq~WnHYiGo$QxpBvIR=Q&vNV:O|c[*uЈSI[=AW//|@\O=ه\hZo3K8~y{g~=Dc͐+@}|n  NcjR$B$F!#VᎣm1caip1B#8"ڔb*eg&$C.F $b/"+2&2b R*DIdU!`#.kB@ ^NNt|WMp(F+*10<2"%l["+:c $ <`c^3?C@-ڈCTd!F@Cjk"-FPADQ\DN%|tnÄCƄT$ϐL9BB..^Y.)!U1HB8Bp eAA&~I"%ى mK+ Db OPGg mK4'eJEQ%W% )Nq8/FS@@ߐbb/ Q(e"r)-^AڄrY&iPPUx&WhEddO[ v%s4/d~CP P' -2" q>?1ް1$qj($hTG%/sddqb>..124-/$3K|Z6k6g`R&"kS,v&w$u()G@)KbrwrI_>rKqH9`Cag`N3:#!  y*쬡 ve@ 02_`,=ޮy.CKiZ3B?=sg>s5y`6wG{h%avhgrV9' z:mNoh0_l=O-Bђ" 8c^Ț#53&1,1hyޅ`pLɣPZgO 2FNyR~nM-wTK1P02't25Q(ȔRGwW{57 hvHAF@F`,"$AH$ذVM)tP KIb8;MsA,JBHb/rUx*hOe!&=& bn0Q-Pe`}_l^Jd+b ) s^P>a iZ`af_Ӂ*2. m`6WEW}UhhS:-:J 6R$D+C~ⷐJ8mFb* p 7ud& ǵ!le!N ugw{j#**JpUq# V wjhh{z$j0i۴T ڬjJa!jLڠ-L*GX 4BILl_kLƐ=g$8Aa#H+DT)d!1nydDz  B'NA  F*0z읢ÄCob ˄,'.l (88~ɪ"K ;bUL-z1{XY-xC/{3Rl`-˭zG#\UhRxQy ِwCVD,䲇(eJ/3Y]-uC2Ab Rf)6YW[:}ؕgkٖu oYw{Ys w|٘Y43 6fkY54Ne4Y 546ٜ"gf\ɚgC/ؔ* 2P:5>EY9vlCJc`gC# ' N@`AKc8ڣA#C6F99!0Q4pz5tDYZ$ o&A ZXaO[=]!M;#9=#PDCEcIS3$H %,4uCO:584G#hڰ"0PK~ZI++8Sَp(qr"1:Cp-)3fq agAߚfë |, |f h{fAb{/laam!1- lyA} ;IbJq Cl"[ySP`c""EۻlZeA22Ѕ0'=_#J8B' $! DLEDDFI} d8"$ȯJNFGcJXD""F\4h#"2$xa;ù[{|/p۹ٶOAyٜE3NBO&d ˍj$<^𒷌|_,"CQB&LfEPM2$O* ;ƗL5lT:oY.)Mb,*sF*#D_fDae>EeZ$b(;=!y<]@p}=ٹϼg |3y,joۂc&<*8f*ݧ++,CFh9aEXF>uًgSk(o'kIsB;q4˚eQ⓻GT3]4_:Ŝ}㚾7^^7^&~y3Yޣ޻úaa^uI Daae>1s013p'{[f'~$ L ,pGO1>:l녋*W\4@iA~}ۼiޜ/=ڜi ºJH(UN>O iXÅ *Qt峦H1.T(&1_P>23YQM>" ̡D=4ҥL:} 5ԩTZ5֭\z 6رZL%$" sv$GC4l]^(0E~&q#G5'.=F.-$:xE-d$A&nXپ+˓#ڹ/0m/~|(s̿LDA滽ʨ/gvY|kܺa䂓((K|%Y_Q?Y:iE%؟b4C?b@!~av_EAb*b.c2Hc6hTXHBpmR$o%K:H:QO#x4R=h x ҈?I.٤,)5O[6TZ`=a5Dh a5vbME9cX qB)qHV42 `2v,T]ybKš- bܫDmkK*Zꩩ.N%')ӆ0qgcYϙqY,Q3=C! 'v1ڈi5S5x/vڑlsH!B5?zщ7r*r. s2Th !mB8,!L8$y!j5vҥ?,RO]NѲH!KOGmMH+tAtcNC0 ՓN,.¾lX6E}-5Du[lblA,N35KZ -2f[r0-޸/,NKq=6xb:h mCf* pqD @cEd GyJGiQ\Z?CiMa҂gRB6+6N5YQRʜdUI)Ep$Yx D:뱇 GIGؠ T>dA˨Ԁ,^J܅(s=Wd~5XW4b}Z,^%U۬ꏶBD% \2:Mg;ZU YDGZ^5l46oaQJ›BC xXc&r6pBH4Ӫ6I_YYE=KjHQ"#y#b_70k; YP5 nܔEHm Zаe\l$ZcMj`p>HzHTQԭ. 1(fPar3O-QXL k"uH#WXA.X)rؐL#%'_P$3[VcV>rc5#,v,d8r ڤd,w`|LD(_!oA ?M(e6Ȕ!6cY#.0Ky"2E0itdhL> :}ugy1"Q d+{YQвBK$M!2aCN>ԃ0YgQ@C= {aI5Ip|#Y@ʶRpmє37inݙ318g"xk ots&%;$\+x> 'CD=Tp 5&Q8Ž*ٽ#&5H?Ĭo9N5S]A&3{d/;2]B@VH J AtAC9cApPv6 Jaa?›Mb?^%bL @ ,;+/W48`AS]O{*S{G|Pׄ d#5N8O> WLwpOA Y$~{3z]o#/v@Hڿt&NBs~Or|*.z-tj3Ag|>i4рD6!"XuyCWzEQ h-2i{{23E(BB؁xuă)?@2K( Ak0H1~_q~Cj@AVf!""Kh"",}#anDA!zh!'ht/!'"X&Av8}X}"Hz!#2! ≅x{{)1yo1(ܧhf8`Gqh6i] (nԊIS]ȍCc;#?hAU1!K7%|% /#1:`U'`&xCa킏B1Jb1o s12ǎcr#0(=<12v%19%ِxe8p/"x 4)s8@l%SR%W%Lb4r(vvu'0aր綑 aMb(҈# xCC){'&\Ғ/3mo@73;~3X@? F6Րٳ=uZC>3?] Y\)|?')ә>3{%Y?t/=i4 SY'R<# c4SC4Fx0=W6)?{Sp7yJY$rrRHi)@r"*|0C,QT)2)*#"D#ڟCIj3ʡg!*#J%Hj)+ʢ-J@(1*3J5 0C%`H;? y(B8#ŀ ˠ XEZ EYWX\o`zL c Q 2q*sI6smw jmPaV` 4GOZ`NP ZX /@CFo[jd@vpB0 SGqtʫ hodEZ;GFѬHpZI #IQ3IWDA0!ME!:j *.*K#K#nHpڤJZ  ˠ ˨EூFZvP@`"{M%{p%XJ@@zZ6 :56*DZ*7 ۺ=a8ۭN[<QkK@7k:P; >;{˷}"C嘧a% /64+JP P k`z#q P p@ #:{kk&[8  Kz栆0 D`p mPAcK ƋʋKË0ѹ$p\ʪ@ жa <{;Pd~ ,Yi`$qmhUrG#Ѹ kː и1C*+PpP;iE:> bFXj ӱG* =p JÄPPJ\L\;-,/o皭E^[:e|rtf "ȋH1.ЧmqWSѸK(<к g:П1;v|Z+~AUˏF簥n`#m˿B@ @gLu~`ZWž\Lʦ<Ȩn0ɛSln`U+{C".z]#pjȿK.E&SP }Pp0 ͥCD(6])mSNq:5nЧDK|FȀ  ɀ @I` Ƞ Cn೅`zY:ۺ@فNƖ  ?> B+DngL"[*ж +̙Z.!k;P0A?{!+˺\+;>Nzvx2L]. c!|T_LAfp[|VC z:bQ`Q: @@0n0Gb `qn o>4T\!Qq2Эz#Qߣ)-/ϫ,3O52o9;8/2`Pz)|}IKvz0 *PjZpn^ZOL/cO\$*Ȋ֦">(Qron^sMae/?zJsqm* PE]c  ˠ( Kʓ(P` ׈ p Ik` `ƀ P K +f.PO k* )"ː  PưKZ׌LJ {° lbYQ˔)Ɵ?8ˊ-bBa!|qH%MDRJ-]SL5męSN=}TPEETRM>= @gIoFbOZ4!ȱ˒Ya.#9ٴc-ϊܓ˖k PQn^0˄;.$2똗`ʠ~ZhҥMFZj֭]T.9arkWMA-yC"CWc`t'Hȼ烳G(d( ^zݿ_|ǏM4J)HO8#˳CN !;[SO`Y /EWdE_1Fgql D%NM)4"d&llH(`C [$g Ǣ# L($+K2sR̬jN;3O=nI~1@41$,a$IEdCFFПH(IZF1ˑ IRF?LՒ4JHAUWW_6Xa%4@iВzT*M i ab*Zd@fntB+FLcEƳ$d im2ӉTXWId1&d2ᬐ񐱄2X'b/8cOMpI^J.x5fe_9fgd0cSf:h&O品,i:jfh:k뉭:l&l& lfm߆lZj;ooO[ v@|XjA䋿'r/w:7Eß D@CIycB^gvooOsTџ%$!dd_xAG%cm cP8(CSw>T)N[c lpʡ25y.}*`!Ȑ (9H)s2{B |Ghtwp[>J+ wP>" AnB1v8."wH AA4l2 )Ah*+)k=pp9>qCDTĉjnh?>SDT: 6$5\GD{2C B DE +J4q{I!`Aa@X) @@,Xr Eq_\kfjw@hjh+|pe37/tƴ`Gr`)RT$DFedw"ɬLC)tL;/{ʩ;,DL˜)hJFT{Ǫ#̫G M I%HsɔIQ%Y1TڗPCMC /~ sgs8v/7rN8nܑt[,vs8ܽNLk68v<$Pe%fDO$Or0O UwPw 71SńJ xH3Ce7$Ym- FTPu1xF(%u4K4sĭR7VHVȃn(C#b-42k,oxDdۜZUTU-Y#sW5.Wڨ;y.H3 m 4k*R ] pIH\5 ׋E{3~4ք8?@A9CFDc=!>&GHIaCVKLaF!GOPQ_KSFTF_N!O&WX66e`%U^VdV!WwQ0_a?`YNannfZil.mf8Nh6geAv" _za` a_ FPF_d(X"_30s___hxX%oߋFV irDHfiMgAʀ 耑]^ANsi{j{|$~eP``xfl}$h.k_Pi_Fa6niY~5$@NF k$0X^,bP f⢎ }_xaB_? n憆F3]gmkZhh X3P[i/1Z @x6_&&n0yn%WfnnhX '3XohfXn`nŀbdld@KHpRhȗbpf}pHyp%yir弞&`޿^ܮ.  p"dǎÞEXB`rA *aІ ў߻e8mXrpm pnn۶fXsfki:No;@tAm<vn;g[>Ns_Xt_t.QfhNG>X_89_N n 4oQ`NE8n u*KP-qOuaIEؖQq BH @wuP#H lFl Hw&i+wrH IH߂7IeXP/`nns (pxVfRi~5ff?oX jMf?.Ngt[/k?kGpzg/XߎxmG@G@fm FyGOzvn_oGl@% $Srξ^ qe.Px̿zvgziv]pnfiff AGnTOF]Hs}Iohjp~z/~ߥ_ ou^?}rNHq eDXG~o{eGikq p "` >h_&FMXY`:4$)_Œ)s&͚6o̩s˅> *t(ѢF"Mt)ӦNB*u*ժVbZM^"+6efaf,cˮ`2KnrvA^Պ.w1XaUM^ fws-͔rc`ͦ7EZIkZl_vN nݚ [a &.vϯ߭?|*2E$PXI!P NРI.I0E"ē#X'hV+آ/3XRqX{qЅ w<%]mɶdl`g!aTcJR\aMiQ2āMEciygiYZ~biٔa͐XW"P%ʆXAvLI2r[%L2s&Q~ګ{_3YIP%8A OH$?Rd# e)Ѝ1P <tH#ˤ@ȈJdY.8 a̍ƌ!_8v^(V0 y<%ײ@$dkq`bq-t,Q&pbԳeqt,OgL"g+^s]$#ץ@(d0 l",Cjي-wxvBS.1mtpA.? ~4A!qȰ>`[>޻<~Ep=7] )c4b}. waf9OXc`{c&?9`M`X=%O Rv8?0SH" @`< K!<0 sb!V"hĽ\N&`I0qܽ ah+VQxZ"/jx;M`X"+OꦷQzwY@(텎Hn[&M琊\$#D,B2$%Kb2$'"FM42(Ӛ2aI2WRr$-ki[%/{y}2”_48̽Ԡ1yS53t$.ikb"&7oz+&9is3e6w'=`3'?O(Aubσ"4 >ЇB4e@ jыb\@ (G;Q4t")IKjRjf4*G[җ4')MkjSuVt:)-aӟu2)Qjԣ2<]*SԧB5*RjիbUX! ,!',Y7S 7b*\ȰÇ#JHŋ3jؐa8Iɓ(St?`VʜI͛7Y1ϟ@ƈУH*]*pG28FJJF+ˤDʵ׮`ٳ>&!۷#i$[ݻxST7߿v ^]=" e4\̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰Ʊ*무j뭸뮼+k&6F+Vkfv+k覫+k,pC&XBW>2Xq (rx v2w|'  t&H2 V15әY!Y, !,@za#"50C~aCD=X! :F2C 9c.*fJ:yr PE+ṔL\ԧHUVPJ6SYUt9hjw{mJea,uf3@:nڸh@!,u@*L!Ç.(C!D -F! ?Dh1Xqማ8G Ms 3OBYiҜK LR3Ī:ԺuhW2ĊҳcӾܖL&T[19h֬EeE"@Ni1M}2f$Xʽ`Þz5j !,P0!A*\П2lHB"8ѢNJ(I!˃)UVK1eF`Ŝ*'B2-Aʧ]TѧrV7>M׳B]ۏ,Տg㊅gܳsUrPݯyfPjoZlD{/ع=y7lF{i[0Aȓ)5q :lDdm]{b޾DVʟSt," wžP;X Wx}|!,=$ !*\C 1H 8T‹;HǓ reJ"1rK48I&4mޏן_~ !,%) !*4! JxC"@qE2nH~0iXI"x`ْK8Ь1H('8b >-t!Ǣ#IxS ;BfĪJ`UE I^Uf­o$TݶY nZdD U-T~< #•T(P!IoFTdlqZhC6*49Ȓʆq?{C 0-:`aFu>ܟE3XP6l{'v />pV83PrQ #WMg$!xI 8bWTWA$ipaZ $\fW I_JE#Y8DP@!, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\㘖0cʜI͛8sɳϟ@k. JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n{d@/|'Ar`<d}aCON?\P p_0I?ϋ!;^8AF@_? y H H P0G@ e8Daπ$gnyp 臉 dsl8O{s WBbO0@A!VHzDi1At<*xGp`J^7G:n#UG{DQ@ht!F?&R"Hh0IMr'IIBRCL)QIRBrJe!aVv|+q!Ee)9JSz~ @JЂMBІ:D'JъZͨF7юz HGJҒ(MJWҖ0LgJӚ8ͩNwӞ@ PJԢHMRԦ:PTJժZXͪVծz` XJֲhMZֶp\J׺xͫ^׾ `KMb:d'KZͬf7z hGKҚMjWֺlgKͭnw pKMr:ЍtKZͮvz xKMz|c*v x w*;8~Y6A``!&@(;,wDuc s  09)0A B`&Q :!7n@v I:A ]HG\b3PǑ_L%$I0%sRa@8B2;*a>7AÈx8H12\@U6GϬBb~GCn&* rY9i`!z3; jR@!HX ih̡>uR8/%`B4*@;@/1"X r9M4dHv8[!wL[Emo ,yGMöi .fvP?f8u >Mw{%e`Aw*7\Q@!X1 $ZȠ%h\*0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWm$Ida\:%p"PSV5[VYuwi o]g11vx㝷Lwg{MhuwZn]xP~m9>wLQL˭/t撫:yo 6N;ܚ>zC_^ޒn{/o^/:׬;T<Ǔ{3{ݕ>V LpA"9mF%O 4qU|1rAWYnlaR!&v^eꤓ$hϓ.]PG#!K-t3w4Ƕ![C -ɬ=v l}lUt5up*GZ{zQB#EOV&fdI29:E NuZTƧ @0p9Nf]z]mOn1!n{ڤRJ 1{eUo}C 8ЏdsZ*}ee tOwD\T#|J:'Hx _.x GH̠91lЃ< gH00`WL0Fp"2p9"CH̢@%NB2: UL6ш'A2V\#>Ka'F #FB$ YCO\#7I@2aۉ`wS !$3`Mǹ:4MDxIw 72 i*Ғџ&M QҖ. )ӚT6i qӞ !,.% HP*\XAJPs1H#ClѣɁFُ'ca ̘ `)chpHu&5Љ d)\?s4t 6 &!Y :$ud8jlؙ;Duﲍʠ,R6` %N@!˗ lq2ubyTͅ>8c Yʩhҍ%*X)jJ `m/7C,-B#Kx  ON:"l.{ _>dȗ>zWw=ZП(^&H`-F ~ U^!xlmaN!0""*`.6c0a6(P@!,V3H*\ȰÇ#J,询ŋ3ZȱǏ CzHȓ(S\Iˋ,cʜI˛js$N= %"=t@3P::IT BXD K جPM%DV a]w%#%01Wk_lHֹ֚9a٤Dd"JzԘh&!1@A VN5*f)*PjJ6ɤBf!9ڝM>Xy^ꏴ#J&tY AZv"+ W`ҮnyzK)E% @oU)p9c|;PEj,p;oQ iha9qh rqc-ض 71%2EperM]\3I+tB(eNQ M hmclg59p4JRRAm )@ W. 9 H^喇ސހ4. 9Pz? L{`/{;7G/nZb]iB"dA.9kD21 rXq9&0GZ$$-DAdR)GErw5,t`C8*$193+QF<0rLwf64:r6r!rLxIc f;yi;A"C E)iٯ\% _C C0΂E S:OЧP&LSU ֬R rYzkTcXv av۸LX-܅z3XB.2d00[ (fرȐsn k >VB%2 Lhҥ#{:tAa@No&k;ab7BGR^߼۱M)^Gww?,x\a@!,; H*\ȰÇ#JHŋ3jȱǏ CIɓ( Iɲ˗0cʜI͛8s)fϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-Dm M/M_%N%RwH?SH!IR6r`%dp9QÝ8@9<Ҁ wA $8x T@ddu?4p)!r2!뮿.زA4@yAL" y@u# OA'ԏ9;}uG5s>AO]o\oAw/ꂰwG8@cdpRiP AA uAJ#npC ^h hH W7CK:R0y ;N;vpibRQ:!,T H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\㈗0[ʜI͛8sɳϟ@ JѣHŒӧPJJիXjʕҗ]ÊKٳhӪ]˶Я#ʝKݻx׬k߾uFÈ+^̸ǐFZ8."k̹ϠC*KDG^ͺװckkjdͻNnc+_μ!$Kѳkν='ӫ_o1bO3f(h RLtF(V( ą4v ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/o觯/o HLz .'HAP@ GH(L n?p,0̡w-Q؁)0 8&0rb;PR̢E@1[]BhL# F54 HGA ?x ;##(@ ?W؈-7@ /%6A/?@ N~%Kx#IOra*WyH0ZnD: ;r*,& WVЗdeIAfQL% ;(&Gvr;@p3 ?A A 1@B!G&HρsT&)HuS {̄: f6 I \4KqE1̉dKP%hN%"4,PD?%(0q%TB @HA8^|( bSU<6ZիD,BDdO>|쏿GH!_b|OP  | ؀(G (,G1W8R&8!.,0G57h9+;ȃGaCHhW?K(M+E'JLxZ|HS}A؂`+b8I4؅k+m6X8Xvxh}(*~(h+w8f~ix+S@~ȇ}VXr q8"atŠX~7Gb}`0ljjʸ،8Xxؘڸ؍8Xx蘎긎؎8Xx؏9Yy ِ9Yyّ "9$Y&y(*,ْ.0294Y6y8:<ٓ>@B9DYFyHJLٔNPR9TYVyXZ\ٕ^`b9dYfyhjlٖnpr9tYvyxz|ٗ~9Yy٘9Yyٙ9Yyٚ9Yyٛ9Yyșʹٜ9Yyؙڹٝ9Yy虞깞ٞ9Yyٟ:Zz ڠ:Zzڡ ":$Z&z(*,ڢ.02:4Z6z8:<ڣ>@B:DZFzHJLڤNPR:TZVzXZ\_b:dZfzhjlڦnpr:tZvzm7|ڧ~:Zzڨ:Zz a:Z:zڪ:Zʩpګ:ZzȚʺ:*zؚںڭ: 蚮꺮ڮ :گ ;zz j [{۱rJ;$[&K  - 2K"P` ?'3PJL;C[b ?+9p3;d{5ۧEP ,[04е 40V[w |jT˧}˧ ˧{[{;K!y{ 0gaI [_[Kg 44}Q]! B:jJ:} *{*[|D˼[XkKk*d@p;;>+I3[k +_쫱;A-[۴I[x q,x[ <f0`+,-\@a BRkx R˧:lāL̼D\˽2Ե``[=;Yܧܛ֋dG31.[@K`Ap +q-|,ۺ ɻp;,1@+} c`f RĻ6,H >,, +" \̶< >|O+J} lĂ P\c<Fܵp 4a?a۵mܧ}Z@p櫦 IIв4P+Av K 0ѕ| 7j<<՜τ;@µ:!\=|:MH0w|ũ8_P Q{ԏ[W|GNKO;˜ϛ;={HV pC\{EM4~R0T = بl]ؔ, "Ҧ- \P02a]LQ;kF,3l0|x~j `l;1 |Ųb}ԝͼ8 AAn~j{+ݱ=Clܝ؝]~\ -jk Nn Ŕmfk}~ t,,a=T[+~kA-M}3fm<㵜=֏۳| AN\mی  zS^WԋHЅ b+j."ٔٔV__Kul o+N;2ݽI}đ۔nDO!|֙4>5閎8lG靾˭N,HpoI-g-ޔ.00M_aݶ읞@Cy̩hM.  MNpf<k~!҅jH'j0|!XN'NOl/6ʣ˶]L or%l|!LA]Ε]s `9+ qJHOfNah،ͦ - `b*0@[y.<<̎( ?TP>tA#@ +B } mA;4 CqDKt*CSTq! ,V 3H*\ȰÇ#J,询ŋ3jȱǏ MIɓ(K\ɲˏ)cʜI&ŗ8shϟ@ JgУH,ʴiGPTIĪUӯ`+NԳ2ɚ-E *jJtN ˗z%m2;TwVI9rԵ /IXs֑I hNڷbȎ˙7w&mauWl؛3νA=S*s+h<օOɤnR!fuiicN!c?šh29([ Na$Y&} FP|kQU7ic>aBGދ{cHxkSdpTBHBO8ZQF!ne\SL[z"KA Ž Na7 dS9UBE `p:eAph%ke㤃Jg=vEj*:'>!::>!ƪ*>$Pp#찓Њ&$4l<+B#VT!m:jA6 C.pb疺d宋n]jO9&;Aly`9 "l m=!.(׬ Wbfj>zpcu9AHŕa-xu| +O%qtgUSvVN!>vQ(l B,#|dr9:ӎhG>TQa&v 0b%y͍#1PQ?@A[g,H%a$V?}N"} zD]0̄<%|Eޣc__ҩYEkXl=Z5fU* F! p~C=9)I@ a 2X0yNr4`Y)Ϛx>ubMlj#\io 4=% )Q-ۧF]ϐes hyos <v ,%g "ZQ4Eh#XX XEѢ3F0 x%3:x*) Nִp7_ 75PO#PF @5K u.Ezo.*XHַZ#q@ȡ;lfҾԜGv KlLBP@Xe7 #QEȭH\Az]knMTlo [2?- "+qhb@s/K9sCw#7| T2A<$h&ײ?(Ar@.0u=uYEL ="%ąaco*w7Nd>u`baY 4wKGhGdE*~U(YYԑݓyGnl3.{+cEoo AG6\%:6Y%YDB{eMHYR)cs̷twgvV>7r[g'Ny"fa'*=5;Yɪbq_xCeUc C,ы{|X8Dv =| ?ofo@/U#֧PI7i 2b˚۝?wN6UX`zo?Mٍ-Ϋ%b&38h3%d&_)&aPZ7s'2==@0 0X="|Pi7}'Oz-NwP'N"X}"u2pKV y=%cPa[,vG2T}N W4XHv`/`>Ww8n]'C'(zyR,R#8(hlJtD0Di`| 3T}qMD_8E8W5tH~dG`gd7c|&Ct |gZ'X~xZG(O)IP'2MzHZ߷6}>zDU@ 'zK{{ËH)dzÈU05Jx2.55Sx!Ì_LJXEqM.0exG9E;E|3sz`ĎhuuU(yg[CQ)Oz7vqVuǐ:J[cŏȃ7^v`4G%iˈ+2pK. _Gzq/ѓ>9Og2gAՒFIىvi.b XQiSflo2 #GՕ8hRG'XW(2@(5l-ՊXS=8WW؁VlwHgZ:n[SXxrh$I{~WE}Rǚ'2T7K}Wd}K@^vn^!s\($CPnbHpN0 GM+f{eFYWpece;Ȟ0qve/YU`W ToO0 ~XgW[wO W׶C!e]F%fDP… VY?{Ջ{hA8X zDx5x2C^d)*jhf{$tW}SOe 4zGIyc<q\ j&pnhrfYUvb dJ2}PP6إhajG Y*Bhjzak&npPMZQ1mi:[؁=NC4E[tgza*Ffqp҆%F}J֊akp%PNvG#@8E%^je6ESVo!G#xr%uYq/G$X3i`/t~ [x)jcBztIwitt'rЯrTGWGXA'[˗5jhȔr&x+{hvwd,ɳf9[lk \ky(ԫ5LKw6fp{_5U Ugl=c)8¦kffjֹ7ui3J22J ˒B{2t}ؚ ~(~\؋KpzyG c%gKlק'vZ7PK@UG C9-t}kfV;5%P餚{? |Ō>K^azD]M/J;b'}|G+=уh$<문bl <z=00i*@~C{wT{H~#ڋ|M盇-8*},K'U5UN^ԑ;3–`U6^́5Xxl'LXXN#blSt2sz.ދlCXUdHώ]XL(2.9YL`;8ҞaxG<]g.xnG]uPa|RsO~Dp Nt NڸȤnPAH [Nq@ܯ&AWD}-ݼ.>knGenhG:q_Zġ 7_+.m? H>2cؘE L-o].uF%4c ;v<*A C%NXE%aO9LРrpZvTѰ?LDdM:_kyHI PGR*dWaFL󑐠IK|Kr:slN =z{F&nuʔpR-~ @^8e̖IPVS08&pE:z ]3Ϧ]fԹuVxw*`qy/gN7"2Eٵ_wG$!G" Eu}{ W* %4S?::vb1`8Bdoۭ y("?db?p$DHAKA.ܡ)> *" =04q Q#XbÃ/" ([H#D\bK+K嘛15$"L2F3ѼAϖhLKnD*#(5GsаPmL S24(LtIQptM4O=RRu$tԌ E HK?}rUG-MHUt4,9 P%׊LUv`SU%oHM }YAisuAE`v"Xr㬈4K*]Cg1EYNWexm ])CZI)Ɵ+ \`=:xE+aLD&=y +_j؃n P!G$*RpEE bRٚԡu9*r؁r%u5,:$qXv*Alv"'$Y7/vڭZ5k H˜NisZRN#s&0ј&gzj> Jv(-F'ݝBPzhY)Dp8!|@fGZu* ;iI&d>%uD{Td'&yp1s *xGqK/7}b¿o.zP Bg}{;:ǎ$dKjDǚJx?AFU0 P[{T.!caҐ]?99హБtQPFy A8T_MBc4Vdota7d𡱐BH:i T$eKH8d.M T*%&3iZ ܎/":Ln%+cRИܐ>8&,Mp&HJ1,!n1tGd'8y#n=5|S;짞ɡ AeAU0As1IhDm3Q~Ǣ^Q F',Ez#ŚSxLVjJ7x(llZ*D)҆8` _B.,AIJ ц|;]`)p[b" uiC8* D孅-?`/A<-|ER|1P-ISN֑!@ D%$q۴ٙ0 `k?3%% %8DȰ$(Ȼ%U꿏DR NJ)$)c7!h+  H+l7j+_k 6rBp}{\BhB'tYNɨ7-d.=  (+C3tJKtLlM܍NOPܳH5跋+S\TtEZE[EZLC \E_E` `a,Fc4X48Wdt5yዙ;V4sGHKE! KT{zddr Dc:Sөj7Ǻ0Hh&ڟ F5poDP s3!k]qJKř +#21?| ʶB8g2:,.4%\HǼX% ɾSC&30K w+x;txlY1&T5ĘP#܊Q$32+D&˩sHYA'p*İ$3=;Y Kq{ZZ3LlBCL)1ƲZa6!H()߃H\$X<.GJV)3NOAMkZ \̹¹D)N9NP@yͤBMv-bz q bM2`u@ up>L &̫e$|dAqRz,e1>q##!xۺL5 6BY MҊbP^gє455uBDωݸ-⤔ 8#Y LX9Q@I ڃΡuYdDZݯDYЪ<67ZZhAu/Eyp N+8w[.H%ZkMtyD+ݗ5P 0(њKpJKu5$;MJNme\x%ДɸHsNEQ ӥdK1ޕ<" .ꡁfivXBIڡ+DV!S݋-ٜi8Ez@H8@!X8ԡ ͟ rF5$*7SwL cEFQD-C؟ ֡K/330Ta`Lta{4bLA S7`V8{Dbb)>,I/M#@FbHUxbN?`㦙I#cE.\x%%rh ?al &bUCM } BHezT9V5 r.G\na-֌< ;DbSm\l叾r*فhdef, okC_efpNngfm挪2 "zJօ絕gbnG_h^^r8?]fhwe'sEp:T6šhk']^r胘˿;fظUh2.1Z(,<)R4<ϓ׈.ɥ ͧ=-xue6cI FN\0M0n^Yj7 ^PsI}G-0.6DO.?GA GpIJx0`l1t? Z54Pdm8kSz/x(B+u$ 9A鰶{;vFeUVܡU@ .=.8#`m sN *Π"hlJFHo^ono~ov0oo&~Iopp/p/8poO p p p p gtppOq'ppOqpOq?qEqqTq#?rr!_r 'HDr(r&&p)(Wr+wrCr1?3?s4Os5_s6os77! ,(ᘃre{RaABtS9r:hBnIɂNlÍn` ˕%JDXPu5WP9L'e(Χ H*իXJMC(LB. qCֳE -h!O!7 m Kϵ 6+/TZ,U!i T1!X1WNr< :ҽ鏨hG"GaG+Wkzߓ!6؟beu_-89rp&m$w(FL-~$R{o-\+WAa\^H˟|Ȇ}^ ~?~IPA߀d}ԅ#`Hnt`IE%XȄ%MQE]pIPt8Ra!~E!(TGCS؈"nY b{֋0zH!cQ!jS"TpG⒄VQ% V\ _t1FP2U!{YDbS_Yv^z\a梲0|/:'q:yxl}:r>IoE6i{s6pσ@d6J)x0"J0 Oi < X7#3Gus.-TUjÝ*jvJNkBF5\WPvX1vu;%ItǨʗ*bڻWU~{_ 8ai, Y`,K 5G]R6Řx)VA0lN--b 1G93iZ= ,gLc +Nz"C Z IC"+jI%$d''`a^d+;8f$ e\,U(L%WgFV"˭Nk^(u*^9?WHt}Zʬ+ `xZ#BUE1zL\/]sKT溓h16]^1K%]9)O}Zt&]Z"AT< Α?sDVe#X!M'@ȴ*L'ݕϷtԥӂmLT2:(qT;j{u9q wVL@@X_uf !?/EO/x3"5o}e*܏ BApת6~cii- URX $R9VuX9GG!rϕ!0wNT>էD^MnE0rt

9)O2? =28 ף}Ýf`9=Bcn#?5[QK!8v648< X pffPVxsx&Teu(*vdax bj*X&@9F% ւYa6B"Ă6(*փB D(FxaKȄ$$T"IYSxU`17O9<rŅE`\^Q$c4e(0/Mch=`2S{/9M5g9b[WQg6W2*F&=AxHUUha_5'.r`9wS9XTHT57ƊC8pi2gGm#U`G98Sj?NÇ!ĒXsTV;;;m>P1-f:c<&8w =2 B6>S?qc3?ih߳DsxE4KJf4c?wC͈BWe21TMA*0BéIV4"D6e8L*J;DaAC)tڨWES0E$9/)ZVڅFld8oGsd-F8D٩GR ,0)GY`IIiITQ FiH(8Pٔ@c˹t``X!&|'3ņ80(0ۙPU@ud06Wг?iUj0YtWQXR(-B|?Z? R#1ekC$EP^;J벃9UUXY)W"(ۈ֞;B: ljyőWZ!r(Wxͩ}$v^+:+h_WwX,9k.عY鑸z+CWYXkKEni\^\uS{So ]1›)f-%EQoWiBe|uKL)^H7=e*Jf_47 U<ghGZ7J;OpƑ9T¼9{_Hʦc2 zca΃|jY |7>:Z널EFAsjAêF+ߴ=6$?j2źC:2K׳.4&T6zíW"7)Y:b8៉L7D \zH:/9[ Vl!InjODZQ[ 8$mOJHhςRePx`tPsP$x3T#ZC! BcPe/#r쫥h["|~E\MƋAw maNKg(LL%P&'7(FLUwoeη~Ҹ(Ѯ&[ԍUӾTۺ+BZ|rQ-Ebh uYjFYTqrVGL* fK) +;صcW!r0Z]} xM+ ugSlw,e\2[\zVƇ3[j%ݙ^?Y! RZm<9Dp_RG1| nNc(@lG<@ ] 3Zĭ܇mS!Gn}jePp]y @ɳzB8Z „asS؀ȹjA䤊 C^ WRpN*A yPn<aDO|J謠b]<~F\\FoEjFFn`F2!zJݶQ9ScRT+sĤkaD5[8Iفż" ْ5%O~"<-UP \+__ҎKL_ގ΄({S 5܆Rs[L[dBl(jt"U3vd[d^!h+S]5Wu! 6q}C}ԧphh2-.]2EvgXpPK+uyX*?([uaM"@ iTyW)i Cf *^۹ DhU[W`P=NXS 5 ?c{|9[&^oFZ0X"R['S ]hmgSWI>9ky]z7 fbBsɦ_w ﲽ.)}iB,lL! v,R&8jzlV4g?[]/L,"qhD&1HX [ǿ$)[ZLr2sx"0r&1nBxS, F> 3b$$^B45Z$DZ)&c`LpkO!Rb'9a8ȏz 12 Oπ I:ԇO/#IB:TGb`U!?ևKN}UEi\`8&)Ob~%ᓣ9p0E(L 4+)j0/gIAV4ɉ)=IFr5yfDEfO8RSR'hZZ"OY<9zEj'932a* V}ρ iX<:cg;9Ie`dd2Z+l 9iD"`ֳTAdvίCeׁ΁9Ő"沼  pg:S۔#QЉ?TҞV.9x 0 qF\';N"(H^BnG%{}24E;R'L bekX:uN22vF8 \AiGģ69Cz6aSĜۺ2u/ Y%eH31)!wAEPH0+2;[&#~5O giX`(s.w]\^-'3< ʘ4//Hbi@BA9/@ (QCT-pP" [PtA  ٙ<(pB(0p@Rź Ys4<@C1'9u 7,8Mc6A5'$ÏC7$([{A ;;4P6HI5[28 P͚J4-(,%tV0S54]%QwSnawZP,52?Y G̹,>{ yQewdIMH)>j }e=;Q_Bw^Yd&I{&ڹ.AjEi~fFbFR'iV` i_`r˜ )ML|01 ٠nwĚ.:UERmDd6 Љq/nZݔ6 %"({;Ԣ8TuJrztA^"D*$O!G+Zª 10hE+jT!%)JH7JpaBC+3(,VCk2)Ky_Re}) GVY(Xf#$e.e,eAW9e)+fJIH ԗ1\`&m*15 taZK!C Z?!SLh0*%s 7]02cqXڒ-p13CFeDh\"HUNek)bpU? $ /JL3T>BQXz W+eyň W-5)Z,M}ՠ2)T9$jMkTٚ1':,T_gQvK,cBSK)pZnjWM5%W^vvAqE+=eQx!=3V27υI\G$^Pq%$- Ek]Nj/%z f<1*WIߒg!c_ 4RY`°Yx[=X+=kwA~O݊j/ݔJ!laXA z$XRP娄0Z=0J=_޿)m6 dov45z("^lJ%i &:e>~@e ӄ Pfҹ*OEQ)M$öٴs2|\Ь&nկaG/B\j,|dBiNNI*qBjSԈ̜@1Jс >c;a 0|rٮ]8fq&1.yqY6 SȂ.>L2+(tA~6"L0bS۬O'[vBIyy-Z)ۅ4pd~¯( =)~Qwk%|`E#Y56ug US| bHv QDT!iM &L:Ԙ 1`k*y$ۛKTC} QOX4SxgB pO<7@\N29z'^^n[Y6vZA\*Rp7W|v`*7`m`b1aULX۵~:B`yd$[m&d +A`Ba:#@FXUol!wh5qS0Tc=VHrgQjM?fgYwzO%$c2!lDy@h1qbѴ=Q?тeShXPFP3%YuI`0T`^%aRSASpAr\}a@+<,;憝.J(L[F['WY{ ~ %EkM~.an2cBJXlqK`ɉ,1Y3i!bQg \z+m|w@vZ)1^ڔIOk /\z! wezd1;_y=Q1Pc0a:Y:I7 1hS\GȻ8p>Z:ѩCjEU\ c9AkG9*6DbAd@>qæh=6K`{;}YkJ*Ck{PĩJ3Ga||ZJKkA=^LO!Mq FOuëf}ªGF|#5܌GÀ21qibeC$fE1ޛuK)u^y*_MxI ]\Ѻ&M\QxdL&^W=b\`A0H<"LLMiD[\l&{Vͼ(ew<[VǬ6;r;RxLQ\Ìw_sBogRڄ,Vχ+ehշl"4SoZƆ\qR_+`If!FzdUgfSW?$Dz& =_.i=w|Wsrpk"FɟӲ*.㏙`IRQnw v oh@FDa0Aa"Y\f[p&2g6OqF԰tGzO+á\ݦT쩡 * 3j80DKFha@z?a0P}03z=(Zbq<&j-&Zi@"VV8UKE`TB .$?%c-3v>-ںSMAj9@42_G[@4]oݚBXܪ@͍Av SED1,=8}V5_[Aڦ [ {*YȣDgE䨜DD zTޙRE0FNű1FuFWFاہN/[Ĉ\6|ɐE9a睌Yx^Csr~-E%^NNnvK,\YW~TE (d@-Q&j4\`Cg4=Rj|b"  [c|0d,#hwLhgV8 n.S03anNgOz3ePWNKvѣE NUV-[Ԝ li,M"{l[<yb̸cԪ M,LXW>Cp븎'2麩o0t!xXXy 7L\]ew7) BN b Z,$"_mWŁk[PedbV 9H~taw_M~_}iѺ6:Mw*]-藾)_>XTWn9"P*_QG]?aӣߊ 'JݝxRBzQ죄07ov6 uQWE7;bZu:ٮX:01vE_ӷ"w#XA tCdjIV!r €pSLH LIcKpΙvϷ4*WR 4LI 2.dx,RڊE:s4" Ͱ4 9@'>!>LAJ M8I$'.28 C> H/P跷d  < jJ.2)F4s!+C'@OB8>`[TtQ<;Q.S`(R2(\ fNUc-Bܤf i3mᄈU\컣&G4F2Yy0Z,n5t@ݺN;;d^z 9`фxht&xܸJL9r 9eq.J)8~ 6 ~sBD•r!ҋ#ohIⲷ@(HQJ*(%X^3 AYQB@gq *fJgjLH{@:Ƭڴ0!/ljsD!XHq:&06&х; ):nQdh1\ʡ ;chfMs!0 `آDPG<:ajG>ɏiѐ,BNd*X$1QrbaAR2$6H@Mܛ_BQr,ޘC38*<^]鱬YsqƣQCg<=C9fD\+D@V]Rls%^qI=49$~H#y4na$#JogLp4ńz$6JWM9+`H4S+,Kđ};phA"dۓe:uppc7ë4ώ+~7 !r^ \dJk!Tr- ~@>ُfMKAvmmޣwILHrZqDF  j&uQk]Z[Ev2!t Z[OՔ'y8ݟL$59Cjvj͊ ={ꐸM(k*ha)\-U =;(xѹ!pvJK)!=6 u#Y2 “ rhr@1;1%*BW|Rt0@ YВ4H+ ,"#/S1ECFc(HDaHx,p,;ZKyK{5(5;y-d{*x~;)m+H ظ?6(2Sʉs 8)(<ݣ01њ3Cz0~H99"Ss h=Z"t(\z'$4*VU7KZw3|믨ܷ-jFWS0՟Y jmOM*G1R8=[^g.dE3'ApYҨ^ *p}iǓW^>]-۸uJWFR %QhhYWH7!RVeOX `0jO!WXcMdVE,bae2ڌThc`U:PJ-:lJ,HuqNA"7$cdfH*iQ_c*3%SBM!@Uϗa c&KZn扈(@I:q!J,P|Ih/U.YDa5Zpi,Q ]֪d-妥S饂L_耱i',~YhpU&jy5lPϴ1} 祿vܷՖȅǦ;jPƔɼEg&c Ks]Z2ܰ1*C9~i]f\)^^I !=œN"kR%=h/'kӀe>HNt[Da> Z#gխPGrY,@R~$ H59z$8ɻD, eʤ(cL`kX{ZJ2G}ׇT a! ?Qf N=kBN _엓5ra$ Vf)K\Xa;)k0FBNv` ^" OOm*vUsZi_y7uw)*pgjEHDHlCi0o{ *D~7lww@7Mq JXƕm fFx71#!Ps}22LBSX1fMNXgdw[OUNNhVMrNwF~@ [VO'&4rg XeZ[%W@W 0"K2w8)tBeSeBu)&Y`d2z''{O~xXGޣ4|8t5o~+Wp&)TS^A7~X1G]{V[ ]cGܶX2hvG]G}wl*YEW/rh X8pX l X~qXR`X1T}O`%06[GsE62ZNqZV7P`urPUqHh,5j4 ldQd"1%sHyr p:҄ޗgNsDx(A`c(g32o-X?-vPF$~?5P`!X xo#@(}7.axP 6n5*wA^_{T )yiٛP2~q#1@nwS'88)0ة)}Ii#5)zzS;wsA1hm3Pr04zH6z9!:F%6CCD)Bx2t0(Z\295D:PA@j/ą;ĝ#6A6?D>yjQˣZD֒:FN|4EԤH#[cE8*>yZ^(UhQtUM'gL iaK6 fJ)Rwfe)g(Rlkg0d(NSxN2.%Tj\$i8zXPX/`l"fxKb­lڒ`)(C(*P Q #VH+1Ւ h4Y=xM %Jx<opi*Ș&I!q)lB'x1B #|0 F==iKA9+we4 Jy#[y&R[h+tL.k)O3'K )S&)!֨B9SŚo=k4t1:ɓp]2K*կ%SjmI^Q~V}LLSթD sUgI<ݹ9)1:k:myz:xSmB:ʨ:>ږ C:uZ<@@sEaE&io= *,B"1(dK(*y$zE B-ڥ`Z֋a{a* ,#< \Guzzꧺק}5.ž:іu8^{K0"M4J;(61v!fF0iJi(=re&ŏ_{'tg`wۅ3V# SI^tJƫMۙ#z̔8؇Iq, /MahZFSZ{uȟe6oZ`N6mTL뻏DvIfwVe E2[Ti4N8˝g)6\B|7Tez]@qplCkƆ)I_vPr\g@vl c14t[դք L4990$l7KB!h?S9e 5=£8f >Dy7%KSuƣ=s#ӞfSs.> )x+h5ݫ1ZG?9t5pwL8zљATqU +:x@6x t=:H,>M~IzcQkݿu=*ģZDŠcأzLU+66xkDYUJxŬu1áVUo<\McK*pE馺C yac\0lQ68']jFw8moA6% w9 aIi`F> vII "ΙUL~Hxa)>$kxM\L:ɵ 1*[WΣ0P]_'p[У7\]"[T"ůEO\SaKɞ$HHKXh+ 멐Yk` 6>H>)B^e_ȏU X2T\PtZzҮFP"lB5l Vg.G[0n`[ՠhvV"%W^6)~P6׹u)WYWՏ "~7YҮ"~ 侥XYXNȰإ@5[0d:6cݻqE1puHs`G)`!RIoHbf+M}3$8,+` o*$oW<#^I>'>,ߔ..5"_<*nz g0Oګg(>S~VQ9/08tYG}AFBޣG[1Q<6S|xx_׎L?X:$!/q^I1rJ&)/:?/}& < 6Y mr|6[>xHqbȵ7$B(r /psf ?Ii铔Aۋ_K"`OU{TS1P$XACŊrQ&kUrE?1BIsџ.`)0bQJ!33τ2% Mq†#NxGp)P"U-3@7/8RU ̍ Sh_FI).T BuQ@ [[l̬%rVȔ?DZBt.`&hT l&5!MJֈ=pt‚>t4A pCq1 3J1* SCC0( 3TXC;LPqH$1ɂdI 'RJ(lq+'9(dL2424tM8㔓 9NۓKd2x)P37?SF0!7CU cO1 ȃb"2ՔD-B C*j=WbtVF̭B"xS| ؃諏Xx@8B$ ERUZ=@%*+JY"hZS]$4QP19Cψz 6FQ:;Hz~VR&5t :-?Jg:Z;&A?V1GÞ=|h#e5sYS ]eµunpB|?QxtXv4PB4r[^D` J衁N78V2e\nj7X䲒NmזֹԨv6og4`cxsX*p=7C^^ -LKWңW{\""@،Kȁq(&`;KI"*)RV2KfR1kR$6ou \vcT tPÑ֎)\TeRrీ(lXctCEgf.*ZeLugYU$gg"1˷*?w#j2I,,ShLY' H5݂Y^ !u_RR.e })ȋ%.'`K nu~{~]Aa[@['s4 ^ln$jB%w}b sHeR[7nO*uGqMq{Oo:^07%ue4Jwx:r b`IS$C?; B,DCO$7Q-vaY͵my8 O@`ԏTXP!O"tCьUi# IRA)XkUcEoQ%XL1j"6$v<̡ZyqUkaĢ CCơcUSV#.Z)㚈h2Vn9jr Jhh4tS*SEciu 'K`kOZU^εn쯧xLM5jb,bz_%%Uzako4nYӖM:iLmF/^[pU ILŝYkʱ ?$SrT+|)H-X3)EbE̽UVtߘ#K?fЖ>4ՍJLS'e2O>h˗؍)$>M$mW*=הyp.amWE 8$M楴5c`?&J=$] nSEIz*oN"""8/uU ?:SYeXnq[xd#8uGko-m?\ уb @^EG d[b1;hK@k GXIF7i Vv;hBu.659MRHq88s9N$@Mu([yK*h滮$ocNd^k@|t jMy^?S0E71PVj]k޽8gv +~BsikLIlϚ6>]n+8em y'g{kqT6gVjb #D~x)駽}ۆ&\ZdEo{V;^kA<Ta([ U8YWd/Q@楮"01nw]ˋ"bŵ-g{0tj{o(:)b^=f؍(aoAAگ47wKG<17M뻵z0 v 7nmܙS|{'~'b&{wv?_h?Q!j6h}d 4$~ X.evkQk'YZ8Y߶udc5]A-+pL$t5ATr"-TE8S>tAQk%-+GwB4'"fI)3sr?CnU\CtUeRH_rfnEn1Ȇ^%xW'0e)vv6GI]pWGHQd<[x͡lH䈶wc6$wQWh|7ߧ<$scM6y%y矘y^` 3U"1w=:Uzq tEHNrc::dTDȬbʨıRsA5 Y]jo3KxxHӓ| x}:!c? G#6Ջ+j1P+ѯvYG$H~Y$˦%^S)뗀*3;79k[;KA=KAD[gH[g. +di-'PtO;Zun)uXss\a][[1RuT'Z(ǰF72~x6DQa$Q&u"F8slI=I#We1Qa a3"V*3ψdSTH/)<(Fic8.= 0my{d:deP+踛J'˯:aSxc컏{yh:([4|ûB:][sUZJ:uQVdyW{炬O{2`$0i`*l̵{'tPTTknR[?Ek2QRS~ȿCPWɼPah4BUnc'k2Iei j}-k/AW%\"*ܗ%ؼBNLk{1\\ɔqlI&lJK7e.=wNvflVY/{rKYʫ#&GY^yzY:<-eqټlDI(Pxy?}!f%'cnakmM9{L^mB9;txgEa=͹]Hw+jػB؛Bڹg_QD}mtȩ`Lqm^"ڠC8q}@͏z ^ܞ CܬI~ӾM3^\BS dHr}P@DO7QA_> DǢ=Q]r@b3IfY]ٗ.ĆD߷EuicJZ ^~I!, *\ȰÇ#JHŋ@Ǐ C ɒ2\ɲ˗0cʜI͛-Sϟ@ ]ΡH*]zQLJԩRPjʕB]ÊjU`ʱh-k6KV╄nXmcon_c[˽qS\N&`xn w⿋U-KWT)sxgfnMҍ%<[|ͷ_}^6o߿*Nu~b}=۹yxN}t g? ox.5x ixjS}Yu d^16@_!uN/QS& >HSx,Ƹ]'8<@)$R!,!{篠JC >1"Ň^lQƃ=~r$ɒCf)Es.fִ3'M6SW'ȠC-ThO["l4ѠZ5U֩BEPՈjmZ܋h m.s{1 'P(Q(B1~#K¹ 2 XI!k>z!,!%KJ*LEUV5rIkr*o)V] U*f*?ŢLeOӳXSiҦX BnQwrt.GU5,PȑNm7̨!;+㥦Or5LsŸ́ 8\A˫Lnݐyc{1UUA+X9yu˔9R'i=S(ne޹y]2end87?(O=s쇞t*AofHv"8&*؛0b0rʍ8<@)DiH&L6PF)TViXf\v`)_O?<3C-T[HW3I`-6Q@<Ecp-t]x]iS]߀.nOȠh6G.a /wsG!O-砧걑߬.{_.w@!,89`H*\ȰÇ#JAċ3j`Ŏ Cy#ɓ(S4˗ YœIS̚8srɱK<z.M2OD.D"41?0UUÒi޹yd_V&*b1|/GF0U7Y k`t TRZm/&ɕQd(κ5S>0\hzϑ!Zelk2wA#LuDG&Ϝ8~*ﲐ"n&&;piq rJir? 2r;9r,XZL:3 ÓΨJ 7^+mn̊v"x3:qb*ηoj88թ!ʮ;^H<]49&fSC+oQP<2@o'~O_HK҇:#H "' !,%J寠$…#o`ĆQxƁu,8 H#UZHbNJ,[Z,0*,(J'1!ѡBYfʄa.BLEz5SǧKy)_~bobۥ-~dDJݻm u/~r',|.7nxodjP42X.0O8_6 t@qb׬ gɹ۰rN.nnp<M)oQҠ!4Y ~[jPD< !,49`H*\ȰÇ#JAċ3j`Ŏ Cy#ɓ(S4˗ YœIS̚ZCp0Xta&8%%|Ts@S$QI._IEšj3[0U7HÖkׁ=7_ׁM(a` 6rӚɟg@;;g-K{(A$xɍ%'Z]*ʧ*{po5{mS+\QUw̜ xne^vX!SXcɳl}]Q3|`zav}u!5f ` S p<Vv},aBMd_k"OpGUHh9&4gb8E[ ~ӎF+^e-vD 榫.Т [PQ,TJP2Ek0E?L0uGjuxjisRKmhșsJY~=_W S!`E9̷w^78Uǩ"_SRZt2hʅ>=2Ԟ]3L/È >=wީnxbK}9YNM?|h[ g>䟱ʓ'xJ%&bPd" uO6 AO)RC^ &hea(4"i,b'¨3㢍y@)Dz8#2DQPF)TV9I*"NZ`)Hj9Pl!]ix\Dy*h{*u`2*Tb"R?ĨOȐ)ihv ꪬB)-O*Gb ]b*>L?*첞*쳁!,=9`H*\ȰÇ#JAċ3j`Ŏ Cy#ɓ(S4˗ YœIS̚8sr1bz'Pyj̄!S`-*єLBZPiF`LQm`x!<N"ٴH'lR LUKtZX*3dba|X$[Y ͔ 8eWsJ Ue KL2׾ױO5_YfBO:!gc:$Xw37'@xaF5vn魗}yXG]XraxV楂z7GyݨFPuef^iXűeZEh`)6rnbg͆7)oYI\>T$EdWIdCg6& #pft4gxftg|Fg2gJX h裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭰O?k*+?3O k8겪O?2{B+-:o *m{svẫߢ:*˫ƫFkﹽj.gB oî+nZ%+?U9w O1,9#w9ȼ) *rsӏ B]" k.sn< v?bK6WO)Wcm)o%*~֮>u-{.זnz䣧)襣뒲^zfn{/oOQ@s!PDqWog/|3Kok/'O^@O @D|dZ`0|GHB¯ !,7=9`H*\ȰÇ#JAċ3j`Ŏ Cy#ɓ(S4˗ YœISLχS2xsc*;T( 3YЂE5W( 3AeUVZYv`Ϋ]XXέ%Rc=1\xBՊl;qtr""x&sQeg%eJr̚q_GU5cʦmYk}1i8~ ߮"}: |r͏-$Nչ/ꁬaZ[ME!F?"X_\@QeGyFSHW%9%!"#?b T-hᅦ?&ȡVc^|EP;dD9PW?Eu#CS:6*w嗣6H( I1 "蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ*TOꭑ**j2* ʠ wTJhtɊϲ#+rԺlBn*"+K跂3쳾h&{lv;/ kQ:9Z? +q'p i`L*'2( 𠵎(-gjvo ?@@={2@z GpʧA!,\KJ, 6QCRhbL3 Hvg2dG[HpR'%*l?6k,񤢊?JE?mʊ?m*Sm*>-;O?nmƳ/r0{/®"<6'g 'i .S'0Œ f/)E*l*6 HPD3eas)zwdž ,ydʂLv| S&B3٬3Α 5Lra?:]5گPJT]kꡤH*AcKզEv+EuŅ^sL0J(P V\0 !,oJ寠DPB BL)‰8pb.6^l2$LJ K+uǃ,G|yL5[fhs!N6gD_&)R >-Z顣LA[+ حfVSQ!,sK/r`‡ 5|p?)"_9v~)arЃE@ ;'24JTZ}_ׯ qtEcUs" !,sKJ Dp`L LD!E1~Xjđ$M2D)0ʃ,[Sfǚ63b|Sb?.jlدPE TiPI W(((P4DO(Q j;ϮO– 'j{0_x5W c!,uKJ,.$`L V\FSuQCKlR` %4Ҥř1T3'L-ӡN= i~P1 Pi*׬KfM#JN*KB j"YUj,^k(U(~"c0ԭB1Q2W$pȘ)/̤!,yKJ,ʔ`ăbF-z"0ddž1J(I(K4O*0A,Qhp(GF, Q8OA&JUJ"FAqg*O]V۸Qj˶j׿yCy]" 2c^™f57 SʜM-0 !,k49`H*\ȰÇ#JAċ3j`Ŏ Cy#ɓ(S4˗ YœIS̚8sr1=0X̫(ISC%? ZKL SӁUT,XT[M/)p "͘jPigE"ܺEzVKtn 8ROm&/A,tZvv'TaQha%_HIkRX xadbA]UPY0dU1ҋ6:8>BF&"|J6y$NFsTViXf\vC^)di_E pf!N8Qȝx)|)'Q@A92@&B~&Z*?h`hBVjjU)ZХfa"Ú^\%zꬴZ?ڏ?f֚sȩ][l!2,+6lr:V{ph|zmFAq z+snΫ~˅ O@]KY{ 3,j`>{ ?!tɁB2|rkls jl<!," H*\Ȱ@,XJHŋ*Ǐ CHȓ(S,YRT0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjٯ_Ln%Oy^\XXS+VViuv6oYU'L_|AE_qGv{\ifڀI{]u5|R T} (mwmJ6veeME*& MI#eaYUڑ]TpuaT7>LXeOTZvŗh2MY! )'evxN&ęJi&šm ZLeh?g2*iR.eRFOh PD驨*>Qr*뭸vdk!,""KJLP† JhPD/6̨1!ǎ?>D(LJDx.eɄ-_tɱa)&޴HQ ʑ z2%.C=T)ʃQhh(N:*V\jl~id@b+Oȶm6Wa5*U_ '2 K/dž3FȖ-dj' ڞj6a@!,"KJL_L "<ă#^F*~RƇ&/(X2H85G~4F(qAP .mTQR_z듳Odh4aW(pϮ zao|5Zaޭ½;0€!,! LJLP† JxPD2Y|ذ9!vqcAQh篔(QȔy0JdD9A,Vs@'ɀ'҃t6`!=թʠ P`?82~~ǖA/m_4KPK%O]ٗ-%\XCb"G.1J(O2?rBg w$9/ŔS {쟡!,  LJeD0C]1,P`(% ,/fWG EIF)1X%̃*NSfBC}E('E8]PGTr`BdW\d Tٯm[@)nro^}3S,}E(O%k_Jg!, KJʔ?,Qh('Ah4@ &% VaJAiy1G\lX(KrD"-Oâ 1S?\d<i_֭I#^e`S=jXTWQ`ә D`p F|p- Gˑ̙-F!,!h H*THÇI t8#Fnytrdž&)Ԙ˗0cʜI͛8s\ȳϟ* JT!W)Sa驿rU5W\5U䦚[FTJԙ{Ѧx˷߿ Lğ#?Jq<4i:ԟ9Așa:JQ;7 N&u0:.̻ {X,L,UUBtPlfnRi%zڧ˟ϻ8ƕ6jY1 !;ܩpYn#(z#1`U u f~$dizE \Erd ?0BckrdQDi*X 1[R؅zЍd!aqQ&w8ZXmE%T* <yH)"2iBfɔ $wػO}zQ򮿞p+a]yyCkxI]ޢo ԅ/>;Xp_=.}r*;W>! %@YE&((I]2zO^_|;itz;ڵ1e]{ )HWY=+*y5 "oÅEF?QC Ũ{ +bCAIXJF$SĢGD-">; ʞ``q>nL{4(Cx "F:u+d JAQ#7ɠ2yO" d?$2:F~fM,`Ab\*[K5&%߃J8^:3$4i 3!Q0|gzBd (TɦvSP@9yNtD ;(35?`ρM(QO hAqPZ @0!jԞHQhH糲.s9M@߸lhu˘DӑƧD9 R*MPTg0%syIJn< uD8.;Kߺ*$bY_!0*0d`5)+ i-!9`O0u<[l#{T 5Zv`  b<*J]d.nas8U0|nNg\X[Vn9߆2Hnj_+\!cުz&54 KlDU Hb$#Aiv@)0O` nC.>;Zi_$\ei&_4]!rY!&W ¿ PiOQ  c`?h'*aAԙ:eok wo/niඣult3/_jAԾYFݠ92˙r2o ҏU$6LLAwI%ccV!#dҼe.Kf+ͽklM^Aձ lw}<> ,<^Lِu#mI؎((avC2$%)*2!f RWRmlxFafo/jz'$,-IOrܠCiyރ`i1V@-z} &SG))ӐT;եKּo\GŅ+1o b6#s't3Zq` 2x@GN?&y}MW4ʶcu)cP/ π1Ц⫅~ɛ86SJ`K;V @Z 3:-[}]kqml4B) TQ_drw!1a<1Xn¡; k~}!"L_" yJ0fߍ!wby15tB%{{{F$ZmQ2MCGCSךȁ{pdD"ZMQEkm/YE!42 OfNEr F|-q{A1(JH8P#|-TDMKȁ"RD+IH:\XVhNO#pCxAM!th@Z(MsXч@ryBФDT<:X  AQSd#"h(M0芉S 5Q m!H8֡(("X,hFH!ȍPa0;!8'ԍq(XGy# 8E IG sRApA 2!yi鸐Ř$舑h$H3ɊD@! ~(rЍ$nPSa=?yA懤uGNHy!숊 WQIͨ~s8L1dr.hE[)2wOB\P+G8(PDepOiTyVёHw9K@ВXx1-Y&əFH5X`xuș,yz՜ihi\&ٛxɛm銿E).E0\X0)+@PEhxq7X@Pƈ ʠ;iHٟl ׸ڹeFi<Ɨ}I'I5;Г9\!:߉zهi2Fѡ瘉ayCڑHRAz\jݔs^ZHZRݸQEtQB!x&99a4H hA{])X{~*Fѓi JڇPk *y.\ZɢU)ɎE0 nCp p]~A*x#^UTDOA)p:C2 'WѹG Zt1(ڎX jxeIZ بG8GizAZ\cP\UYzqoٸ:.\+YГ=(qve[32W\D0:uHq9E0~ΕB7[(v]I7]9\U7pagh6!`> @XApyhAu- zT9Xu3Esyr0%&bIxo*5[P.V@){zHucwqW0%k]@xfg(D6u{s)3cyt6rgsvcsDhfQ pi[hFWU˸H踈5/h@.s:c;6k76<[lۧPll~1Օ1.qG1v-f<yKoow3 p~%AƼp{xp[qۋ+?X;c-3Mt-"A btGlsKR&qr"9z*xƂB@ th}6V76au֣=<?# 'K0 H3) bu". C0Xy7 x\eWwƢP$Z){n*|BF KUwcccNï}'^R1h7iBEƵtJ\'<~.F3@2Ё:Q+,X[K9( J 1\P%̽M<\|؜ڼϬ2\|` \|ެ|l} \=]}m"=$]&*,=l-2=}4M9}<6=4AL,7=?-R]T] PLXJLMl]-;k}BUl(cMho=²e̊L3I4e|{]͗}|֡]=ԗQ]ڙMֲx=>0 OT`T!` 0p0JҜl ǐ-d2ֈ;-9-,q-Q1B=I ,@׶}]9M==ٝՓM] m NZm pϽQ 'K|ǐp0G U1 I-JDQiM > HP pCF~]1=ߋAIH.Y]P9T~Y^G^?_֑1Ȱ܌ w>m04瑑nNW. I=- =Bյ@@ԓ=nNoԎn!U~꒾0^}ԇ<`M<ؽ~ʀ`p~>NvA ,!ߨ>儝R-LaA20.nNM. FnغǞɾ*^`L }ZqUP$ ]%`hF-쌭4 X}%L^ ' 4PH`p0;P鈐RFn,c 0(rWo I00p%} e,BSLڏ؀n)y~ًI>9 EPpU ͟25<>>N,AWb";~rW H^ +*.F.Kߌ&X&=n>5|&_̧%* />2P.CfC4!hł jq"4@cɌi| 2#+9M9uӧZ3֪u!X ެU"206ZIO$2`I$0E8/pF ]1TqI&t%A/#<+8R*H炜E2˼ԏ81CzS#Dods;MB %T`Ɠ\@1LLQ4KƳ&M QΒS%>)|:qj5tXb5\T1+-;dc֓,E-Sl4P ?:R[[W_6Fs F{wV*_ݷҁMI4ڥ+K[/xcɉCީcѬ1-ye9Ic>e(&ky';Yfyzh.蠍VziizjcjIjQ$A{l6lV{mvm{n[nno|p[oIP|qwq#|r+r3|s;s=!,h9`H*\ȰÇ#Jaŋ3"G˄i鏛?'G|.E.UZQfI2sɳϟ@ JtH*]ʴ>;f F3eH.?suٖdϢ;s)uUVEJtd߿ L8Q+^,*O}-Z*&1jdgz-Fj٦MJ{UG_9u/6cW-w("NJ˅ NÌ+_ΏQf&FK,N?2Ǹ#ǰQp3NE3ϿBER0S7B\Nx#o_u΂1e# M hߊ,*`NСTt`م [`{BV$%Pb SX2L1-THNĒ#i@n!5)㒿E|4R[}d IMq5He"KmiSL,3&HǖA ;l&N# GNW\?m5B 箼gRH!̃(UJ7FTC?CLUdV0UUbQk[fyx9 rytck߯C(Fb<2P&O#u0??b(G싰?PoXP*iO^őC|P0k<D/SO>?T ?EcO:uCIs=pMP<$ѳ LRA.'{AwπbAsQ챩@EQv-{p>`p*h@pD^5AG}B`DQ7 !}`׮mI^P(WA0ŠEMzg?eW_" i]S ptO*M02QN-b cTg;Y;o |bE6ОD'JъZͨF7юzyY2Jz}(MJWRnx+LmҚ8Miqd7Ӟ.@ j*2 ԧH]Q.LUiR*ʨZ{UOJծq*?Z+GB0WgSu5U+j֏j}\{BcoW#<6zE 25+j ٱ}meS1ۇlUmm'zYج`?ey\?"#%G%6X1վV.mވֶ]-z[ַ]*G{Q 41?!Vb(%:Fc֝+v[Tcmw%,3ضxMz5^F#}(dD,JNdɰ'O)Z Wv7مxQ+ C3v1aOƋiNa@9Sc #+G*lau-Edv&?Be|YFAMFa3PqKcpvs 87xg>[;S<tĜ#2Iu#[NtR<^VVKGY5XhnzQ? j# M"8ZD\,k:ilzq#Ewu=V&۵oNΊ#n=%NRЃ`‘#s^8ɍ*٥( *"_8^idڏeƫ+nÜj^mԕ\ʾDMdؚ#Bzs2`p&^p}c#S /BIxSAnW>I@B8PR0#8`{GwwG)qh(zx'VY87*#U]8}!Gs'X7@'zy8'qaqD8~F$;<7 Z`}g@hlXz^h#@x&fH~\hkh?Є# }U8؄ȊwWQ(H=K`|a }(~ww׊(|gyL(^qӸx򨏖!z43ȍɃ8 I~H;D {hyKlPh}w8wD]G|NJ2i4)z6.zx} wgpy(׍[}p `8'‰aއhIi &t.oD`z_xrI- *ьє&/PywY'#džɑ׀9(sibdi"Jx)-@'bxt#n{)1jȀKiY^};y珈|9PȈ#i!99虞(N18FBl0(`}*&@-|"V*}{G # BYwmo#pzX (Xp÷Y6zlY"zU)A/`'2H*KAzP3zVZ~wv'bTjE@7EiʤEQm N2v*eJzJwڧ`{姄:)z!;}aa IK%=Q֠Q¨JJ `v%6QMJ񞻪  K'C0`O*Z(aj=1z2:7(PӬ! J zC8P{ ۰;[{+[˱";$[&{(*۲A+2;4[6{- 8۳>@>˳B{HJ KkLR;T{N+P[Z\۵{^;d[H k"Vn{hf;&3%{lK ~r[{P[ ۰@{x+K  +[+9K3{o˹~ 7a}l[ xӷ&ے30{˻Pb{p` ;˽ KK `H(vp{pQ);pkDžbɕd }˶k[xS  71&µk%a+/ɞ;$N 0 X0Ԃ\ >\ {\0 l }ڷv*"{k ++k?]優p pn~*z+Lklxާ|>.~U^.^~N闾^.ꢎ~βnꡙΧ>w뢩N! ,`h#A*\ȰÇ#JHŋ3jȱGQdIɓ(M/Vʗ0cʜI͛8sɳϟ@ MI"P;X<ʴӧPJJ*"o`ÊKYXƂuҟbtg˷_ijҟaj1FL6*%ck`c1cDKP ) /q;w1ƍRڷ4.T.H&#'Vuڶ\F .K`)Cr}BAzL!&)}L鮵)> (K'COhW'rq`IE$S SQoMXU& Xy4ފaI&w ^@LQ@A~{ZI}2ˌtq\2t"?XR$dOOуѝSYI\$C '^iƤ%UD 3݉Rz=YD7P  pc {r-(Cə&mc\W[tvJR`iqjৗ*BkD0:Rc0!:k[!HN1Eu ,)Yw^ۢ1!'k%ziřPjy){<+KW)PDSLb Xc<Aj7ONhj D' &si-&t Lw2'/Ghlm)w8Kd.Mʅ~2s& StVl&, ,"L!>/€BvJ_+v93sǔ{In ]nt ,_ᗾ(${kn_*wNG(Nl<RA^.Kcz\-r2ϼf|W[/bYZx'V)Zu/T/|ت 4O+GB$Xo5:jz[x:;KPҭ9\f8CImEuTa 9,Ɨ.25901&x rC΄A(q0d4 nY 5G>NPȂHբG)/ $ C_l 1|諤$5FV; [xx,gK"",%xh$KxW k%iLjA?a|6ș/L:%LT5M9݋\X|NwPx;;$d9`|L˟P&?ā4`R6IB]Cʺ<12kd#v~h5i6 cAL(̡c)_Kj+L| FULvS'Wi Q(mh۫; "Dž9&ԐJ`_u9PLպV GeX DD,ER҂gĩENx\\&$dD8Hvܰ f>Um]4Ukݘ;al)>_*A G Q!4T ҟ%Ȏk,?ãk=mȥvaNⅆj##W*A,(+adpl(PiG M ޾'1S4rZ1FKQ83Epx֓8n=nVa{XD`t_pDLuQPΟuMD8N47NKxC5{v1a3$0ArG:dn?z6{@BmRp,;-\|;p@rFZCP0`9¸`C.% Wj p_0BJYs~E>DSI8EEp=g4xuUsl%X8top18m@8qHiX0 p0npy8ETԱ԰ հLMGԬLQh-, -@}`L|}΂L N|U}K0E1(= N(B`W}MI0زѣmشlB`:-NL3|1]$ Cѓ%[H0-KΧؑT$ӨM׋xВi ݎݰ׿,})i׭|Cp،}4IP@$p<^2,OL:ۋ],ް5]͍ׄ%m, 8gm<.[SR-%}2Y-}2ֲ ,4N ].30Gn!d=$.m ܌kn!>[!Pb }^ғ]ϝ鶍~tm"mOܢ|G6],V'dޖɩ PNP|DyҠѻnޭm8^ҔܰNzN ^Lk}>^1?S2}ָ~IpR׵mpn-,.Hf_ؾ3^X *L s}:^^,Ҕ~B>N>2Ӽs`',].ۋ]nӞK>~Y/ֲٰ*]P\Bc_E!}>ߔ{^]Z/CLNaʵΌؐ2pݬO$-KI -T lnʪ=UY\ L>α? O0%IE#׆Q 6=_ 6p KքPBDHXA K:lA$$JqA!,x"E!E$YI)U䰄C$ID!2=YAA`P? AXAJj[Y%X֤vl̃2ա Dְ˰Hܹ-}n(RaY؟XÃZkaq֒p  V2,!bנ DFAfi0s̜?Kf},6-Whśe;VcKŌH%s q@S,Ӣcu$#KSCrR1/P:u 3*ZqP)xBj @B Cj* /'X<İX`$D }Rbꂞe }0)CIiS\$& $1F22,1&m N/И܄d9$Vӝ'E0B8bsh a(BJ`iozXTRƻMLS6Ȍ%BR02m36'H #D>э#Y%pMP@\&O/:`]JXG#iHR$ .c2e1yLd&S2LhFSH*GMlfSf7MpS$g9yNtSdg;NxSs̋Ǟf> (SB%kGy"%W,P'k=Oϴh4@%dx$ C Qx>$H40GJSⴡ (Q@STFU8jUfU[*T P ]zV0k50(`f]S :_ k]մN+^׵ROUl]WVvU+YUlg=Yʀ 4 (p H /vN@T h@Z mgW€EnmZ, mgʶfeVEӦvŅ*5/g[^Ηe/Yў=hsZӢVN+\. x9n `8/^dµpn]."p qس,YhCFl;^0íUE"HJFyGS'p=nresA=Epe)s! JCw=yO5&w\x :Sb|-V˝ŰI^r{\C/pwh'{<7Z5yUz>&rfO8^glk6uhFpfz\#Zd Ȟme]"9NvMb6;^{QlҞ[Օ7AKk.ۋn;ˠkmfkߞ嶌 ߒA-e˻g6c[%7z72`䒻:3kLZV9g׷ֲZ;{k|0?xei ;5MxЊ=I8l5۵ 3;C@k,dc>7 sG?ki ?[#7+s7c"Ъ"8XS-/2c3? 5s//Ab݊04'p);<۾Vs>*#.!LA[A^#)h.@:ý>B!A+-ֺBZ)CdsBCT[B?5C;203_c<= @Z–3֊b//7#e/j.#/[԰ڈH/-2/d˻2Y/PEb>K4(Ejc ԮDEQ\K\ kCX5jB?s# [F/ZIZE?G~?G H4)"ǁ>Ƅ ?ψĆ }ȕ#CCH7Ǎ>ȑ,z5ڬ_VlԼ>)4iL֕ts墼w0Z-Q`9?IgJ 5L>[ )}O8l .g>9'еH(Ҁ"ه_u9 ]=Ẍ́iGSסKنq"b(ngRw;upTe$%6R&'2Ĝ1-x Z;ig[LGdc2\Ք&Eis`T!&1>I1H.KNDN\BZPf,`Q:琖%EDbr\IhZHix'uh~YV"C\xjۥIsmo_#M*RyYHҩ(%bz(:R!R͡Lv!"*gţD-%G~-b(+ 3ӛR~:9L1EP& Z7puF~Qƞr瑹~RI&?Ʌ5gmӿ}w(:"Z~ h9>6ْКd>vN 4?'At-S8aΧ>U j]I d~a$@ 2Wao}B׮CAFs$TτIaL'8$l855 ?*4vxB ‡d!X<F[bEx^[c np^Lz:5}m (6k`6wI4p&=5|,T`1ir\ AbQqt%т$F*TAmSֺ@ 5Tadnpd0_#K^JUZnv /  ^RYflY2\LҐ%i\xZ\G9`bqwYg-o_6s}D/ZjTiVӝFۏ T ;=i=#UCLb;#Kj%P:I%PXۆN*LS&JG=8uRtgJKhi&v́+ł!`Ήϥ̚'%Raۙ]\DzZKW}iG)aMGT@Q% IFuVKQʳJdvlҡP-N,PFڗ R2 ^6;1mT< pB% lE-lQ&m0kY z'}Jo;BdECyK("3HzYB9cT0ޑdW9>;m U[a GHqa@ p8< gB>ý.ZPsHN^l 0"a֖ry.{+L.JjK⏵0B" deL:?%EAmsR;RsQCЈ^~F;+. r*&X&EKOcWX>&3*C1QkbR5J -ǰwƒS<&$:g-CHDsa >%)龣iUR7JN%6!bE羫Q D{[e;)iC@* =*dB)ш#[0bdA O 8AVp]*W.EGZj%g9$u QwTS&!,Pe+}h>)cΣh(0?I47SJA%Gp(EC1T D#TYAdz=j>ۚРJNeH[૸4-D#܌m  8aM|Z׾6d-e">*/K 6\'&MCMIȡinF;Rj |$GՇCT9p$T}Eq%{h A߄sR'I<>v\B7f7oK~ ;E8CJe{=01{UoomVDD7%!gB 67A?n7\@R}cp 0oE0~UQ PrGЁYUrGE?-?K~?Rir&^ti# 'wvr-B r7P <#zL,BK(zWhƁurPr"i(aȄv(}VtrFGr^(<焘[nw w]xnCoC"s炇*(83ӧ YYY7"Wq\"yS0P }/Bp(~PvSh@UX?WBX@p` _,rpd)PTa8W`@&`wSiP lwx԰$ΒB'\0~d4xKxh#(>p `YG^Ꝣ[ @CAJPw ouA z ` Vis~pz W6'WJg 9xO9)v- 63Y;Wb{7iHY'Cbj'8k8۸J"ф"Ef H0eʪ}.ᬾGYPڄ3諫:ʮ@W:I+H$' l*[x<p].ْB?ё7) [[aO&Q3!iJ1&H:}Yp x(:6ˑZ1K! ) rIT+HcS;(KX%[r-0$pE b kphպ,Y: #!tk w n'e[bH'0 bHr*V%g˶~t8['h:_!$/&}KPzj[cyQ;лdP0b:1S1۽];^;{TQ軾[0 P iP`"[0`w \[p mо`U ր3 04cv\!  \F2$!7( J@ jUNp#1Ԡu9OfC!/Z-OD %OlZ\^`bj ɹlЪLj Nn20ک ʓmdJ;J{߆]CwMԄMG\˾bMAx2}=Xo3.,Y(}Z\Nљ\2w "\#5~r b{~^"Ml#ϜSk뚞܆Ix@z,~,-~m],0PW&>%`VDʍۇI a Y : p>(e ǎ,ٙpm3_n*|%=^౐M͝ɕPz\=O3$^ qiE V"*]Z}ְMӈp'+o ={c_N] &Pzm -v)@.u5]ıyoծ&՞0 GGk@  ՕP=pɉ3m] 0M Y]Ԑ#0Ă(?Db+?0T`,D\ҥ0BY;I]dbCрQˡI %%0|**_BΩKC4)Bԩ'B& BbRF4O*bd I̩[Gd@DoXGbPKGwrIЗ6gСE&4$D=<0J !#K˛̣vYցA|>Y*XXtx6R?,KÒB 90",DK"ZE/>B42B2-FJZ1\qFkѳ8ۡ9X# rwS24%h3):D(bփܒ"c6X+I3yIܑH %*3Dd "?*<ɭ-­0A8`0'3.9Qr I+olщCSUXc5GX6\Ozv33"d#"|Y?uHH_mEI M*v@v3> St-)Dm뫠hKWBIGsE4I^K%pPFd # Vxaq7eOj9tXeyx2"V\Mzsh#նlK9aQ[BfIp/\t$ؤ"0P REi|YiK67zk".6KڲlISX"r\ W12ɒ4sJ׫OOJBvq߁5?VtT"j«l4j/G+ a0Ukk،/Ճpb]6f"E27(p`|Iq/PfryT>fO?0Byqم@p9smkB`%`[bN \e7D 1)aՆCI\ LpzCXl9\B OiJז,tkʟMq8d%c$4YQ#j5Vqc3Q{#äG@yd! yȓl,#!HHFR)yILfRt&=IPrae)MyJTde+])UYYRp1U휠K  /YENE25XFk՜#^֤ ڔQ'.lUM8]Da'L$̮3(2B9'XS,, TO25B!MSU8@E-zQfTp0B`#=HzR6\PQ\Jmz&|;uBS93N+1ԢN`C4RF)UR:@ iLcR*HŪMzQ'$UkhUm2sk]z׻B_kPB E!*+͕ (!(RH} ]FֱkXֵxgQ"p=lb [կe`7ۅJ 5iq؎Ŭf7;ኍmąԮKl `[Nֹu,dcKz6E^b7elyE{Nuo]/+^RŅ.0{`'X]] A>خHKpW Ii$4Tֳ]eLW@dC;4ke!iA,b"&.B&w]P`Dؽ>!.H0pLK=v!`, uin]]sq8}p6JKoϋc"`.rp<733*a g}v [Lӕš>DfkiR"-VzB5mj*ZujJHwEC _vVuYeD$kmYj:֥f]n;ի~o޺ȼ~=_nm j=Eֱ{jHk؞7I}phWpWG YMWyv/pK~ݵƑk5l$*ql[+BH2w8Ns gwv鍐80tɺMO{t~'.:U2jvߖyxo#P?_8 {BޥnmEzaKە+vk/^; ntNM;O Cq?qy׎p_0oỖ&G [($v/{?W`dGm~|7'x[.yoWo564{xG zOyPۼ<+Ӽ,/<3,֚2!1,(C+"D<Ĵ.A.Z .#L6 ˳r4,Y .0(S//.;LA̴,A ۬xcļ4$dA@%>lʉz Et/ʠD@*D4.M5.JR,hsIhL/I>{;EDL,D,0+ͳE@h?TEO۬- ,R4E.JxRO$EoK< ?T-DGuL?u|GxFPyGj{$Z}GǃHX,`BLH Å<‡l@fmq HľSwH Hǰ(ƒ|LH|IIIIIIIɛI JJ$,JLJ\JD|JJ\WJJC ! ,`gH*\ȰÇ#JHŋ3jȱ#"OBIIk9ɲ˗0cʜI͛8sɳϟ':"5X*]ʴӧPJD(S5Rʵׯ`*J K!,p֊Kݻx% i֪$?j]̸4ł I`-RnL̑C$IO2R\j\T?kew=2H֮eF-'L-{̋,_)jg!|R2OТ!BR-:"z\M3] N1j|&T}r9G !E9FU t ~1uq·f!~u!ٗv$awA5qOqjh aO/9}f OBdHV,G/a)R&MǘZiҒ?~yO`X;#;a5" 1׺igQBi m(uqH'ߓE)ąIf ZN (o&,D>adKI̟r2Lٲ}H@ɱBh9;W}|r]RH&!INtn&7rώIUl}R]HQ"F-npzDx(HE&&{iș]0fBy"g.ܩ}&&q?]]]k4q{9;NR-'_^S2>[Fڡ7zݛ,K㛴Nsr+@t$;MoK]b>'ڍuK}.T%֩ĥ8D2I.tj^HBMB\K=%n`,xߐژBIh75/='gEd nBlXv7shqyQDfN!=4G Y!IʀƑ B ܁~=1&Rǖ̱uxJ#8nFc4I2x| W'lEyZ|ƴ̀qSn`y0 1c9(Zb,c!1MV2![nLQQCS s5sʆe!VB=Mìe4<1/ D!CSp'*!fiz9TNQ^;B7 lI 4bJSJl* ,fT'"NtJCj/4$H)d -ˆ; Vz~&#O5$JԎ22cƢ*i(w3-dBuUu'oe Zgx'V"FJ-*\(Db< $vwkayWt\ O|4YbM3M2( :N* hv&Sp gUK6,}`K'-r`Ԣ 3Mr۔6 loLw0=:q2\2 odDd,wjrkP\8*=-|fZ*U`&(8ݥ1@<M4ւe] +L!MQ ~yʠ@ 磙̎3r\fCk_KSGV7I$O JqH $SMZ$lPAnm$$_לm5|ۻ&c$=# `YB3؁vx b!k\ x [SJ9q o·jvI8~&N"NtZ)|P* ]g@zU|0pW:G:=Fr~tJ$*7py#>W"p |qT({b%q{3i d@ҁH}O@|` 1q!zG(<%t1#6&'JD!xXS(lSX|‚wVX.qAp$ 31T 82Ԕ=Dd` \72׋qu%B(spS0qtYZ8qx؍H`،h#b"kz{zzOB8FM'&Yf 1+U"hKCqRzp@t A0GC,t~QdtI8Q 0q~G~G9%̨WsV69ji0$KKM!4FNj{cɊKF$Mu9H&Gɏ pMVo4q 'N9Hw$5ѕtt#!f^XKXTq+ /kəAOOEu{W_HT-q~1ǔL锾硅YJ\8@-zQRB-&wlp(4HB 3"Bow{X*e5&7E N(wxy0RRFUwBEJ&eU`FiURaQD[@r>&jEn˕֪G\snɜx^M =\p*Un2/z}1.žF}ğ)P>Ev{~Qo6~TPhEw?OoEFAT`A5)H~ 8HBD +ѣG85رG ʕ1Wc g%"`Vdsg?ORX([%P1yZUOd*WaŎ%[) ɩ?DVLQX\l b{LGj"[DET8^mGldAEk&qf~cGT׺ʤqe+ThB/8 C3Q˴.-JuGnC(͖Rŏ'/ЂEr{ #D珇`ZS ,HOD*; +`*)xB [R2ǟ$갈)n*G{qԲo??tp )MP!%DJ?"BHc%dĪpԓO@xUtQFQBK'X0 ;`ȿC$JA,?*U/)=iRC ;ҏ62%$Q7{'%h:6@VZ Y+jt\r--1ek=$ñܥ$;h>œT3B1-,ך7"lM%Xݎ`W^j's츈=b&.ܩfK~I̕yfY*<5a#X!ޞՔ`#;I3-#phv0ZWq5tbُÎZdvfe4cc CEWF?kvhc*k6ps7؀\)mr<31cG1ˆG̀ݨCѐq|IDfd d# G$e)M("bDP%rKԲ $rTKs|産de,mKҖ4FWdZ.}r 1><-Lc4e& (0Lv򒜧RFKcr޴^# N;o_rL(e '2͡CaӖ@5)J(aT+BYX84 Jmj˗"ǃ#D _ 5cyK;R`,pwB%QBd? *rN* |*=(4 ^-,͝U9zISoU%V*ж>5<X*9Ch9ŦHt3u"gBZdr2ZikQIqVș3lxh͋H6( >hq]jJ(u1rNY,#a%PC9s!JHf;(-*cwd{4!ۭG!Rۋp5r3ZɮȻu]šEvAͬVƺJ7VD5jz&٩h&ugiy4#k(-K9m~:,-"?Y Yϟӗx]y9OƼA]9F:"mʓHYaÞ55 oh $VV+򐤂k_?xyON'=QCPQK%TSIWH ?4bt-u T=toa#S *@?P=y# y{bUٓPDJhre!y!:΃_;!JqysMkrܑ;>׷p]_^5Kp ͥOYJJן~-lb-dVJt~з.IplrXAg;Աs©ИrΎ6x`Zz>Fø5(dg*BQm?޻B| PAJuK(F"wwlt.SHbr/J ki8a§h'eL'@;}뗳mV:\)#^ `яI7󺫴fFW%‚5,a6kY(K)V8Lʾ|afKU)Xp!ڨ7%|Mn2k%}{?B~H]$KO@0x8P0\ MazpU~t,, yG< vHr %B+̦=mRc%6JiMm\t-BSF24,pxvyM؊GRG$'PDŽ%S}3-q1 1n?yB 68դP %fa%WbC#5 z#ACb$ݷR¤+0\ (9#%FAt%w<%[1.=w[`;8Y,'FE.aElX+@Jw(<1$4FS'U#:uB`04!4T`, U`~|}jGr+YuctAe?݇T8v>XK"@%8IM&~`af)av X0KC{`2~h~,yYpjӕvdvĘeƘx65*U`H%CxPr:2b_0e,VWȎ1X9K'0HmgTa]KdDrH;X G6؋xT@Y[W4:hR#HX`,'HN%u7$hvYXbWrgǁ8s8“D%gA)ʨ[X(;_tIKT!HQWRSQT6&MX'r!?$K(LHLFqL9h^1WT1IY& tJ]JQc2ccI:IoMk"qV"qה*Hr[xjnԸqeNWQ7T O!ư` SbU0xx^rx4-rLݷ5BhU!##~g ii.Պ7H!OsQr T Pޔ BETF58hvBQr' #XXaXBь#cai\BSGBэtG[Xzx V:I^7/LR6H@ E4YYֆ-uY)9n5Z%Ue9)ZC [2VEXUg;rd*q9aI'zʢf&ʢ#U65:*:etrձv&j:%Y'\":Z%.4TPVĦʌEY87f_!ZA(›iv`cvHљkҙ|ɔ7ƭ]p4:EHHia]"sڪ9<ʌvYr1jڮZȪXJ`!TAbzH\5ٯiw^յ'-o=%-[s(" ;/ˌ'{6kI*Zr&[#:H L+,k^T۱2P aKqql[;gKrꚅV89m^Q1ي+ic{n|T#GKeZ&jq֚fgC[Lښ [ i%Qsk eی[r *hK\%eh61Y&4j[XȼV;[{蛾껾۾;[{P<\| <\|l "<$\&|(%l` *2 4 31BD=7nSF,AWQ05"5 1<4Ml: <=!!XlU,5S%B}575i.4P04-063 7, \]Ңp7y3PR ]Y G3X˖"b ,D`#ƑG2n<L^blt`0̈|#J,1׎- +8ȃ-~S%k},E.?b}׍O Y^5Vnny=]ԍZ.,ҡ ԕi:l\ANnmp8YÜ l~|F : r?+ =R}na $%LPNZĄ.%_}2\/ro~ĮLPIpqlSTl,y1gETE\-V~S( U9N :|輡` A.#?YpM.1Bm YgǶM=͠CZNO"A-F "Oҝ*QrN^7/*qrG:#P #|I'7*5M+o{ S,CfԫQqz*_Be8Dz‡pE 8T~e G;qa‡.JL̃繋3gСEäi3fU0ZȕhSg\֧_lYU{-B~_ycp`\"Î8MX>K~8PSG"|,qz4cm5v8 k-84JP#SR ko2#Blˢ>ockrqG= )䈴BڲSCӪr/L2J!򵞞4 Ԫld1.S;˂(¯f$q$΂!.z4PDG)@ʸTB*, ҿ %(´JiKS4 )P0Ž+k, +[5kS cq|߽(Da{sg@Ozs˟V|*x? (`{@LxBP+̄<.C f0H<úюάPp wm,p8ppՑPuYTa*҃ŒYXĶ! J4?TQ ›?D4|a<&mH21Q5(76^b6BS"$$+N(IxK\Ғhe bPb$yB?td*:i#B+ ha(Uh.դ!T+:'e:1bxC |Xdzs)d.ӓJL;\jSTe-y;2\a(zxqLd@/"S&h7(q3 ٣[مy1Je 'Njs6Mq+Mt9љBUTK%JIs'&Sq;rr$QjRDT%( '1sȱ#5#>rȅ=r ;iS"BZmhWպցScMX"լ\@+M)W_څ.b$Z1k^vAP`' z\ B9kdm™ZU*<-KR9e!Prɬ[IJZT]zx;zd"kGQ<FKWyyÖQn{]N7+\xֲa-}MlW5_Ʞ.bw=Y6إ5UMr/_[ҵ" I7sm,b PrKxcR4,lOJ8~$u 'mա[[q"ulM"XN()-ƃu&!}/yQy>;/g x_;>w>: ~hѿgOD;sNd'0?[(41Dkp@ 仒 4 7ƀX;,b ǁk($|A%Xd. AA{;A B!B",B#C?C@ = !,`g9H*\ȰÇ#JHŋ3jȱ#EXBIIN\ɲ˗0cʜI͛8sɳJ }(ѣH*]ʴS,@LիXjZ4֩\ÊKY^Re۳pʝKeZ`B=9߼~ //r0⒎&9~GV9p^-3W70| 9]7Itg~QAuT[(2U|]KN8rCfKmBrlm$771eΞ$Qp&wa~ouLdW7:gׂ&RKH|'Ua/=f!Jŏ"e%JV*ͳXu2NWN;dY~42UAAVnm y TE?L%[fٗ!$e6 U@R<ˉjCR_^vϕ^v%~SFw_-9ȭRhHڠ8K9< f`]B^#;X*Dg@p7#?uH||V<~ʂΫ<+2}a Jsv}XfiB子)lZgXM᳖+lYS OZ_R[k4P9ݧPqopr+RON2~ $73jRW2XHV?m7؎}GO,M19N>T!<%3IesC%l>wn_/@=2.~g5~c灊uh0_$c3Q.iZI_q̅ u3e,Js-ʉN%Gf-J~BXͅad<CI"͆BˈSɌb*v1# `M`v\O¡H# ^e_G)9bYXGhf2%)HHF.lm4EPVxXL$}@AMkKэcԨ#Hs )mc\#<S8@O o,$jJy *dp?1$]PEMma1{mT]I9IRG&)Oz&M#[ ]&s(2tRg,wOj ҞIVC)SÝmhBſxU >IE y])L KQ &<]`rNFMjNMfz< Iu҇&M:ْȼ Β[Drɭ\9j%_.ɐDhD_i!C1{6wUo_;8"fe.=f^<9]N)l̖hkK% R: I]} N,eMνMTJ4?{)qit Sˌ"oS^jLCEP9j%B֍dτ <>>E熫k!itv}5@JɸNn$Z"puKa±=O㒄Orx<̚*ĚhE_ UvbjJ"얱M/CJZJWA܏v\!c*Z`![[VH&ӳV E[`_ `m3=$mr 'q@ NPє$;#)8k|#cW7r܍m~A ;?FQibtX=660:`hg җN$g>^AT.u/N}_L]L9)5)sG*[:4I9SK7Vj`9HuJ O{=}le.c5`b/*#5ܛ^BD@b"oaNBs$%;HK?P(w<3>b˷!f W2O-|׺ao>o2>cglOF Dsdm0K_G|€&L`MG]iE.d#J@dt'IIr?p41SF!H4GHgSKqKpHGK)L'18eLxu[w(LuUƕgf#QO$M +P(5&sv)gRQ2_O'%PUUo>SQPdNOl]( EQN^( ](?n_kׁX+EL W{V%6S!HB@9FyvQsZS%2TVVZ&)J1$W %Y蔽g)5 r91TIxd|{I]R:]4֒Cfcqc~yGձ=Q`-^Y!_Y `HQ9o/A2RIřEC+f 90֙1gsa!a%A"l9oJ.ŠƉ90b.&Zyzc\ (acf\FC{x/t*Gdh(%Efjhe'#dCPO&5FU')(2_(f6Ԙ%e)fHF8Xt6E!9j0"hx'V+vG~\ahh@-F1KRi. &.-0ja`$V0= F'!1>:YOJ+?jB8LÝ,n, >cS62?6m%3זmsv4Fn.'Nzpr?3\gH7OdVR6{$Ap9{شf\צrv"xBt8v?_&Tm!Wr'w$:rzPbtD:*F}(C;6VJ*:ru $?&yt@ r0@L=vD7s'qǷXsx6xv=)MP#~j= Ś%C#@ 4纰|){WmDESp{p6(q{|[t6XD.8}KbF}ҳAAP}P~ "~$g;+h!k{$GkTGϒ.~)E3;[~ťt'fKIJ!JhtĶ0;M3K@Kb;Bb{۟-ظ(qk[lhk{^&`/̂=cPeRZa(q1G+!h#u)BRzt?R3+E6:}(NRf;)ZQ/%I&菿87=^r"$L1DZZ8' HzVwLQa6h!H[1]z9XV0|`(j(^6 {Ü(]їU!ڹniZrs#<| ,WRLx#cN OIK̘lO\Q h,x|,'TE?wӳ*!+҇xhN+tγ,TWD\T'FlbԋLdd jF$[LvXH6ۃLw{lQ,FȦۡ[!8$&fjJLkAjk놔K}줝4mQ"r&ذLVRs CrׯK*+ׅeR)rM92SNB#ϨC=2uRDnLu([.ej3 $kSV"J,xE~\4:zȚzx?+d~/kf2r⇖d{2_]r/5#¸m[8ȑ`%3J8  K58ۊVv)iA>Jy#ĥذ PJ*Z/ )"` ="l-66$& bv:ъpXǘZBAL"F:򑐌$'IJZ̤&7NҐ (GIRL*9!,cSG a… J1L&VX˹7rץǐ"4 HW+KeάI&N0 hКD=0RJФ$j=J4V]|vJP&^ɚZqB<{Bt J$HĆ@Y  iaQ2+nA nv :͙M7L]0 !,oJ寠$…3erxp@]M(".4rxdȍ I4ٯʇ$Y,R~^T?0=vׯQy%j(Ҏ1 6uQiG'ZtRFi ؝d҉v%إȝ%  4-gTÓ(ʵ0¹vAR8 !KY \4ǃQ8>p!,vKJ"$XPL.d˹R 2$K?u3nУs!)_IJ\9_&;g!KRL,IǴĄI7mJRu:s VZZU֪!=@n=ܦt5bx_X 8  lix% X k<\QBl'24XVfY4 !B02J+|жgKA!,KJ$OCX+@V)˔AT\GƛװK?( 2/˗<ܹfR'gPC QhRIi.R=)֬Z~ V+SO {4ҵ_ȝ+7  k% ]vE( <(caWナYC!;ijkqy餤^-"'p[|f]ō!,Kʟ$*9 2.SD{D];gѣ*yeʕ]#H"iFi0gͅ7 ġyQh8*(NJUX_P<uR\d<:Pjf%UF1VT }S y"#ȫ ʓ'!j0Vwn>|G[+:i!,KOyK9lbs&"K? rcƐ#+urbJ,5Te™4m*N8 tă/",%QR=RC2`1Y(Jr\#S$(&ib42E(zSF${OX2۪ړ.ԠQtAGK,C"_XܨЈ*V@*hW<^g,+qua [r%^U\*%o8o27JGR*;kZs;Rډ_&=;676ir'7-C7u7`~{qJ"s.Q<'zS>3(;hI AےZR$]xCS tEcR% JWJ0aXJӚ&ť-NMjӞ'8eN*3 JJT:(QJJUZ@*ծz` XǺU2hMZֶp\J׺x+YJT `K_-iYX:d'K66M[e7ze1YMjW{ђlgK[Σj?[fj?@n{Xꖷ]qa3ZWR?znUpnW ܳc /Wܴom<{[B]xZuЯw _U\+;;\U8xapy .8% 5*XUim݊bS Np^MY _U28T-kv+VV0].~G^`W]J6/|߫e/s&^fx4>1+2!%/P\ɼ*P2v {i/hG%/W=V{yV&ry?]V_Gw1]j"ڑ7M^Yֻ2q=VWg^0-W|UU1=ޓJ0Վ&zރ/VnKc)8]wPG[nEy[^n͹*}g[7yL0Hq.9mu<'+z[q|i׶>;1+~y߮2}h:`wv Wd2,dkf]o;X.܄wW+;{ۜ=ܓ۞Umo̵ ןx+o]ۗ$V Hnך>/lʷ/p ]#s`=-~K"}uzǵ1sOqcNvfRu%U0TScy?&g?deU]]]oǁi`Gtd|j-Ȃ8vnieFo$eh%[xS%b^ZTHWH(sc'6[U8pXMdKSednZqHtHa&i8diLX~Y'yxf$}(Zw֘'Ոx^6C8ʱXȉWUDP吆Q`8XxȘʸ،(OO ЋPθ؍⨌x8؎SQP(8؏1uOy XX 9IY!,KJR_‡K5/ă$RW8s_Ru|8_C2Ie9b.u$R2>4z4)QL frR`TNM83-݊pTGK(.TO\P4%6 (Q 'paāmDʀzi1GZkڣB)>!,'SSyR9DXTM,\&7#H$ĸ1RY:t2fH4e0N}!4WPZ<Ԩ6% (NEoRqC22RL c 2⇷bCTL_ܟBAǺR l>4_+EVu}]k̶k˶;kn˷ m-ھaGfq{Y>ׇߥ':c>୾w':E~o8)˻}ѿ=`NzM\~{~{!u[~ґ/,fxt%tjΗt[v]0}g}sa?z[&^gbkwWWk$϶k17Wb*kUq-Fkvy &f cBGo5vt (TG\Ѧ[7jiYcuUiÕseŵ]EaNOuu^EFsu\XqgkXF5h\ufgrrd_m[rz}_omi~ax^飷\~(]&e}xoOi{[Յ^x]b5brZhŅ^j芧-Z.{hZH腾㋸h[qcXZHy`88[_Hڸ88X渎؎]P8Xx؍!, ^SGA2 \Y\ e<(fL)Ly(ТS*-XȨ.JB깔+3uO(! , XSGA2 L%ࡌE%XJEhrfE!(,[GG*\ȰÇ#JHŋ3jȱǏ CIɓ(? ˗0cʜI͛8sq%ϟ@ JѣHӧPJJNVjʵׯ`Sb KٳhӪ9v۷pʝK-ݻxݾ Lˆ+^Ɛ#KL<2efΟ;ZtpʱSWpɞ]׸s "T,qD/cN65]{nmorc'k<}o$ZBHG ݁zt]17xSĖFgPxf΄SҎU3hp\(ߊW}1B0w܍<(т>[%`Ž;9b9(SH!$TySh3Z&LR9;Xj".8\3sr'ISَ:IgiSPA;SHV @(bVEؙq[~R+ꟴg ⩼뛩 m !mpg,>ѯVkn vYbtB.E+nkoo拘B4pk0& 3$?W96hd92PlE<&; ; N `$;栱Kӽ9篿Mc%3 # mpPAHݠ8 ;!FģP'LQF?\NG?|;8Lõ[ɣ7BpnjaovnP[41 ;(:/|\LDSƒܰAvㆆwX0P(>6#E,c!KYipdJZr#p 8. d0G Dh77|Q#h;v1n;Z.^N$\D1-o ̕,#hb1K߄Q 8ISaŵE 5& p 9t %pJd $L1# vØ@#Fpr(ᦺ#{*9q٘C|[&*!* !Ք TOZ BW>M3DtiQ՗QA죂(}JUKJĪjUDTuղX +l3oxRjֺWU+t4 @9&]JUz$6Gfi]a'{Z4!&IshfYpb8AH chg۲ p3f[71t,*n֎Q2Q! knu[t=F]HU| :ѻeqV#h"GFNN PiߨVv l1,ӂ|0{,ф)|/ w, NІ9.s,(ΈIlŕY1ebƑD):f7#H8u8Nˀzk'R o`rRCnx}YNR *0֑:EWTIvZl0nt#, o!t];AO!7]Iˌur#rԝ4 }^2J?55gUZ/z.Z+eM[[5X=c̎6X X&n'q#!m/&ʽrO<%}x[]V>|7Z}tw-%-EA@i`G8B1! ˡB]@n+c*d@;.YކD' $ST$;ߜ>fqɷ%e].MQbYM,81dIГkaV.+륛%+ʩ@l 6m~lN`S#3+Mi9/1Jr!^ :$ \BOz#XhC a&cthڅ~ȟ)W3}2}'gV5["kxP>Ůe!aG''k__t (ж #f0x1/RHKp$&B*.0(rnqu,Xh3rm{eut% &[?H:BnCdXv\pׄ*B7cxte;7U~Z|qpyyy[s|gt!r)B]b‡hsn7cu(zqE?E&giiw^tXgwHȇ5C7XXxwdžjq7ShHfؤMud6,)GGt{P:{27-a]ݦ.6e{.u29C#؉3T:ɔFm>Å~"+Q^HxiكL$iGS=%=0(۵6"%>3(P3IRQ߳B =PjXL >SⶔhjJuubg/&2YHrzj- ;`,_I֪ڲU836f*,'#_#+[6S,ʬ &Vjzf*'YyZۊbj:ᖐ X *:luẬ cUh0"榎jg03&I9Ql>J1gbtC c쀅A0<ųoߓØ}Yic9U+ @'qXZyByx[/:6s3=CsRJV:P# ^zإwL;VhmC ]nQ|O1(㉨}}Xb&ϛ`nIU`4њ_Ѿ7vCb{5\vLul3G5Ʈc{8 $kFºg<2lW,57p~JosehԓMyILR:짺 >6z`*)7 $BI`mS@u'm`A=D>pE7@pA5L;M&g̉W~AɰQ : ]{k7 7Tc}&'CEzOOUPWuf*,m9')" L"@qS},! T#%}=_AkR-@Cҗ_.`v<Õ~E_b ۽&c ۗ'C7}1-ZM4=Z30|XMY 3=YٽnY4TJ5]Uݑpz!]‚i=:mxƺ߯]%'Phk+|, Qfy̾KihQd<Bal)o+M*TTAV(7~ThuY;-}Kkk_mJnUhy4DSF(;|TSfUVo>N`s4W>O\Jn]<__=XPb>R? 3R,t5VkTeXPBYNvZ[iob=BE?2>whd7ޙ2P&~]$cB.mu?ݲ'V6U&jAӯtE森S./,V"p>"xU{~iE),qY r>VUUe̥Q;إQ ;8߼E5n8@Ǎ$FR K .D$B1eΤYM9uOA%ZQI.eSQG:J/2y#_%[G IBd!*A*bV]y_k!u䶾 a+\!K I,ɑ4ޤ%\iԩUfڵQ,N%*sY-O24nLB*‘e_O^uٵݑN scw:Gp2W0;BpM"^@$-))"p@ 40vR6̅mp(Ba'?FTsB,$7{b ApVlMУv`=}VV"a ?EBּmB 9aH(z vSNTP̈l#ֺdXmo[8Co Da± ;ؐ@hGE4-CIEN.uK@5ԣ3HlFPG;c1Qw%:PIc& Q-ospv6ᒦ[]M6p#XRvT 0 Seo q Lyh*@Ѿa ϊ-C\e(]$Aʎ+g។THⳣB(&iB(T-Qh&;% 6Vz0Bu_`G%^^DBvha9T0D%YO R?pk-R͖,v{ cA$z˗Bށ@X6uCXuc98`N+ O%7AdvC]Ō <&ڡB+8#; ;2e18𧻓m"^#<$"DAP32J;̵w9/*KOhqb?2Y],3FHѰ Q+򍖳gDQrY弌 {nAe\VH\i gc.;D)6~A\Yӛc|Ye T`A +ȓtA BX}sәf#i`ӅWI`_m u8C1IzTj谽\B1ͥ6 GK$I nYp#I`,6m"`oʠXǪFXojT61x2*nACsҝGu#AxՁdB#@wpT0 mxNw-A"96@FX1[ˆ<#K7DzHa XyB;ԛ& g%M*4\WLCf$ꖜ7gK%K"$Ԉu=O#;KXbO=_1zw"=BXz)"=oDw'v][q 4#)_1|,D^vq'z?'$}#;nÒ(#*;g̒xB H< 8` 4@? GHj{q1#3hې8==(c?X A;̈+<й8ߋ77䓈):ߙ#3 @)¾S$z=B G084 H hCBt4X6":&Է;C,$5#2\>; # @A}C%1I1/_+%8DMA}d {3EZفJsŎ@!pxST+{cBx85 ֋AdC]<'IEFwkËs*Q8H<FaFI-5\;cu\Gi̍fF.\DgFjdSk l/Od R,tba p!sp AsÍHܳΫȋȍaG ӌۼ{8|큼tG:DǦcI\H|IHIxIHH T=>HE8HQ ()"`J>7p H$J0" x*Ɉ2,C<ª7;KE PETˌpEɢ<\ȌI7 ȧLLc dDT\aV|';8쏷Ϡܾ&"DlJ8NHHN\r dɔ_DΖ`K"x:| L|c GtHM\MhMJpC,PӕDHĵ Z<:y 4h GH5B9:|<.ڴay~DFKB "yP:ªGdºQmN(:7 :9F3RCLF{;6Q}RP,m }Nʲ8 ,A,<BPD  ? \7HT,3AFT:O|z 2TDE՜FԜTs-lPy H @JF>쓒?cy`#M<,UňD?U6|T1g-( C8&{7}% V=n݈-]A4= חx#s%X״pWWy֩AͷWH1H AWzr*>]"M)EDXBR|(+Oyʠ3MYMXȈ 8yYUYm1]8@3r3 .㺊RzPuI0YPF#rp!3/0 S0SɜCS[D˖Wwn膃Fk2ٵMu8u/MM܃(6k s1 3Y#Í$È]9 S`H]qkX`jFPN٭ zE0-8\W@|h͔x]I{G5C03t3%;3P;9F=Fسz6UX^-Ո h{ߟa.a>aNa^ana~aaaaaaaaa a@#>b$Nb%^b&nb'~b(b% b+b,b-b.b/b0c1c2.c3>c4Nc5^c6nc7~c81&➐b;cCccFndGc>FdIdJdKdLdMbEމGdPHdR.eS>eTNeUnN։P~eXQ^eZe[e\e8n圈e_%e]fb.fc>MefffaFfhfifjceffX~jfofpkps.gu^g@#Z@x8y~c$ngbv/vCa>c8^h8΀Xbe>dbEP-&ac,5N@4+6/&i,V7i-^h+Ah4g~g//~6~n+fjy6xfX3~/xZX8 @vi-Xj bnFgX6jj6jVj~njD0k-+,*bF@0@?XTB`+۪Rbɞ -6Bm@n%idi<X1btgfᆬ.l101Xh~XHӁkn؅6Z`6n3n&nj6nņnF n~fk~*l,ib fe`d`­ EȚBxQ`iF,fpɮaAr&ܖf2 n g箮 ygI~No$nyr&'Girn0hrn*rvqg#O+qbb^ edО ƀ$a"36t @t)"Hln`&gNNlO,b hnuX0*n?u uZWr[utLtTgM7v5 l  p-7Im+E(K 8t8Otvqrtcb_⦎ަriuPgh[O6u3nq}|Ox)|wLꡮb-w|.>tY`@j/ 6p_w6 XXwvew-`-vzlxh @ss>~''|)z @>zL_kygy) s E `Ffid§p=_d `cn]n|?]6v ^~'kiut}NjG}՗Zkf}h}*NlpeEpgi&K` ȫs.^EXFsk:owͷvj cjqV ",8!"nfb VBDkB2aFf,9cW`e`A.a֒P 7DBHń7IH%&X I3a(YrVLXBXBLڄedBElqz5WE$V\dtz  v3n1Ȓ'Sl̚7s3ТG.m4ԪWn5֗/Wja۸^ܛnȿwgL#w^3o9tȱSn:ڷs;Ǔolم׳=ӯ=7G }x *(ڀ : JZx!6!z!!ڥ!%x""-18#x#9b=c; 9$E$I*YM:$-9%UrQj%Y%aey&i&k`m9'uy'y'}' z(g#((:(JD@Nx0)z):*z**"*V:뢕:Һ++ ;{ĖjkfdJ;-Z+,j{ⵝ2Y%xm{.-V߂{/ꛮ[߾f6ɳ|0 / oprV(|1k{s&n|2)1-gr25<9̟1A =;mt>M4M;Qg>}5AKTwf=6s}6^ov6=jgEbǽ7v@&}8Gn'~9;treemacs-3.2/screenshots/open-files.gif000066400000000000000000042773121476710620300202770ustar00rootroot00000000000000GIF89aV  ##9!!$!$ $)%%*&%+&&*%&,(&+*)-#+1+)0-*2.*5,,0,,1-,1--1-,2-.1-.2.-2..1..2./2/.2/.3//2//3.-5.032,.1+980/1020041051141150342152062252260545135254475593:64>8;33:3<88;99=<,Q56B29D4=J95C:3J88D99D99E::F>8B>>A<1Q8G;9KRH:5UUC3SQ5oWD:@@BAADBBDBBFDDFEEHL@NHHJIIMLLNLLOMMONNOFFQNBPHHRJJTMMPNNPOORLLVNNXAZDVGXPPRQQTTTVVVZXXZYY\\\^ZZeKoMBf{tSBmVn``bbbdeeeeehjjlmmp|a}qqtvvxxxzzz|}}~UUj9U^JUUHmO{eKnY{NtY}T~Z~|{iUUUUUWX_`UU``ddUUU_UkUUhJ;HXLfpvfripUQu{‹u{Øh•xêU~UUDžWȩдتƸ9! NETSCAPE2.0!,V9(*D A]#JHŋ3j谣Ǐ CIɓ(S˗0cʜI͛8sɳϟ@ JѣH*ЊӧP\JիYbʵׯ`ÊKٳhӪu۷py]ZeqvjT8p 矀*IE Y!J;Tą Ak 7y "6vM")MoL m !t@N~q zk~T:R qN!nC1[ ldpH#HYGPSG Rꩩn–,ueG 4Miܤ(I"uj !! 1 ;tq1,i%{xò0ɄF<1z856ׄ*PZ[lhXm@@...Qd.{@Cϡw!Pb4T6RqHeѱk+|Ț;be@ ;@tE5Z$47[/~Km q%RxDiPD?$D0!-AEPAJR2:#c`Gݡ]`G  v3G&vS7AH[SPGīuB8EZŦ0HL6o$[D:G?؁r,n .! %"߸XEmpw^02' DI?r $/$P3v3 "p9DF&p6QnF"9Y ԑIyR G@]up!HSrw̥.wKeEG7 87*q\@)uӛFh:dS2{(`T-C>`q ;9 91~ օ|G֮ixh7{#P*t LݪDqXiZNzkqv0`i \@+Ra.Yk;&;U!, g8ly"ФV4ȀIS#2%pL΅Prv=Fynô :qޗ聈assLJ[Ҙ+Ќ8);C$iPԨNWM%*ϝ*rj@&%u `H$ϭgMb'[B JbCbP@vQl46Qk~MpD9s I2g 膶Mo8D"mAxU>Rp@ MlOIDp8v}{nT4]@VsT$C:*hDsBX"G5?'=HCN HDVsė͡> iOWY =MoSY=VPNg V7D$pSսP*V5Up+{+X|s:EE*HZ*Q"#0a?yb_c.Z~/U^>2ޗ%D\1d&Zͬ:auYɐ4GWKܬjXJ5~6h< H}}!'xdZ1 R װ^%q:(:;W2;;kIG(:SHc@עI4t3<ϳ1=ՃW,= IR8T(o(qS Ԡ!ATABAAH2H`(cOn0mX*b6$/9$C@dArDUx\Ȉ^( gG"H$<1K4D=G1ȉ;OIn@JShKdKԊJ$K׊b4x 6сbhP !!W"N$OS$O&%DP |,Vs$WMӎ{ ԰a(2QR*R.%AESqSS񛩹J&twaAy_)R" :JIjn`!z #v`mtJٜ`@PΉdaB[`H6z"\g`mv9ʟРJ*0YB:DZ习#1^c :R#v R`M`RРQ)MW'*^M0PeRvqpx{p-RZTjEz4qHJ5  \P)'j)qqiq1}d r{3qש%c*:0vy'Ff* WiX& mڨ q)ңP`Ya7'::wPRPsHcѮZ),馴' ]PƍZ gn3o3njVƟ%'{K#,Q2j׊ za"A B'e镢a{`1[):9W( Q)B:Pȡ7ڟgɳ>[b}Ki @9o"!qyqC$1Q3MV6r wiv`5^ \ )+x.2I;;O^Zj?SSd 29b )Hs ۠[s&svH=$G't:#>$ԋK kQ$Q2%vu|uOǼuP)vf&,h'rҼlGKovrAPu0wZb}ۻ1v%&}"KݲGW X'[{ t\\hڨB/z!]H<tZw3CdM[)u`vI6{Y,9(it`m";*xxyy'WyyzWzW-z'{vL{~L..kHW/xxbBSe*$Bʗ z {2.,{ -<z8B Pm%ؐ̂_*ܨ,-_i Z!hU p5Avir6⑞V!t@<aׇbyzmٌۼ1+;`Rs~!~CS~Fi~k~ !#WKòHh;g55r  Hb`PDF{C:T4BX"}ܦx$C}޴}kE6'='x 'wd 4S!<P4)IĈ˽-XH$ӑA! ȀHDC2JdH=?4HA`B)4&`i}^:9 " ASz! I3TOP!ю mL HNh<븑H+R/Ր55m8%TyCePQx @YH%A|R"ER&Y8Q~ߨ ְĘ&\Ύ d@J`p [WL[œEh>YGI94k NTWy\ZZu.I[[y[ŖEǣڰy n랔 Z`BZ/}.gIXRP Ѐ_>o6*y#A&k)&Hq??T/>AyGY_\?X(WyGehsy:ipd"Iaqz?akovX_6i y )Vow"a @ ki#q_A61Ȩ n )J?w_s`8OHzVQ;.[#۱+ˢ0ygyw/푱! `] .\h!Á.l@8Hń)"F!E$YI)UdK1eΤYM9uIsA,A"J^JV:U+$* %$Di2E'lJJ$-qfe/rY0E,b 2ڸ%w<;8yMEU낙\!m١([ȦQf1/u 6tᤍB;Q̽ZмFxr]~(M@2.MaruYu;SDZ8o"OWzb0 4@TpAtA#,'*$(ppWp+²WDJ4l$ŭ8D>H!++"XԐŸ+J %zɑSIAh=!6&|(;TlȼSLxV(Zlv[nۊ(pX0/v1]#K>̚ݥRxE RQ*t Ȭ>$ kD @8J Hr<"aun80\ءs0H 噹T(f=QkHgtg`玁X%z YgoLFYe`mBhzփ69kj{nn֛%qɭ T'D@)⃦`pėQ0qZ\aޛAMA@14 !jDx/Dud5ڱc'g:l m/gl"Bul_ q>kwaHrޓz kgwWtoEH(sSيR #Mp WBB@@3IsBA@}IA :A @Llvx@4 U:@667Á q!FT>V$3T`p9r؁v8!/ 5Q{cG@%`P.uI!})@*AKaY$\%e`oR>Aʄ)C)@ChM۞GauMlFqα6|}?C|(E7 :ћh* 2Ma@DYMO(7t_D U ^SB ; ( lZ;xR%hA zkȿ4}b@FHAR*J0F. '=XDrJ5JE_u BUJRfaG*bl! DȤBRH7NC 1{aa|HU)>0-P`.JnB$ -ayfQ&w\W--HpzBh=ň}ơ&]DFQBs`c15 @Ɩ.$(G6R&t` (QqXc(-;a &0j uTF#p<`l0-3 ~ 2C{ȃ6*ˁA0P rp@{ Er|e,-M"Tb^ db,Hx7W9"@s|gs)4gHHK:(I  H묖 w?$(K *уؓ@ɝ 7R DS"m0# ;`R/n3pAA3rC73 t3*𶐠#!!!&d1B3Rۢ2Zc"$R"c9j8'A7|C8?*8<ް7=@C!A<<=DA$.);;;C:I AYq7@=X=C#2C\S<8;AC($)ؔS@phZ}%^%`&" &I@@otZF1,lRA!)1Cr,Gsl9?<)؃{2 =&?Aн Y)x\;9 `Ű1:?=EED/1GzǸG 8@]$I;pG;0I|\E6m7p:2J,*pJʢuH!B7od+RY+Z*+usKKHǿ9A0 lA0@¼889A.ؓ.ā Tă;ӄOܰss#'KGۯ(21XtZ/ n 0 s0"KXjKLOl $BLC L89AB؁L2B !OOC$Pԁ:==yM얋l}qLm\QmQhOZĴC9ЁPM\PDŽ p :P3=9I) Q8. =n1?r CsQ4MSQ3z:dOҦQR?]PS‰,89= hR@DeDPn4@j@o`5TP=G65$ Xu"@3R>]<(H@ PX P PUA:T= U V n GTUVV!_V:V;HPWr-,UpS 4@<HC2QXU3xD&_?2d8_HF~abgtb5+eh &`Hvᘕ]eax}b_4`NgnZ\f`g~S_bhWKvb\UcX?^i~vh郂gi?ii.jޕZ>j~껹ZZؽ٦jjjjjk.j.kNkRܲ=kk#-Zk踯\Z.lÖ]=l~GSlkskȾl\;.WlNm{]2^mNZ@`I JPrTmiz@O:Gm>jvp$Ennin03RJ j"1)K&of$JzEڜ)~od(ꐈ oObmx orLp5op pHKnOFYWqqqq7qqekRr#7Ɔ#orZ"OSwr+W$l%?ݾr//j+P.s 7*r60s}ؐN& 4[6m & R <8=sDY.$&R&% 4COtNU)ny n.ɸMtVGޗ~pVp[Vpǁu^Ovu Ra.6 Que݅hNhWo$1$kvs?OǑxKߐE7]?w|A~t/J w{w7\wAGx]hx~wx-q$:x8oqEOyߛ_yyhyyD&yyyy%`*-Ђ,&X_zozzzzzyyzN/r $TxE'B_]PSj*_WP "n<;wP6XѬ bk!856CzmBx-;.{.$mQB8;OC; & i;[pFZ!ΘSq䐣MA_QӤWsPUŴ w, 31D,%n{|393=Ѻ3?Ԡ/>sr-n*l 6aXkeyfAqL \"A14N)b" ,?ĵ"+t5|8+8;RЄ3X'>4&PCC}4kBý:BpĬ}8ꤾi\3<ѐM̮;#:bs˧:aw *58"C?nXGwMv%.K`@x}0#,a$w)MTbhE \7 1K⌘#$ȊccN61;bDf2Lf0ԙl!!&B hA鸆v]pP 2a! 8kma"o:<!(hxgx 8e/Yd63p'ЇN4gi̙#X2EfԦ>ukE5jB79 #pD p9Eh#o6Klc#uAqqxCdn P8 j!B|i"F DwA;ĆϾF]kg_u~F7G}dODrs 19=W0gz݋3:9SS  S_8Ƒ @ȈqFBz8tp'JCP5P_\>/+b~"}5 .Sߞ.Ѡ4iH_ZDF:xQwa`H\:?'pw0:3b=pC5Y;W"7_BLVG_9X 4X\μhNHimM h9PD|A`_ XՀ r؀Pp^;]qљir!p:ZN`5F:X|ޕaD! fȏHB|F8@4@RD"x 'Ce&v !ݚ:"8PAC7聟ŀ`nijaC7,DXC6Ax0#.6)@):2,J-bEC9T(r'NA_ #;ct8Q/@QaIF79XîY6@6,/6A"Ԁ58XCm'40^H8pC"^IdJxB2$78$DJd5K&ZFFvDxMA.@8C6¨S>%TLrR7;R-R.tՅ0^LLaI@%F|H%HF[%\A?q78nEX[ƥ_%`b?@Aoe`6c>`GH .&cBfn&gMN`ffv&jjDtX `@~X_&njXYmppU]U'^U&q>'t>%b)g51<^#9gtvw gU'h;VvJw~z'lYgmVn]i}'UrUbUHWUWʍF}WxQ!.(G'~FzWSWї}Y~~%E@u D()AKbՄ樎~^sMEU`EVl#j@X_Eh-ݍ6GXKH)쨕^)zXcIF-f`h$HAYMim:tٗ=ڙMDYeYG:򙟑آ!9p7Yݩ JP:XQ.ujM*a!NDxjb[ڃDYf4ͬڭ 5۰9Qa6hۙr[Õ۹u5@뷅ۻۼ۱&k./& :ᚮMD֩A\z++r9DhCmDR%vD*&lVy\hڹ]]ν؉MЉa}D !Xdž!DȚXq >ߌIi i֝>- ^R,=i^)aE6^P t ҁvߓ쀮ު."7xG|h,NTFv l_Hmm9(Y` ԠFtq@.E,D$ݦ@ڟxblNf!H[jn>N/ Z渠) .oa!%6anRDf.;-ꮡ*nJ&˵(ښoGlN0 OO T#r$J"%ZŅ(r {=c4"+"d6F+0Y JA O#$V"E ./6H첃9pEF7b&cecV015<YQcԘG?A%BB6CFDVEFrdGP$s4Jdrh:l*d"K$?QQHe)QeR.B)'(2E,5`PR +3ʱ0s*M+Y%V.teP^@eN|6MH01w7\e7%}La@9!:73=׳ ?@ATiqB,`ٳB/ d.%z2E_48hfsb4Hʹk&_ͳH4KoUYtK״Mq~r*'_iv4P5Lb͖cAOJ 5S7uN'chVRR;5VgKքgt]VY~Ju>63) 聂דDaLY^gD|iexhmj*as ͵Iب]^5eu:ŏjvXfđzcDidW6kgXZƗꐍ)*ij~jiYE *nZmw*nOvjD0jNnEhFLvkPjJ*hf++ +!-k=ke>bn2f̾؊+wSx7KyxM3,9NJ{Sa^nlvl̎*]yԹ՝a,1m؊lVDzċ۝񎷈O9SV^ˊ_xz1.;L9قmbDq-^Eydڮ9nCpBW9wf_,M{sD_XѬ_`=G9~芠SV:k_/ fp̠F ! orί9!/r3 /br5 /H5<Ӻ#/b?b$. ; bbC!" 0 p-F;02ooD :Y3D8cq9 <7R.OD³1|VEZUSD-eB'"O"`#FHEɚ% #$G:dC,|,ϲ"R2eOd7QR=,S1W,ђ2o[{e<HI؏On8o8^ 8RϽ4>>sbtE=⳴CDDt'gJFRGC~O>[4I&JgBo4>wsN^AsNXܷ'QWgca'BgMyg5'rQ7WVXS4+??mZsgX;5ihMԵV?j___ϗ`Wa^~KbD}GhM@?e=}޵kgX/perCDͰ1 9bdH#IV8#I"D4 _0gN;yhPC5ziRK6ujTSVzN#u>{zu2&MZVtt]\v"RvG[k-], 7Z}]pZ9oRMݶ=`CxLH˘5s㍢E?K V܈;H#bŌs-꺱 Y2p \8ڶqsCs$ XpĚ"of5}zٷw~|׷_K^2Ξ{!M #@2#aB8 &7 9:عfBjgoyh&6QG <1$jh7шvLjtˆ&.owGwA&-M4T;Z"y#8v@L:٢/gl," 6B4d`Z^AM:Mr2xU[Wߏ)ڦ>^(|ŝOH[n9# vC 4 |5J¸#F a@B <& $AJaXZV2OFD&Ҳ p0j 5Q`^W칀Z3 \F.nQᮁ^%[Y^,K`"ok,TWͪUjYZ>O+0 Q[j0kZp`F8 lUmt[]^Gl,0ȮS;^%Vf,nW0M~v5HW҉I~`?$:1`Ca0!IL  010l|ܣn)mqJc9P+| CU/"Hك?0Q*\BT&>w C!6t;"C *Qn`3{2\g;ۙY~XA4!ڗWwէ $ ՜|gG?v ,ZK[8.yKF0YLcT来Yg@PtnĬ7nAuxPY9GVvzH@jZƑ'IBD(uD'0ء"FڐThI>%G:š4-$ w ve 2NT[j5zսhe/\Wչ#f+"B:5]#ĶB-x_oyswah"6]KU&5,d&ck2L1Y3r"ZD43qZ fq&7@8;E$x@ǸNra2J΅f)1 "2^ey^ћ^w{EP}wj?U'"l^}:<|23 s"H:9HsWaEl1`x4o6A~T$J$b hɖPyzᘒi.8Bj]b¡%ɜI)i ɞBB !GPʡ $Zv%bjEʭ Ȕ ʩȪ"%f g #֪*檮fLʶ א P*k  v P(:Bk{j0Q"f˶n+ +u¸K˹ȬCQp˻K G[˽,:AsQLp'qpz "aÄVRlZb̮L2,B!*"Βbbkő X˘ $̌& ,#R",Xl !!b8"}BѠB>g#J(PR(6(q"_&kҼ,Ă,b4-69//mMMxՒHc3f5B$0#6C*:c;)k9Lx:R;3h5(%cR.-@-6ڢvB2DmE$݈֭xDB0AD K@H/ߤ2ONdODG$I$:NBSO%4dD .o74?SBeT$*膮zAb(F-/oءNdT$Nj.nnN@O4PwJjNg .S(3>KDC&n3?Ck?'^'Opgqxr$'btBF!t$bFkD04R|'$HAHkSOTKDz g'7b'Mf"G |`'$|ִ\&NQI:LPwXOTDDR/Յlt|(#7>i]AoOޯ/$PfJuPuwH8 F)N)X`Xiեt0"PU؁ "1[ИI&po: $.PÉ80>4ccVf& @̰qqf{gW Kq fi6RDkvjm"lÖl21ΖVlזmӣ뻌 Ҷmn#+npluLmWq'˜Q8pq+r+,djrCWt!,MRI9>wtkq1Q>,gcԡZ!e>hvo+, # -8` $f=Xrv|7'f2Sjpr/7-'A-(Gm+2~ )^w42)YC,S.,f#֚~ò-0M||'A.y?RMsB*d0>31͍1݆ׄJIW"l >"mF GH8D`%3'>gw<%\bb8je>F.:Y*s$օ䞥W8ē̘Vx>؈߸ca>cjJBuvf낦Ac 4DK&L<$KōᘒVtnꆉn\AbFٮFTGGots^vJG1J49J#>&syKgL8LEPa|d/N u!؂,Qh'RI(uSSSSOTψqZ6hh!+j ΌzkV֬ۺgv6xڭZf6ڮSVگ Dw ڰ;>7 %۲2s+< /[t1Qs:RXu%/.N"vM2)l' ( F['wwl' x7y$!OWsOy}B>4',w[z/4F?1eq"${]y􋧛C'm(B"B{зlrbW6-Ԅr]Mw7XMr-U,,~ ʡ$c#zr4*O @(,rM5X#w.xSM/ @M?MBxs6KxMKWX#ABۤuK Z>4KbT3s2+!@ℹD5 T#e۬u琸78'98Y;9%sŋEѬe<ESw? 4eerK-=:TZ"L%yj E%r@C# s]!NF;#>pnTDIzN$T7GLjvtP}QUcH 4X'%aއ!םԗLL.yM}9N皟y<:AdBZsЕ9]J#뵞q [U\2i]Z@ZEQP6㱤a/4 A !S:^9`Gu0nMBvPZc0G8w]';ߪ G6 U QaN@9;BebCLos֩0imWcU#88|1ĉ+Z1ƍ;z"$K<2ʕ,[| 3̙4kڼ3Ν<{ 4( FX„R iYPԩT%5֭\z 6رd˚=kSÊں]!*ڹhҽ7޽| 8`:`0b#+0l Ȕ+[9͜;H,Qt:Ԭ[~ ;ٴnXhN.YZBCث?<̛s%gwvĪۈp皋s>{&*tb۽{nXn?FGuٓ=2T߃NHa^ Z{c> Z` ݨ 4;PG8SC1XcOwsҍ4!BIdF)TT\B];=L2%bgcIq dN!da a ?:9;^)dzg~:z8tSbwAEf %HĠѣo:E@pDiGbzR*gjauôc> o(&OQŒ {C@s6\#.,8t)R:y# !5Hx6{86p;8,")r`BT~˦4xC͏F;E_P(j&rqIu 1s=&:k cCN!nChhQO}B\s457Ҽl4rH#PSGӘI j Mp "`CZ+\87PMpRS]XI$zꪯzOYdB133>Cνҳ?J;ĀN.9ooTZR2$"'_q 4؈d*sU'|Aw&r_QdAwq C Z-Z lqJR$NDd3gQ:@lB`? ! rr/F9yFft$-x0^=܁ d S(` &p'ѶSg ,Er (:n zW ;`",5aA,;a-pchk[Z7Ё 7$X5终AF"@cȆ ]zӭu9@uhcyFʪ.֝An@mí89X!w+x ދ2a^ v>ae)(JhcD1x7р mB;4, 881 "D&Bc! a}<(Ky(&QM8e?2 03S-lqK[".yln3I s,1Z݌̏J&"C"nD"8I9GdX8OVp+^j,e1Y9-mq[u\u]׼d-YF:trB=8r`|N_=GYz+vHv2>N7;X(,VF|!yU+>&,sdF3jg{ЄF4!MiLs>Wcq]ZVmmms-m y|Җִ;i;|Hhܰ#<t=9{ Yj|;Qmjcɦ s*g{7B4.v]n0X@#?8qA~9m AAAWVDBDB*D.HMX2DC6TQC=CQE./'PH#A`A CF"F[hF`X0C5#"DZDㅎB7(Fp$GtT"ՔG'}d"LNH$I{tI$K_& 0,4I(9)PMwT#JąAr8(L$MԴ3քM4M\xQQDKb)N$OdOO'P؆H_ IxnH:~%Ph6M PP )f(++R/S3USyT 8U;S?T"YUMA#UTeUXU\U`%Vdp~$xn0#' "vny(,IYTXXYU]3UUuU>T`Wax'WY UZeZV[qR[N[%\e\/\]Eצ]@p49"DzPWUsk9b&8_^yu\%5\aE^U_SI(`6abaa".EGbZiǙY.c2Fc6c:kadUʼnɝTdpdQ Q wٝ)deGGKOq):dfvfF &gQ֟ J'}&a!@Z<6 +Fj֡idf,J5'i3j? Dkb &e+AʤMB(6ɶ>2mfN_$RB%V+Vgodoueѥ`jwG+(8()}Huʨwr.r+!s|7/~w,RsgG-?2 3t.lt.ҰIiguu31v\ ^ǪMWs*G1335s32+74s4yzWC59'6'~۷zl6pzԶ{}g~8G7|7sc֪tJ1c g;cG}>4؁h?cs='Ȁ޳a ? I8:U<D,d1DD"=c";jO 4Qq$"8AcY6Hpoa0;yJĎqIȴbQ{M0MAHsNNҘU넍4"<ˍζ&DPRROOAQ;N0{y˷A*R.S2ES6S<Y:6yUY!) a5VCF W_U#I6ɶEWSEe+`)z$9gً֘np[Iu蕗ٙ\i^^b*ͥe+N6^u <36V+a'J"!c:Ӝ5"-Idd+7 QXM,9,*9KѠrkjMLUghj]"h$h' ^l.Aƺvo8$(p :Fkrf{LO t,V"UXvt5;Džl)%eJnh%R m:oz6&ebrJɗSpp'E:g(uyHww꫽Zͦ[\*yLy!dy'{ z9ߗzzZٗ# gӪ~7/z6J*0 9دW;w:<@ KAݰK^ 2GI"Ӂ3(< )t.]ݤ({A*X}#q4IhOR8C>@ۊCK0[pMJ[/ՇrS{uZG#4LNhbkm sۉԷ)v@S=a-]؈ ,(״ UN4pxӐRKܒuqQmkː{@+ȻDXWQ99KK:KYԔm )HɑKI 5ޓ suY7 ]9_yZwLkՖlsY\ܱ9u,Z]:%>y]EjLcyV<DnUi$̜c*V H6LfSin;|LeI`TsgELhtJgX*hƌVx葎i1 &璮*&ǥ6l֣_~r}yc8Z#żT o3ӳS{GDXFY<@? ;EG-F ^41+.W=SQ7?8xg>ij}W;sUogEXn]o2]h赒H`{df٨mK]\o2ۀX;]x)6{ hܩTfC?~ݙ[BPk_ݯ7eO)TnS..W=̻@QWO  ~ѯQ6^YaO =enA2B pcwZfhŢpYNJ-pmn谹ITC hy[dlY ɓ)W|sf͛9KblD8nN,hCvrhe$TZmݾe\uśW^}X`… FXbƍ?YdʕВצ^ܽG| Ce:{\ٵmƝ[n޽}\pok0)M=~ZX--+2Ǟ-mݽ^x͟G6uL\jQ7r]0@$@D0ALp1(ZRNA B 7C?1D{`#$E0F0CgFo1Gˠ 0#X vPF$dI'2J;0,PI.3L1$6X!3餓K,aq,K:3O=sD`v!NLTQG4RIocON%Fvyǝa2aqIctTSOE5UUOK-tS{ǝ^@pUJյW_61TSNAG}V.GUXm[o뀊Km|νG {AC8r-)?7ةw Z6`&`Lj%7e5f :)#ځ(*`G&d2’Big4{N DrZvv>d!jCtA#ƩN=#i/)h6ށmX lБz z9!qpkEBZinz!d'TaŘw칇{a9MbKvc 8 t q28PD<ޘFR_`Щ9d捠@8D)8؆:fhnD|Ʀ@ v]gK|pg}"bojF!¶# .A0 "1=mq|[& c !ua!A@E!>Ї?dR7 w( r2 MFX皅|agWdG ,$B51l\ P sh";0stXlXȧ` Dd" aXZ }2k`$uEXHti6UZ &\HԱ`>Ŕ$%[NJqf49M郎ю12Kؠht9/hD ig/7gDžh6P:`)PccwPG"O! !6䶹"\g;;ƐyGMvԣE 03wCG_‰E&dp4QȆ$p'q<U%\7WCPGPэY-W̅.u][/٠sוu wF_g?wdFX9aLQQ`Lc.FcY\>k^!)[Yˎ3f+x3 hmIjVÚָ5q@ldRmmo[ YlҎ6[t(6h(=v~@;Sٙm<θ"GpǸ89r2)qsL:Սu-nw^JiZ(2^wm [x޼|k칐6ÍtF8V}W JGsdX} q#XEɵ3w7~"JoѡEp ! GXTp!;6%, SBU E/bL ?@2Nà9ĞXHwBD%֬O"[ALq n/k^bIbCQS + >.>CFzH҇IjnbMB<)ZdT+Vr%X%zRZ\%^@vKĥ 4]@Cr '%d5$T&tBE&l&noqR r2'(xr2:ϱ'|'~ J*=~‹ZAAsCv (r*|b} D=L[&|ID)2)R)r)U)zS*U:#2`*****Z+k +O28rX1*iتZU+ rA8zEҩT+TL<):zYEF Hxǿ*Z,"L2A iRJ bډ0+ XClhE r lY HBZ r TǯX IǜɁ9/ 0 x5Ð48Bɝʨ Z ʮ/831ʵd˒'T˶˻ CK 1 !!# d' 91#ВlʴLG5i7Q+ż%+!Gd(Q2LQ'lڴMɲK2Y2gNI&[QkP3V j 4r4|H0A4S#IGOF} iR{ʑW[ !ZjDE`Sa{icB78g+ ui y7;Nq uf+8oCp[y7Nr7,8|۷ Qu0рa$5T'8kljɩ9ຓs91ڙ9᝵k9[:;`v$S ;;7m(K>.:s+6!ziR(J c<ˁ>6k<؛< <<z :ߛ=o˘U[Se׻<߳!áA Ieeֻ@>&[R^">˾>1D?,:#mտhANjWr m-u@T i~`@H$JVp&O*BfAyj%A!A%(AXk-'[%bʨ!\T WPuYl҇m@+4 -<')Z/Byz3LD4C]W@lY= ;T*z'Dt-ى-Dd}ٳeK셒:Bjbk$ŀds+V\*pqrO5%YݪPf#gQ%k[8ݶR|7mPYRVPQ{!e'jrjHKb&<l)T+S9(Z AE9[F:9;C鹶0:C%:﹖F畋|gkxkX mԀ4mh{TU =_=T%>?&Dd= PB ½W}dk$ XKj~@6@ Bm=AqSSJ&=9]cAum8PٷFޱšpJeY.v @Z}ZϰC ڇjke:)X pIe[M|[NO[Rt\jW GYE[l S$]%zR+a5hFІ+f7e+lG׽GGu"酈]H CB ^- ' چ-٢- %I8B2yur F0J"cHJhJ* #r*Gu$<rP2*3߯K::H3G;g _?ϸK C6LDwt^sȜL{J1$(;O& bitPGuERb&&.u-NX/).b0MYcae5vO8]G‰r\;~nE[A.8dvIlOTű~I@-mgweqRS>dQceke-Y6"}8\V \x[&R]f%Svxf,&/5AGUgKvVTxԵԕ;9ӪhGuTTϞzhNOTic-U K+irշUVVuB(AY%Ptu.^VhÕWnj{eW.@׫궾<t| |:W/$Zl|Y}îF&XEoxǗñkYӾBd?Y y">^C@֠} 8L]ڦFm/|},DN))[FGZouEΥEܺŲ:@\]F tR8 dW!D D71̨q#ǎ? $ɒ&OLr%˖._Œ)s&͚6o̩s'Ϟ> *t(ѢFpR^ÇUݺɈy;g-3jht(9lyeY5\`[t:lnP7u@[q|\1'"mD'j[Ǎøm2T\"+MR#kέ{7޾.|8Ə#OqL6B=z峧L$-HۮˣO~=Ï/>}@ʄkto'L-ZA},xtBRXbaL&rrK-a}A+3X7☣q%tWG:xK2٤OB``F`0&cYgf``Ga laڙ{٧AGdE(t(x*ڨBhnB>fI'X ]MZjyi;+1tʕȍzګġ$J̫;d%+R[׎*+s;4k$HI{ۮ1GRg>T19H7ACG{Y l0ZFqLS\qPPq OI=ULSQgGRYr(,B`Qfr0B7pQnӲK[\G#Fnl/SLSMKL P'qYa; s]FX"0\gO;h ՛hB`G.6; D 4wh5"p8tZg:y# !05x0B;6{ 6>G+8B:_PN9P:v8PcE` Aa4B EPuXBB#Ј觿C"2,S2Ap:=ႁ;HÁ7  vЅ(Yʵ|{;0dظdBRX"d";&huL#csA9PCnyad3mЅt+ٱf"[,'GD)o'=YFppThBȤF)(#-;.=1qd, :F sh*cVыfAP!lh`$E[4A: MSb!fA!f:e"7ERiP#-ziϫb5Z | w^s(Ьh# #]v RB׹Ff4#67"v9 Zޅp66ȁFP 7RuD3#^,>ˁ;v`xY̶ue,L ŮrGJȷYu.q{u>qɀTH0\Gk-]ː/Ķ.,&BXcR;#kމ R2jK33m)C` ͆A*^!fŻH8݌Ґ1Kl`@ s=z/~1Ь" WH  2Aj,CR"o Dr (: n z8L `;`C1(O'ІkٰCIL"E,9t!61m:0ݜIlX_l0$OOJaS"X+ZG&-5ux/a8˫Of(PixLgZ5 m4(FC&/v"j@Ah}iq$7m78?өu(1D<rg [oc<}@d!Cdrat<2D'ڒ/TىiC̋nWG? tTR:D%+eIK\yq^=KZS9^; M:TN=zO.eLmVR o3UVh,#>򒟼r%/c*Yj{wʃ>%+c 0\*׷>,+_NvP~~11cѣcJFfyeʑPxޙf,jRZմctek>)Ps?;Ʒ-p+ 81=NLNl`8p|ONNp NЎ4(`h}  (PZmEUe q G`1!)9IQ_QG a X} a[#= JRXURYahuR(**A7-Y Ғ- . G,1SN)bH|j&>>=@ AI-C^QEaF1GHQU,JKŔ-hSMT! r22#uW>US>UqmLIFPr4)^(q(Z"M ՜"\_jtꄙGbiOԟܟ_B@P 28NX'a j`0Y@C86`02j Gp*R雒j a PPfaa "!Q:!!}5`Α !pz뷮B1!%Y"I'R%7ɫ :b-R.%"/B2@+H%GBGx"(2()$B16FIŢѢ}0bIΌl+,;LCE0T"hl3XU52ƲM>z#\V^Ŭ8U9NabQv+N]ConlڪNrCsUAfjBfJw՚YPdyEbFI*9^֞EnX8F$x&SFnlîbLd/ј1]_TOPrPQYRRn"leWBFHO$A e>dfHq8l:e%ك\Zn] `dHW$fh62ٛRƽFe\1g h\i"x"P@yDjHp[l~ɩpAs%r\w ߧv2ݐx' ;oy'zvz {|.i ~]֝ + V(CqBhHh8Gqnv(b(K~'V(hhAHLJLqp )) )pF`**tjv4fDC`AԡC>N Vnr7'ޠ,`A `8j>+jѯRCFaеrDËi݁y1DbMjm,Aa)7Ktx3!* !+fGhC4$y4-]LnnDM>U(N)-^EǮ"Ⱥb lJmBLAz~SAqGFOtZF4a@FoD;n*m8vZ:"@83W78B5>rmtnZK6۵-Aƭ&H-32*DlrEW>F>2Bh"7M֜vI@^vXLlW$5OOvpv.MMN Y""o>VYfW~D"pCD"1݁  8W !:!eu BvjED|/oDp7E[Z\V\1Ch/^v/eo^F[zD,FF96!L6"0bFn[e8fFwϜ&(Q8ovиQpmZ;y^;9~0rs?ϟ sebǟ ԰ '' 1ݽyށɁ אV9#z"q1:'z]h1(ȡKzM KtrNp 2!;LP9)$za2Cxi6iKhzM,HokDD7HS̵ , ,A-irz0W 1_rXlOlHC9h!i'xC53{6+ >Tk8Ӡ8s5R:*sƳ ͳB++CwDA3jY5"C6^hZB APw6|L:#Tt$]ur4yt, R4"tH\S654хGB4]L DM!,lHM=u(5\CFpR,SǬS,.XCP;@OqOE*4h5-v3倵c2>l޻RY56"Auc;mU^@`Q=bjg/C7 ]a |U6~F,6G-OqUdQt_u.vu6RD#icnF$؂qM%Ҵ:@H;Dag l° RP6)A 4q`"6cH# *fM7qgO?:hQG&UiSOF:jUWfպkW_AK^G2d~…֭ZY.17ҠqY37@n8¡Rd$ÎLCoSny(7in`ӖSpڠ)*h-<ŴHs0ED>zӄ 2f͜=aĊVM]9/@ʧ}{Ǘ?~}׿G,饗v|I0Az #4)n9ǚzcip&$6P,rElHjuFc lp"CmCfn9A6M owm&7TdEeq@ÂԑǂL7qFO=? TA -CZALz٤dyz'{-0K@)CDyUYmWaUYi> $\6qRwTZX![YUEgVik} L6c&5XlhmwWyzL誫Z65jNXnx) V0B H(X #08v7AY ͠ 0#X H~iqY">",XF 裑NZ饙fu7N:ĒW=[챛vijɾ&Y[I:Iywbnoo!u#Vwz1\ȽZI/So}yG@;}5uv[Xty߁*.QGwm#`IC 43]݃[u_=mcP@\ S9p!Q`_K6vT ^iX8qCи6q iBA8Ay41 ~4F0mcy6q1$\?!E.a x=A*WărR2a !؁Bd"7LCJBx:`!ƱӼѠ 7цCc1۠F0 klugDINV2A%61R=dWEMӞnapp7ҕB .@8DvD ^5֤V2o,MiN$!hpX(Ii֜JRWs Q djcٰdVR)H Dnt>3aAAPb;;{pQ($T]`G  ϣ ީuE"E@ܐFNJґ6[OTB=`v-(9UK62JB&Ŋ\$#@Fu3~ *O͡Εu+Mb-n\ud/}K`T1yd*sl3 hCxg#ULA"R5i @RЂt!&ЅZ7)~!:;M.E1Q#5mMud'Ңյ(_EjRT6U;|qyћ^JW.!,b}nU}ߣiKWVUri5|_X\O$V1a,A⁙ e*cˢ7T-vbϘ5 S2d,8c!/MJ ;OY菟7?}wϿ'0p pP!0%p)-.p9k10EpIMO=pYQ0epim.x aǎ@PҎ P ]O/q 0 p OPҰn yp00V p.p?@"a O !1%q) Pp~B1ذY(@).p emX n qzϮn*q/ ya< ~@V4 @  0'@ F~ . 01S ^ 2"` (`hp >#UR$iaHU@ q$K$%E"3r#QP1 q (N*&`2(,,ђ貲1 Ay.g.   .'`/KÑ/R a1g/!۲!Pn2' $SRr`'MB$a&? 5W| 4Es nR4O`r5i3A3N"0Q0Iv@!K @9S*R39/@p 1-;3>,1202T<3s:ǎAf&4}@$ia2Z 847QJtDMPr')& 0 /y3).`~v2qH p `4SS@}e9@o&"iB7f/>I;ߺw>9@|KQ#c~'`}Z^؝my}=gzܹZZ\1&;e[ Z:Ӟw'k #dܳk;]>S`/4kSKU_Qޝo)~{)Y;g?9Q |~y&_ѿr%%y?5S 8TAŃAS D"CTTqCa…ܘB)>q0)T(IUxF"Il9S'VS"Ō lAJe>B ,$̑K;~tYҘ7s%MRA*$T^mS!ۭ54ըMJaDQuN @.v'Ő#KL˘3k̹ϠCMӨS^ͺװc#ovR=BL:'H Z̠7(!w,YU H*\ȰÇ#JHŋhȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JNH*]ʴӧP>JիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷_ LÄ*^̸ǐ#KL˘3kތ60ϠCӨS^ͺװc>홴۸sߞͻ Nȵu+_μУKNسwMݵOӫOO>b߀h&Z6)(Vhf vX̡ /2]8b'3Fb4h8ڵd9W\@.(b&/kfY eU_|nEZRu]X5AF*i楘H2TΑ%z *bP>C(R@ -0ΪW+Lk>@kQ:9 #~ZTA/Yl;BfA+(Y]+ZI1 %nmfiWZ.Y%Y3:ų>pq8>!?o,?@lȴHLkZDi&ҹ-/;<@j!tC.ڮUiy-&-DoXg5cyUU.Ru,n qҪ2WLE|SV>,LSYH>00pU8GwK\6VcNV>| c9[F0 UQVRO,K_5#x#M"TE!#O$?TSOW JS7 nѻ2'M*Mqڳ/J ^hnl#̞ YB٭}ˡw&۔s7!*+`]Le.b@vw aϊ 2@HP[+O 5QlP#17ҁ\@=!hxC؃@`rx.,fB#p] >16CxO_@ N `@IACRQ<) q;9TY#fb(b,bmfq6gWt[o x~˵[T+ V`fh붋 J;!@ {4fF+ޖQ rH] AP` ' y}녗w\9aNR ThX\H ц޸exgl8+VF+kUxYU8 {h˻;Ëfڻ{b련1;\яr!ш_')@Bc\*_cj"zP6G 8(:Bstp /~ :"vF"rJ D8΢끰\ިWJAbzw_PvqHz..ިnzpN]`Nyl~8&Ewow?/|'Cw{7=n޾ciV~|z&S ڭ!/n^G֊aJ\%uXeʃaG6b(1/N#/7oU4ߔE?**`Z\j]z 1{|iEڻG"{@ۘ'pfJ' 1x]њ}*W%uF!;nƆ.ZA>ڀ aw}AP/,h}*n o[C[:o~gPm/ L#bݜ֐ vPY.Pع]kWn[[к!ۢޤM>%aWCbD0t"1fNnv\۹<3nH!CgrD[;E @% tRXBhq_ȑֲĒ'SdԩN9hϾG.m4jh]@OZ&\aĉ/fcȑ%O\e̙5o.z!c AQNksh]K^V@+.^Q΋S}#?+>޻JDq 1qH[qDYVE9P@ժ*Y$(tq#Bo9Ȇ}܃OHh!B>GjGjtJs0""DlIpʁCHlR;pEKo=`FL0%y2JR"?컈TzNO@tPB 5P#~ح(@xTAA*k F=?]QHLD0u+C" QZkV\suW^{W`![,:IP)XchB*P!Ei[pw\r5|7-kAsu^صw_~_x` 6`Vxava#xb+b3xoCcCcK6=wX?%Eٴ~(η{晽  Y)3z)R؝{pf3"fz.l⼚Ƭx+.XV{m "A@-㞻DZ?pbqvP2F)D+ĵa1VsF\0)sr),`_iQcsb l>Z/D?cfIb`Nh4vCvQoqR6sqT "uD1Ht\T`1y416ZZEj$ HG tjdHFJÑT'ŕr7hP6Lb-fm KQ( S9UҗyDZpf^{iyk7} kA^aӉм6/w3-vh&DMs8u]Nfĩ}4̦@:>W9l6ih.\a=чـH 쐇#-)H%Th0ETt3bOG}va dX7FD(Byx4q|a4AH"t >JUUjqQ04 Lu*T j!p]aD kԡ8Dp;h lW yԤr؁dv *T~֮+_թQfYyWך֮3"qOZZLn{г,'iFNӬTB0M~`;!\FxkNh$0{ 9t3EyCbZ0gt3ԇF볻g~^Bsޅ:Ԁ`*hX>DO itGɍuDQen~IouX?=鋾S,s?H#;p)-@.;ѰIk< @;ǣ;As<ډlkļ@LWX՛B*)G:,1@B)IY }@+=h28ߪP*i1 Ъ9@"2** *@;)uX( :)DCĈJDPCG Ap-|HL!0]X,`"H"@Z'8(CxD(u xa2h 7A< 0#TItɁ(Hh35* =ɝI JɓLɕlIHɳ28rX1KL4LʵdJ<ɴ˜h˯DK\J|ø-H' tʼ:ȧJ;&XLL꽰lxMD :P-c D-??8nc7~ʸ,T=8߲h܌DȆMEF8FDtM@@*AY&.[v0}xd?FFC[ QTcQeR> T1!f}֧U sP˺t$Kel̨uH BU+XH e7e ʻ@ cmP-enQN\lW 0QUQOQR7IhБ}XtQИ=d-QgU wEo^hnh~Fam Ui {/+!vhiׂ]I9Hiʰr U鑞iėwI[iiu4j.j>jNj^jnj~jjuX ;1 6^`1j!e !WXDq&k!YŞV Μ٭ZEvlņ 7`Ȇɞl*YI=)4mpW\EѶ䋖¸Ӿ&ҮW vԮվ2e &>l!T^}3B[#eۮ =? ["$Cҥ&(YkHtfB[Qr(m`EN [br7[oںeE@  o6#>=%>^$Y^oƑo;ֆE>pjmMVp`rpNn#omj\>Lύ]]r+b+«jZY7f5cϭ}hvh9:pޢ.ڲܩ]̅95sb-N] K?.t1-2>O5WfrsI'TDs;s=LuB=׫h0nC]UtSbw_NY5v%yg u iaB_o/3 F{47wGc?`uAw|gہu}l^}cay\ W3=:븫3ʪ:C:V.xw*9:vCMana|mE{._zhBz[{"{o| qW42)V@W>@@-z|,0N4?dԟٻc1B|x|?C҇&:}Vcgz`w|9픂`Ȝ)AB6DM6rDH}ؐBm;Dl y=0(ÎΌ@B,nxѡC) 鑤|P'N(>('3B{* @AŹ< +V ًjّɳ ug<aU#)vr͑%O\ӧPcv 6a˼D"UZة]QN3ТG.m4ԪWn5زgӮm6ܺw"H@-Ћ @t9 )Qc42nAc07@n8xRhKܡ7ʩ Z8RUM^dw5t ;3 <"BXdCG&)Zz)j)z)u zaBq4z*f+J4(;X#.,9؜+vu , :ظH!7Wؔ35VG:S4EsH8d"#>AH37tYvм1,LhA:ܔ(+PzIFpY;Ʋ4lV{>k.>#0绯O['SՐ 4'7d5kC:6e}6i6mvi`s"K^- ByZ{`EVݶ P^pk9{9衋>:(^ݨZIV ꪻjn;; ?<񭥀Dթ<ɏ|=/=k={=?>>髿>>????(Wm L>D7 C RTbw -,b SCr!:8:jʀlA6;PG!pk58-QD |@Nq4x1f<#ݷoT)va-e8diK j+UH -9" y|$$#)Ic@p;`%3g }Sl)30vВZQoLP ;:kCHpAYthE@%6mr96X $F@h:$ VA)EB \gl pmDC F puG}5 H! P'JSҕtyAIRA{8CX>C.[h H@I8D`;lB vЅsB*OBf=+ZӪo boRU!LR'60<%S#3jcH[8Z2 L6X#rsArR,kX>vX _Wa [Ogilu46<`r aI> 5ֽ.v9)B@xPj4W@@,(K-\ "/LLZޔo#UN)C漬" r Gg(R2Q|d? ғze:΄ɌX>1̚QTZ532Ql`wK!,fYӌQ=@dHG n~3ܻ+!<3Na-AО2 5A98 uhCSҖ4O6$< 8- Ӧ>5SUծ~5c-YӺֶ5skAn~ )88֔we3R]! dHC9"'`6md{6[]}ͷYSs7~7l\7%@p3ıC߬d3 7#.qX$ܤp(.Me pЈr #BȪRU&oRrj栱Ap8!vpHv "\*dt8π'] !yvdӮYLN9LMRa;Eopȅ (BR=H!vK D{x<Gg쀇 xA8}7 _^}<r@ !El_!z`~oKӢtR /cHl4 "YDN >o5 &W!A B󘋿 \  ӿ_u>] b[Nȝ \uۯ^5֌`  Ƒxm $ [ C_] B @ <\>!hV9r0:} @ a  `~a~o_ !Ca\9ȑ vޜF!"qwV6 i_ @@m!\ /Ybe'6`/6bUt,zIH!"1%aa: ]C@grB^95bajct7At]Q7^;_5#M"=7^9#Ffg\U_ F‰HV؇pyсI BJ>dLL@pȞ䀓LO՘ $GdJˑ^ ,LR \jX%YNY䔆\[%\ƥ\ .9D]\%_`_a&b&b.f]c:&cFdNf$=c[$en&gSjX&d !| /.fu9Dj xt8HrC }IL@DdAlP Pg6!)RC\sÝ*|ZU&͏1gffk6z{F4IS:X5Q "1GՋ 3Vf E.CTFƄj9'baQt&XIgCthHqgtϚ@iJlFƋG@x XgighRl@[@h.i!ހu@HAu„O55. Yk .>霂T ɩizËke k^h'LpA4͍p- 4xC:g1`:4X c/!D*11!Dg@4CMTKlD֒9p7RQj*- 5I>ke)RHV'hi)x 8D $jk^#iC{#Y.BP5ĹjY嫽6Dgkkz h*xP@ LCԈEaF9kV44ODSB-TCA@dlFmCTh@7x" D,H",*F,:IAۆ |Dth~gODjP؞Tk 0' 0#A Dk:җrg>mYmk{ D-gXzhh F \UVmUW6\ƐSeDT)LbVqCh@9!pcnOiCn^)TAtnCl踖UjhCЀ.0gj"Igj"nlv>(^*gXPMmڮ 0;8mH46GAan/c@Hg,H:aFFDױY]C\vv Ǐl>-"5!)/ yyVEk -/ mfk$$'AaŠ:/՟j`>Ehi5nUPXt@C96PUbC9d\|I4;tx ̼ HeǬ@̺ hʮ:䁨8KRdRåfC!hޥ7PKgqߜ`|[*FDXC:hM8{tF5X>58 4(C9DIE,C&DFFC4CPCh_ Zl۾C5Q}C>C(>KXA9-wԉ̆=NMȭQa$1hWWjĒ}YxڧW}?xq+>Ux!2tHcȊUPh]sQ.OEB*bFd+Ϯ`DY';B숁.]ν9tiSRE=DawǢ}6q<hȟQ`vǺ7ݠ5Vogӎ)rexSLfV0ڗ1q6vܗo芜_,TfYvvlٳi׶}wnݻyxpÉ7~yrmD Am!Frۋ_x^cƊ4(BD^}E[)y[!uD"p)9GBN`m'-2*" 3 C q-2"$t"3|Bm0 q٩m*F\}Pgɾ:0el':P*sB&rCӞ #<8圓:<ܓ>osA@.$D;/#O#ȋOGc$D{r1١:=)ҬHE 삝:pՕ׬D:A˜Z}1 oIETy3!ÆpgaE]{1DTmU'[ 52w}U3$+VS^~ywtPc]/Ce[,^{ L)21*2ŶaCu=, )T8 m\7fa]2]83]ڢ/pQEAuV䞷 &sBQF_djZ1 i %~.ZBM?U_YB:;čAAcv\G]{I ^`My5eW@zH,i A*&;fld-xb2ܐ3+Jp'!}P Zr (:pn z"?iFW0C0T*5n5,2;sCWFEXDGxpC ̇qiI>Ч>Մ.h@T>р A.qXG; L`NyH6Z5V`DddCU$!2ɅYTS%icJE qp#J"61k,AExk_.XD8΁ d"nHD!QhxCt,kyKD(9A&B5 hc"9pw-qy;qD8 stY̮霜+aul29ܓ`AB:L^<JBH1LiZӘo (l9@Eo :E~V\DqKTDNWH.ϦaXZV# ZNEM ֚V4EHB 9` [Xjg] DEx=d-Yf9Y~hI[ZӞUjYZ׾L4[Nny[ƭ(]N~e+K m {%FpnN#!ե"yw>C+(1-|K.!Px`Qb@BcK )'6"wB0pD@WXA !:H+n#.lTظ6ݽwz1:<9tVu+xؽO#_gs =T P!w\2lJ 927UmD6oTdgLsxNj+&YHm9~FygLz͡5LmC}y9 0.A d5k(qךI[7C(QjkT6ƅqT u-ux(/Hk0=#!Ƒ/I66MlCAPlP#17$kc5ow]rm e:$G Ƿ4 Q Be]o[f8)!U-gGm5=r+\>R;^\mUJއx;$!F>?owק|E>ts+k=&H2[.};wΣ.VDgwϱ9p j;Aw-;ǽL'g;s1g{Qjp#m8: m Ɗ/Gc9Q7r$Ͼ츆9qq@7=U}ya#nX#Yh0f H _6Jܫ xZڿ}ؠOF/V^h" O*5 a K~j|nk ̫ I|"$~*Bi!i{">p  nI0rs"p Q.kkz{lk8֐ !f9*B:`v I$lm#"#05@_B++))" ^! mIV(H), *j++¢&6FH,A,,$" c-Z5 1l`Y#.ф|@jt41OcȦR*, 5:.㎼@qj +1QfL`Qα"1 -'"+ !ac.Ф ;?ƒ>Ǒ2¸XC=DLEj@E+l,B.M>&AvRDRdEZI`J<$F$ԁJ-zLGDl(_|r%gqE(&(]B`2'(D~($'gN|rN#ҘzP/+ r0nV~N1/Bj202n1>@M"K4PO*BfX0TES(":6Z\Yv"BgV\8&WEXxX~sYrD8U`%^,;]!Cr&9/b;Y:+b8=-5O.A`Ar/_Pn6133@'TA31=T$ sCLEunB+4B AG#r4OG{TN(bZ- gL `gbflg^fg.gL7jΦfmls2,l/jkTl%ʆFm,mI'6t@ 1Ɣig]JOcBN@cPMEKiqD"Q GPwKtGMM.22ëj /tR r .de "lXDsULu\TC*[Eb'^u7OTUYW+F01 wG[vlvj' B,NFy zyG׸J+Lv"h*2h茺,~G& v(ɠ^%0H8Hxh6N@4h'DvC`E^!aqdpeaƠd-vQ/bea#V_as"gOeUaeC`V6n Xߋ'UfEip K0rKN#k-j.ej6 --1׎n 6v*2[Wq#P:""` ^#tm$d~Dת_)MN.J$<"zhrɤiX\HWɚ)uɛdcΡ>)vVhx|I%ttwzcA !/ BwQwbvYC|Iv"WuO6~NR3!T~oENpb?s zhvC1W8 4#ZSXyCj;@M;,CG\R!aԵL4}#hN259`nqW؉YíPa#؋ul 2>.xAc*!5~؍&l$uRfʼQ98$明Yّ#Y'+ْ/3Y7Qxx8q銍:KٔO9` k4~fHI x`b"ecQYWg6Ldm\72SAynZcoyi2'x8YC"yÙaJj9a0&Wx8-..Jd.D-mrb䙞Mea6(+z Y۾mX1YG#a .#P/"(!.,-1O Wsbkdz*!zmo*}/.w*BĤךۺ70ǬUx'npV%h.3w4(9%ނw`2d&;{%ۚ ADܚ;۳]C"v*|Z7BD@z-=**-!JC]j%dE@r0; 0?;5)HCQ[UoTX_<<9eHadB30H%U$@=-\;oH@:czI0 P7S+#Oǿ{3r*CHh _\ԡA[7Uvh"\3\PQB||dfmV^`6e_ a:ƻ;(R|zg}'5_z"Azç'q9rO7XT{~Wʱ}cw}a}1|h^)"Ϋv)"E c76:~ O!6]7cKE'&mc{ʁ7;[A˲ad6h7aw{؃]؇؋؏ٓ]K$a֫b٩-bti8=L?kb ۸>,~9Q ]#7H8 ^ALaT .ɞL9 l,u9$_zcïٯ 5:>&_!<>7X8DޣH>7J-J;$T5X> 7O`ӍMu1ԍ e8!0'y/%IȡAT$^^>-^^⹢!#zJYCg7Pm>Gnޖޞi?^^YI_5ہ SZ?әLqow﫣3 P:@qZl$z f!MrZ$;lvpKo4nyxCp:y JqO%9xe vdƌ ;tܜ#OjƎl^ "laĉ/rԘ7͜;{ :ѤK>:լ[~ ;ٴk۾o AvbqG><$tov@Ŏ.\Ͼ;V){8@۵0H(>W PN)q}i&}Wz VS݂a C> ff+1܃%uawC;祷^{%|`~B' /x`Nf]!뼑ZaBX`&Wʭfn grIgv tvG (Z;D}N2V}Q8daҜ3NXwMjlѱA*; *!ʩeG*VG&+^Ql*Xkzi ciz**唏sk>Z)cA`Bج> [+" qOLq_qV  }ʭrqx2(G6d@22.V;LU4̖U64 |>+w4Fcr_&q4t E= >#e߫L]5um4Gjn2er3S8'sy}Kۋ5Y`/ Y+YZ+͕BP6qc4ɪz뮿{IҺyO#s$oD,$& ᆄ<hySE4(q%:q@ n4DxnD:F6G2q7 42Q`l/3A7v :1$al!ޘ402&wG=>r'' 7p2e)a\#D:E0ѓgU4t=Q!$!HEj$+yI`.s'{IJSByO0lXy@L]&01Rcrq mC tA" Ҳb4GSJfEQJWR XAЁ 7$4Bއ (8ᠼ!G9CCh"-Z5> q'5Θ*Jnӝqn\ }5cZQ}EzEH9RW.]lLESr:O*TYjSթVYEVKKRU +̊V:@e=ªAn@Q 6Uk `=*wms=J 8"k7u\h|&V.njFniܻs xw{6 Ux+\4 fp/ kx&b 8ApA،4&N_ x4ox< yD.$+yLng#~xx(i@ Zl#U@), fZd#Y!lB r{~y<3@ zЄ.fT4 D+цMd >08sDc;("ck^9l,CWt :^IJ֗5.'d?U60  "ġE?}<%+h11k} 7{JwA簅9dt`vB9xW$c âR$e0Lq Tr—pT7)ByAV4Blo#VOˉڽ!Np3&WVA7F.MetW9O ʰ_$ >đm9*z>/r4 =4zS| 9~eTc# /fթr@Tan!eff٠^s0w~H{;";CqHR' v`V&"w{'[g|bS8i9{}2}jp}WgVGe'MOlc;!;"݆;O~ e"We8q9prr3C3y@|pyyz*VQzP(HDDQSE_D[8rF cw[`w~ 3KG4HdOє!tCxtItMPOt!pu苿96QuQQ 1z`QHweHu8q&w1+pUY=UsR匞&`oo5yp@pHhWiFt wt?kֆkĆfvt&(IpQ&fdffrif f𑹓 0$ "wzh/ 1)K,j<`+` ?`1vV1-p3KɔMO Q)SIUiWY[ɕ]_ a)%ih iAmco qmmQe^,})Ia ?QJdgAlO7])*i)0͑Owxv xvv6_ɚu`%cWv P[)rL)i6ћvv-))XũPȩ)IJzUf9q{D;O#_j"U1<)i; 37Y:W|5DtE "C""p9])ⵠ y(9ʡ:11CW 7 -iIY c'*;ʣ=&WXU%" 16ʖH>JUjQNEWDEVDDٙ J CIl帤KjgysJuɸG$YIJ0KjJbrjʩ꩟ *Jjꪯ :1-@sv';XqCg{&ʪeyukٝ%IdumBϐlu&]RpB֊cl jt n&XE^VDU&'C#Ay505{!JnǘD|E? I /s (˱ p00 K?t 1 gup x04T7ss=؀ J!FJ/51 QS ! ސ`)XE{I "\+)^/s];:3%`۴q/PP7:˳3Ws@ ":sba urXvIq\QEGW۱tֹf >ioI (Bt;Q󐰓3q)-JxO{811TajyA}!yC%jqUQgHދ_б,0 y+ۇ zg^1g';DQfQ0tkfk\رQ4o  !q!%# G$w"QÛQ%9BW0H^K_?7,0 |?M#v0;$C|9LhI[l9(n@pYEԅ DZ4y+"``!˹xc0:"+-"2) . *ȗ> % /.g,"M0۪-#b8b+,\L> 'ѝHeƶk+3kJ~i6M":?85k8ٌ>[@l6r9\c:$684vj? +׌y9|:,T T LTDTh| < ̣+` 8g p30C}MC?l+6@?d?3 D3A3"r AC AjHS6-BC-=m9}AL-X;XdE  IԲ]%k0nK'kpfΜ#C JOL$MrF%NHqR@Q `n0{`KdFMN2dIc vؖ1+u!H$گ'~տxZ$a@QzXFIɷns̹" y10[yEDWTpSX~U\  @uVTurEWUREUVUjvz5+e܈Y0%"YX׬-#~xj]<Ϡ ~ 11*ޯufF9Aȱ&gf`B6as"K䫁 &Ei$fd+6'T[]_a.cNeng~Q֠Q|ejAVQfvNtjhn(J2:p{ EP] ɝ" f*'eƑQs.n8V8>]Ɛ8~j犗D`FQS o` 91^ EQf|j`weVV Nꎞon7qOtղc@㈊WT@ Pڀ*-;A`xenf2jP^fffN(jg=f󤀦2 4o/_S?5l^p ^oDofăc,Nu;uovbGv!8 \[A`@q֫" Pup %ax1;"+yVP 2|P I~y7p d/a?t.H U t8@ƟVA稯D'}U@8Yf(ig^o8O.X9ϛpLx~Gļ!{pjP%A EXO>3j.@;D!` $M";B숁.]νr` ,UA)F"O))aP @+<3B5Ih TURQցNsN/cάV'O.ѷ.BETі}UZyϼ FXbƍ?Ydʕ-_ƜYfΝ=ZhҥMAG"C n>{y:zJvͅaqUND!Ai#hpc/ q={&Sza*4h̺zB ~1oⓂRfC<ފ, <-A k/; Tcu1DG$DOD1EWdE_A5ضAdaFKb T jp, BnY;mȈ*`gPg`0b8S`z,zЮF *cM9S?;ݫ np+RϬjJ3OTT$o>3T҃?5TQG%TSOE5UUG1}¸1%<2=VlyPl4,W:NY١ )lr" 1#LɅs. Ɯb>8+l@;yKR C q1,0* B}4%?b/8c7cC 6;ttC @#eMG*?^ZR@C^cpc@lh˅Ǝ<۔78IG3IŠS((&B~8EB{r<[leI {-Z-tp>Y%dtOG=uWgM2L6#1tv]S2c{rFs :If DN2E9n*s{$Ãl+su[SΓ|7|sY*ڷ~x0?ԯ5TK9IP`;Є'Da UBZoc-%a`ǐrlX (08TCā+I@yWbE.vы!j)@,b=9A20!UhR9,2x:'9@: +~ѐDd"HFn:|L *Ǖ:`'d*pnlvN\dOHVҕe,e9KP9e.uK^җf09LbӘDf2Lf6әL &6FhVӚf6.aFxa @!"^6iB3d%24 6C! ;YVֲlfWt6,TeE;ZҖִya OZֵֶq <8ֶmn}̷8mp;\׸Enr\6׹ ;]JE]iXL13hЅ!Ye!P@ Yݸ/fVZ̬0:&f0xtp9f BLYHIxaxdvosNJgD$P4 [YPxF dD`^8r] g1 ++nDA'zeˈ~BavBDY\9;jf7d1kn h=y3>['3 xx4i׋/_ ׌0i͕dƽSl<1 ${B`{1Msk"<> m1s*sqyw#| {o|17zp(EkQY("=CZ d0 _8Q.{wF:|ey%!W9ˡs;wI[y˟rc 10 ulcW9:v*4.zկuil=;8Hܩ.u&Kw;zv S/[.urBІ@jhHǽByc^zQѯC[H;JSrsp{n|3}6G^`t|>:o^gZ:W btp#jٯѯ> =hA?kě+?v??(?Z9µj)8,2YP^9` EІd0h<o@["svIL²PC07? A\5-Y6`m :pk:.\E^EI,B;<lȞ-!.\^DSXK <;(-B2В7FlIE6DvDH$Cn, MDOG3Aw\q$GsdG~, @$z|O=C7 sB<ǎTGG$vrLLuǂHxHl!I{dȌlȕTIdF9_e_v ``6]L6P {޵_ۡ[0c۰::2==¢C3]XA&2&&;9њ>D7lh 7ݔb/c13(yi2(CxD(uAhkI>nvjmnjI}Lq| kV voK]8.7!jP4 xpq$Rx G9 ԩ MM  ?qpq0q7ʀg Mg!*2QJ5j7J=pTrEr0N/'#i"7IҐ0`s pםKʤ\ƘWY󞈁6?DWEgFwGHI-[ K&L MNtpAB4"  " 9(P WO4 `uuÀuYp) AƀdQu](hi [ dgkwO`1@''r2'83a=WlQ1TH1 q>ppu io ًbOxo}xR(* ogOwxlg G O] / ϣ 8uI _?405@5<f>}Xɰxzwgw W GoAIyx9 a o ߊbIy zT{gwz/ l|gΈ8Wi).ci8-9]Ȃ?؅,}2>} 뮐Mi,-?lPcqe2J1SHS9 W ȓV ug~L~x:aRbxH6hvI*@EǾ}(%a< yP(Nx`IY4"_[ʘᆨ]V!E.FgPVh[r֨BRZbhC"!!Y X Y>?>>eAm4dyͶB4kAS. ֖Q㊤I`qPGUI@ʫסK ҅`]NtHjim:*kKU`] )P'aZ嗢Gr1J%R(gmh{ljțSX=  =@kB6?=M>/vu  h"0 FSVjȵVurVٛs&'8'yE-; +Qqt9mEiv3I|>Wn೩Nz#r?F .rXAXJ$Y)>q{u1o\~1~ "RW]l~P"X0ha6Igt hKb2$';)a Mj I@6zxv !M ˂xl!S6 xbXI|w(߉pl'sBD cc:cvL Nqm}ӟWơy1$隧 E-:r.:'5t]A7Qm$Ha}")J kl(P0z]ʟ5B*Q S*NBn(HR퀆Cff:etS6NXa:svg Xu=ǫq/#"m !d$J?GE+MR(1CQ{'Ȳn) Ide3h4 aFIV'au}lDO *m OmR[% W(E,tˇ86#r.S#<jf]f9{!q+j¿خK_Yq80ٺ`=9թ A @=f.iNT R Q}Ao)Ř)yCc\af)Y `PIxÂWaDL řɄ~2<\ /evș L9DKeeWA%}^A;[:׺5loNeJs`C< o#>_<}t=<+oc>N:Sσ>=Koӣ>_=[=ko^;{?>o#?}C?߽oc?>?oS_???z` ` _*_B`JR`Z`! jr9`` e` } ` ` `Qʵ! 1CJ%y>$ 3HaنZbaJ` .X 85DaꞠ]MnPN15@Y4m LڱP&nh b!qa`AP\C =CdE]jaaA%aA0@|bA4!a1U@%+yHa"ݵ! 0c1#:D% <5Q#y!0 l4D&.nL&cu"pl>b*E33a\>-B>clAd?8dA4ء)9NE3aENHH^$@҂IJ!"bLuBm]P&@F]N ]RR6 ScVjVr%%"%C3U\cAD@`46Ķ\e&]^:Z;Pȣ!!D=>>:#@*F&HFa6BcC,$ebAR&@beHhi$>lMlQ^ՌmbYG)jq;]N.$'FybWbgvj'W~х2>]5ZbC@@A<>@zg3 = TZg3Nz\%b^demn2@K@aAddA T@,݇¦(i^Adh&Fa(=>Äfm>ەXpP>dN1oXG\ ]0sf)tކmH)viiv}:2ax_A@Y.}B@Ag9&][6D}hV#OӁ:C$Z(S&KfaVlG i>V]eZ5jSj)ͣm0@m*u6A)2bR !ubkjkw潩)'P%2駠kjj jC(*jd>d2dڣj(fAfUA^hkffA6lbΪ.j*^a.j \QpHiVs,֬2nk_eY*x!d-A.4}JCX}}V '~뼂-ub4p$*M"*R,ZMر֭f*,iݞX$@Z?E,f,٨+L@*3F,6)p%uni!+/"&i(>'(!Dʩm3./:/>pB>ܩijסa)*^)Yc$a1uBm*f1Cb:=X,ຯ"Rn$Ial:hȊm:0äl1sstof0yLGsF ri X@YT-%cADC@SV#J'noS]'@ 6M@$nίw$@FN!6(A&6DfJRAjec4Cp$-M~G$v,<K.u""?P@'~. G)6@$C+t'r( ݳl *:q+G@.#) /bZ,ک@.1;ϊ23s3')r4-,`چ/;6ss74Ks8(5 Tچrz:s;8s<#9s==<3s>t@ @>A?B3tC;"tDsC[Ec4ADs*tFtH otG4}HJvI4tKtM4!]NNtOOuP PuQQsk$u`,5&5c<5EucLTQcuVkV$W_5U5Jxu&u_XZYCuXuTb5Wu^N>d_u\R_vYuA$Cuca/d7];6e cK6Y^{gv f[Eauavguf6i+kfk\6e`6cm36l5ZucvlMpnq#wrwon5aus_ve_/l[b7[Cs5tgvW7wwxuK7xwebS7uwnw`'vgotwx6}wt|3w}{}wu6~rCxKxx6{뷅w7{~7kSWxw+87 8xy;xSW/xo8xm_Ox;Z#9z y}g8sg9n8c7powySv]9zOye;wk/i#kyCǹuO|y9nozǶ?83z;zyy/9:9gyGz_d83xozx# {Dzz{[y95xz}/;|z8z8xWzo+{{뻱Ǹ;;syzka;7'7G[{3kc{9wW|<;;|Gɷ;kϸ}{zG;{'9v' +}3}K{'}|؋/y? ʿ=K<ҟxc|ョ8y>ڧögǃ:+qcvFUs>q{{pC3F?J6y~~,n+5ku+`#藽k9#UϱP~C}@!/,T H*\ȰÇ#JHŋ3NƏ CIɓ(S\ɲ˗0cʜI͛8sɳȎ} JѣH*]ʴӧPJJ PUjʵׯ`ÊKٮW9]˶۷pʝK]i˷߿ Lbˆ+^̸ǐ#<,˘3k̹sEʞCMӨNͺװcz۸s͛j Nq+_μ珓CNاJνk.ӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/o觯/o HL:0y` @ Z̠7z GH(L0 gH8̡w@ H"HL&:PH*ZXd'.z` H2VYL6pH:x̣ER IH1qL"F:򑐌$'I=̤&7I0 (GIRL*xN򕰌e&?Z̥.w^r0IbL2f:|f0IjZSȌ6nz yr̦8v#ɉz$T<~ (0AhІ^S1PR`HF)  hGGJҒt`Ҁ L(R @ W~xEiQSTQ5=RԦR20@dA~@A3 LzQdaYX@@òA8:l*cĢąbRk8M,+ AX Ӂ b,3;L ZEYU V -@UvI=  rm  D}> Kv AeB$n݇C6=._a [p.AZWЯ0YWYfj H`–'; L`Bձ1Ddav Y(AڅLE0`ÀAfʗ 01-V| ix >8nqu<ɱA:xGA[]yT`5P-2F/ hN |<lUk]g%=3X -J&@.Fs8ݍ}D !>킻}6D֗s>w|qM{΄ꃱ_P)h՗TT}u2`-e7{&ʆe(}ͫ 򶷐՗OW~ >ܝu >Ⱦ }bW ͹-(WpS%p>uV)z ؀XKPu R`zvAY{T'xP0z0o5{.(BIcp6Xb3%m[4w~ UyӇ5GcB[DcC@8tm1sZj8%ŷ.cgVAXRwU6pUtGAzhoWVrVPhV/!4Xi2d4jޅx/d] Bh.fDB@c}v6-W`]Ovjc'guvpUv|5df tSrxȘvDZՂtaX]4XECQiFgdJ4UVB>`nd[;Fب8Dh{ON!9ZXxt4|9:tyّG"9V&y(R#ْ*294B,8:yN0Y<ٓ>7BYM;FyHA9L9LEPRfKٔVJO9Z\T!1,,9H*a#Y1‹3jȱǏ CIÆY[rJʜI͛8o^0Ҳ'K#1s JѣwJS PPJJu#K2]ׯ`v\RV bòڷ ;P1kȆRwa3KX Yf/$4# ; q`|y"ֺRvg_k"8Xo\.W~a<}ޠEm{.1 }s@xwB# e-2澚74P>2cHhBnChW&xB\5쳃7Ҽq6шM mT(PSG Ѕn!&z샇@6M8Qa*^c|Lч{1Fr;ĀN.9ohɥ`2&Šc#1~`sM)nyAh# teXy]~ƒ5֓P$ATt(A_H=b٩}Q8d#a҈G^$7xMLZR ZV|AVl]SRX߆50Cua\ ahA64/t..{/AP/;oB+KvِZ@_tۢ +`Ia WZjaA0˼Hҕ =#Å 2Jղb04d! 47I:#~g }ܽJxBMdԸH aǎ+>a-|~T!/rmvdd /n^upD.P܄g H8`3j^`.`Hi`F"pPq-BYgB;ďc|AP-";9ANЌO6p UFK8; oBI\Oʄ8D8*d'P2BW (@x#N )J#` A` 0p*afH8̡u&P!%ZHL&:PbcH )ZцH`,0 W H2T<)|QpH4шHȂ%6# * yC;y#xF&q f#hF2*$ϸrDqxA)1%c% FQi68lIesI0ܡ?T*yIC8,M0g`QP CfPd&)ȹ 9BO81kD--`r\ 3d> A898\c߈$pc3C6;4PG79)Hc3-Q64w9{S'@Zs#NHI2f;ICm SlcCiҁ8YBUT[Qk- ߨiےʍka(Ca=?37qJr6A|9K=W:ֲ*4MEQW6o:ժЧgf ʹ4Hh8@a l@XZʶ4kmi0fOhf9ݡ49&M(7J.b}v-pښ2 ݇(j.h(Z@6jT0 =I>LeƀKS\aG!J-\z%"N xN-|u3|p'CD,c}(j5+n.ِ]8aM xE p Y?z.p]NVf v%%C%3ٚ-MUnnM(ti/8NVPO! wJo)o`9^9}[@Xit%fSWV/qhD73P-iL-P 40h T&{Nuij84A{)!iu! hSoESSiڭpp Vyw(CC k$էP8v݌o\~ h%ٴ7?PЕy%suh<79!A<4Ӑ]'I9'd\ϐ%lg>CQ- ?$@C:!V%^\=o(-g:" Y#vY{; #(da 7 KaD"Bsob@!%, (b*DXp#JH"A!bȑƎ ?)rɓ'oDrE>UAeBqQ™4+IЕG AŴANA&-JUT#zةuҦ =#3hQd%-˔yaqUl(nر|iea<,*ޑv.:$řQbޙxq«*7OliD3X*mʊh샵o4 yGPwŽ s(+~aeT2XSsձws'vP]t}xϩoUq@kd^{Wԝ1%aZUw׃ė)L&v#XVGJA ՞z2c zdU_Klb8{:^x"-vWPZXc d[5xxHbz" 6V·#5uw@q x"h|G&^ gpeʶ@=LU>|b㕅zb~(7]&hT8Uzia"G%ff)Lv8BRRyUÉ'i|Upgױ2[  j薚슲{l)*} ZkBMjZ)jk#z[b믹kj'/ioQj))P1sjXCeO3@(rY=d pü*RR@ ]>H ϱ4SѨ2;n4iYv L0bJzw2mk r<YmFm]8_7ُ. 7b+G)+>7U=ޣmtJ$NU{yCW_NSnEl7>V/4z藨A%b.Z%=P$J~M`q_k)G{bX=1Rt^B$)b"VT"4c#W dTf"%" C89LZ: 4f_z+&#-FZEg;Rq!;i'}S{bi{Q7Г/NQ;/ɭݓ3OIn09skg47 g6ͣ RdΒ1A5 ę ӡW(4pq'Kg^X󝚒LvxӲ1ڱF gSEy{U'BU5>jt *T.aURM #f "u|J3,֘|5!;+YzJֲQ-O*ƮɅ f3"˴f O*E{ @2Xw)oX RE(p<,߇ȳul.Y*T?~QpP삩p-H4HO埁[ )et;\\v6&`Rz'ornd֗ YygVBjNōzIҨPӅ K iP[8$>ŧap၊82X0JŸ2! Gs$"hA̒"4KȐ'&Kd.2t,e*DD 4*$)3sRN2!o2ٚ.r&JOgyMBP::2ѐ6I@!, a*DXp#JH"A!bȑƎ ?)rɓ'KDCA*YM3¬͟}N9*)t!̟Oo 93RL_N]:iPG*Ͳ)2 ;-GjE1nZ4>ĽEH/߬cs}CdH嶥q垌RV+ҥ &MYp,{*mرCꆾo-|p7-|6[[qktק_n:hDZo7pߝ=߽6j5n{f7u7^rI߂vnؠUh^yq`y2G _k(]ukɱkŗ"{0ؓڸ0Θ"ո#E $#\C ٣dOVɤ=9Y~ F ].Nۃ z)$iD\{pvH-vZH2YbKJp-Wv&M܀`}UU7>lWgT@!`,U H*\ȰÇ#JHŋ3jȱǏ CIɓ(Hɲ˗0cʜI͛8sɳϟ@ zr%ѣH4ӧPJJիXji4JREwY3NFnEaWܺde߿ L!> #H@/# j"(DC'Y7O98[M0}ͻ wrA`oLUoר Hy$v_`x?2} ZN߿tu@A> HT5 c!;D 4wh5`H8TӅ@"h>{G82N_XS744ި :0;֤ !E37Pn7Ҕ,4ڈcSvWfeBwÉ78 9C34᠃Mt fsXfg$YE*餔VjG@"<xzYT)lV 1C;9d죈6y16'5Rs8;x#F!7q:R 5u1 GR!瀻4䁇7Ɏ:>"ˎ: 6JE$d,6vM"4l*^Sd ?cΥ1T0,4l@&$V&HlP%J'\L1 ;tqQO]sI\1Qm 5a04 !!YyU@v5;^m~NBs:H7-`@WxJϵyuꬷOB 1ԳSzw}?| w%OՌ3N6tI!9ȋ#|t6@Ɏ4졍5+_C_ر>p@ux=M2@;T^> Z̠32;| 2n8bHo5KSZQ0HYa _h%(o۪CA0#V! FR i!|Ltb+vxc)3]wXұW4"i< gf6ftQF۠>qfLȧ !hOIUnXـt(t9&;Mr _ [Ê>v&j4|伱nh%;^)XFR9+Vϋu% ɭ24j)Gƍ  Tf]6*e 8Ir&sP8&%B8A7HH"7p"g?YEzd(!ހrmFȠ(Yn6ba5aUmߐe/{{ibkPc ^*[ΰ  a[M #ְW߇.}cL1w@V\hDN +! 6(/Ҳq. 2D,!zK6oPǖydvuXpR2Έ!9A3D6S͌ vH]h-36q7ix:Qs}AAw|.Dl̝RAI"M cąMIH;f;;iЀ.c )b8 4xbO~T ;ުpxތJt}C ,!{s!E1褣(HC*RD撤FJQȔ4iK=& L_1ݨ{F$ w;.͔oPA@ S`RJpRIEl\YF61 j`r9A+` VFN,Wd'xUb+Y˒ؿF jY [▷kJ׺ڕxx`WޯlVh/ؼ"0bJczֵu{aG@nv̿egOpXh=c j:HhMb9w:ޠx$kT_CwXԤAko\w-jcE9*ot$7S p#I_M$C||t|̷O'}S}y 7X?1ds;*Fb@sLaS<KńDuZx'5؂1AXfx.DBҁ.H%$w$GEPxGZ82B0zQG%}HCPK8TiMA4DEcd$8F@Q@P2E_ VE7DsK(DEFDttCiyl߁Fy1HDoHP_wMA*$J4k !M MTI$O8KJActJhlJDKKK#LKdrHvGXwԌjw؍׋ jHDb́&!͗TT %Ta@Lt ` tWCx.OET !OXuO6 PPU5T5QSQQ %R$eR(+E92V[9[J4PI!9r&*O,-Uan ِHsH aje'ҵ\@"!T ЀK%0 W{eL A5kWy5XPX̥X=XZ YEYaYYYEsUZqZU噠Zu\L◀)R@IID]pyCu&݉5^^ _){ՉfVaٟf)&1zd ڠ@:ZJz dee  ϰsAl3q[~A0l.J-? :Xu"/QfY 25 7:]{QaW@ Q@ XY@Y  jpF 1gKxXQJ7 pg" &[6*#*:k: @ A` 1ʥA0~@w` 撨c &ZѨx@ :Ji[ТU)P| |0+Ы4  s2iȱ"tZ` u` ?` `}!wţ  [ѢzY):U5l^$y~`l WPZJ Ks Q&{&Q`F n׶6p 6ЭZPwy&#k`< D1D 1!$D" Foyo< PFnڰn_@ Ԑy&pYlr%g,(0^P;}붵]{J"s_;sp['!ppCrR!"/uK$ Jx(?7$E (Ǫ^(E)=*Atp;@t0o (e Kˬ f:9@CI+v0j1zuCp5 0Q0Ku{'(13uѢѽ*50J*dpJk(z'{^$cu/2wbv1"zVL,/Z)|k|@ K{8<3{v`R.oF؋? KeH[? % 56i4ps`L>C9ƢS~وGB:]\[0^@ڀ\SLV|#~}8#+lQ!`s019<ʤryX6 >tF!K[L ث[{50x{=A`Kٱ@/$[A1+>5\8>t<\?]8PHAQ<^[}p܆cQ6˹L ˙ !ʐ_ܰ G{ ie>hZq,z<vjH5B~(o4gĈtJ!z|ɩ,ԋ`= MHx`$N74NbĻѮC cw 4\L4<5CtR w$1MMb7,]0(Hԅɴ(> adM7t/:X" M6 ֦jBSU ٲT;K׀ |"PCѿ ͊};Q!FOwp'RS=U.G"U͕yU흕]%!з]-@R)hIP_^SR9)bA\ )?ՓmYeN lY!KK '=ϡd`TUx7[y0Ek10Hkc#[ X5Yau咊Y\9r0dP[;%\|\Ժ[ϵ%\;k; j \W0ՙ"J~\%\~\|)\Ņn'˱;ăz@k _ nJm(%_Y:RʫX*2\?^ ` q.᣽=6@@EDSٜݢ̢OZapHa]r@ƺQ>Ab 49/-@&QCR['G?@?}%I-3K_=/- X\O+4_j󀱨(fnohr?tOq_xz/"~mzo*3!Rff_+Km m?/d kM!V;<4íD m;XBhȟ{ Muo?;/؟܂e+蟦w(?Z$XA .dC%NXE5nG!E$YI)UdK1eM9uOA%ZQI)q!ТԨYnWaŎ%[kSa e[A;N$ddA"r!^~  djbf%O\e̙5o/o =4wن3>ڶg׎1C!'\qɕ/gy ciV ûZ~@9~}{JǾ9^Q#n >"pB +B 3|):X!ظx 1Zq@Fi b*#ѪbHc**HZ1GZvLH$!J,rK.R+†}BH2jS.b 9 (#;s>w36?*[r`rj} P2/;SPCuTQd}L9L!c$;)\W*H=MIcm?cpQRZlvۣL]Ul5h.@n|H?O}g}?~?{vLWX…#*Da ]By D A8/xB>ԅcW YbE<"+}dC,fQ[4 R.Ѕ:81 C$d!x$^"AW@"HLA_QHHkHHF2' MHc@mi9" B| BY\.yZN$|H, ˅Lg$yLdөN  @ ^TS >$5w΁p̦.ԀB %(aJPAAI$ (xW& S@|V C,4(C }DPy(}JD%0Ԥ'QLe:QЬ td2zTQ2 k xNf7NpaCJR !M\ JP Pch%W+=Y{h` P IAd泐:)"X2hks{25էa+ŮPj+ĄǍĬ^R}[c*Snh(b ;MpZE}҇xY;HmQ$ȵJxo|$ 1/#(CTpzkKDu\p%&^|v,~KH,fOp]bj%XU5=!5tHHx%"9uݧWp 2E:]w򴂔|-!YjT{<e~ٮ^Q$r]ޞZ-բM1-rÄ Ƌft34cp 1 Z"덼䒫P#9pek7oXձ3w`Y!YF@kl^s t}^g9-d/S>[P4g|W `XTyP48cMrBf8ͯ29Ni>`JaCme>y_4H>b׎"%#G?b"=$uo|V;Bzgi2 qC6-2 D+O="T˓#D<)98}X<@ @?ȡpJ**@,A4AAHAAAAA d"B$LšR9xp=ˆBBBy)*1$ ?ІyZ`B8TB:ó/R1 #B/gayo:Ą?@@, FDĎxBIdH4CMBxă911ÂDy1gxBOĈ[C]E$؇K:`̤iy'0d=2dhLGŏEƅ@CFFX,BxB40ESGv$GLLwƇ#lotG^G~|`qx&Ԉ'Ng* x4)|ȈGhMlE0|-yx#4EІY$dž|eyɘTȖB?MjET1Hm}ɑ,IHGʁzLDmC0E܂<“LIGIySHxA,Cog0"D4'DLâ4JK1JI#ɑ$'̑ȲG˼̒Xh"̌}́9AzgE4BdM40T\dISJU"y' @BCS' U<UTU[](1a-5%ClWD9ݓ-LN.(VaM\8 3Dѫ`` [P9$1bvQV0j)a Oġ8ObM!7&}ώX IT=Kf,l$NفcB b:PxLd@JZ0676 _4ddWʋMDm dGcVՆX,*WL4Xghd~M+eief/mQ.p->cVe$1&cjE! l ݌fVBŘ F-pvkUt^v&wf{.{g}gf~gh h.h >h^hnhhkB(O5ԴpÅpÍ. D˓&gԖLX鉮 ÷ xDhVtEXtRoWښvFҽHl-lH,Kv`^Y&!KG-4JAlL?DHF$IHL5,BNHoEJ$Q,eI_cKO߮ -坌LNJrҝohoBLeʥoY,p+_0pp .fmGā*R =8h<5utNV =BkBNLO8Ι$L _,g$Ζ9mr06DӬNPGr"3M r8QGÌ]#Nevs#K(Vï ;MLt%^}s#ws[_qTE34Z ;0gPeIDڽ;RUnˆPME%xqwr?ԾxNuU0A!X73s9؀ѮlDmɄH̼]Ykytl5yx؂XUB?XAVegyXN{UuZЕi}ns{y͠JSx瞉4qmv4^Oڲ[fg%Zͭu=۪^/)ځZa=|NŝTݤW|m5ZR؄|_}EK]ȷym=VB_MGkW-~4۠u7Z/uz~P[ 9q5@\o/.x^QVm] {p+o >99Zxʼg~,rHqDž =dx&t3OG "$1"K0-1E.Nӏ64!!D8piϖ/D rތ *}uE=̚7Z-ӏh=4OГ)ּ+fuc}<.E.mT§/*-Cs r=|`!R :|Ѥw͠3s\d3 X`pAyǟ}MyuD:~ Xu[ƌ)HbQ' %sWE&}PY9zb3r{dxvH_|i6]ey'y'}' :(n%jc85yTExͣ -Eً^Fxx F]Fj"3NV *m5Lsӝ^iZTAbikfdlZxzfX] JP)x4a-Q!a5A*j 0t"[Amd?ARl-)d2-21<35st,Sb3Bėlв@BmLhz4I|5Yk5]{5ؙ6xPT6Gh̓q=7u}7y9}w6ݵ< ~8+8;NߏK>9[~9ks9衋>:饛~z垣:뭻:>;f_ϰٔ@\D6cYKdg~=k?u/pFqzx<i b3~PyG>?鵬~k^d Ⱦ&_Nghj|`@ C(u)_A 7 > df41fY -bQ">  P-l*jE #-@")tdCBE>zQ2GYԕ>*>1P\1'1E0m':C"@X3(wtTQCP+e(( RKl 4j!K+"1@ ◛̷c+©y#DEuS{sZ^~3+@wPvL`# S\ w,]\~ZYk+2>-,d#5  dCo9ɌL.vsSɌX">O }0]얐 ]rTiJ^)PYKk8Ҟa;$~^9kD 2h :Etՙ@  hV [i`z h}dw%t|!׾` fpreG]飸x<6eϡe~Cn{5xD}̜DE$RHs|jS(Ʒ3wO:edڭhK+ض-KOF\5gH,!jO A91^cY!-9sn`Wu*b:'#R3BL_Lc$l*$HW #s]]P&VwN]0 aPL˯X^ Bc-,!2H,TgPⵝ\l~VBϒ$!}9.+Ԡ*71Kry] nރ\綿=)7jF8L9SIW)H~8ɥ/.19GoGL8um~2GJGDP@?ISҚVd+079IHЛS!Z]GI% W)8_vH].U]-uXDNN]MR ֠ ְеQHAdtL\ U79 TlP7y̺ t(VaKhqK4Մ~̀X KFa!KPP]!ADa+0$($DN$EVE^|l6FH~ u$ġfKHdS$FN^} Dn$\ōDa]Hk8e]$%-zTqTꔣyf@ylXX:m@UUFM*Nƥ\#ϝD݁ 凅OL GeF8r FUfF8"aNyd1X FERbFF..M(A X\&jdDMTؐE9Q-, 3hoGWtF:@;A)\J]ʘz-Vb*vG3tbusJyGʓ$0uȌ'w>|<+S=4td\rjG" P'70S'')AS(!w&yLw>A˺&v?CED}Ao> &qYix_}UWZa |,jxVyW(ܙKBK LRȒbxJUiQ(Y<ODqVT]Jchr,pJ^ ۋMJikVG5ɓV^USi_])N)ZB#\N*FcRn|AeD(׎ޗD\Ax!׉UyEX˶WT4]*!S4ĖNĈ-&EFX\AǃMkvIOQjHčaq]QFDL^j~%k+E!U+ D l*Z"!5[1ZĤaE1랙Fl\BQҩ%ڧ1 Xx%ZqyUVZmJdΪ+uD  C`HW#ƯOuA4ʣDAQb"fXֶ`rbZN "a$'f< *]b|J_I%f$"LqKd oaoK#3łK2L q ->2z2(BJR*rH$ːf"`fgA8#m cm2+32s+#88G9P3'35W35.Aݣ 6[38sa893:9{8s;3<dz<:w;<>s\`f ߳E AA/B,g\8e?O4EW*T))TDFot(rfl4RtgDE4OhI))AQAF4AK+-P0GEYCk}U_ H4g TX5YJ@I7AhHFP5RtJb.,4C.A^^LGD`B.v aHB^4^A@^ӀB5H$6tYjvYht>dQ56*Ķ\] ЂWWKo5!Beb_6/4w^ttK*apKb 7iOwG^;_W7V5k7|Ƿil@Qk4)t}l5JYT#VBG>CA5/pa\6d xt7D^ax5WVC. .48/ඎ6G/[5 9CBux6GL__v6O9;wvaDx/:WGkB;=6p8/K9/4n!b7/hO7Lw8cvP&9v u^{5#c)zDF*AS6L zG>de#a3x^wx6H;teA 7#>j:{>>R5tE8r 8GA?;i+BG!Bs> r! zk?Wdg^>l*i|h,k@^Cg^GfPuN4~>ܾg_~& f @mFk6c;6dv3.칅GwSVÀuG/h@go_{e@fC/vc?Kľ9xoG?u! "(Vk!D x`DF( 2TcfL3iִygN;yhPC5ziRK6ujTSVzT:wDa9GP}nƜ ZY,""8G¿5Gć)y5K׎Y6>/Ċv%ջOB4ICC4Eяpas@xnޚ&!΁ dkӒK g7DCV~{v۹w|xɗ7?tN)6(NXAvD#N+mq@,bxd\5^8"yyi #h)!ɢ@Zbt J P Q% AADSq8 QDFbl,ܒ.02K'(2Cԑ7ኦ9&O`Tn\%y ]LJ^hz>P/ΆD>^-8ed: fCohi2Tu4:hBWk95@]x9M&O֠}42lUc)s$-\E?fQ"EMq=<=&ː? na >3j,]t^ Ç9~v=2*/H藈ъ|W(A3qt$ %Me܃H0X"A|σV.)T YB~y44;?Pvx(|f'IITĊei~XE+^YCZ\XF3bF7qc8G;y:W7P YHCOv T)d h2I@2UdL0IXA2Jl)D"YJWRm YBСY{MQe&1 ct$@ʦ#2)Lg $j 囜$TIXT'di/\"IŒ%)TTጉ9BPR017ЅꄚBZV;):9Q~t6W%TOsƵ B8ZևJ|h\\"t [nZ op68E׿bUqW.Ht mT_ƵgrJVI\btikPĞvp2_OBjRpl vղAϛrCǚcT\M|M9a>9ʥHfY!H`˓6I 5ke@f,}xr&VNWdYlr4[\%7'X_r *yWm$[r}>i6y=&k \/tܼunC걊-@rN9%&]l[< jQ7vGMj .qƬX < r-nu'IA[h4muXQu] SoXA-`/N [U>?ӽ~I^Dv{B"<$PM6Yj?<7pr<W0gT"Yj:NtKڒܴtv}5׹qns$k=&^Fˍnv[\,7`|spO!B-k}~֫ڷdqQ!xTxGp}X`.?[MVbM/hޞhS>,U їxwG,GGޓHŪ|MDpc6k͊p7<?E~OTϺn ‹bʓANa6-.ʺ"gb,ԯ -_d;&jP'N)lP'D@m&Dc1J't0 pfR  N P p۸  P xPi;#K`ʈd?ha *ri*žB긲# cB D&Rqm/ps&p` hiY䉞*">\) &*@qMء`bƂT 1'q-qZQ'&1Q ^)R HHʤ\YRh "*BA^ |pf1N G|:&"\@$(!>\`a Fr&k& !%OvA{'an&ҁ"*I$Qr$S!aafȡj !!b@&i&Dz$˲&)r+q%[%c1]&2'-2.,M,e*R+3,S2R.o^"4_R`5Oj5@\5c3`5":p8V+Zk,` -B e)(LBQJ u2*'3wha-B؁ ` l ΁ A!`a>a=aAޠ%A%!A a`&‘ހC߀<=m !aڀE D@??EM&ABATDq==3J>>dFmGDm3aC;C4EctFkFO"N"NsXS6 |67NJ7xS8 PTyq>DN9b.JC4%R2CB\DHh &1? v ! \`H[UcHQ p5c@qQ١)¶bفZ!aUUG"Z"lLVaUV@Z&@X+UQU5^)bUV ]5C"55_&vT&1a)sQa1570 "c3m+M  ,@.6`Qb5E1X&$TN_՝$ xVaAɀi!. \IjUֶu6ԁX*a~gkki61Z5QmRhqnuvjk&"&5)Iqs5b!4r/b8"V-|z)| Ef&Wȥ"(G\`\}dTè"oQ ء@ `jvswƈq&GA"zankVe&"ƀl!zs,aLRwqWw)B{kyŔ`6givwwyk>7|{"qO"F@N@75 v,s/Fst:$2E"f@f$Cg&dd"Ko5)~#-O> }=)Bu~^-bЃڽ<["$)鉞e}lG~"$>́{&~^˾gb8bY:&€ :bX(v4~'tnc0fbs` +%^E}$~@oVEX7S;A&?'/3?7kC?GK&$>{;a/?_՞&?"8a^&h/?_e_gm^! '>AP^HИ;zʳ+JbP/5ҵo/^@c ['[:>"UTV{WuפK$OsU{mXO>*V\qB;6gG ^:x`aOfzcZ}4}ַ+cɟ _{0rZd~m] 2ċ?<̛;=ԫ[=ܻ{g.8CfG}@ {GB ZyL1gr4h=QT"PAdh&@.e=!We3j\ wb!c-6X!`.Xr'Q ?bHn#:>("&Oj%Yd}|bIfffjfn gr7@巃EP"8I4S > hv%i[Зؠ!3NZ[pϦp橤b"H⧫B%]ja52hWCUJj!hWk**օ*]*[Kn枋nˮs BA|hzeP X/b 'ܫTbCUejwt1>U1^9mq {ɰOqUA9l՟d17I}$.WLGFUMYᔙ8W#y$3He޸(_?F39˺Eee,7_[[9^S6Wq_nʮ2S~QW._a:rZ~~)z7qaIG A^7%U&>H%P4B CZi"YШ$!HC*@@X*&#CBƠpdQG"4N\&2*N9h 09⡤1^L VH2)DZ'#僔cSD6>R`c Y aLh㋷孛 8Ǐ8BP3hȸ5eS /97Vvi;A:@#"؁7Fcu`5jbP6ihb;Ғa:xC<2}4 ‡RX 8H]o 6qjUhf>VFGZ*X'm#|ߣ%Rf{I |b+BB?0d"Dpβ$(1,(SQW45!JA:t˚G Ja1zַ^G_A~wv}c'O>̂Ҷ:͑6Y% 1!ۻ<)Zv{ =H(*CMpǘ>EC?s *Al?@q,/|㸜 }*yҳ K }t>U Re1qdCm?;&#c*~!ӿ~5tWҰ]UxwE~W~ @6Ѡ ƱpyeU1E&c eU IU2vZF&^uQ+x)(xY rs0HGEho|v"x'qYU/n"(1]E(Ggtϵ}FSww&n~gXuR:WC0Xy'w]l4VfXdtSEA6 r H. pkUcufgzIv Y %Z6Z/cVvcg4P#bp +4Е7!x7poa~_n aBIa9e)UyY @y@lG1pin`ؐ d 1xwp6Ap(x{%ovd^ee fZd$x h{U r!if6IiȄX?CUkRXh5? `Xl"p_ nЕ. _ ^Iwp鹞Q Ѐgd 0`wpp/9" @jEu0dPN] ֍Ibю[K,H_Hac ;y'EnG> f@ &倭w{anX>M,.q6k6\srla `y {W뷞&Pd`Xʗ9Y{WlIfI.\bZߌIӏn̦n)ޕ~P ; `ngl~ ݐ ^>@@ OI _~&=n7'O}5VKxpbRUH JoR wɟ詞x5 JN9^jVS _}ePhxU쉆᠟!U}PJlcrOoMyP,^_BO`q m&:OҐLE/k$Qi[JxZWz*oow p0,տ>꨼ŨEjc@ O@MPB >QD-^ĘQF=~RH%MDRJ-]I@L [\S@mR"TRM>UTU^źrfV]~e*Xe͞EVZmnuW\uśW^}FW`… FXbƍCl~h~9ZhҥMFbAڠH :6MN+Vxj͝?]t#~iZAwpB=EB"u`Լ|ǟu1nm la}.[hj %l&! 'O!htP+6l'B?_1Fg1+a6 5=C0H!wEȳ9'$óB;4!%gC$Jβs߄3N9礓6?'DPᚔϳ4цS4Bl(9lA8TSOE5UU=!Č}`V[u:qчcE%)D3`,}3YE/U6[m嶩VSܝNt"`Zю-7[A}YfJ6afap%@q+6W$%hqֳ~#~W)qfoňڳ AcAg&z !Zq 1gX!YRZLD?<4gF;my=E#H=4nA&4#RBbr}X0;q}ڵ'r/."ŔɈn(1G=uWg]*c#yo=ww7IsZhy1xGxߓgy矇觧z믗jyNǾ{/͛,~ЅEVl'q*uf}_y<fv`=h6Mmq3M^( +(!+RD3OR>HyA !N7|ف: A;Xc"P)9-j(h^-c@(A2NΞg "DRbWP"+|#.aAȉ1P!!!FGQr $GQ!H#7JD#H͸JVGsT sɦ\DB MDCt}}#&|D l!k5QlP#$;nB u%@h&;Ec@;h#0eE\LhJsԴMnz 98 f7!7`Bm,! %AO~pA=O:RBC@v oc{HG?ҋԞ7U6DET0>OUC-QO2$P1Qz"݇4 Qe+Wh\;`4 yASR@BQ f0dU dcRv i7Q:\o$Bo`(i@|v do} \(Byx4CBp9ςv %iZ-ClH@<6Q< u\JWE>aa kx)B[wm{;ܩ+}bOrh|P>d)IxEˋ/ /8_*=! <=r!G;! "OA:t4>ްQY uȝgٔ c`Z<5ĐI :#=D/ѯ5J qg #<cW}\ :5]ckYαv"jԨV5C0x57aXͪVA=5G B}Ƅ,<>aI)Pq# :a DCl7Bxf>(-qs gÔˑ~4Ρ B8q sG@p-OH3ĺ'^>QHЇ^tC쪬:4YcvhC%W˧)}!Tyg]D7:xz,)(_~9W y}  8\h8XG1ݥz# sPvu[w |Iozԫ#@1u k i(Dp[}#:;}k/ӯ~/q@JpO?b>?R>ss>|5[w; @H<Yـ < /%X,+3 }0^,(8^H=;ټ}y8@|1d:)P:qtz=s(i6k;Z !d@bB8)Y/* Pr&&<([ϺBuCp?B}C29BK SDŲ@0< d ^?0]X,@$,^7KIh 7)CxD(uh&7h*28rX=Ko7t0 Trv(@FedFgFiFkFlFucipں/k;o0 -7lc|z\f}HulGHvtǬzh!n2E`H|ȈH:P oGGH܁GdIԨ}IH$H0HTHlșL=7=HJTʯU <0#;ʺq &]x<K<v8kHBLB؁s(ߪj:m<= RB ȧ"x Д| їM My^rA)rP2pI"=$0$RR- U@|3艋MNHStX6&vHK8ӋSI:>S?A%- BEDU;EuGT2ЋP!B΅HϰџQU؃3׻}DKs75kK*Jk5U }72\ ``:9 `񵴴k &˹'8ۇ{ (;۸HN9:c#Fp[ٰP6c-<` S2p@0%2Nc-;k?⍬#mKA&dX@)ز Y1AhAX 5#L2$b=9tB\7m@B2Pu7A,d? d>UCQB`UXŃ5<^ad5)ncpr姳Iw`?>HƌGkllFFnkGr4GOVn~GVȸvň= 7S2a%]=8dbVKȔr}LLb Dq(l-󤧖NH{dLdʼmVMV}jhTȒPъ 4e6 ׬ Kef, &Et *}k&ž <݋=7ӧ`læv Ķ~ Ϯ$FƖIVJ]O<3mVX ^ÀV ]ވ1nѨ=W8482T2B$JSn6FV ~'7GWgwX oR 'qp /w?pqP  !7rq&%g&w'r ?)G$(,-.o*sҰr273G40gss589/o;W7=@r<'tVp%oKg΂N9KC@s hLWy(wA'/SC8d2ncZo'O )puPgp uOvNRwGh =oh,9p9puH8&]tf Ownw^wf[e'spi7vɛMwvK"cu .؂ˠJx0xb/N(⠐+x ( x y)y@yZP(xZ'ˠt-y.|o?ZW!M,c2G[OgIo7n{a˻z?o;w1oßwC /j(!)u0ygP y7G}ן|/}x֧oο,S~], (^tv^,Cxv~g~8&7goU'sG?vdodo|d|g 9+Pz?yxFg* LXٳ+ >cpg[*NLp**0(rB,8BXdxŇ6#NxCZl8"G I,x0@ "%RWH!+K+(fgP)J}Wdڵm:K~,x0†#NxƎC,y2ʖ/cάy3Ξ?-z4ҦONz5֮_-{6eH-w b=u޼>EpȂ =泒Vx.h$ts 5=de~)ϲ;'Z2ˆGKNo97]5HqIeV%VURy7R_bYѡea!^!0b+آ/aX7☣;أ??ږnP2ZIEǛ!!8Rr"EYr^I%eIvPUR%1ӗDwui^%}=GSUPy&iy``*q!nĀbe!%)X\2 㐧ڪi[i[ MUPXŰkbE,PK{ڹݰmlD R9JE|)lQu^'f~Q>{襼UUbu psf %sZMYs񨳂#\'cVI@[ |$T|p4P׾_=JQe~ @GE怑EOk7.%\{Vt mE$ "\yVZVbu(! !_|e]sf88]ǓS^~s޹矃*GB@I͖)T 'GnfRdt'ПHgo%E9.z%75trl{ %3<R4oPP@~b⧿ _URE8Gė0X h"0 \`FG \ nA ZxL5HgD [2! kh3!{>@";#"1J\"_"B1RT6+bQ1M"/QUh31ja71|h;1#?Tt#! iC"*\$#Gf$%+iI(B2$'(K2%:iS27$)[WR0%-kiK2%/Ay_3&1ic"3\&3gB3Ҝ&5ikb3&7o3'9is3\';w3'=i{3'?4(A jЃ"4 ](CЇB4(E+jыb4(G;я4")IKjғ4*])K[җ42)Mkjӛ4:)O{ӟ5B*Qjԣ"5J]*SԧB5R*Ujիb5Z*Wկ5b+Yjֳ5j]+[ַ5r+]j׻5z+_׿6,a k"6],cB6,e+kb6,g;ς6-iKkӢ6]-k[6-mkk6-o{7.qk"7].sB7ҝ.ukb7.w7/yk7]/{7/}k7/80 l#8 ^0C80+l c80;8"1Kl8*^1[821kl8:1{9B2l##9J^2'C9R2l+c9Z2/9b3l39j^379r3l;9z3?:Ђ4 mC#:ъ^4GC:Ғ4+mKc:Ӛ4;O:Ԣ5KmS:ժ^5[W:ֲ5km[:׺5{_;6mc#;^6gC;Ҟ6mkc;6o;7ms;^7w;7m{;7<8 n#< _8C<8+nc<8;<"9Kn<*_9[<29kn<:9{=B:ыn#=J_:ӛC=R:իnc=Z:׻=b;n=j_;=r;n=z;>< o#>_<C><+oc><;σ>=Koӣ>_=[>=ko>={?>o#?_>C?ҟ>oc?>??o?_???o?~` `"`*2`:B`2Zb`jr`zR |` ` ` z z ` vaJ r"!$a:jRaZa~LJR>Bc!\aarcX ddan.!!6P<`DF#>%f0>́. b!F&:F6A:<́$<%"'N&c jF >Fb-⎘"d">d8cDD@f@,>8%c: ha r3"dT"dd;?bcDAc"b*9P:Jdz!@,8£Dc0#5$=@44#7C17D$~T,A.FHG:K֣H.;"Q%JKFF9d^eCdUaf( 2`64AP_H!/.ZR>$ZKe*Ze_>f>bFv`eXRl!DY5bd<@`*5dc,fQFXdc$/ei*f<Tadȥd.cf{cR>tfHBF?i"gn9f(NeEfrZrDeK6'm\gx'~ygy zgr'g|{|gMҧ~c~ (&'hီ*"!!,TC H*\ȰÇ#JHŋ3jȱǏ CIɓ(SFʗ0cʜI͛8sɳϟ@ JQ-]]ʴӧPJJիXj͚֯`ÊKٳhӪ][+pʝKݻxk-߿ LÈvM̸ǐ#KLʘ3k̹Ϙ/MӨS)zװc˞Mrڸsͻo NŃ#_μ+Nس7Ë}ӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Cgw/o觯/׿}ٯ H1:L̠7bGH"fP0aT8̡H@ HbT&:F ,b>t!.R *ˆQ~> 6F0rE@{+@ ?0lD AO "@Efϑn8,$ iQ ANYDBfY+G{X,7I~:{Y?>@ WH3K8# [^ J@JYc~7NlS6eBSԌ'*YNs #xIA ERC/M9KpQ(AIˎ/AiP: 0)-V'AifNKdb:N?^.߃_YK댂@0 ,ԝ\ +zu.sZڶ:(+ͻʲ!f)Yf?#Ȩ#?>`lom_m:[W.k]Z+'9Qh uJfm\ƈ>`ҁ(8çtAhT[ֳ%ȸYJX`>5K7T9YX\Y L0.0]cB.le,s;|y"kȚ`JT9\)6w,6ݛH^~P"OqKіvw.lz_ٴvmmMA8t85~@,ʹ j:w̥@Zm=b2bε\EK]E2 1QŌ̲bUT5R'??F"JnBHIO{aNzO21"0L{!{>GOOWֻgOϽwOO;ЏO[Ͼ{OOOϿ8Xx ؀8Xx؁ "8$X&x(*,؂.0284X6x8:<؃>@B8DXFxHJL؄NPR8TXVxXZ\؅^`b8dXfxhjl؆npr8tXvxxz|؇~8Xx؈8Xx؉8Xx؊8Xx؋8XxȘʸ،8Xxؘڸ؍8Xx蘎긎؎8Xx؏9Yy ِ9Yyّ "9$Y&y(*,ْ.0294Y6y8:<ٓ>@B9DYFyHJLٔNPR9TYVyXZ\ٕ^`b9dYfyhjlٖnpr9tYvyxz|ٗ~9YyzY9Yyٙ9YyYٚ9Yiٛ Yy ɚٜII Yy9әٝy9ٛY虞Yy s:9Y  &j9) @yqW::i J韓W҅P1"5 o?0+YZiay/:[9ZY 1W4IjP8a?0?pE+P'Z^ )ՠ ТC#_ڤ tSZ:V? }Zke`A`oZwJyzICZ\o>ʦjsj \ԨA:YУipeo::5-s!8z `Q}Z :J oJG(z*8Z*ioʮ^ZP*㚯Y٠WΉZɯƊ ۰uʰ5 [Iꉱ۱ɱ "[I&Y! ,,9H*a#Y1‹3jȱǏ CIÆY[rJʜI͛8o^0Ҳ'K#1s JѣwJS PPJJu#K2]ׅ;lJv Zb([θxƉw=,kځJڴF6$r^nX4gL.DrG_ ]uMחmԬuB= ξtXo\.?a<}ޠm=`CNژFhh~?1iy]X_xw^B@FldDBCc!!S"4Ƣ0P>אH!4oܡM4qH $"\E "p[#rck2Z@v(>#*r1(AsBVzFhIS-+A_H=Rں}Q8dSaҜӨaĨcqPt(6@#]!xY/5 z;g0@KR n{&DvO`HDh.,}u] a쳪A64y(= t#P5g,bĞܤϟUJިV jrIm sU9 |7 -P5+6HAX-֚ 1o/zm:xC@A؛\~LȽR!8А4Р>P"'([Ci{*4AFjЍ/"Y9>6 O?ogϫbD >io>A-y >#8 o rwo~lKmRXc0Ga]x51yj96a|nDKqVaB:){2e߬˾ r:r lastPiZ6FRPD5pnvwuS]h\uZ[A]+r岄a]x tW|:yv7go6x o{麞BP%<eZO2 + rQ˜ yA`U-ǒpo4Q^o}ġ ҠQiweq7XpG9Wrx(}ը;mEf}!4[oB^OOYj春%ROݖFQ޶B!@}mhP4s±Sdr`LJ߄0Tޘ)? Wg~}ӗbMU }ёT@v@b f7Kp 'Kܧ}`ʧvk;XUPNV JNSOp@Srմ|TP6eQvs AmiaJPfWHL #NR#WϷfxAT;KPhrMjKKs؇~L!),V3H*\ȰÇ#JHŋaȱǏ CIɓ(S\ɲ˗0cʜI&ER8qɳϟ@ JѣH*]ʴӧPիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿Nͩ3È+^̸cL˘3k̹ϠCM:mӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($H",-&0!b clKal#/A>̓ոTVie  6G`Ǖ!..;Z~H-N>[R6קji)蠄_?@ Kfiui!H.R@ E@+pVFicFvrVUl)nj&ݗH~@d5d@f >>b)md")[*)/Ydq!F.]&m*|-kZO>S>WВ3x._qz'IJƱ‘LKR|*筬M\dv>oBj.YƑJ+GkF ]`-تy*0LSdk >Yp w@杤X4J[܆hJ6uf)g`LkN;EO2 qO q1-8Ϩ2鴐^kj[=G7]cfǧvlZ}ڗr[/z/ڧlx[ms@ L`>oc5ɋ`vR} 40N ,A{S V>g"?$Wx (V9bxd$ gk`Þn>P>x#? +,8L$:5NJ iqM*5B &};gԼ1C/4+ GAh@Og51ҀDƀy}*`H@O2/C(pf@5Jd~}*\<"+(AqGtD.IOyV򄰞Ou% 4L(]S]+s'`r`mB `=Z>g ,D>x +5謑!θḨ>ƟdOevlK:>=km*µ8~G|3Rt46dP3t32/wVEX2BҝP*UqZ` |H5c`֝|5/K1`]"9E~"T2W dxTYcrfZ,eR%fzkH3 l4>&j& OW5YʤY(- W5՘[)itK`Lh@ Ѐ "#^|:18/nov\`R'eQ5@ VsQm-%=a#L4+bcA 4 +ŘV D%5AT݌kTvuű*KHNt$ګ>) )l$')RKҚe%צ*_V*ߪ92mk.zdlP&;ΦT;5MbM MCʳ=*xbA0!62ӛWeYW޲M3ָ O$̫iͶD'Mv~rgY ,\<*VYmvX~%V"0m[ܡdJꅷ]kvg oގqM5C c2kxPI5[8W\#pj޹7p{f ]|1,\ -mo @-N`WK;7OGMW׹ҷ{JqNd ƎpNxϻOOW8+d;y@_vI`*4J1H79СٸphMtj zG&^n&cbU*\ڥڦI_@ hcY,A`A PXkڢѩIh ѩ R HAJ;_7(Z5ڬZJڭX 0Dx 1*T @:O[.c $Ғ(Q+ x5PP` @@ h91wˊcQ"+jz Ҁ0+;1hw0@0PB۟ +K #{Fj6R`~;)P!+˺ [Թ"pkKeH[j6 Kz̚(f+6hS-P5PZQ$S /10[ @y0mn t0wp1' ؅ PAp9֐ vNHݐdLRv #ïʻ<ۿ]EL|N MĨ 밃@@0"L&˿po_ d`4L#XH!<؃;Ȅl,FS$B󶧑n+᩸[[ Ѐ# B !P "P;p0dPx\ڰ^050|ɞP` QJQ̀+ɚ܇E0ᠢL<Ω m@˧͗# nH| #_J[=:b4m+ ҹKiz@{!q\"ё_A}8=(ad6;_:b*iIPӵ$yWI~D8~T%.ʜI͛8sɳ澞@ JѣH*]ʴӧPJJիXjB`!J<)6ZJ(S)(?tϾ LÈ+^̸6L˘3k̹ϠCMӨGװc˞M۸sͻ NW+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiHI6PF)%TieSfIݒ\r9]]f fKjih l]X9dL&t`'s]霠rj衈~Xes /̑@>ri.y><ܒ*/Ayw w>LuVkz薜kW@j4rs ϣ` V*&^&?솪* ,+~ܙgz3;pp {I-\# qrCl$ls < ,K>v9cm'ws1R*Sr<2p5#Jj7̥\<#]AJ[ޯ?CK,PLlW`ݻ*3qK4/}eoDҫKYd;f)c&p49t7?ZOt:;TNGgear`vgp>A9oY. "'Cp5H;Jy>D%n!Ib+]KhU,}n s+,vQ`6z1wY43&V,7PZR7…j.>ǔZҮ%BdTNZf0 qڇ)Qyn60WKzsii<4"NZduFlX+4ˉf4)<>ҋ}WQbGNsWP'=倓ӹf5(D.' #% wps6: mAͨF/t:5DU9X :[-{!NQ`ZG ]m9[d7ϡ 9l+y D(F;QR84mkQ*rKHׂhƮZOeL} 5 `[ Gu V*V!NX8M + [J#s 9\@tOfOF};nZ~-͡*V]j57̏Tx]`g/IySծZΚO 9;)%M[%QB9́sْV\묷zs:kt3JR}+ٙsdy0}he⊝mqA%io5'֪QBg}(x0BVǬ HHZʁj~3ò΢UYB`,5@ X:g^ ^9p(OA` fϋ* ϋDu&MbE5]a<7NgsE5SآT yTː@ 9zz/M3fWjMr+g#c3GsʥDبRk:殸cesMN|TO/q"q'ܾƮ4E:]8}G89q/XY^%Š2'ݼ(ٚsGa;زZt[٣YġPe6?>^ԩ]A=X/j+wxϻQݥH$O>h۝;񐏼'O[ϼ7{GOқOWgOϽwֆOO;ЏO[Ͼ{OK?'SϿ8X ؀8Xxz DAA"*,Qq&X3#5H!98;؂>у!aѡq;I(HXPRXF8YH`G419Ȅ]T(DoxC( kV8L%qKfxbXwd88NxG(pH&B8ahz_7xfױ21艢5xhYXiHHHl8/舯848ȇHHhxȋ=荒X8،ȍ؎q؋S(=эX( q8Q(ȅH(xظy8xB(h:i&e8Dy[ْ0]ˆ4IΡ昒(UyX)SdYysxؓ92 ktx7)Wّm2" 9"YqYHwiȂ>@ؐ5dYYPȕ_ؒ7iyZ)ygB(3Ȋ )I6)9ʉى_99)%RY)}hSFIɉ،Y( #6y:1ၠ) IZI!,V3H*\ȰÇ#JHŋaȱǏ CIɓ(S\ɲ˗0cʜI&ER8qɳϟ@ JѣH*]ʴӧPիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx˷߿Nͩ3È+^̸cL˘3k̹ϠCM:mӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($H",-&0!b clKal#/A>̓ոTVie  6G`Ǖ!..;Z~H-N>[R6קji)蠄_?@ Kfiui!H.R@ E@+pVFicFvrVUl)nj&ݗH~@d5d@f >>b)md")[*)/Ydq!F.]&m*|-kZO>S>WВ3x._qz'IJƱ‘LKR|*筬M\dv>oBj.YƑJ+GkF ]`-تy*0LSdk >Yp w@杤X4J[܆hJ6uf)g`LkN;EO2 qO q1-8Ϩ2鴐^kj[=G7]cfǧvlZ}ڗr[/z/ڧlx[ms@ L`>oc5ɋ`vR} 40N ,A{S V>g"?$Wx (V9bxd$ gk`Þn>P>x#? +,8L$:5NJ iqM*5B &};gԼ1C/4+ GAh@Og51ҀDƀy}*`H@O2/C(pf@5Jd~}*\<"+(AqGtD.IOyV򄰞Ou% 4L(]S]+s'`r`mB `=Z>g ,D>x +5謑!θḨ>ƟdOevlK:>=km*µ8~G|3Rt46dP3t32/wVEX2BҝP*UqZ` |H5c`֝|5/K1`]"9E~"T2W dxTYcrfZ,eR%fzkH3 l4>&j& OW5YʤY(- W5՘[)itK`Lh@ Ѐ "#^|:18/nov\`R'eQ5@ VsQm-%=a#L4+bcA 4 +ŘV D%5AT݌kTvuű*KHNt$ګ>) )l$')RKҚe%צ*_V*ߪ92mk.zdlP&;ΦT;5MbM MCʳ=*xbA0!62ӛWeYW޲M3ָ O$̫iͶD'Mv~rgY ,\<*VYmvX~%V"0m[ܡdJꅷ]kvg oގqM5C c2kxPI5[8W\#pj޹7p{f ]|1,\ -mo @-N`WK;7OGMW׹ҷ{JqNd ƎpNxϻOOW8d0aA1A0цAq!aӰ@' vd Ѐ@_8Ϙ5ր 1ьApw긎0&SU#.jFJ<ōw@A H P ] ɘy_@ ဇԐ; ޠE; p{y@p ܨ ؀P ِy@XR;ٓ? w p ג/q)J9M؀6 l) n)LI 9@ȗ~)M8pxQpX>OP>&F9IYKINyyah A*Eٔi&)vpuP逎y @ 옜)H)Ή.Wԣ 4 5&Sɛm@t pԀ uP yӠ ' 갌pw 9)` uPpo 2 ܐx Yp p㠡`w ўH蟟8)p鹞R(!$jѡPnpdj  9H Py0 RJV2ʢ5  Hf*A0ũ Wo{rpH\m nf~,oc;S鯱O_N橾^Hž~>u. /˭3HA".0z@!7~*whΌn "`L+adYLcϱܑ 6pi,2DJHa/ʄQka "mC !3?T?] !WY_\!,V39H .ŰÇ$SɊJ>$yWI~D8~T%.ʜI͛8sɳ澞@ JѣH*]ʴӧPJJիXjB`!J<)6ZJ(S)(?tϾ LÈ+^̸6L˘3k̹ϠCMӨGװc˞M۸sͻ NW+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiHI6PF)%TieSfIݒ\r9]]f fKjih l]X9dL&t`'s]霠rj衈~Xes /̑@>ri.y><ܒ*/Ayw w>LuVkz薜kW@j4rs ϣ` V*&^&?솪* ,+~ܙgz3;pp {I-\# qrCl$ls < ,K>v9cm'ws1R*Sr<2p5#Jj7̥\<#]AJ[ޯ?CK,PLlW`ݻ*3qK4/}eoDҫKYd;f)c&p49t7?ZOt:;TNGgear`vgp>A9oY. "'Cp5H;Jy>D%n!Ib+]KhU,}n s+,vQ`6z1wY43&V,7PZR7…j.>ǔZҮ%BdTNZf0 qڇ)Qyn60WKzsii<4"NZduFlX+4ˉf4)<>ҋ}WQbGNsWP'=倓ӹf5(D.' #% wps6: mAͨF/t:5DU9X :[-{!NQ`ZG ]m9[d7ϡ 9l+y D(F;QR84mkQ*rKHׂhƮZOeL} 5 `[ Gu V*V!NX8M + [J#s 9\@tOfOF};nZ~-͡*V]j57̏Tx]`g/IySծZΚO 9;)%M[%QB9́sْV\묷zs:kt3JR}+ٙsdy0}he⊝mqA%io5'֪QBg}(x0BVǬ HHZʁj~3ò΢UYB`,5@ X:g^ ^9p(OA` fϋ* ϋDu&MbE5]a<7NgsE5SآT yTː@ 9zz/M3fWjMr+g#c3GsʥDبRk:殸cesMN|TO/q"q'ܾƮ4E:]8}G89q/XY^%Š2'ݼ(ٚsGa;زZt[٣YġPe6?>^ԩ]A=X/j+wxϻQݥH$O>h۝;񐏼'O[ϼ7{GOқOWgOϽwֆOO;ЏO[Ͼ{OK?'SϿ8X ؀8Xxz DAA"*,Qq&X3/h5!;(=(A7H-xH"91ʱa!QM2b[7áӡOܡgȅIXv(`eTXfȆ˱^r(QȇaL ?dHhчщShxUw=VH(mhRx;37Q؈ňh،Ȍnȇ؊(ъ !ӈ5h8b؍ݨH׈H(xH(ȍ&HA؏h؎ i9ènohHIXxI(ؒ.ؐh)9ؑ$3!6;)S i6N(ɐ<);iEE)ّCiYi# /ٖn<&هH 9GhyD]xX3i=z3h)=ȎxX9ieiYYu9əvٌ$锍yؕJIPXp _隶ixyX8i{ik靧msw)XIi9IZ)YOc(mXˉy(yTȟ(\ʕȩ>ٛb9ɄZ 5)䩇Ix酠 y^) Iљ29zYaȑ)1JYhP!p SNW9IZڣ9zha樣}y!Nڤ`zkjhFj 9KzW 9pɊO:ȟa򘉊 کZ*l)Mz*ɒJ4Z:ʂizW&r* Ī zʺ$5 :Z!v,Pi (p*\ȰÇ#JHŋ3jȱǏ CIR!A%S\ɲ˗0cʜ@8sɳϟ@],N#]ʴ̡$ȄϩU-vDժǭ]b괬ٳhUBe*b]2a":i\>AHI Mu ZᅥQh! D(}ɤȣ pMi i! *9*RmR%T Hf)k~ fⱫAzQfyDn!\d#BHGbv!TzM_䚋.C y+ rYA!.RG< aGva-r;1Bno˖lE i߆[o^vHG<$ +>cq{_p;56-:3f̪bet-rxh%-nmNU urjg> *G;{"CSUǙj.Bz]'PnyܙFD W ,fmqDZSEIuϫz PAD?=MCd;*fk'Hud-I~O%Ar0s_; wM ׾uOkTrw A0P WĹ&"mvs}\NXc\ zL(,Axs,4W (Pȃ )pJ` 7<obe9vh~)&^(DЇEQCl`{^~3FLg l PEҬ$',MHJyͦM5U%U%q)Mm@ tEc(V}07lT5UE/hD+>4+K)!*чĀu+j pC-C ;jə-gXnx(\^`P2쁣dlfU!g: @` vA4F&gmZ(U=e\ [;H,ͮE䬣DM4nlZֲ;C\mq[  `B-ΐ1nT%iho߫`Ј׺S%pBpepk6_dLDR(RAW0p@GceJ-Q̅*w>, hΩ[*,L8!_-cqEQvܐ(ybA GKnswcgrae`y:"s&U1mh\J؀q(,Fʛ?#t;=myK03FsKAlQE#iAjJh#iHgNAfɰgw&#_o> "9li9B=7!f4O =J13_zLً{O9ϧ!.gKQJ|BD'7U+Z# >TX3 VB$z* EU )$0 ^}$(/}F%e'9B~&'Ӈ#rB}w)T*$JA(H"g(r')RJ#'~ҁ2*G>N$(Hqݗ'Sl e ,fiSWS5S7c/)҄rA0*T.Yx xO-d33!C:@(z /ehf666;I#{1ÑQXUx74._X*\SUh3B2CAgh%/(]4_sos0 0Hs1|n!YOaR#-XCf6Q5?c~s).棈v4b8Xi{&9c=[Q*T|LsA>:XS!Ood;CzAIAzj YQ I ADg:w{ QK#%E@FEz4 ŔLgY?L}$aD(FtOd|ME=aWXUL(Q!KT|iCkM^=dDF1VH4XMHyautGy_q9Ds)L7Czd{`I%G4M6!W+4tTaPx MiɖIܤWOzu)MD'Jd`MqMO)NAASQOVtPiS4NC4<ֹKޙksvyQQVEcR_yJ Ez1xOʙ5w% U8STϹjQ?z3s%b UJ )6QkYZUS%JVСWj%leU`iu WIZ13!5*Irf%`\Y5Z!p%Zqa1xP%ӡBJ]5a\5\ a_L]%]j],F!󂧊`V6`S1妬%|ڈEo5b 2_hu_:b_@V`t` W~`Lp;w`\jJ1+dr@g:ff&Vh^QdAf @&lIe5 i>V|gef1f`&5fTk}ƩyFil2kʢnDQh q 1~{d'jVveY( [f+iV:j6Vzj82G˱ీ"K;hL6ɇs{ {J&lw2m1Alo:nXsɵ{X.F.sIs[7rV۹;[˖stHau}^'v ub y˝#0fl$t"kI"d@ %vaI!x7zǏ=wkR{!w!!{qZ4y4+w "wPYoW'3[yI*’/ 33&{+{j6i|WF3İx{P<{-{Q3%q\,ŸyޑƧ 1:z+e|slJĺkj a<~| Ȅnu;)³ǀ~}泃)8~FX*[*6~~WOBw2%Z 0?8i~~˸c ̃r$rLWb~$A+8kũCus]Ap2S['B"z-ׅl%H>"*G}D:˶ D!JLLE}/ȁLrlHcd-q-6tq_lC3b3H[X00:hTc/Ulpxt7$È{؇* p#7c; }-…dQc7bHEЈUM/#r̘xP FDAK/)DrZhp%Mr"]@2p`.J7F=7X=s+vBp_q6Z-3y'02A@͏HLjHt1"٠~v]M.[8C@'99;v Ec);I(3udP`VݏD );A) h= <ٝQmr]2 Us.|ȰSH`#%Ga*\#]K UH%߳S!IP+l:3V٣^29$n@H*^,N AG^HNJ^qᕎ$iMDrIZZ]H(5"iNynAفetFwm:Fpp;\7Jny)c AftQk>/=wFV{GTrP)=S)\EUٙJUwiHtT1귻٘eCy.٘(J!'Zp^y%NW.YB~-niq?zu:',iC鐎*u@n_YvLJUqK@N.LE]lMBؾV^2 .dC%NXE5n8  yƾY(ȥ1]&D :v7G0W*<3N]8tRV >A%A:j#ܺvHuG˙#qj[j}kѧM7` /.|0ƃN;9CkS =a@[q3"xNeAݯz \ƒ?۬>H;N;!7c-C;  }t)bBZ=!?JB3!ÛШ<ЋQQ }tn7T.d90sL24L>1M.:=cM..C(-s>$ĄrqT>  o #!JL 0]1>%OL?[P+ 4:WW5AQ -$M5UVkmV[Vҋ\ *RW\r%]y9Bw_~߇NE(=  *a͉vWjH @q*0yӁ Aڨba_zL=HdMFh*kv9g+墓Vdvizj/:;!,AXl*é>uC:Ƶ;1{z:WFX[*qŭ*#|r+Z< WȆ':A?)S0Y' t7rWp_v=v~x7xW~y'fy裗~z꫷z~{{|W&Y)%G3߯H`~x)?SUa^H2HO`-xA05몈:hM$x<8}izK!]BP׃O% E;uPuEw$D}*"x1@G:thWo;IDL"ETD>X /*Q=tZz" b1\  (Aq*j%,nVؠcPdd# 0.Xʆq 2C}Oqw~!\ 1eP4u„;t&#`0ȒDHt, *ɔDPWl/d%\ b %ldg;N@.%l$0!=)'^D#T,ʚd^Ӵo!o/<0o mHCX%!Ѵ!EsCp hӠy *%-KvhHG#[gG{Pқt=P~Zԣ&u!];SZիfu]jXZֳum}k\Z׻u)>۲&ӛ}ɛcKi}A["vN` Ѧ!rBpnPÏߦw(=»02H@?'(D> cR<9Kp9 bF*UJJo BocE/\ؕ9oVG)tN'A9MRtҫ)?Q&RtkR6)#1^@$\a;1D@,,9kv>e蒮I "CB8 r,b@ *A$*~ASlϚBBع$t컓2P2>J}ر #2[5Y ܀4Ԩ 0Ϙ'PX.LB C2$ADHĻ0PCDr,[4.C>B[}F) %C24s 9+`T4OL^G< /r3َ73QL*,c5|SrKz G'..<v hG yGzyGzRTGO)0pD}ǔǃLH\HlH|HpZIJ20X=X}ЉX4 roz!**(7-Jˌ}A1Ćg>p\dBvcLĤdlKɜL@ %BAA/ EQr"8838֌9ۇ12ȢrԎFI;HE!ި#Ģ)8kΩ<6ZL9/Ļ-tD@3HGbGz Aq_/ܤA{@@ȻCd\%S ' k4 @ù MTϴuA:<{7T6O̪@Rmс?Rdp01<=KؼR r(($J˅Ƚ뼄⽺犮ӧ-#͌RҔ/(mSA |R05H*y 5Z+S*`@?bªwZ7hJ?H:.sNYK7]U@!}0:7<}SX\#_Th7, q3*V -&֐XVf-kK2T&$V \+n TB(JVmה49(CWUM. p :/;.%4,ܯݡR<p}XŸ:ᮐ}هWHQwmٕ4T: P!c èH5CˠA k(D#өtMD8b¯Z _vgP^?PGPcjD8P)%M nr6}pfP _. Q '5oϭ~~vNT^17/;R*/"R<(ϳ+鍎 ꓊.h(i=F=}<81UR`ҍB'}7DNnzCi.3%:0`Nҋ6Cӡfh/7` ITAԋ>@ ԴSChT6!fz7zf:qfXPfʾ+jފu֖_i%Gych m儆\$^F_~.fξ #˾}zbLD7{HD&bBA&@*QH/b#b=Rc$N!TQ Ad2$ xl 'V'U5vo` !g(y8M)`r@y$@RShُ֔!"I Wf$IP zqS8E)HL: e[Etg{nMYř\6dgmdҒM>9yxUQDٱ^Y]ڸ++ ;_Uz)Nʥkq&:Ԁ*!e\B+-p6uޱ%{"Nc1FM*R_ 휂;-N'pᕼl*U"X^ջK0w 1 j/+dCU>_H[[fg393=3UtjfqUg\J UOh. Ry1lc(.H:4z4JiKkV>6e "zw_}P+"Ƚvmu!"_gdG?޷[Gx[z1IS ͇;;=zG|L`̼ZA!nAL?g^4^W@~vq qQ_={pDhAЄR=`#a-2U6xX)q!bo?w(n|#(ǣDoM"C <݉MƒdDOADh` 墾3& et$QK̏d H`ԑ%vH݂Y푑|%EIKfO;1RDRTr_&?%AFa=ߙ aPT5 "Sb̗0iHziz7<潒)O309n?`CR%HԘ9R(F3J,jqot(vp@] iF)=KQGw+(Nsӝ>3Ԣ**Rԥ2NZ"T8mV*Vխr^*X*ֱf=+ZӪֵn}+\*׹ 8+cfjhڅ5_WugraWW,֭-U:BR \nrxcHfѿ@-q)J k 6XEUbZV1gr[4 YZֲ=e uT"酨Sk8\ˆ{it]Y.Lm5>tQwJ*"ek WA* K3qq'`8ےSD\Zp,u+@pJbjTfO)KU EBzӣ-^=0R";LݍѪNw>㨲)fQ kp c.xB~lwdVb763z(A^]בyٟH`cӄ __e `ΰ z X dΐLNtI F|`hNE!E`xDޠN|S$zTr`|$a\HAE⌎hJp!F ㈈ "&"t9qu 9O aF$#JxFlL"Np9E'HOimQqI!Q9pnbpXc|,b5\&е@(O%$V&D656"2RZEO77e#)6X߹ )"@dH.Q&m/'I= C. h<BL85 N1SAjGj7M4aHB)C5[<]%2d9C^$5FH$<r'tFtN'uVu]Ec)vHc)dVJ\|AOt))Hw"wLx]}B'p0nH*an#g F~p heJL\^AD8@hgƀ J}vr_^jHb%l chu-SP扮(_(Ѩ(sBYc,RqHqX0؍[&LEDHYH8I,n%]Mi:MǕ H~)(N):eiDeVvBYDFlۼ* ܹ1U*KIyl뱪Ţ!!0 Il۬j +f=_ eVʞoU[]yXԎJ^݋)$-.--Fg&_@ffD z v9nMÌ. nD4` Č/ /BȦf2 R̈F` ZoosyȎ!}aJF!n:C! Ln|oK@Lz .w0؝BZ/ 6.  5b;OY>ƇU#$BO %n[I Cpc$[԰_E*E.Gc(f<  P זB@15¢ "Mb1Uΰ"NN(J$t>)RRT-Q%R&$D\D?);oyDU$U+A3rDWAP*S*+HN KdFv[BeC21ՙ9n>2…QE AqR,2Kd/eU.2:nuT]bgeE~Idf;i]->?茨fn 4@'Bo5BO4EWE_4FgFo4GwG4H4?NΠ]H4L'@A<,ts1 0ǴPut:D%](]4?5#]Q5UWlq@:Vc@ ԁHDE4IX>h(jDX BY7U6bw4EdUrA}OcezT[5Fy<eq4v8Z҇@v>e6 BfFI'nv@ʡ4i_95ۘh,A|d fpdl_'I[%yŊhIq IuxuUUwxG:Ic$5Q}[XSW7NԗDD2BdI4zS#RcB4`5[|Hc~w"\N,0'b;Ec<߄Uy4[%}t fxUAw/DS/9V_[K8WaBO}yJsd7I;p# G7cY_q9 lGyA&҃ ÇJ/I{Ptw~1HDc䤿]:opf:U|~I̸ߺRN::;;'W})ԘW;UtttυlED[;Q_w{&F LR4Ez15RxxEׅS?Sp@R;c9jZ[Y?X`Ad5ǵ@h&JВu85:U&v<]ǀ 49¯ؼZ7|Hv{L\T)}'gewuSgMe_6Lx6hfOf>t)=B8vi'jCT[YU6և}n+irsgh1m}{nl/d=k}{Ee\}3qvyyO'o7S',wtqqwc0c8wD@wM֨D :NWey(D:ES7ޟ3雾6F37I ]zDz˿w_ޗqpx_Gzv| 6^׷S\jo? A4Hf A'5l(!}m8|(Cz 4qE<8r (GJR}"VIgN;yhPC5ziRK6ujTSVzk֡;0)ҢB k5}ujիYvvlٳiG,bAAB >H  .Wǎ0``ѧWGzg<=ݽ>=ރ<;7=/< % - 5t :HC tC!@d!.L ?G8ȀDp1ĎjR/xڱ r(:4"]h/<(}C< K$գEq: t5_UkU1]26pr=b2pUש{ަM~P2 o^~∕:]-5ޘ=EM>U^]~Ymg3az >A5g5)>:J{jYꜭ묯ZhӣjNa {n m)'i^>B AoN-_nܢȇg /NsC IU_=kgģVx6$ݐBAmǽV PCA=tA.@&"Y^y!w-"v̅ӣΗ^ӇgPh?v]XT )'Kn F3i`t`Ʉ  o А28/vChRH w")|Asz`1%pGa= ! !z䄉dˈD !82>Ȩ4%1^(lc Q S-"6G"V0-#C aBP ,T gX:tPW&9ɍsD lf"pW!T%+{R4a-vMj\U- ԾQbG0JxdrFy%)kҳcw> 2j7>t!СkiGڅjWhC U^ToJJjMjf;,qY !șMq~[o'.Ͼ֧PwP?uUݽ| &U'"E<OuaE0=ocHAAxESI {aHA_I-F'7/#)GrzD:!}94E敖3"э,bUM,n> ! _HBV$C4 bOTczHLoH8qi!Щ!ԉ(#nJH&MnPh0Ԋ:pג)TNyjNm-B)tP /Pو+Bz"_LΤH؋XЂ#CʨJ ԫp0 3pt ,/xClZʨN.'$1 {"Q bv8Np1P6/#.!B/B-(C'8q$$ Kpz FpCgqE #'1XqCCɆoqԊ(α7hw?̌# C쨄8:99#;k#9(^Z+f#ubNK #~fPE^+#vr˶t^k&M1)Yx(ir(! )G)u»'uŘ*GN*M3.m E;$J8 :hdRGEPDEx.]zqZLR *,$8΂+P8P1L~'s`2f1 '.33e4Kpt 5B5q"@w@8br%848a28m 1>.e&eG^nE6eFe#evG'ACB]T v4Aatl4F?4X弼I=m]+NcIMCRMODn)4tR~(IT `.BL-ermNNbQkBr"5tBJmqJu*BW(X]lXUAKuX55Im5+6hVUB("Ⴂ (ȵr6uLD(ڵ](^u^_v)5`a3$1"byȓn- ߼/C{oΘ'}l@DZꎂBh:O݀dIⴋd!NV~Twe0n1fnl6weE$kB!.-, gih[6ha6eՒfW%i d/sn3d#]M&EΤDʠ/L '0!N n-i$4HRkW'I @ ppgMȑhs(I"W!rso,vMhr5vytvf4Tq[qWvO,95w/s=3nBZ%m8@t۷ha; cg'F鹂I ZQi}IU~<~ r" ]F {|퉕6Xs - ~uҁ)E2B 5p׆#s!hbi((&ƒk`J"T-g(,T !:ZUa%4` Kأ<*_؍kK!oX/Q Bc4~X" Š19,Yy09C(E@9'K9CX QYs]y{–yYB|sVAAap&UKh˵B*yJr')QǚHٽM@E M&''M L 'i8'Y-xk!Yecb#VNrpN J6'YS.;Kt¤KEh;H8LF$:XEX:JR.F:'tS3_KB:4 :~NJ:њ'ZAE19QW\zc:fz32!'cc>-b[~I E@pCh4L34BQ9tlsj C;^`KE?YH ({'JZM j?I۴[:(`:Cq{?۱mdE{;⚹_IE\fZW6);*{)Țۼ[LM`dV{B4pocbV[ۿ\jO/.\ |<] $"h35)dWE'۰B>4g;BeWw' D' 5pRZnWqqŶ)84DP&ðtL-U;ʫUP&;脎.",pk~#[1k0oTTU, amB|u~*P~l~pc[=,NX ]+L]OYGPO bKsɣCoFo%] puWU(qPTw;ϋ6̃4igb w-#=ٽ=yݻ!g7/)qb. #>O'`FXZPl#42F= 9%Wtᬰi9 R'cg.*8xEɔ@1@|r˔QũnPWrʛ$%^Cܒ$ Œ`b#:bkJ QxC"{-WG{k)qH`-hjl]{Fjm^#ĐC>-&-|?*" k0yJSq&19۪/"6+1wQ_+z MվX)87 pqgp

:^Av| !`Pj~bq܂b wTPq݁jQ#a&.@Q &H1d!VbY H*^X]_bxp!!RCX"{g~ hJ(} rY|>eQ' uhRq}"dSA\<ڙQJTD:duӢ kJk*B_) %zۭ?yViz%l jPvlNKm^ wէ- H'd oKoދoo pLpp„K`OLq_;9WSŹ{YGiǮ'o{r֔Xz&ʵvq> "0L 1RIe& ;2L4kc Hfvu 6VMӳMT&trMGf;,y -POjP|/x=y7A9nHeUgޓMzXwq$ zLgGc쳃t0<smP>8Zngh#)_9@tP Qo&g.AWu zŃˮ/ t0A@] յ BG7JջT@n<조N١5>ܰ\ HT"ff)pB@PPA5<)S )A.(< Q坆,hbE.j+U E$b%4 y`P %B;R;Q-1t Z)-lE$(zNZY/8JI& AdJ$se]] hUj]SWDoWU16 E!Y4kKZpFС!].-oAX+qYXƠD;A ۅ LJ["%mMRh׼YJ;]Ӷd }T&gIUt^#?] ׿nwIۏv$.1$im}SA/"!e0v#iN(V Ax@km,()<HoNFIpdJB Qb0Or,MwQ m!죊90l"xьq G낝 Y$ҡL[t3gNK+'H%dȃ_^;te# ^JlruEaNփqxb%p&iP`c05'C: @]@Z3A ;Z՟:5UmԹ76G,R_X"& iqjtیG ߒ]?z"9E#EZ7DIH\)DσV4Qvp.h ,y6ޣ{qb`0;wBhd%(-U`H_;~p\MnM)jXR9#{oՅَ+^a+^'nk~U:OmARH?zЫ~o=~o~I/aM W}Kǜ^=:M]#30!-al=!: O?x~8!p5tB$r2zAADAi 4@@ nBT%tu0BGqe&r=:YBl\wI;أI"y*`(KUg]Fh똆VJ$!^TH TDqA`.YGTO4ʼn9n{0G8G¤Fl;`LtFH|d"KKda K2btKU8ҞÉ, o2Ҟ8 M؟ltIѠж1:P%9r" }NTz‚aO$Ja5Kc$'k\ћsSS=ul? TATBJeJS )Q:Ts գEkcm'3)h0G/b3":Q6:ȃ$[Ev[N$ [a[[lZzZ3W5ZQZbZqڃvWYLSу Z]U'1Rn*q`B!u@n{zԄ%zVW:f[)^`Uך]J\]pKZ`_ eӪR]تG|*]_zYVAjY!?Q2%N6cYdex&gu!h*r[fVmvP+9,zh.@u@qU2epv>o9g:g|'Q6te){g(Y}GTl{Gh8bAfjnQm6<ʦP 3x&io`1ڶ[Ja|ˇ)DA0$FDV9{mq3fl3!nfn&Hq 8VnKoK8D;iZ : .3ȧ/wG"!AH$LBCS_v09M" 9ѽ&g!,Rዉ U>ɉzqVcAk"{2tQS V<@gq#IQU*KgB,r̼'>B2 ?y*C{S+A,48gb,/JL:ܧ7ҊDl÷ +CH۬{+1 ѕ,B1=c)AfA8RAiÚA}g i,W'[PLE?bęjI~~}{`ڈgf $II)T%ʗy&RIQE% F ۉ^G!͜q&] c,-CKM{7bۢ:'Q6 a1GzP=~v<'4iՊSwyp*#yU1[.ڭ$J.XFdnpyW 5$Z76jX=Xax !xm#ׅv_ښ9o]_䕯 ` †ְmefa*؊{[]`B| ݊k=Q[+uDfXz"|NahYc9-h-#noڼ6nqqwێl2U9lT/3'P뇶!#anmK ۻ&u`vg; t(¦8Qs$Z }AkgJa˝n̒!'s.0yNn뷎빮.Nnǎɮ.Nn׎ٮ.Nn.Nn/OoB y O' [~|63+ E %E\xB·./N &o[WCn!4@m> ~[6gdA0IBD *ֲ0DG$DOD& wJI Z1GwG#[$H#D2I%dI'2J)J+2K-KDC /!"Ӥ/;sԊZ Cs( ~#=B ;ڧ =HK&z^8!d+)T( 1S=:;ug5o:^:讫^FO<0-g?=t}tv p‚;J~ .Dd.9x=+m^3bt+⷇U07лEG?},ag4^t40 +^j"Mx`&^ TA! \ԐK7 ]5XA\"_03AEvυ/!pG@2a77\>$Aa:3>@6EChCf1*t=I42PH r'ABE#^"ˀ'1!TS= B$+dE:GYі呶%=!N,t@Z"y p1 b`N WhS0iE.x6 9Lb0?B,,Va: 6y,3œ2 3TDhB"pu j-=!(] ;#G8qWy&ѲU$;4ڎ s4:w6R%y )O9F?Q0g:ߢiAZѢrtZUv>OV0C  2\lp^k\ u=B=p[}k`;Xȼ=\Bg؊0ld%;YVֲlf5Yvֳ-$؀F-’jh&eКH3"Im̉ZdNC n?"[Ж(>ֹʑժt802uD>V՞qSGn$TJK\#ԧ^R*tD,+Ct+R#hF k$iJ.ʈ$ #UE,1J@){q[je7.5b*;&)0fH1fZdEđWWXQqAF2ynxk[1M͢APeYf%x\3srꄜ0i3TDJ3c3;s'Zh& cδfM(~4ձ1f/{5eYLV gpCQT Wvl*fHulAt7@CܷQCJP7k>4Emr{3ޮQAa vN)s܍8W`^FܩʹOc~nyA@>pA w8I3WZܘƹeIǑ6'o;&2#}@X ERK NӵSO.>07/BBA;;罀t n1P顏nJ'7,G>Kϑ|kՌk7#:7((c A<{1?H=X)zqS,r#i-@#*⿾)&ZP¾ 0 Re@=@0Jľ ,݃A 7Z+ӿ(ZK(ڋJ4C@ ÿ7B ڇkjC}+4$?s;*HژQX"Ah K¤0%:̰SMYH.=Bݡ;d;N*k7bD:t= SDRWX*+Kq).l ,rx E 7 _+K) <`{l'`¦ >L;~ &Ԋ3HJ*<4+⠷:3ˤ؃\S'D)ʌJK ) $ #˺lKrtJCLT̄z$ CʔL0̟p+_4M+ײt, ”!"-#%RXRQ1DEx2#C8S+ @;3iUs&2+3K6c5?8K9C8M<ӐI>ۺ{|I5=H:;2!4 39U:%;e3ҨTC%[S(23C3 R{ՉT93VU)UE zqTHV]ST "4C#]%T4DH57!I{O\jSKS`USB35ef{Л/|ICeϤtۇgcHy {77}ĘyXArs!a|E"]i9|ի@WXK7QXXm7uعUFح8ي"?4@z76(;]&s5RAE[uهVTt!ZLj:LY9]&񩼌[ :;;-;@;dܶ+Y'B% Rc#3#ܬu;9\{ݼc]3zd¬>+ WlS۩>]ZT_H`3?EU 9 ` @S־>`& nY!'5_IAd4@,QU4R@T\@A6A0jB6A)BA1nlA#2$aۑA lٍ9A5:]E|2j;c5V#/>B)<.-">d4dyA^dLξje8.'~bYZ0V_1,e\6:XŬB<\dS\\a Dd%BJ Fҁ{HlFCb84 ύ_)X>oKK_?˳> %m̟8qҔ +i滖@wMδ ͵j/qlM  \&M!ᬉP ,gĪbNN0WlN!5g6w789:s;=,ЏER"t>GDo UsE*ߋ8A@+!WMt*-M-EW-Y2 nd]IJ>Os/PnqN'b7Zl6=W+gdmSM!ؑ[kölZM7<Ѓ4vw::C&-üfIyo\_P@w|]ǵ8|~wwT+bI`"Kwwfg!ll&sf9ûVHg̸}l@f /dJ LbWN?J4IpVo>L슈ènWHAwϷN[Wttht֯@)U=g͓_7P{7MM^G@._'\O-/pCG -0o "Lp!ÁA5$hc+F̨C#BGP&OLr%˖._Œ)s&͚6ỏ0$ @3)(h+2piD-l'A~,Bd:UVõU'ݺvͫw/߾~CA hǍ=|="$SEa%ag2.C<(a+꺴aAyNgvXaxhb7~oR&-q<7 .c1W<9v>6 tZjzѦmftM(\yOr5ej T!]xX祷AV7☣;^'pf6 IVsAء@NJB<c u`Ec>z!v!A>MԐE9ОF"{Hwj &~ p_ǘJ>xǡj@gAcijJS>jɥ` f&&Мu"zUBg ȡ9hn ٪+.J&AxS}ԚfĪ[⛯퐕RNe[1.D'u59Px1liLe_!{ YqM@{AR6P.I6B>Ͳfm4BH۷GXr$[r㽙P@UHK!H Pj`TDI}6U&ouSAx(bY ''W.nxKkιÇϥ'%6^>Ua, ;8S(㟿߿L.tPL)"Q_K HMRz׽Ӎ}Qt  '"Nw!|RwY! R:*H xs 8 < 9ȻљoH\` ' dR϶<%r q? IfG) BZAIԐ#}(ď'2%2mXd#' 2<# ? z!3(R<^$'J<>b!]b |Sye5vVђlw3u ( ,dVΐ}L3aY. 'N1gΔL`B:!*IRZ' PAФ<ޜb}t0iE/a gJ@@45>aC!*Q M*G=͡:iJ3&$*\ʱJ bQV|:1%R*"6],A6##f6H"А>WL-.8CK?r%C9RZKeE#<ɖL,o^3l39j^379r3l;9z3[B/5t`M-hBw՝hE?}4+mK;`̔әl:LfIHFBRd<1W:j.riR¹NҮkY;6bY:"pLH6Vu l@;3A͞7ˍ?! BQ~U1L얔вvS*XdgAorUaG Rps#< _8`BLfYP{0sffW16No4ccI>3<*_9mB s#bdJNyn~-:ыn#1AHFoKo xD#A~=_!UKdnSfBЊ +Sf'>w=zWj:ju\}hD:W5`~BJx4~&kA kW{<;_gw5{S^C݇}{O3ºyv>;U|Loɺ0ҟ>-Zyٿ~??o?_???o??` `"`*2`:B`JR`Zb`jr`z`` ` L ` „Hjua }H BڀC"b-AFlKFsaMd khGBD@DXb A4@4`Ve%R6\8yT|\MLe-ݨ |RfѸeR:QA oCjqZ @HdH& ee*vl dYr&ȝl$lɘaxAMOi5нe!Na|=sS aFj A]FFNu@kekfw^lg!e^ T8ل I]p D&pbBU5&tB#k LXi2ءԁ Vm"%cF@c$C(#}hZjlN lI(LrD5D ܑZ:}U\R*Q%-5a%E. `%Fh5FDDr hvg ډأAybxg AFsHi)5>3%&U  YTĉ\IB'BP*ZTQɔHTVeN=6Qi^B DtTlTZ_٪Y*>ktz }9`@]atfB@k |NA|j(ʴO/C+AXf^x䁝^CA+v\Vrm,1DH}~ta Alk_xb^,Cl# &6zl̊ȾjU ](˥&J "tb)Dބ}f&mzؒmٚ٢mv~ 'L>hJM$MJ*fc9a]lCbnYHZW<ڊ2ߚ x.rKEPɡFYDLF..U J.Nb6X-BhnFM8/elѺ %X%r"]mSĭ!'2Z ĐA* Ab.&ꁓ". .|8#֭yH7p00F}臶fpgk0y#tTa/ n02Ƙ3 /5fQPWnw*y~PŇ@Y gbo[  NaR @w ctFoB4dH$ 应OHMY JP[L>$KBlK-rెr, |WeK2Pj$+2 &A\*hkp1iGA6b+{%d,.ya`@%1 ڝA< ]Mq!܀\) .Tl(_ڧ52b99o}s2c^fʑ F&A&Hfgi?f>zNj@wgO!l 4Nn 4AfbN*;AG~|RNI F'4q\=tryƶ,??xgyBx4A|'B3D>(g|t'U]9M]!YPQf &) <Tuu6OӉ'mDt_;L e 5 &FW&5DC0,TjӒd8aBLh+PR 5! ]2R}7Shܘ|P3Д'PXiv#Ikaq3(dc`od#ʀЩBFz˜VwA:_ VJZTV9W Vu 0]^`AAIj}Υh.mj7⵳VѬ]e#s{8d*g WcaŪu`j HZ,O\cp"bN'Ĺ^:'{qAk:HJ3BseymVY{hijNsB+Vp+2 +AkW+4뗧9?A@yR:ɢ/4L˦؏]^D¬ ,zĬ ΖiK9mz#{+̪Y;<-4mL0lDm B 1!Ja{ÓvZ..@M. Jh./'D#(|n< r{9B- Dҋ7:ㄸ+qtZA\FD·Llbw|a/vz8^=9ڷ#=[ H5ہhpDu<Ɖm܀}9Z09< wa[[s /O=Cc_}eT}'| +Fw㗣:Vr+3i8=Wa={aHP1M1N؄adMVt ˻ F AEMxDJ @LFJ@E"v3KoD"dk, ϊJ1@F1\D:%A:#D0A'@L" J "Ⱦ2zGDĉ/"( 6 ٳ0eEzybh 0%\O1̹'1zDLn]wջo_ >)D.$T.}RS0&ˏ R!,#L 't @:ID3$$LͬfI ,.4 :הKODL2J:2b  \A =C43> SCMt9;9eQ5-><<%su/ W;=M2W R1K̮Y[EViAa ܲYYMkYMTיTwWy ip $<Í3KD(!S|DtuLj'':=[Pa!8 2y٨}VSO%WfeYcmoV.ki6茩 bf:]VbE[ٰE&v>؇:fkRZz씙.I!zd1 eve4ɞZ%.!\)z9$;$ Όa7@Iu8!juě!{ב}R7aKkw/(V>|m㑷n7۰ ?~q 4Z{/o]Y ~wV]vq݄ʄ:xK^]P!dwOy> )]&Swњ>/$o)_PB- ʢЁ-3 ᆈ"nЃ >b Cpa\}$"g}bA'a`EQ*D0щPD ([cP 3ͣH$2O"ƶRRL7iS U"_V1($NETqMIɝ;0Pnl$"Yy<0CIe&"t-A=lc.49љNu{P7T4/Uъzfc(.3Վ6)Ic'{bnxZǜq*HmVLOdh;@jS j֐$v]e1YfV"\0,K~Hcͮvr"08@{0g2Zdo\*IIăfw7cAեpi&zB$c4뎗5/]JoG7/bL"E1l`6`/ v!a O1a op}E~%6Qb@"ak^l0%3KQc=ՙ:8y -D8r6 b#U|:$~%Fug]ʬ3 ~dʀ`i̙e?"vpF!₼'zfv>k`k9˕1ox2ú+FiHJ}E'SM$K+x@b,gi!yVɸ|lv#7y=ύ^!sI`?xvjIi|!B6 v/[ER5%J[#KW qҤfy.2Aa-$%w<@A=IӟZWEJ_YJ}X$m+6e[*TA?oӃDqHPx2eֶzm|ǭ Al0}8PcW7џ~wϟwb=810BDGPɮdCZ(BCƈBN/*B9NȖfDnnT0Ot0$|/(+/dPcЫ0DmLͺPƣ*VI\࣌6* i68jmP m 2P;jBOҰ 1rhlG0KQ$@ h 0{boH N@lR%(1'P!'/>V,,5 6 9&X-lbآ B!,$,B#8#0IhRGDmSf "qז"B`;"Q,)$#*jbׂ{*6E„bq-x" ,'"#Rۄ<3jcP4kֆܦs氳+2zreCpqn.D?{1~8n@=lTzgs.n:Dsi*Tl24A'CAmJAsFln;nN3r@ug|ڤ9@K>{R?z4~Χ@ 4pJ(r{t49}"HzH6Jô{.b3+zxr芮NԀoF 8I Έț *i$7GRcIx\@o>URDT&U$unRڨR VS 6lUQhZ6>CTQGnNY T+X)S\,J/jj0 lJ0 lG0 lLo kC8τutofP5$`+.еŠ$]]5jʨ.5_// aW󶴰Zo.>cf/C"a#b`_BF̵h}lJωBxK/66iBqb xr/(kU/ ƻȸllmwNCnnMnnvooo7pwp p p@E K`qrb=ærs/7;7s9ws=7qIt9l;E&1R!X0vvkwwtwx![61W0*V cgy1hW$wzxz ˣN`V$â 3Ԥ{U|J/ׁ2Q+f~3~F{K++B=,"-"ѫ ##KPJ!8xIx^F*s1wDqA#/gM+:S$n8.mAsGv8KR3PH3WSX8bE8 |NxP#x&C#=&D&F"tոXFOGC4xt=8A8 9%g;LU "'u O\uV͓;eU$JE9AّY߅=Udjc-y@c*z'zy}9Y0]VYvkGYRٙ29P NVg_2yYyKoݙYvYe89y:z OiƬ!0d'{1w03"b9:)A1Ib%m2&&m u"[R()Ҥm!-r4ۚ7Ax-rq:!;SB;[e7~sqEKn8%O$1zZAPfIh=PŚzQYC5qUWeS$㺯6f`lceY@z!!;%{)-1;5{9=[ ^B4QIXYE '+a̶a;xS{B^|{٢,L~7 yymP$ \D '! l ~h(.8mgG b} }/Q`0挜6t{,7.P+:ė׾\D906n臜b(nhL"I2 %`!q mCҥ!$¥_)C6V% IgɽV$l\ cBt#͑-'!r;.]&.** {.vvħ2 3 q2sq:s72Y>"ܾ ,?rH/.=3WD}A"zQ=FT_z$^Kq̊s KdNH^3fZ88x.T.0 Ͽig>BBWUW Ãx^zT>. gR`Zx*PW  >wU1RwU#BU`A> `dE TXn$|E'@6,I!qB A`Fn${8 zU@SAء R .l'hxypHA&*)b*Xtk'ȭy)bRhdvϳ^*Ԕ,]9i |ed6 }YȆ`l" =\tzUPæ Ip\pU,K XJLlUBL{ZB^V9RqbAZ`-fMäzr 61kWT rI&=$hq" . U@VZvp˽v{i &.狛!XtGnUPCشnlh{w+eUj&r;PCOZ%iV)/piGA~:WO^D={kٗMͣz3^CtfLzi-y5Vj/ IoAI!zyDzߘoqR~%! ՃPBh"P7|C 1%Æ O\H*ΥA^ pt< c! 3B zt6Q!:3@0ӕ58HG;Q | aHɏiJV8PE {,N#C'AhGI  K+ N TAfoC1Y*Aga@kh6˨ L/G|@fyl~ pNKxM2l*R#rAl!oQ=,Bi 9yP+*w;18>M Ls!IҒ 7 ک@wtŦALgꩄ'8NBS AT:PBD GHgLː).(O[W5^Up\ 75!ъֶb 7>Eeb:Sd'KZͬf7z hMjplg ͭn nN$(’:@+tKeͮv;Zr d{+']&zJѥ|;0"'sU~_ܕLNd#Үl`XqXزb "d&]bڃ|^I:#Ec,X$>qKr ?ZFG$pDCDO% BL(T1vÊlsu35^ ݌5w y&Hg)$kH>~6HHC!ME3]p`;bۆw!kjX)5f5BD P &|QĈ絰^!Hhk Bu-мM!vjd7EiBBJvOeգNyQe0dhbdU<0 +2L$y8,x7. !/Tp{)E̿N"! 6$t2]K̇<Kr1qFtPk!/ޤe 3%33Fo47] iZӆbsHr~$go1T'ś!ޥ7AtF uTh'8UyZ=Se'Dv}k@[QUoVjZU);WJBYҧD_L_g( r7;W~ȇ}w*W"_(rta#2/R/V"/W-xP{M.Á$G?"{'~A0$;5 .T:*0NH*4(}7ࡃ.3*B~@4>g=9x.;aIcXG~LR>x.cAE$^ZR4$~xw:(<0#: tC=#-TG8}!dw;bc)<ӊiT!3A3Ar7Z֦1T!wD84Q2D(n33S3mg{w3;/g،T *(<Ȋ>w2QSQ4HDhHI*DLӉTO-Aݔ(D8k ycA َѐ)d]5Yn|,҈=P(B9{s&n%:=zn"5787eMs8ƶT@)ѓ֔UAGP*X8dP+;t9u\8㎳?:qS+=Bii.ԑ jJ%^9e{ch[9h.R<9k C:Oi>w&?HLyl۳5y]7H@9kI;-;(YS0 u@nK5oh =3q `A'VqΣpI>>xG>JҹiL鉝>9=G9!>y&Y:rwusHX]a@y19? iݴx %(z(ٝ%oX*+z/Z 1zSA3HoC1y #2cmAΣFROӛd2d,35}|5Ť.D\:7vV7gA 9cBBjRjz9Jعić&|2rDE9]ALGt"jhCtB:ejёFdHsFwAj٩ `:W zPdԙ=-Ba!ub!yR}9TGwA>xP+)v,aGJđsĮs#|A{@8hPbMks8;`JE6({Iѯ:#K`Pf課 ITmk$d4C'eP/۲DK^dcA~WԴO#cbFN "JI\[QKjqkҧD^;bJ]kJJGxۮo[r[u+aK!י^ rAUUFxO!$P[z{PQ*tKᴙtWOa'jg`NtuoͻkDδ!cfQ~OQTme[\P"")"[iׄKkRQyPG\B|g 5N=RgpfztUZ*[z$bۿ"\(1k u0vtp*쾨 o&~I _*:'Q6nSPEEn&mf+o04THUbjVU+a=\guI&wL;y'XV},`bĖ{W)d[eDQWEl; VȨ}]ƚɜɞɠըAʘeʢv;aY9le&ada yV8y x"u˪bll?̞Ҝ"b<˫YxeEaeXR!N=nalgW$UY|ͱagf"X gY$ii= \ϑq Lm:e|hs\Yv`LtJD{,]'Mnk;eU7DӮ*qєXdm,h? ARc5BE#Woev)"uPV{u01Rp}y!uC#{`POOA Qo/ښ ᠈*e4Źx`"րA&brQa-w4.1Y>3Cͪsq83A=-yφAشam? ;J Bdsz4g9V ֶ]a&uLk)~Y'@.3O1q٘=8G.W0c>A8#G}AHP!E2q=`H&EA@Jdb  w3>"IicIц:M rS24!(CPұ#; aLɊ)աO<ڍwעYN )u // ^۾1;^~Kp' l0kCW=,݇k#|o5M|?O'C/gsѥO^uٵoC;aćFѣhNv"/H:6Zk(<"KoA猈"C.!C%;H B \1 #NX/ nE/PC )Y38y1;F,qmG k$0 4q tS\Q)o"0T3/k}D$Q  @pb-aQ# Bl(SEz1қb hK<+LD]n3w8;+2&SӔی[3NK;b5XdUvYf%3Plh#IAo=4%AèD¨ü}C#@@@cI#qiÍ'\2~1;r!ˍ(H@pxc*<=6w ; f抓ۊ*Xf$aXZj]RO= 걖&bA2!Xn쌏bΉp|kbӣUj.Xu=.nYC}tK7"d=Do x:5ԏ,ܝ"r!9~>wnWvwa3}~;Qy~{>;V{У̥ӈxI?ۗ~_6pG d`@FP !u,U H*\ȰÇ#JHŋ3*#G CIɓ(S\ɲ%K]ʜI͛8sɳϟ@_ѣH*]s(QPC 95իXjSEͰcWXSVZe ۵ݻ4EwY3NH†S@+(YK˘%rӟ6ƌIRʡC [fO5iӨ3޽[oQJ(۪uΨv.P:VOͽ?93XڸZ9?bzϿQ@A6\t˹pQUP}!Ȑ1} 'aI&d PxCy8,bp7д"SMAN!ڜ IM:mD"$47渣@@s6\ l!$];@:!֔C#6#=8c2ff[`9&?Q@I>Yn٥@U8j'! Tm tg{jȎ5pC@*b+hXcHS6w|ꨥsXjɥ KlB0Hc{˦ec)4᠃ &U'q2i|{YHg AMxx>uwp@hhsBhC*tEPH!r6pĨN!nC>!Zm1]pH#HƖ6ԑ4l0 +=Ύ|\w =\AZ>.,>*C,1}BלH!m4X 04ԲR!D ,,:ܑ1v$6;/LgP'|̎f5uЁM6&NEsy8Eԗ'|x{C.@p#كtO ]Xi5)6ߺS]h+z >~d>[6$Irb?q{'>'A2@8f=Rzb@P AW C,"B@SLX)ɞh qы6#΃q6: :$SDPvqAi{ EJ@01qt&!$Bi$~G7; dH 2 ,G,f1%!iMv27{dG+{=9spJhRi 4zԔJR|N?e0vx#?jM-WRE3~ei;EZiEZWx]=k DR!3 iC~;T]EPD(7P %@i#Rf]PHU:ed^g˕DlHlUZbV_Qz68mjՑ}>6¢Ep4+팝ĮZvmcW젨zѢސ2xͯ~Aק F6- S\"7p"'K>0 8D[&DpòYpl2` X42E;(!ހrŃ8Ġhn6+ 'N2]|A)^qe6'*UbC/FJd1}Ƌ8r\ [@L`u Y=1xh69#1ke_x#~,iO,E@>P>tָLWAP'+[A G#,1 6Nfo!0ÑJ(`9AahK5P:Z (@1rdC !61k(P,(]{(M\;<(_Iq@V62쬺p76-t,wix<(blav\;l!ƻ= s&}'Ri/ 9u ҧ􁋜z)Oڱ!H3])mvRA~HxYs"бR& {'Oy #R<3_{){yԈRyCJ󰏽P.9 itq{OE;%i>y[Ͼ{o/VjOo2]Vl[ӦϿI"/F51vp1!7PrAaA !^ "H,1q$xx(YqQ  h158ء-xvQ o` ՗ 7w !Q8RUJ18qf>[Wa l"6]ioWwg(;iXJoxv"he鐅+'2sr%J$CR$G$?M".i+,3{5+$b(-tV'|b.x)r(f,-4@ E),.،g%<*" b*è**'bA+Klj!xP2,Ţ⍨R-B^#ǘ˸m%!/ؐH""#8: 7,1c:1S191<89:j33XCRco܀3902<;!8O5Y5*&;9C Pn+6i#:_6m2pӕs3;7>)7Ac2BI8!i#9@9#2wÖ{c9:Y:$HOٓ4T9VZRe, _KA{ >Cεb4B!4>P!U> EE"PՓ>.%=?H WBu@ @a@eA<wAD gdY6;>N9?DA쐛)BHBB32t__⛦i@$PQZ'ĞdDD4RԞIٹ9I?MFy;!p }$vMLUZuP! D@3cL zG ԴN@Id1:'U!}dSYU@^zH.  rMOKGۅKDT=IMܴGeUL+gjL¥UkMXJ:\ԤYNE4@ yQE0$%P9uP&keN S8n0 5WWBUxTe:1W~3uWxZ@RRNS:m TJeT&%VcK%IuڬOEU`UX[5U`UcTP:@i*o^U].jX&땢E]gnYֵP5_K3E5הCŵ3 3{Z ᱿b]dq\\ KL ]*]^ݵ]!^Ǥ3z)P+RTu h&`lFba baV\kvhhIV ԠTauZhQ*FgdCVdbd|v`x;eWbdvmQ}x2Sj(j @ W5hFb KX{kfff\:}+ivfc-gId: vֶ[hi~KN1a8ùnef#fBkޛRb(qksumdmm{d)Vg6O{hlPn#MvSpoWfo 8pp}dXUw+_obRP Ѐ7W%[A!vf)ܦq?r!\rr rr0's񿹁tt;tC'oȫ=q |",V'+8ѹfDڡ"~pDzwRX}+ZƤ3'yt5QzkȌ|z)a|jɚ,ɾ|\ʦ|ʨʪʬʮʰ˲< xL˸kWI \H4' 7z % cq[~A0֌~ɹn";m1 h0πΏw@ [@U `bo zp)\q 1҂њt"%q= &qZr @&mZ&,m):@ A` G=A0~Й@w` "CM9@Q<=E8UM pMb00F tWlT_{ Ԓa\XJH:-Dف} ` u` ~H;p| ՟Mj\qͶzl,W`Ֆ QJ=+^eNȭ (|AUpܴ1F юx.)xq$ƈﲉ(Hb"؊8B3^ D9J i8^X~59sMkȨeю=  r9`ކ l+ s GiG亠 |B=oB 1'~R63.HN\ A!g1$[,& .ܘ,%N.";>$ Hr. m` pT0HS sr3q|:k!4i>";8SsISGI:[pm".;~m9=3qfy>#ꕙhqRU0o SBл~ @O ? m99A4CI͞]2# >>2^5.#Y6$#[csٜIo<`~P?@ȏyGŘ3k*=J'˱#d#H4m>s-9{_S"{MY?3OGa 5Pj*ήVvYSnϙvo9*tajAnDq.\;Y!OLnk<h /p10vDRI'=J1Z܇D0L@8sN: uH(lxDlA슟vQ&OQ,]f٨9t)(mJ_ȏgzyZCKB 5,u: q2@PTà =y՗{hQy) Z^R:[p[)ƑB@!(Y3"$6LC$}\8'PUT wg^f u`yͱJ(㒂"^MI_KK9Ȇ} .U1!v6ui~i+` B8f;Rx @lQB731kZx6X\RUء )y[Eryفhi5/&hy;eʹ_ usvsحBW}X h+R=*y6ۊ e[j{wAkDbG(Ǝэ=42 g>O Æ5>&3k<4QwR!}\@%ElΦ,jpyA C-r!'Uʁ 7D8i6=!BPԡ {,){YeEA {H;.A'n{#`BI0**_x.ե>~9}aEʊҐ@%MZR  鸁Pkdg;mIcHM upczq"ql$" r` C;>i1؈v}'qk8@&Q@cBlc֠?:МDt|!:>_jzɈZ7>Y}&v} lJlh30Q>Roq6PNswmm d }g/9wEM$>Y`>t]c'{1p8=/\HvrW;^vylEnv^'|ၷe[cbt ox8хژt6<|吼bpHc UճZձ ZV>@iȇra wGE 5Dq4҇N ~_gO&v`3M@AB+B,Br8{ (!n n&t؁.87K (Ѓ-كq0 lҲCCx슣! m(QC6tC8| D*:<X7 1,I*BR,ESh>Sllh"ۊSh Lkȼ/5=Xq((ϘXRP @TmҁXT ű@ pZ?Tm`?! ?@$, L(u1Wat(782XU#t@lgr C"EJJdKdLdMdNdIeOhKo8DQ;Ud?neX~e?NeZe[e\e]e^e_e`. afc>]1`b&9 R8ijk֋m8@Ydgrгq^ 193 $0nWhy@ p%+gNT0ffg&hl~ V~揮~摦7#Vh~\'^0]`2< >r(5x xFjZڇ:JxHC>@jJ}j/@ J@ ZJjHJxZ㯰˂ j؁hF;k kW}jއk꧶#~ui˾l|^(jȬ>ؖCA>A na h C8ng+P%P x=,5+(k+Jj2KJjn2 V^~kjkV2cjޮnn lÆ/m~CMgPo(%(ߌκbZ)ςF鋖o[%@+p q^ogZ쵖  h o vqOnqf8{~ c r)3ƠA `p=*q1Kꤶ?!n%hZg467mo5O Cnx)tL/rN.όތ@p17$؁$XNtPtHm^,=[/us\goe/tn5Wvip6} ltp[!p^ ->ڇ.qHRXv@룶5i,bqHkzy'_kNx1hۖqgqWXvtGo2dqy/;9;X>#pgyjz,簗B쒏{JgiC iѪ,$V06ljOt>Z"WNƆzZB}}&Nkg֧gd/}ޞȟϷox$ Tf޹~9,x m0xn뻰IG78e6f1_#Pۇo},h „ 2lP#Jh"ƌ7r#Ȑ"G,i$ʔ*Wl%̘2=Ιעf zY̠ } - TyJsim(Ɲ"Bj-+ذbǒ-k,ڴjײmQϴ8XD ;0[~G(#y|ȜL#f33?kiWn5زgӮM (cwތN=r2A sVE3ƲeEJ_HS;xz;Cmo=ӯ[S"5_xb]ՙ.0UOX .(#SH\x%Th n#E:dXsX:\Ku3Y¨嘓SeISoY5$NB)-!VHvfz(*(:zhD:Phsh3D&UNnAI]'=sD3z:As:2%|2),SP+ ܱ_ 5L]q |f>USV1-?-6Kz _:CmUA]}g̒9 pnrydzX^Aj=6MSê>G̒#BMq=vtMq9{|:ꩫ:Ɵ>,S*rJł T#t&C߈; K|6إiﯲeӓDAWEť>~e}~ue}Ol8G\<!TvA(0R43E#/t&8)qn$*O>kIa -`%ZԤn;Pf $b -4*K]>7XD'vXL+\VDτ8th3*1a&]t+.@Z Х1U~(lAq%6GSGTU`Jg-ũ1*Bέr^jYEP !GGYtքLA@@V i(s-MB4U^7t@X' Q/iYkׂb,-A-(Q%4 (!Ax@i&%G"e1%Zl ~ Hp*X+RfݍG db!A^`y#z^׺/~/,>03~0#, S03 s0/|-X%?nI)͊C5"1_,1q,!.M9F8Ȩ2d€/N.G4#*kD[\ȕiҿDǢdJ}9,\ׂVI9ӹαv`σ؊UȚR_YHDd:ttFw2#Ƥ@LehnٹԦ>ZN#'w&V\f+BB )U""A1AdM>E ! d|ӈ^VF-jl :HVjnBԫ=(BNQb#״cRoc FL\,58q lխ6J˼=57B$zn4u:ᘘ[6sDQs|&yr+`;!%dkXXH%HaJ;r/)cjڕ qkY EQ;a/z?/!kz׭bTΓ$]+F}+zUuf *4iOT)$쓹d ]汬'c:<#K Urm{[JqNn eѐ\ sؾ<{‹C7(U [TIFYO6hkHry|3.zsk<0_fH?}zPHt\xK3 ~Dd4O$DěI! @ O1YM |_hU1ABc0 *R![D rzO * ZӺUvFFFa9uZ PB9H=D PNA@TajG(y`qn QQOZvxf!Y Z D"Mb%&qdIȔ\e]m^A)cՅL&s՛B\&\ٞ`*_VdaN}fc惈^l&@Ħ~UfئiPl'0"efc]n^n'wvJ(y1Dxa-g4xDw{5D{zz'~~NPe5Xb|~(Er=(6>(FN(V^(fn(včaf|2DYFĈNjΊZ}(ʼYaٙinDMƐ~DiExY(G(ehIE|l.]v*JwM9}M <:iFxFĢbv:o4ĝ2i~[@\\۲ 0dۮ][ NQrf2\8q<ܞĝQQ& r HphїAf ˵ JIEIV`ʈN&QEE qZT܇kNhݲ+ ^j\(,a ^Z hkMN|ݶt]*!+aʷA]Ћ,REJM܁,ݼYETʥ J,T ]l)Ş#:0-Aj~a.~.</ i0". @b£3>J2.wp=#(0841ܥ16b#[qlH8Z,8N1fW\QqsrÚX PkKo/A# z1#?rC%Xʥ\&Ne%?dT~PHRNDRJ,W~]rZ.rx2Ke$GXd %EֲX,k Br& n21C&[NmFrv9 //K,GsL4 MeAS¥cB;󭊈o^'Z&se޳e&bt>jH`fg<kti^Bm@/ilYVjFjRPTtEZp^:Af6q>W?ϥ~*ﭲG3Ueqsxx&@&AnmDóS?B} yL} jwV'qlX%TZJF~Su`x\Y6Z5` 18ћnĂa[ v`?6dGdO6eWe_6fgfo6gwݨ0ƉFXy6hST XihW{6nkǛ5DoD7%Ph&No -6}Ɔ<7wr?ano#;z$IIC ڌٖgi&*Db|Cz|scn۟8uF"&FVT+[NT\A[ +F"bp;&3H3<9./P;ɳp$" |4p<[n0]#GNC4#1.q3"v>1[3{1~c'+D>g;PW`6:J#g!;.w=jVPnM J2K$LrD$HM~;2N°25-/=b0>KdBBL(*3k275eUԗ.2~3~ 4wh>{wVFBg%=75B Z=Ãgb5tpNy8P-*3ECh5ԣM! ~ o$-s癶;LD<IlDWҡтI|tU3y9xFg笞} <-IL9JSA - 5ܐ=EM<U\]|emuܑ} xᅼ%9,*,I?r?* 522STk6|8# xr>㓲N: =D]Q.]dxIuQCIy94U]cOKuI][?vtR1#$AIJaTlb=d ]AP&5Đ%X2?SXI% ZCa-l%O ,L@R>ۇT~O·g(ɃTxdA?aPhTu!@%exa^"Gmomג/ey!2Z%48h6%.֢2!(3蟙$lAuZL5W:[v?퇲·dYA؇Ws=lاuxI^de}|'uq^KTA+o(}5evSLzj,%tsߗLAvoև~|*==T~zC픓^[3Ԑwi[RC  T$́g#a9 pZiZY 6Ӣ59Q`=>1AlJUj4&9AQA݈bdm"]>ĝT~j$L60K€G^K WsyҹMa GZVgg"]<əjum47$\Ȕ̴_ ;:tPc*QMAUU򊤏Y9Yzlj1ֶlhq WayKJ~+рX5V֯tZ[a[lїY>ֲP+Uz>U5:!#jvya9-sCfȔ?BOh+ҁNtkMyAկv[])"*\NnI/CG1J0jAa/=4LbSjW{.i]k[׹yk_E7@]lc HAS`f&ʞͳyf_ L=`n[ڭav]nsiҎ6*؍ R5ˮBW>!n-{3ACjK5,)|*Pqd8e}l|3G2 '>V+m$p߽ !@ wA )NW] OfQNoHկ} 0:#k^w=v:l;~{E?۾wO=fWz䯎t4y}}'NNX `}^T.*DY}wRX ]o-^k}^{>?S???@}.cPt@d A=j/;B)D  3.4CCm#DcD'cCDW,cE[2p` h*FɊvZC> ءv@#VG2t'2F44'2!.!JI ^a<L1GoL+de^@>%,08)U< )*ԁ!@!ơQQu!Aa fa ,u !!tOOVPC'aH AA`2¡!uQUWW'#TGTaVkHAP PuP PuRXYuWWG]V[uX2^K.`@LVa6`#*L/֌n1teo0JL\ŝ).Z!`  ΁ A!`!C{gfaAހP!P!A a`U  AJeaVfmcvf!aڀ.D xgVh!n.jVkvmõfo6gwvsqVghopr_VnǶlnUmKo_! VL asbwNbs`,X cdj$ B[L&()GK4V v ! \`@q7}WqT Gc@tA!! *GGaTI7\!hFGK an`D}՗}y!fVU||)x| xKU'kIk؂o)Z!pw'tྴEX9 6R t!>׊EcƎifR'k{q`I pOa8T a! ءBB Y C٘(I@ Jx84!ԁl A'W'cx՘㸁+IyIGx2pF!aMa7抋Ybc` @A!܀ak{~H A!@5 t)a aU۸[{! !Vt1z'N@Y݀{b{/3\图BÓ.V<_wxxo%VwWzK!Gyea(G X(H'LȬNIZg'|јZzܐma  aj@T!X' ) 8Yat!!`z|f@Ɓ!CT5ϡƀ @h:/)|T|%P7ZH#XI}^!_0sl@A`Z~߿/GUׁ8He?C^GKO8(4،e>lf^>c_C>C_櫹!p^k]Ccs>5.(aCS^}B!n !|$"` О_aG#>a۾!^>5)42!ٞ]qLľ2 x7@23"d3D?4"2L!]9CG"b:39C)#+c/_cb`~'mfib~kt>^ekᅞFc)t`_{>'пC%e@~ A[.ᖇ<5>[aā)>P rqG , aKY>+DbEY1ر-I5KiGRʔPbOFԕԐy 3tPv<&OLjNUb*̈́`J2fӞjɥ& )J")ə'ygn9ocfgOYpkJkފk"HnZEFns6RA!K m: ׶ mJ! 2i$hKg݆5mn˥Z{NfAKev>Eп>so>LT.A,)"Lr&r*\+H.D EV>0&ٮٱ>Tt⻩q_C3TtK+g -G u 75QmqVN=6-l6h\_ KuLcJ}OMmKV,?yONy_bb1C#/ \]7+]mB(> 5>9Kj;-{X|R9ؾR&cP<ޟ2g*)F קּyOߏ%P qt^C~ Сֺr! (I>4$f-$d ` s,[-I^.NtUiJpf^ioƥF29ωts*[3fC|B? Ѐ 0-8b`3 ]C шJtE/ьjtG? Ґt$-i]iR@/+-JS Әt4<+QO2:˻ӂإ HS9+x*U_ԧ x6Xud-Ii5&e MGj!3 8[pcT2 ڢջDEYm>rZu!!Z Њv McZz"=6Py .Qc*!MKkRYg2 U ) kY-P}dܳ,WMid Kjwn΁2>xv'w G!qm _F9 ay41C8,r!ԀkжN>{$7T"Uh#lix#!G{^(6 r-ԫʀ8&?mc |(2)-[.;We-sy)`rc{ƞF^ ywЄ.Sƹuju\Hء B!7<8;AvP؇"7LCI p9jX˚֟ B lܨ1OA:a0 A m|kҙtE kԡ8R}M‡RX N6HŒ L>Usag> WG^+78#XyWd?:_󘻈F6:)}@toN[C8DpT)$;@G\.o@Q a7 NMt];XǻEg]fpAt vl88X 22RWpRW߻HA%`mA6Ѡ l1qGyvdud'udNU])_XHf]IAzU7%x rps0~'hǂ-/h13,Q^w|жn`}CXG}uR5%ol쀄JX[?mu 5@,BWXaxb az `]vⷆ5[. TlkYwd-gy_v +\Df\d•d\T#p5q[XG}{jkV(M-I6}ӫbfzm^hx-؃ P{7 fm؍MzY]wԑ=bX˭n[eԴҧ}amq\ڽfQ-;@IqfL݋mIeR`݌Mp!ܠwMڀMԱla `y "[߫pIՅdБnwջb1PGiJɔN "3-p7i"I]x)ùIf{AVڇnզ5Y99DH7ep !M@P>ض y&<u k=dp'KnZund  = a0,p9Y w.S6R|68rOB a/%y>=SoAFr!Yd@tDxp3 ]7ЏgC}3bB%MDRJ-]SL5męSN=}TPEETRM>‘*5w-Z>*n٢†B u e_ ~śW^}X`… FXI[r\ E-XXfΝ=ZhҥMFs8u mjڵmƝ[n޽}^vn \r͝?]tխ_Ǟ]vݽ^x͟G>ufݿ_|wQD ]\Z;yinRAwCcgn2vj0DG$D(y %PZ?SEMHxf?8HCNɍu\ABȸÚA)$$)BttA YCzꑧa2Lf%Nq<)?[{ؒc yjcPA!8H<F@A%>/ȓcb\g;OyC0.I Ĕ2y$ >(P|3g ?}P)XS'C;VҔ>,IJNsT%UNВJ5hFEfVժW*QrMmN֤49#$"D3Mxr7!mΛe«CԨ1T;)t~ZVr]FӛT y!*`KX#-VZoAX~ -o!oFZ)Jr \Ucl6{ނ/DmV;^W%oA}\B5ya$ 恡@/ s:|A /ը=mk= EU( B)PQ|54eO-z%/B2LE! t'<.:$%x@0Jr<:u}Ѥ>޷"cO%ߕqͻf6 dAW{Ƌ9,Ib0h pP9DCa86,7u`^;2ro Hyvc%.F?:ғF) 7lJȆ l qn6:cC h+ԦF5}TϖPdP4Hht#d"d/%6!'{CҖwZf>M]s-c;!U'xS9oa}ЬÉ'>$`9)#׉(QAl'C:8,htPG6ڰb=$= 9!U,yyg<;ύu\˔GDlcHdJ%$2Ԩ.u } u7|5vÝg>Q,GEx#f?H棻E A@y 6J)zt"CH][!>B9ľ W K|HIrS{wo+^iWzLl@Eݾ~Pg G?R@5I$P ();Nx@t ,v`@@ $4DTdtA8?xIyy3 "t $)@ ,->XF&p/CxCXВ!!#A%a7|3q"3Q4 6l&y%9t*>.DDTDFB i9K D9BaPakC*' N<-LT.QIEdVtE*^j7Җv(_, #(!@#E9)Sbq}Yfyh1j1^%a t4cyxy$ؿp;A3>_{%)1' QF^b!ʖu@7 H(@aA bɟʱc ȃêD9ȅlĝp1zɞXG/0"/;+5^ZL ZP|!m=ؖ4cn')+"3}q*3$6%&Eɹ˺0X)ʒ1 ()JCX6h-R*'b^+**b'wZȬ{j (PTմ mBįҚ*LT-jj.4$y-”޴J$r)+1bJ$4jSb4 >\ K0Y0'jl1|AL'+D(n%1 +l܇Kk\,;= hrz;.ؓ=;cs=:#S3:S:SѧsSk=,LԠ껉 > EHXx>,UeVL?8? s?Ϫ?пt_`E @ ܋cghijklֵLopA ( <"@Wvuw%4? OךCx~ק;8D֧ʚUMׅe؆u؇؈؉؊؋،؍؎؏ِّ%ْ5ٓEٔUٕeٖuٜٟٗ٘ٙٚٛٝٞڠڡ%ڢ5ڣEڤUڥeڦuڧڨکڪګڬڭڮگ۰۱%۲5۳E۴U۵e۶u۷۸۹ۺۻۼ۽۾ۿ@ %\ @ŕ 5\u Ņ] -Y8Ȧ{QEAɥ5 = ?(֒SRמ$]<@:A^U[ ab݁p]T (X]QE]<^@@^ZU*CPOѳ?h Y[=5@ohaF'AF}hu\ѽv}A1M[B;ۅ|␯JI+i+}:Ȋ /ᚬ+-U ]];ee`P^r/eLN3#K2!0ЗԲ Sb.Ѓ%׳i=h9pde(8C(}8ջܶ~̭RUkտlloXVn^mʖ l&mH> Rܤ^BGO&]T Bj^Uם_\  ̉~]X/?+m%T*1VE]A .G; V N>nXU݄Ё3ADp9g}pljn a2 A.6 Tn|@L /ET^O @^Z;h@ B楉: ? 8M}k:AgӅxlԔ(XR>R`6Ip `}1` 7džFc4o2?O-b$> :@BM`󒠅6 !O فiЍrYT../  fG8\.E[>_1؅,]L"d? CXMgU( 0+VMTmGb"6b> RAՎaZf a  !.b_tgTH3sx^D ' gy9H. rh& 48dx^F9^ eŒH?ަ2Az`}>8i⒨ oDz^`ޱ/ss˘(rx1' 㨈|o>Ҕ<>QEc>5w6+7Υ898}N-7ɟϯt]KJJX^0!^A6@=8M(.~r-6 m.bj2"0]8hⳭ7".?xp)G~3{}Xs Ǿ}qܒP`B(q"Ŋ/b̨q#ǎ? )r$ɒ&OLr%˖._Œ ͰQN ZPs%h@|F:1:B6Dv3CG_-ز[u>͹Ӊ^r W)Xvu%5tg^gӮY/݇4=@B+̕Jڠ#NAAѳb^6zCխyEt?o٧Zj]ʲx]PvAܷ#祜rwsokljKK~|fď0WX" 2ؠfDoX{4>dHO@PЅ ܬ6dPbla6Q49c6IQpjĽ֧'k͑oh{ .Ng1ܣy)%Cmj"T3-C:P⚫ګH)bő\YiIAvܡ.a%;CAIюt|!5٠Cِ 9>ROEENz%2lAѢjn1 nHD1x#v`>x7nW7Bt6An N4A,C9H9ꄱϾ|7S]S xW~x7^ێ8xp7D!Ggv9'M*ezqrSIf:DJ#)f!$qXD(hATQTe$C Fj8:|@1 8܂؞Zg u["'B1RPQAq6Q\p`(";8G!@:HF9ȁ;샎c,#Dj ov7!Db$.qB G9!PQ9cEڑt&ErCE B+o$]`1s H]$6, Hp%o@9Yж Ry bT NsfCЩu#d~Sρy4ȋzZD c{2bPlGvXg8AZ)4*])K[җrIDez lRxs(&d&8s`J~͓L#QT24$"jV_կ5b+RTPdw%&C$C "A+!\׿6,a7 @: % |75O,g;ς6ma1KӢ6]-k[ʴ-mkk6lw7 (V1O'A:-e-).-۶At#xNL);#c)rqDdPwUZoAˁ7uH~B]B$I t%v^#7:@dȄ1CZv~F&Wc 7"F뇊nk"k.όĔWl L\Q)§ځ: A;XzsPU)7gDҒuD$fD{SnľBڄx3ه*ew"1ER\ W|rMr,"9PH}Z-@`{CՋ@[h>=RF-UPIlKفft@"*SF8y$%WAPd,rEp2눸\&W)keW~=!p 0`dhƲiLe1^B먰CNCh'AwFrV vw|={s" hԘ8s[݋$($m Ļ !:(6L6$V ^R!$\47B:MQY \;@C86 y:(@  !aP9WhbDa7,ðQDbf @)YDZSip` $0Jj EVLb% 4`Mt"!a8 5"! ZDA#H MV|Q8MAtذ#-NCqAEC:GlXCTDfX@#(ADl$@PFΣE3{(;#ELdMdE$Wto7z DPPZDD1ᅑ`Wú76\Y@N@ Ct9YZ%NH\ښ08h%W ;, O:AA!6>UCe)a"dYZ&f)fN@U!W_<I-ݏ H^BHk>k}CdOn9-%֨FQ6SnŲh&UZ%Vf habTvE{tU#~T{B#~T ImA @AqB@AxY<}~|ZVa@0(3A{JZ_Xh|>Dd(gIFrGwpm zFw x(4%DMMfAR @ټQ Yd]LCS’6O@\ZYDD`0Ŏe^DgD_!84b`TD g:)P8Fȗjfkn*fiA*m"~тXNJveAh).:@t~D)\ԁJ|GM I!m@GrX>3  Dh|h*dB k|j|*v_2`ǡchz_IF1j~`zJuLsܨcbh;lBޝjFi f"IqkxNHΠqVJyFF*""Bx)fX|(D}Ƈ~-dAڎAE*DzR_n& ભjV>ɷ:~-bF-Exv`.hG 1rffV4J E'DLʶZ\K(œDXIƋCK.!;6 B!pAB lv Hخ4@fˆŕI)i x `Yl,Jkj ƅT !hTANDg.c>4F M*^֒'EJ^A}JwkA4c>_ k: M|xp}}'C$*ڞ$M I*^mPUZ\(25d7x(8E8q`NE$ O|X1eJ!E6XD"pC l?""`P"8ĎHرo (n|=*,|F ( JZ1DH627>{ш 9@##CrN%r9izQD= 2y$?h>Shd}'9hsJ"S_B&n?rE? gHTC3I-|`ts?S0G,3D lM>yDpahCcI8pC"-`0DR܅ҺX0}*-.]R&mR$-i8-}/c!1!\@K57@:wC4CDZRYC^B:pB89*+e,)u",lMn.g8|yF촥$J^Fc?bTH_E 7Ԣ, hD<`V}sp>rpyw WA7P$1~T(G8FDUUFLDumAķ!ڸYW|eS;xE xFMQxE8 LZzFD2_D0J@?OߊgpP U9YČ#E`Lh獇qKWL<܄_E4j9D =ónkՔCHeAd-E]D 4_Ls0;dUF ;bTcػm4DCzKIW[czk:V{z ztzzE0kvi$ A%PBJWкĩDcDA{e?zWI&{w#we؆!zI˙tञFTJP+X EAIGXFX;~oeKy[bЁyD Uĝ ; ݈SF헴Y\Ss;]9DZF8udXtܸ;Xv^ȭsf7ȊcسIL> vx "g=D_u)w)cJ||yVqD<;WD=n3>雐3b>FIwoQJhD~I4m ^9 {DY%:1c,?4 vAܱ\G|566PC:@ P[yL:c}ZͰc9|g;?hZCd?H<;&l?لӔdcmPA-PG-TOTq'ugQl츃DHF_=Xa#Nxk}UCiq]yߩ"$^8'(bvqD 3tpa.N /Whz !Ġ7v>O_|(K ˊzUuظZv`Aַ>cUEY(x" #=ݯ|FÞ0"kXF')HCH:O^wÑDf |R.]1_f0K$y@h|F50'290HYGQZ$%-IHvM:'*'Yg!2W0H`BTN2c} 2ЁK֡oxhXD7£=A )ӫPBpt& t;OyΓC .$}6"gT$ϕ#EPq#M!;Pu"D+Ҧ$t C#z)H *t4 J"4J[r"T 5i>EHjԓBT/ _C'[ň |FAxayU\=bHwդaXXbWU(#/īS@1eF,}k8&(x0MBZ/{c"9(AOtMdC)RZiV "ZR.fi?ӌՄ[A Ylf\)1alzAVMSN `6Pg֧c`FEʪ eˡ:`vEZ$HF@gСVyk׋tu ,yFk{YCAll@:iO=}cpc6'_$?Hc%=56˒y>(KI.n0qxU"ѫq Ah k%b[!$!01ЏTW9r␸uPH\Z#[N6:dWn/Y=vԜMQ b';uj9W/}d"i[Tqlv;JӽE]Zؓ-jnr2 6ˎpn^Aa^H); @w˷/tV|OiC7h/)ӧ$s0xtaIH$IH A!@$܀Mƒ("b` @mHQMnS0 .07?0" /EN@>ܠ"`cpm6P B ew 5  a 0 p6$ 10 Epv0%[8Bފ[B"~W܀#@@κ'^p9rJ` i! q  ! p8@%2#$QjhlL3hI2fM8oel00"biK- Övk8qW:|&@9F1|&j8D."S P!A,X#!)Zcq a "+bD0&er&i&qGP PdI I~@xab%!B"&aâ"Nd2+?$s 2** aPdΡ"(+uf /+1r)2.E,#A C.DF-*R!,*H"ޥȎ$] ZD` hs n6xx5' $H. a@9+2S)sNCBa!( 0 3#I3L@n c n\06k8 8s (쳴*cf[16c6àlz)؂mA"RJm1A2>7gc>Mv"T /EA@ baXa}H$ dB0S39CS;_= "-m2JtJJIPAw(w(aNR`w&v*Hv\S&TK(9Df"*L`Q=OEc .Ay(B!}.*ҡEN/t7C AZ-".t (0jxoaw6dsdy|-Md)ΩՋWCDЇBsw*1*$*hh,$$DJ@`Ab#DA'!}ٽH&I #pP??y??*ql@11i9NtHd&e9i&1P|ٿM|ćS a{N "۵0*Lh kXC ʼn**E< qƅ.P {ƉHH&QlHpߠn<'2%BV^TUw30.vt9*V\J0K2>vpX]w %$ mגvLd.CC^/+ 8.4kNɋH> +$ejNVLB̟,tK;Ϻ{i덧Go}~O+Z)dFD`$J 9bq[z Tat }g6@&e奙]} HGdіinwv˂K-$m+d5&-rKCrPmҝ[n=#POB%t C#&o2F,WlgwM+z;u!//EPSGdK٠74Dc NulED@ fP5ߜsE^ttiPoyA+T!/52 IDl3:\lY^Y avjb5f& ꭜ%޹[erƵs\;htw>mr[K9R>0F{=c>cBٱ>x+|w=/o, SI^r9/e 1"#6P`)PFZRN7o`iQ@J"}# ),=8ȁ . ~g^=[,) rß2f:Ќ4+F J,$ h,q tH$9#$2o@D9ԁht#dЃ7oH v Rv`w"ƎAXMmrӛf7al!ި GhF/ws J7@:ѐRԟB>P>X̦Fpt:"EK1Х>O=pv"J*օ0z Ap"9rIgYcH3qF{Y+GEQuv!! -XRؙNղ` =6{X_SXbx,C :g>j0щE=a?|EK^~H-&i:ЍtK()JXHsX as"ql E5okl,"Q}P>Blc8NN(!¡lav] s׻ 4D#"78!p7lHqkmSه9GRR!jx{%7R}/K_WӋXbV5vz! 1N)nd]@?&;aw5B/ B0,Np2+u"SȠ dѮ@<?;BN,@zZ0d)!<%^ŭBL/ $yBNOnKbNDN|`$aD-sBzPonoh2N~L [`η~׶$hk()@ [&{ϸ7{<)@sz(B ^PGN8Ϲw貼@ЇNHϓ;PԧNSXϺַu L!~_h$CW@u0RTBH;-|^B]E]d8Ztst%*KTBa^E}!v)ځ: A;XC!:.*|H 86_1V%$ PadV4H* 7@K|%m1[! [3hqz{"s=/Po"& E¶g}`G ·f%2|bɧV'"|;r! pvt!@ߴ!}1=( ,Kb(At1 :6 "vj Fd f';pe i5 A@ A à €|t*"_ccYYEig8xbt6b c 0uAnrP %Na Ԑ !>x/B2yC\7/ r(/&vK1> /k7P%/k''hUy9ss`/V\[~01\%/w5@c@Oop A mppN yӠ [(qxx ,Ҹ!jHB n*@s I.WQZѷ) p8{ yހTFmPc@3A U vPP![ A!K\tk=tp[Eި\k Lu[%/v@[' b Rpٸlu^y~)?GzqA J87g1!jAQW[#::a|*%v(:ua!QNZ30Z/Rjq~m'zh$"b =c=s5S%z7VE q:j*]8 !vp;.:)m5 ه6@*57&$5"f!<>=[䃄uCHzs= åL_0&`ӥ% ?(dZ:ԊJ$KzHcoBC$A AAO@!їYqȨBtYI%yA=D+ ģA@Ad!$ Ϫ[[[pg8@Lv>lEvQȚ0w 1xz8ZxzuzXS[uOOT!0 Q[g%2#:"R:q;4"YdU P SR5q2Q5R< @6+!\-Fhv|ٛ{2r{)<0 U?js`nʶ 4B!B*m':f1 s qh!G#{N"yrrؑj-xcxn11xKqT jlL- pr7Cr#%13/po|Ɔ|ȈxȌȎȐLɔ\ɖ|ɘ"ɜɞɞcx7"}el#K(xtq!d'5RS"wrGwqw<71PcV"W}iWe~cCs1}ާ zz:Eέzg{L,| A\|F"8wFÁ:!}6!2*C* '(R$w!}!8X{|(K1l8qӶY;/< #Y\kaHGHӊ<iyrtPhAPuw'K! ސ`p`@ 8 m"p 3[8pAۈ !ELFKM(ͅ3؀ u4md"*ڬmϋ 9n0' !Hu-+ A)9o@nbH( Ώ^5y0 ڔ0㜌Ǩ)9_k2v-eQ2#l 3i٘tp{c[`Vϐ 0 BTN9p(Cᶫ` 8v&B1_2U`q)ܧ:Ba%^\A6d {#㚾"z; 5 <'s%#^Q( QJ E1jnjb4kE+* J;ph[~J:Om>=:v5w@vv0U34Eܰp jc2(s7/AvR'x6T2[597#6~ -N\l|ȧ"IjA%;;>׳\@<;ͽnz~Gmb7-OY  РRw _z AYf'7BaWCDN>lnCVEDuc6 !Ȉ+^ 27in`)>!C?!NZUYnWaŎ%[Yiծe[qΥ[ݭ ߾v堪/]'&19 GgWmy#d ϚC )i[{L}8R?koN-Ua4 j'asuvhas2uyO5hH- X<r#N):$uicCf!? $2)gkTzZDi^8FsqG{G rH"4ȐB+RPx*~Gz+KBa0!=șʅD5js.XL!`ne%O@tPB 5PDT2QR`(ctRl G2Ѓi(- TH+n,.tUV[uUXcuVZZtxZ{ lYNx\Ze8YhvZj[v[n[pw\r̶\tUw]vu]#jϥ^|w_~]] 0cA1)C,`MqA3$GIԪAQhxeh=(qUPIRi-{uecyf? se 4L?*hnC}YǚiªAflc60wyldjR3ځC@f|pF{\Żj*&>,j`':s@EMD}<ѣps}w}`x?>:112Ũ<@C,3>1v^~yˠZa䯺*.P!Rgg~vԱC ǩ !XᐆL\#C50 B? "Top!_pNxck@-!La]Y@ 6]|C QBz/zQ/=g΢TvA19T=)}i\W`Ak^UV' Fw¦m Ҳ j!>1d@y Q <U>)v QHNsqU)*oC ~b0`]8ڂkT΅!05u ]hCA2J74˓KiOD盇uYBN@{fO}S.U#c’(\I!4^b3]0fЬJ33Y AUJrPAIS)Ⱦ-R9Ayy 8Ar}b0h X9DC*zv`!GSUb%.L-mj3$(8VҒІw|[]tY7 Z gxD{Qc`Vtq"!y^b 4->T?.Fl9(+ʬ9ҩg0!VB^ -ZwA# ~x'^iVTgJ;IKPQnT+u/zԧ^t{i5VqTrh jKF+)[yfW|'_^Yksei%YΑP}L.oM˲_'PWng~jh/;QjD٘ЙqA | ؿ6`h, @=u6D= iF:ajxz;$ uCQ=%o˾d> L `&A(3EL "H$O3ƘӇ6Bώ"=1L(!T Gs"6R> 5V {r1à"䱌I\‡簃0`} ; xS<߸W5ЯU7.4a/.֐݁:2.NQYc,X5X९bQ"C^.b,;]/v}cX^(x3xAڒU^xWIsb3y(Ԛfy/z?ziy_zoz 7ۘzoEҢzzQ´͘z@z ؃JZDQ{  d Vyފ  z$ā1u[?TG֊& X|p|5ry/ML )C2e Jx+P1RJCxP}֗ %{H^yP}#TH~¨i\0] ]ԙA 6,aGħP15 wWvV|E(j P|},h „ 2l萠TUŰ-Z$.ÐRB ]4%̘QIM=r(ڰ(P؃)= "%XժA?`Ť AtqD";B E컪P#G+P#&Աj޺l03n%|$:3ТG.m4ԪWn1)>1?nWn@#rޠ͛m{Xn\. )Q"BpvRvG[kԭc׾Nq+g.9t 67FK_PN9PN xNJԁ7x h4~^-҇S7ݴ 4\q%7E7{ɗ@5RA%dUmTQUB ֓RTE"p!BQy^ަb=Ol'cM:ь".pb4AN!ڜE!M8Ppr6@Y>s6cHyѐM m(MoL  Bc!!Sa2* t+P;L!dqw1sM\ Y]Osj찴Mog5B|>vG5 L2BVp0UE9$RJYTDL‡T A@KAf. W–6%/F= pQ! R4䁇7pз;B4hI 6uMJHcc$zU>CVbvXU4+zY@\5-l+5[* @ zW`ei+/uB![ dU:U>0_F<"%2NB 6Qx}Ц!\a";0ap0$I(ZCoG9%R0\(21k67:"1!&Enj`eNnIq d$(6qs2%3y.Aŵpu肷)%v RR #|fh>cwe/̅7!A(tÍuE?C@\DZ 6!lj]Цw{ʷ`zЈ5ueKsf5UKa 3L׺hpb)xU>+<=S&ԁo~5]-ny`v8"Qެ)Rxek?E15*{'K#B7,+~ylpx4np< b4&?9Szo` H>}dA z~[ lw D 6p9/(e#=T?!KMJ7Qj!PvTG=!a:笎ب瓒 .*,SJg:RYsN SbL0b>V׺ .̓Һd~R-'?90opf6[=`{Az!{tΗWhCP_94T<˳XЋ("jt*3,؂8%<VBG?tO~Si%6շr22eA &KC! tnt pUa@9 B9$AC7C"x 'C$wD 4H4@` ` cUt I h6VH6 G@T A `A<4D Dr 9!R!B&a " a &HEp@DsɆQ /MII[툀bE$ & 7,BQXC6AxÜȗ6X>Ja,Or 3V` U4 3UеPcN%6jK lAi: m%`cĽc\a5Jd@VE^$FfC(LnhQ`q:`$B!C |6(BI09XtMzNS6,BKLBGMj68X(=C!XLHA@C96Oe\eVneZ eٰK¤@B8C6"G[bV*D'=e]J%M.MZGR*D`r!i$z- E:&J }#B|I!6$'U *F&G '04ӡ@Q%_!ȗHA57@:R 0Q @ OQt\Q_l ϭ@Tg8ЫBh )@z= u$`zޏ@g g@li$6>(RAY%L Ρ}(Cd2^9qD\BLhD E'IƍE_)e F_-"LϦ@ ihsL**檮*j++&ܯ.>+FN+VkW5fn+v)zb+h(k|))B4A+i^ɫOCSKjkH+jclAӉ+6,W^:,D^lKdq. 4Z0?i>ĬYlLLLj@e٬XH> -A {F$@=jҦFvƆ-]A@\dž&X]j!%1ٚB-BȭJ-AC (kC}Ďڦ^K RdH.VBjz>bYJfgƮF6ʣDʉ&Pd^He{ 6MSGB.&yzG nć{y>~ 6mCɖ. Hš$ʢD*NI\PHڰH|(i@KŊBʦX Pϔ, yus Dp _綬P0B,@g0 oJpI 0 1ή_qh`A>PnM$_ H8 B0qBpq$ >4Dω̱@CL 6 âB A BMހO( \CfaM č*Blwz P# dIYM=PʷJ ) iP36 pBss %NKUP-s  E}3WsB:'9Sc a1EWtK@TDDa  M G%q4;!p@4!4-! {DO \> ݚF9>̦DU ?RG;SZi9D T GTeQuTplI]PJ-T8sXK5DQ NEp0OFP3\T)R5UAbuUU5H UQU\$ioJua } p@6SSc DVInYn6BJDuljQppy6Y'upaWq鎺7nJ2BA& ȍ (u=Yd%Dq{ OmmV dpA\!9m:8X3 m9xXx!/['2ՄGX3A2xd܌ %U)900BVn66ՖJZݙ@x^yjQZ}JJCyM'Q@dZxD  nk(IaYЄGzک ^ڛzL]F6X[5}ˆ5gܥϦ+\8_zx:[:-z8!AWgnk1aD%D^r::v@Jewgހ{ѩ|x3R ` jtq]JޣASLߥr5tXtM][\G]_]Z_KjZs NsA|5qLL}ʫkԉ#϶]gC-CγCaKK<9 I峳4}DDkSt>" vA̡" C7haދ"-"=k:B F"N/OD~Bh>@~-4A >pJ!C0#a6;*4Vc8s6CgO{2c+^s<=c c>UA@XBFCBdȅ99gϮly giѡ5p˾~b u1aȅ-q}$)>cGgN;yhPC5ziRK6ujT@ ^huy<N]6uÍ9kAxMvEa˳"ytmNZ^eWfi%:o֮ҵ+b6thH4$#=1TU>DIF4tRz>-Z3vSq岡9lw`+7Z;֖HkG'B>K1tqȤ} |svگ>%h{@Ͼ #<( ;ÎF/"@PTGXKQ=`ے.02% ;L׎M6bD33tT(?2H,:*PQL)hT)(J6R{ U'IV]}Xe@s2ر֏tը_BdSYRfEA0l THcprͥ`8emw o8\fM|cF^-^~x*}!-5ޘ=SEM>U^9Y~eFaJ(qjJ geu#8Wn樥ꪭWP#)y,Y7 k=*{4Rz溷[Ezᴎ8 pAvS羽_inȅ Ο27L5js*)E rR眦я(<»pǺ<q 4V~ڥ2_ dgձɦ;I.|@'p!do|hQg=:ztc'XF: :xs.ʢ@z;8݁9qؑo~Vo'w8' `I_Gz!! u/. ʷo} G?Oxhw,iIDPH1opu1CG?dJh"va c !؁Bd؇"7LC%1y:! iA{P!7цC8۠F0Ax!q7ctp2$"ّa&20F D Y!Ȓ4!P>HHJ'a$#d3;Z#9 t.$+yLd(sIo2l!-vSv‰`5;PcFX6ڱ8)1Li $" 4)V&app7UD5*VT@8Dvܫ#5 Xfťw!'7}d]\:ՎL5 ;]ܛKfHテ_=).v '@%{D/ӕ}u_X R$L14Vt|x'vta4~@`uaBq)Ƞ h"q (L1'Q!#=,BEbԡ!X#R V#V @:m@sha R6"AyoZ#Dxa|'>(iBq4˱(v@`()R)v!S~B $$(j,b++?+Q-a S-BW^ *,*>Kh@h.=bx! hA|Qd#%wTm@ (r/#v*?"4b|2(Fs(5.5yb,Q)51.sBz-w6q"+E#78s\FD$Q DGpz(򇉖#HWhB&p #t!(ibx&^!$SZC1" #LWl@d'#2A5A`C3@qJJVQ+-b`T=4B@&b*&%`p*ƉXɕ` *n' ZhOiqb'H'#"'8 $3> VChx=w(r6U)2ErCSt'ԀTqQ@*2)?3B/4'`u?3)#A(`QUwfe{wxXj(kI5{Qr#R=6E;E{!>{\ ?BUPU:n<ϑ'?B $?" HrQ\'}M#ݙ&>$*($"]ݓ b?))V#@̏V3q?bg#' ňrW#v3IWQ}Cb'V+>''~s(2K#I=hȱ\q#gj~R@ i>Ar@)?gT%EѧRu%g ț&*84? ?FC'⊇ 2pߜ2>3ƈLI Re˕>EDi8Е6^ّ)TZ5֭\z 6رd˚=6ڵlۺcjw_nI5W.^2ܷ+[9f A> Z;;AKek.^Qi0`[G3lDmry ⶏy ڙ;ήƎuo LIaTNiWiW=dbIfu&V B ahrC"&pDq6Wr7,AwG:"hzWCfZa)X%n3 :RDЊGʒ?`PLī|ڡ!x  k8 (,xF!灙Kn枋n-ꤖQZoo;@WG\W_ pXyvO6ǝgn\n7c3YݦڑA2>b˪D9PЮSG+ȲXmvL`91lM}@&KJ --4d@P[8pjvn_kAnT9cv>;̝oNx\\@" u-Yt'nC!a# *eJ ;fX )jt1j<θJ$B305U4"5%k!/AY,-'l.<|Y+BYO<x r$ߏ#9%GX.&8&Yu/=s!,:ReQ8" /์6s ):u7akdy!v : ֠CA2H 8 ~?E>;HL""0 ж`ZRel_ĖM $[2B8H)x4:|)iX0@#G<jr&P^XQN-o EqӠ ́5 N-7s '.GcGCNN1n$9D8ԑ6,5)T܀:m? h}% h5 leH;b+ZĐp|H>ж%$ CQdX1JgPUefSh-Fģ5H:JrD-Q*uҥ<8V ׎-&+O0da*v]Sʹ-bT3)T2ò>݂!B-iOԪvgR x,3 f|*ز+ݭo wz,q*wmsUkJwԭuj&w pLR >K8lh3Z ,Y^#1 &zA;IR`Q8`+=>Vc9?|JI$xX,{Vd/#Rʊ[̕x+6V˕-WYpXU7Jah~H"fVa+G1L=ʛvùu~p$UCF%~FeQ\$;LbF=:u⭢r(6Ρ 5u׻Ot^.|5a.ea~ =hAo;vX#|1{ϼ*{@G0Nq\7A^5A\"{]9`<Q1tB{f{ ?  jnghAEhfSZf\a&'vAYxBdrLVra1 hy"8#aN1IpbIK1L2HKQ!tV)m@t }C 4P؄\" Pup tFw`X(hUW2Pt Qo)UT#s@@ `,0oֈ(Q?Ej:z1ff_P 0( F<ڞ C*'),05ڤK8s0XY@B (.ix#ڡN^!@2,~-nt>2,zk-N55ڨЙ})1sp|2z@6;z *s4y)3ʗ0#jJ ́"zej-.k:Uʭ> d {m M1DJ 62%)AT` @`6 k,fFʯAD2Vvۢ{GXD[f5Ki ):a2`گ+2zPWc&v ȧ0[z:B,!`#69s>b>AUA6r5X#Z4\S4332/ A7 sڠ;ʗi *lhqgJ*`eVo+d))S-3*·3KgYPvݪ>.)b @jڀ'Ԁpn0aS30iI :cd.pKR@ ("`ȫn*kzź(˲˪K)!*S[o[s{8f;Qǻʋ fe!avvv98&4; Bk,>|<4#*H_ q"Kf;SoKrn)tRU[ 3ûS7s0:Ǫ;k)B:[5|蛼c_6q)eL\'n:ى 9c9щ)t?(SHC;C ݐd8n 1@n`;d|ȉȐ̷͛||dd}RwvBX:즰Si3wPpnT6^M I`ϵ(SWʪ|D^DO2I)ļUqs npDdDaWѫDNErѐ/} Dh,c[҈0C5tC<ʮ\̳T\,sL-ɓIp,BfLֿh{@(?0vlLnTioONd5`uYwd 0@ؐq ( @@} !ُM@ڦ]o@}n`N4sMپdNcpppۑتffGapAz-JdUb@(Ƥ j0{7M^S;Ak=uP4@PtA,%5S4Sy<%X! 2ODOL| E}~s0dP*N'.^Om&Nvpҁ }ࠍ Mtg}]N'Ľnޢ1XIm5VYZ$Ϡ ~@qY&6dcY8ZUVT%&}uvFhf|jZAVm'p~~"QD-^ĘQF=~RH%MDRJ-]eyzfcpSAjZ:νqN!:z-obsd)Җ4m' V!J}UPA%n}|JYr.K ܸ7N);81*|P@J1\TUxŽ XۻyKy&S:F$<8F@N^x͟G^zݿgeAJ*C3Fa'XGtڧ\('?Bzc Åx*~+F0L X 1Tn fm6K-RªHFI<ćB 4čE\F+ȋ@H};1߄3N9礳N;3O=_cBk\)RP !Ć &A$cAP K@HS6,QI.}RVNQP#N _}p7R0FT[}UZ[sݕB?`hyDS$2;B'!i!7E7]ue]w߅7ޔ S끿I]fP1+QJ`gPgӣꂝ:B2eT!G(2Z_MA{_Zo} 'x $cyARح Nfއ̡ .A[i zxmBLֺaY.xDD&fmWLWqDլm!6ح!*-N) R>eͻIZ-NkXw 5Dsٶ%qj!f> ?Ե jXC5yUXԨ[ Y}[ A h+[Ɩ m0=nyG )DCD%\#L}Ziu N \ޅ@h^:Y@p;8'@ CA{uIy!^G_ Fy -A_b=w̟1}!}JfƲ_msWOWnu7!Ǹ,!)DpoQ!AiY=}[XrҪpIGKO{Zo^9nVxe+=}E6-eH~ h~6u8ыzDc!5]o7_gYJJ +eZyjW~a H˘W;$E=CrT: P+܁]0 pQPauMNeх@T UQPpU"ՅZVeNҼAK% PUY_MYX&)@Ү_2?t-]/ q.*mHk(Wh8t7Ȩpp CXvU׈`oWP}0WtWpWr}ty%q/rhoPmXGxEyu7XwMX0:XuX}؁hoXBz"EXaWvؒWX(JМS; BІsڇ/pjHkuZZ rMqPڇ!MP!M2UM NMͼ%֬M#D3lh+KK+50MD\= MJhP'J$%*}&}MJJ+R-]%Lʽ\-$](\ͥ>@^}M]}ڌ\=]ݕN ]%]E]ڵΕz]]_%[%] }ʝWHV_.]e_U( ]+e=M %"˽݇]};8NEWUi 9Q{5C\GoP p  0 m:ȃia2 !bA3&~!6 ^8vCixsr@hCP1b$V⌐b"b.3f4 :X Bc0~p1>&6vc8a@x6 }HhqQG>laOd["Qij<Դ4 [\N\ZȂ쵲5~;^ښ5HeԬRe݁ڃP=]+x]lQg& NNz{fg@jfEgxgvy.zVu$h`M=vg rv_~t^gޅ&NJug&[N^TW\ ^x]|} ΏТfRf؏g`emg+(sF`ӥz^jxƖ*(cl;"()^na$8͛އ ɐ  }kF3>쇘z[;ul  7k~Ѓكq^쌨7mvim=؆f969S9(&mnJFH2ed^[[;a6M^$ke&9h9k 5^;n6Mj.({+i\R ݁PTM]h_R$L `d]˵_voVhN _J͇n`.)pVqVp7Oq o` g]UWg n^"_)N= 4h']vsULo."RP"`y /pɾ}nlI!n޽-.6S5%.<%4^N_O@ P Qujq=L .KU@(8z:uQ]]ZWuTnfIQEiGAJtA(I)YInn p#fMT kʁў5ZH&QPITK"a:7H)+7g`*1,xO =p`Qx=t3WL=}Ir*x6î;uaW .fMz ;v.|8Ə#O|9ΟC.}:ꕓZ1΋};%f`ۿc#xl2ܺ8ܫ+.}E;A > x H>"8P| T߄Zn1@f:# rsaְ!;Bc@h6 -ʇ!p hnGȢO( _H p>![NPoВ[ƒ[R zp cp nf+ВN‹YlAxSy0ʋ)2O uRFE,%!XHbM) AIa }YUjVm [SZaP~ ej =,n&abK9}`AQ%k>DT;`fQ%s Xn P/eny-W\K>JJZWngZW'+ܲ/J!5Nj.$:{7I:p:I&i1x#v`>1 nH\ZsF#4h'5tHF9H9ꄱ4A,T[}G-~aM6v !n%M6pco]y;w1 nc x6S6n f6;{ 4%~:K$s&{ `p vx-1-Bˡ v9o!vsI)I_yE$lE%*IVJ(P 0C 2>z,>rF%II Q%b.@H  (W5ֲ: L^Q=A,"Kj lE}Ju1-~- .:+YJYvm}R0W-D3xB$T%8;CxZ2FWk)/46U- Pڄ-s.^D^#TTaL:19 A3$yk7-NP=@hos\ E0mTfɱ-pҾ9`7q R(tGmKCU1q:`#.W<+4a7b'G%M RB7P&l##9JVN * d#J^t+P iI0K?fr%f` ta>~?:ЂNN z3!ѺL ~0G@Gw9L9Cm |2C:et5q㘒e)@رT:ֲ5km[7Ӹ5{_;6ml^6gC;Ҟve<`k:6o;q 7 iRݴ8aJSaӱ¼Rȁ4~nM4p…S{;8i> i jޙzs|ݜ:gNs>6:n# NFg Ae?IqrmAR:l u{&i .qT8ݍL+x9 :y!FO}˓# ,H+┫S)b-E8k+ýb1J!>rT@ n3hd/ApZ<#U_?O>dCn{e*ܜK`plF2rp  o,1E#aiw  ف|X!uUę[XM]%$9dޡ܆UM0S~T GXpXq] FVG3!L+@.dB͔>REMxW a(w$U%btȏ.i ܝ)Ybe]\ő (n"+^\v ) -B() , )-D`ߑ*¢.26 3~ .b)\+@#i56AFAYPi Д.}Jcc ը Np!tτ# ALI B:;[h8TCDP:p4Oc'x7@dJDE݁65LZ8H9$NJa`4N9d76GHCGC#I DSFe$hNʟ;7PC zG4OP<"ѩ`"O y>@`F[h5fbffjr@6@A 0\UCМR M' v8'L'.&k!R ]'RB\c ܀)*^`TjCY7BUI\gY@'y:Atn/z'xVuW'#s]V*&gpyt.55q}V|nX&:; @p ML`hh0.|wd&fЀv,)EAl5ALC陦)p@ԼO>P7B:ɓFik DJu 4 6)jz) ґT ;@)4pC7 CiFl(u<p3Ё,`3@ mfjdL i(H̀A$J+'hd HJ}+D@pDܗp_@$X$Fa'v>#ruY8bt:#5Vh{*`r.֋xJ,vQlTDz,p@y^@ٵƪ8b,zƬi do|5nl t %ED)J~`)2v,\r@hp Tae빶(8D@.FC*~ 7wp[d_eeAbхm mA A¡%oa{@e(lkvR v(/ЀRfVuҽrm}kp$r8ޢ[Y5N.&\i''ޢN(>,rn0 ŕoq{ U^ 'z0,bq Yّn\->L-;T٢m` pq(ܦA1m ` n͟.P NEnAPqHBH9h!2OmT8C6F>/!X 4d&$2BGx>:/;4%/` ]o` &>]o3;yqo06Ofy-N )vi@*xi Z# i4FTF@8\[}ص[TXFG~52 Okqt/`ʱc80c0 l]=hŀgoSyz[< y kGJ1"|/owx0nG1!MGĆ0<>Gt0A-r7t,@vw oI )`}f4R{ {&.wD;tƔIAϜ پ^#ƄDt0 ukFx-'SJȇA Vjx Kԇ:čF,vȏ}>\β>YGdso/0yVF]eM)TA6΄96C@G AMo. bq`51&!=@9dyO6fLk~UF{Kdâv9WSI!Bՠpr!,zU mzRo;r-rz:45'<]s:,9bp#> %>ۙ#_{1"DEW2x"4+;},,9}+ݾD4)MI8{ ^ 6q- ip] V>%P(,D :N ?sw8?8RިFpX66qU@h?@7PrwܢpCMBpcwΚ@ÖgjAC'aˁfpD8nNgχ[p ThK?ϐҡE(H"}槥WI\kW_;lYgѦUm[oƕ;n]a_y*GUP_2N+Tc7 l1ZiOcIsct?V-9ʞK镕^a.E8D Iny(ױg׾{wPi=ߒۆƯ6Tt{+Vc)P`|P<*%A QI$1J<+ NeBi4JaZ vXi":%R)+RK/ S1,3LS\7S9; 肀RCKa 4F5P<8AZN*Ϩ^@ la)!IG)@!iH)|! i$`)0M.2xd!%!HB( "]!ZΖ3eb?n5$#YcD3 YH!~*kPz hz:Wfk7)׹'$&%8bz"Ŗa.QC²'nq{xFk u[ISr e5;qs&^i>tr WgB{e"_ tSRR8$m)#YI)hI]*k Q8)N@ P^롥5mY"Zܷغpb@%pnx!oBe@UZMΔ*@ kW&- [q*xqv*S+vWye\ߖ쭫ȑb[üddtieª8p~/HV")DG ]OO 1@(>u1Ncs%-Z~N ﬐WiB D?Y|ԳrTIՕ{H^59RO^W]5ȯj +a7D90kqCAن^2[KJa>Jӌ>;OlON>stg_kQֵ͘NЀ+Hce}-k Tf-gV@LXd&s]FoawE"mBuپ"J2cFVvnaدbs;]gV>Iܒ9ܓ63>F]!u Ѐ5jgAU*-SZr!iSWB}2Ir*O[H2f6WM~g~Mm5 r ۊ~=:S,'DӼ%4!4`w`O\B2mro1lPRChnl)d"В݀f̊pzj n} ultpޢ)N VP i!԰zsae Mbk \ernrx\ t+$OFDf hErp=8le*f^Ʒ VdWn\d*``U_!eqJee.0r1GknEboyA1iQьqf1{g2 R\Q Rn1!S!!{ r"F!-Rb"5r#9R")#"E[b8$Q2%]#A%of$ aT2R%i&9%]2'E&&y2Qf&2(ig!,), Hۇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0c̛8sɳϟ@ JѣEk2DʴӧPJJիX*ׯ`ÊKٳ7]˶۷pʝKנںx˷߿|LÈ+(xǐ#KL9jʘ3k̹gJ?Mf/^ͺװOM۸MͻNțOμУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,q 0h3xBPF~ WRfe|![)fz #ό)i)=I|2GX)蠿$-+袶裐hV٤f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmhlp-tmx|߀.n'7G.Wngw砇.褗n騧ꬷ.n/o'7G/Wogw/o觯/Q_ HL:'H VP Ƞ7z GH(L W0 gH,@ H" &:PH*Z1:$.z` ǘ}\hL64"H:x̣>  G9L"C򑐐$'IJ Ґ̤&7Nz(GIR#'WV\ %*gIZWT%,w^%.Ib ԥ`:Ќ&jZؔ2׀9d `a4 H󝰤/؇.O d|\=GARɄOodlB-ld>%_JARN:T?8D UsAh0i 5`5(J^zͯw 4b;ЂW4Z90 BR䱄d <:8?+PH?s,k*A E4|6hbHV2aE q]˭G[D3W)|aY̼Y kH#SUFKv g 7-Bտ52L]![@AlFVeglyuBX/!uJ` E X60x3k]2Y<>/ @ЀLY{' $3tqow"D=@;YH'<\'Xn[dwPކ9+y'_.8Gic֤.ml@g}c!SM *rG#8AЮ; xD:a`k6}P`}Z5h+6eMJudߝǽ0kn x G P ?`Ϙ5; ]Dsvpv'YQvV~Hwo' '&Kcxᇁ=vsGKMcow{qf|x?ggS]Eh'gqfWLJ[.WobO)w|KMWVu}XCP ?y0jWv[G vOgFq`AUw1kfo(}8rv8P x}mx!$KoȆQmts pOw艄8y#hITyy5?3rfW?kER=xq%qXf 䃸5]h]*q؋u7gqpV|[|+qPUhr2W1fYXUjA8s@w~x/vVg0LjSu~XxLFux,x ~ mu ~U`k(O)Umeugpc((0kC:9tՅI ^vDU5,YPQs `_(XRxRNiqzgVUPhm9w{UUI6^P|]xhyiqՉvi AP5O}A _f!IlJHlp8QmFwH[|Hwaeb4ldf֙Hwwى)v džƜӦRiKTib@o]\X?{j$zagqٞpL\xgfqvUG@؂ՕVPctʼn@)"W1 bTaqA&:j!k0).5H', Նf$YYpXu&c]7bA)UiOJMXY@[q ՉK׉Y0Y%i]Tr^zdUب?*@bD㧞ZtYY(BεOωF9YRiBDYwhtStUdge$*xJ J24(S9*@"_)nJiD9Ihv&zKijV:ZԬњڪjDغZYحᚮ꺮(4WʮZ Mjފ:J g*۰I;Q!2,< H*\ȰÇ#JHŋ3NƏ CIɓ(S\ɲ˗0cʜ#G8sɳϟ@ JT͛E*]ʴӧPJ(Xjʵׯ`SZ KٳhӪ]+r,۷pʝK.Nv˷ߵx L.#^̸džCLY%c̹+5ME^ͺk_˞M6ضsͻ Nȓ+_μУKNسkνËOӫ_Ͼ˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G,Wlgw ,$l(,0,4l8<@-DmH'L7PG-TWmXg\w`-dmh{Mkp-tmx|߀.y '7G.Wngw砇.褗8mꬷ.ۆn9n'.G/Wow;o_s/o_>GL:'H Zc 7O GH.NL W7>0 gHRpK> !&@ "] {@(]ĉ|@QX4ns8H]q?.qāq+@ ?dtL ;Lu($XMb'I?^` s$0(2.IIГS"J ۢAI ni@P1mH&@Ff! 1#́|$)M iAH9qĎ}Đ L@l+*A)?rqʳQA?|g^8a sHf85D-7?8Q|!EK˖>Oe}B l.d)TBLx9QZXAZE$*A| Oxu ]XBV`G\aix\N7ׅ1O'Ҝ p pdSv#b<\2T d$Le&@Eu'~p3*"*n$)nlaWx@=qN!Lt(sP $>P?ݲbW+( 5grW dECQs?X@vpv0a_.;d5li .ȅ/lBf| [ۚuL5pULUnZ ӕg\ Zsc9`"ŽҫU=y6p BBnFH͸ atx}zeIE48M2ms|a?;s@MC{[^jqm4AhUno;dzxQ4<뇷>zp~2;~#dpӫ51@8fyr@:ÁLP-Ǽ e\_x4>k>!}-׵K7NHi{ѿ^x‰{Z'RUE.snFn/ N9Nz)ϐBJՉ h'g z /#NOd )_ |ǤtrǛsޟ>ƍ祏Lj򰑫 ?`J8> 3GC~7(iw$؁#exeb"D,84H.88F2X<؃w9+>XF`@(JADxNwK8 ԄPxXXBRH\?V`]Xbj?!(, (b*DXp#JH"A!bȑƎ ?)rɓ(S\}UP`y%E4sZĹ0̊؞=ѵ\[sBQ1O|#SNq]Xv嵞?^߹V()>3b5{;nTp{}\mw ~)U)KZR(Ug")@ cRǖ;eRЇp _\_0`VX|" YdARW! S[(bn@# f!gm9>aZ% :fAg# Sɣ{kWn7zajc7B}^)|HT)VXqZKVHJ`1)#e*)rTbc*nJJAIU c.UPkh!;#xW^ˡtFNۥ [l{K/XyE#ĸVJ.6).KJwCb0*~\B+lƌ۫"53:UVK4nrtjOz{Q'1|lXy0CLԖZE 7KQib&Z hfk1ح?t}*UמMi7v܉':_Nm rMy}0/U_W+=>ζ{p ^vϷsħ_3TPV{.p6.wz:vmY+Smu\Dey^1feU8`S`rr 9 dG|  zʠ CljIO)5 "S&_ - A L2%Ёkb4 |˜c~)ߌV2S~9D XquǼu>7q XybLr#bJx9hBdF9y\զT|@D_9U>La81l*./!Ch'&a KBUCb*b{rF+!428WB/G< CK$zwO&)9E:%Jz"]F! \ILk'PDR_z%@n-rjĨe.1ugNZc䯢w 6|Z)l])Zw!1,,9H*a#Y1‹3jȱǏ CIÆY[rJʜI͛8o^0Ҳ'K#1s JѣwJS PPJJu#K2]ׯ`v\RV bӖ4;ukn[ 5kdCB)NVXqAcƈfd% bǑ/shojro 'ms{xx8lj7 Pyr-)ǁ4Ɩ5pC@@u,)x#AY GVF$$>dD@N!nChXG&yB\#5쳃7Ҽq6,M mT)PSG 5_Ϙp RC>Pbc$Zr)Ѝ9#wqc]lQ!ɨ1!#"HBL"$ŌL(W!o:aC缱k˖Dz5@s@bsME;f#7>o Ĭ@{<n¨ dCPp'A *=zPlͻO|AkE5㌓ ]dARHs>8!LŋaY5%s]PNqo½9wo a7 Yө6?%2ju'RupPfuWC"dH#Pdta@PMͻ iv|B-vQ550Yp.@_0t4s6t` (j((dձBǕxc 4(ŤZ7Q Z"H' ʒؘV%DZlV$EP J$ɈJRR-+0Z"OE7 pq@bF#@a\YWBKibeG5]T,6&q"$ސ9ADs<ᜧ> tFxDV-ڄ:D'JQ. TH@&, HGJҒ(MJW:х҂0($ L@BLwӞ@=K%,l09%RԦ:uN)` H :VծF^uT hM+LzV&VU\}L`]wו앧lQ͇UPbGzBt zBCpOUoqs.Ǫr5mOG;R֮֮e(ZY&L =DCN(-{q 64 -nV@Dp}|#{ CA4tHuPQ*һM ַ;=|ámKtۄjCoV5nC] XٞD !FL"D^Nc{6a wdoTc{4vB܁50jרqhxcyo78#>Z 7n)|Y7A){bcv%9}4k:Qv(}zy-]+Z^NMQlǶFVSM &ٰ=a snS(48{S@׌|F5!fxV{y %z~ X+}Vik>xG twoStC04\D~s xoZ5wyz+uIgtkNhegUBҸCr :.|ߐV}ġ 8 NFE?$&}zrDmcECZܫAz5x }<.w>aw~ hfv 3*,ENt\nB4AJ.ࡠ h% t޵<Xj5Sw>K@@JHR9UHQHVx!,p H9( PaTRq_ *,D=ԈQI 3"Uxȣ ŋ ;ԙ1%M!O&i`ɓ >80("tJP>9ce*R"8HHGΎUN-\W>I4c%JnOb+ϡs.[VAEʊЯ`ÊKٳhBs߉3{4 Am$ Es%0WX"HSe"I9t [mMZ $U҉Y;hc̘ݰCZĬgȓ+_μsl>AAqrW; w0x!#PD > kEPi癁*AI~T1 !BOq=g(,NX Gπ\RG >|fC_ "KdJ ->'I %KS*D QNݱBB hTT"5ܡM:׈ 3N5]pħr:y# !5x7l>o`cDvԄS6Ԥàv1QR;D37ख़n*_kwk#7v9hs6v4xCTګi6+e%-+=q ^;^A٥ dP처K 㒕L-—,Kt1sYbb(*^ 4LV e!S"4tL 5@Ss8;x#vF5!H64*XSGלO/u;,ꨶ 7y "s=vYo@"r3sx6M8QMp#L@#4Ӽn >AtwRoq vvU"tҗ> R '= o߽C[@"zBWWP";ĀN.Ѕ)Cz>0іvq F)``G8bu j՚QP'T9 BpN6(173W9H*.Xa B}3 bYXbF# `NAAx2rd1p\a2%RJ8q א g ?Y>d8)$;N 8q2C4EiQ:a D}_0H H XZEʥA2(IiI١@a`$kPazPd)d+Т:v.AQ\Ƹ#_2U| >:~)!&Gџ ّd+< ffva ? b^F +A$'wA(inHC fčuDE4)J}ŁHA!v:`O\:DN'ꂊ^ j L MU(jQD*I׺N=yF/"=$ La B%zlB Fⱈu=0IeFB ؒd9(L 2 [dbbW$ h(MH  2A0_"7p"Rǎ{c޶;+!ހr# F7@=*Zsݙnڀө d1n i'xpC fl! GLe+/bJf 8y ]L SΚlXy0||<k/H$ No.EmA!1Kh76(G6m8G~[0q涷i r@s褙j@G=|&H PB9"?pCHFV.6BEdCz YΜ׽m3GSߛĘ2MFr}n; ȡ2T٦i}lrȼGO,`uMAD+AAup*}\/OO;ЏOC* MЁT #q@~< ,JЉt@'Kײ;.^EV.rA 6N ( 6~Kba]WQ~с'xvgtW)8!ԂWyQ!Sq`iam>ZW'`$2N1e0^(a}6w+"#4XR#˂6&! S%R28%,!%%%p~$EXDb$# ~xHG K"%Zw 3+%1m1O#`h 1(@~$+XyxH xWHWj/ߨ/ E&GU~E1#1sLR$SB$R p0S~0 (Pӏ`1wP.2W~l f91.1x3%Â3I+1i4YH2h֘yX;ruIy=Zi>.aFň] X2bOR1Q4=C~K S=e%3GEVh ~wI=(Q !-(XsP+v͈ulיfؓ<"g~9FPgv^F&y_F.vO'H{O4(.qV~0~s)PӖTya=  4I"9P٘1.9l}59x}y/gh `$O hQRYq)% PqPHЖa2ƆPs )yPOTP 5!P$zPzIq/1(= Y2>ɤ֤|WphUUfqqY"%55PSQb 7PӖE%eP)0#6G`,Z eӞ ++* =Pyʞ=Y&3蓗i9Ia  "NF`ƃb|eq1™lAb&F-(! `x~v Sha"ɑ݃Z1Ӟ%&b+p=֪9h~n5I8)8XpگIz$ڰz!#y0sXj`{BFmlh ^bسkksZ&l#ɲ %j0 3OzQll9;eȶa yj39ShY n[_gfw͑uQ4ضqA\=|KWoӗx5|n-Qjx+}|n01{ۈ{ۺ;[k"X[DŽY2JDye69{ 1;B&hػ[AKG󯅋='$K8HWzp/\K}t˻*[ *hZ݇{L`!gAG+GW[פ12#@ FA  ՋꩊI$L &;@į% щ/UˆEŃ l,:&aǠ] [y,R[zR%Ҿ>札.^lR@Ƀ wA{;^q-çb| fuYvXTK? ^q@J'ՕkeRA+;j /:}قqy|v;L -X۠"W [_&n;U,t\/;w&5hr'2#}19kKnnmn "pkqapkA&sh5[u zk !c!xpa?;;o,/ۯ .pz"edn/Of/O Hٷφ@2Â\$KсO 0z|X2bqq&+3&ƅ& )Bϟc %m#OQNZUYnWaŎ%;UJ^\|g1'vĔ.engߪ. "E}B"eċ?'a Ⱦ2#z;Q-E}zT)) 24hѤE(fG)lN H=w}]怒q^v6a6slk v%lR5}vTE>}N6G_Uw.{Z-PYޖu(ɟ/Xrp9 fPdD B4<\5uf AR TZHObؐ2t}D/P1|NV Ӕmplq%ȷlb"َng ֶC~1&>kj& 6"hr"6f!q4TP:A {Ĭ}@.xL m܁Є01y#ƈ`\c$&WxJTR_VSp Nhe WB*0@%&DLA& C@ %^bsKqĝta]AF3)Mj(,R71͚"O=*C:wDwP;?ȊDƁsN)e0}V~dNsCP Tp23 \Ňa\6S#tS9 &XjR%(B μeUz>huF[^'4XT aA"A ؊,$s:P<dvp*";ID4؁' eWފ%w]̭N#0KEf<"7L+ ]]ZɁ{?~q'rko2H +YatMv TyX/qW!{pBP.hpJ. ՎQ ۼJMt-r*8o[A%\9$E =Y1p|{#`'6 lqWN&#e^TLW3qm,A< ,q IOL*gfą- 4荭|e,gY1/{ %eWw醧0)T~|g}zբ׷ "zG_EGz{m-\ϥ뷴W7=1v֎`C<* Zgdti ;ЁH)<8!( ،ї  !)t(  9?ZT[vA++=>ڋ :8–Bv95=RB$!==K+% |wù>kê-Z@+[zéH33swQ:<0B @ 7YgbDTFD|O5z+ +rW WD*4 55Ծh>؁F܇ыbWQKZDsc̺+k܇ R? 1> 83x)'@"(a$ONAڤZJ i$9Y$4NLXTXiIEHM9+|7aĽIMݔMe J9Խ؁mTs>s{:3:Qi%XZB +k*aRX*mBүHHub'(!.{b' ؁)]*SJ^Q<,E*(-+-wKk:L|A=WF/|/BIA3$QSJ(7֜'ӃTMK#3>* /T&,9=DGѪ؇"8*13ȯݩ:K-ʭ: H;JŸʫB ~:iZk8Y/l_OF`XXsXb$>|=s:u>R Ս TؕU٨$8ۊNJ CZŊШ=ǯs,I䊩 s Z=[Պe4<6:3M[J B۴[ 0.;E{Ź堸e&A>\˽\% \\\ ]]-]=]\]]m]}]؍]ٍ]E/؃J}]=gx0ӰsAuh9e^kK܂P^ <ۂ4 }~5^ˍ$`C.<ж[%؇?^ `0㥅-dS6pv(u(2kx )8X}_q_@ᯐ`  hk_^g{;8vi8+Q[ % n Í G_#by0 񄊋߯bfa/ -@%b8b% c;fcU] C 8#^%Jݨh}Յ?؇^8^();XoHer(m8mر pj8qEp hu؆L[}T^V>TRN8Z/p(ltoxhmHk/rJruCRce\~)eVeVf`fzQ^ht%t^Me畸ltXpjp0h6z}@f\i(mXP`/c{giF2c?v?zI?*@KU:Qhb5J9L&`1x lvg+9}hvBF j`Sn<D؇ꯦ j@hCPk.Nkb22;n:k؇7v%v@Bpshlo7 hpAP1%Pl칮k6kU彆:l(ֆh(lNkɦl>7EІJpڠ)r 7!8>ln>kFHgխB떇o/~mإ=}ؕ Ad[7FgB;z0bFƍ4Мԝl{GqeQWX5\t w_~,qp['h3y퓈7I:R4ЄrpZ z6"BivEVYuVUBRŔXE^dcUZy%Yj%r }퓇aԅ^zaBVZ`!g/df$6{M$M9`CHmxQ#Ր 44p ,裑U4ި# zjۉ)|Tr0iqN!cQ4sH8d"ܠc^"|;XIZzDYQi:*p>^F .,9،TBKo*JA!w!,b_ e_y2)2-|2%X\.<%/lY$3ZI֥sug 4IEZ"GRl!ǥ1oi6mv\( d[ ip3F6X6q#( ŷY>9[~9kD-\MT6 '[n%馣z˞eZh'-;; ?<<+<;R, )rRK Q!.h N P $ iRH҅CQ.R$brR wX@L݁9a*ޠFmvqH,f9qހF׾`rsk6q БZbX8tKD@xaT11&9<(3¶4@#%"MDHK/Fv1}KRT 6(gLS ).Qi Z}; At O|ArN0AV Anrѧlu4!Eh#o6R%2\cR իj;A:@#>6@y7c?baj%b;4hĄ(Ave50ECc|+`Ž"_ˁ6dbUbZPE(N )U)>Ydoinx9 sob4hD2>%z"H*4%zQ:\2X>^=Lf02\]MUxcpnapp7,A{Lk : 8!#D`9a lA7G"9d>߰?If6(G޳iD?/INI b q`-@!7O330 Ht%Sq/%"F>$E,d/-&j:5z]41< dÙ~}Ġ~1.4IT}Dn4@v!6,!A;֤VSG6j|kp<;{GqAG-6=/zo!Uw__/S~?;٧~|(J{_.Fͷ~_>r`],.; B)CFA% \PtD+đ@PmB68CrBECN`m`C 򛙐MsIƥoI|G`B֞Wp j RP%B_-aFyZR!#W 2I@!h _>Y>TuXVmRaDI^E_>` 6ljȊ &klmnp pu'.Gر4!^i}GF-rHB\Hc%J5jk8 5Z|jHiO$UWmcxci|Jmܑ9ZMŨcY$UPO56F$#͜J>1Iܟ>$|IəF"S68XÎTD xaŪ8 8\J>tʧʨʹdQdՋ`K!PKdܼ,I V 5NB 4PQGP ]V4NZΑ9ZK #K!҆#I5W!%W ءx-Y$D6c,ۜ@ ]dҕMD#u& Ujf|OB&υl&% &nn:8O)lv 'q'r&r.'s6s>'tFtN'uVu^'vf Yg0F̠Z/y6{EyE|h'~f>$@0AXA]VdX5Vr[( }P[ ҌgyXP]T槊>&YqbpZ p$Ił (W )BY`ҸMCE(v'q@(R)qaR!^4#މ!dgtgўx.VxBɓ . R>4!p@=ӎ6 :-yL5]N(NrjC9S|RL=?6H˗jBԋ3A4ITڒB*I|*6YĢ7DD3ESQ k6mS71S^^UYUZG(aB\%fd> hlhd!-WaVus!W`ltb; 8lim5pC !^ `f8֭jJJxVV^|6[| ~dIeYƈ]eBp, l&av -dUeeVFg}Vh0nmXe> bύ9xJf>FJ+/- h+i)  @M܁J06ؑٔm(K J@ynhHL C DMWVڒ~ni雓!^ BXiﲞrVY]Aŝ۶-/ ,(ܫ-~YS/H @=\9;ABnJ+}6HppqEpB\Ls` xۼ[ݮְ) ]To>%I|/랢oE0zʞ͞o5C܅J(in(p^1~]E|! |E+ D>qAq ݮ)V%r) _J+SH"`iqg@rP ٨*HI@/ڠ C6:(^停01%m1ȉ 0qd4z6Qs&2`@"D`#w`:73 Dx<tHG 8"$YƘƑ~|KG➽b,@8A B."Wh:VpMG"+'zo4x%*V5(f(b)RWZDIEEQɎ!ʩ.>i FSRbC$% G~MKށGH6UL8C6Id㋶"PLůP`J|䗄6f?mclMBeIEU*KvepKZO7uEdYDqf^ZHeΎ`Z|Š6\P&]w|W}߷[&RĦ!077f\9UGO8Ww]o8pvK)8u&)X0xMVYgNخܦDi<𐡼fcX287~ '5Ů H9T@ <<+k7hZh7͌TErLUfqKSQ-Q~y h*il򗿅Fz'g^ahPH_o?Czi^EliŗE@ fɩyU>DKXS[HRv2E&TR8 C:_)*B_$tJT,tRfA+1DDq~D354=4XӰ*C':))B<S;>S~R7T1!+2 PJHJUGB(USєGIUZb Xbj`XTL1XT DH0||@%j|G쀥ʚђ-9{h7MGC!KYZ*)D;O C) q,ksŴ(D1-F,mՂ"p@v}=ɲmn1op=ҎbʿAcbQ{P{UI_Id}ɀEu>ŗTu9~!"CR]Y=ʦgVIԟ׾](}B:uSnSn|4oVٕ}DmL+:}z\3N>3 |c`AE,bqta\rBv5ccǏ!*p&!&;1g,٢'g< ̢8"-T3:%`OF#sxtkS?PR_F9i$$!(>ܮ,pRTxkVmjPU$ŒL؅vϖŧ9H\9t/MJQhxCR:NՀT)E1:N>5$gh)ǚVDč6(tI6EZ:)$FbMҶ6Qdii/]p[\Pָi-0Bqrj.d+Mܾƺnr[^B} Bu}Pf3{",ύ";D Li V?)\a _9a!cS_@bC[֪;NTxuCcn)"]AI_5S-zL2tfc?ʷ9pINpG %A:t jN2Lg甍@V񣤦fZgraڌ`9&9nM&[TItw/^A1~"Ē̅^It 1ZȘqtI]NytD"ax8AÆ˩ِV5}>KN2.h[! 5 j>a.Ey`Y$>)rߙ޸ 1'BlgW٦wyg4@x\zq"S"Ld O&o:!1ħ\"5A(JruDH@Bh;^laDct%/7}(zzm Aҡ=#'8@{9>}4Q3xnOEa-,LAP}QAR n:e985_U6Fc j`Xj@n=3|QpNL9dp ,DIKKWj`!$do$>{8& =/i#f8C c(B$b` !002 WŽN"A@\`O8 ܄bb")B*d-G+B[DТܞ_7K@@(ECabHZ1F*f`#-@FFnI# $sL9|@ {`l$e qp"ZQ zjr AEfJTʥ]\kfjVr^JdɈXYĒYYl& sX\HB0.E|:$?\G0z,c,1"(#/&-DJfdQ1a'"Z2G@`Zr&@P, yǰD쨰k&rľ7 /ijznjzFþlJ~$ئz&Tn(/r$|2pap&sq~sSr0|*bbrC!etF?ކtԆ0ѳ7̓ug3[vlwqw̢$T@CPȊ`yy8+bDPLJ"E.6[6Prx7kԱP \m$#2lKi:Ht`ɔH|‰&pt%?h"i\"J HlɋjIQTiEBjd_),:xd$i̒Ibvd’ mQD5(PL }+)OmU ժI$$܉txJh "j2U5mk|T5f~$j?pjpʫx©P9@p.hbDD({"w1&UU I:t\!@ T[ 4`G6GU?d2:Wq ab =oec#!fֽv35 hb b'r6dhid6hHiO g1'dI6hk+h#Z6¶'Z`VmזmmnVnnnv)oo PcxAK)=JcH.2PreWPVLrQl qse^l#Nmv耺l^i xP6p!I ,pBm;L;9EwSV5XTo2w sZbmd bv.#v_to53p}ҿx,CRmu=yg3NM}Ud-6W~-5yskϞywlXz6lK B|8 nK0w $b7!mtapuXX 5:J.!IFNnJbJS%,Oc"VnA"q*B^;LAzM$rXZ+&n.l >@\vm ͘E|aqaNdhBXN.Uw"{7lVyeTU9)WAZbo\& c +vv vA`bYA Pb7OXvS"p&(r!AAΎ AP/qyB/ƘA

^ZB&bEm@\1͜;{ :hWٗ素 s@:R Z=:7H?4îF wf"h?qt '=} *ޑ up}lY9/h"o'Th+JP$QV8;aNHaXivp!H Le la` :H3@.,8t::xEA@w34ޤ91P҄ 5M8,Es$X[}aM9@#@s6\j1#!i >$7@o9$&KGv>+LK=6f: 6X ^)`_`P9`֦jvEEMa B"TB E$DXf--5 枋n6xcCVoܱU7Ҽg4:q=>_C;2sW< ; 1SQ4 KoWJ)av=CkR.r֝`se ~+do)-vWQ>C׶}`]₽gLEUG%!B|rz {~qdv{H{g[̃@\B1 ;tq"\aqLU 1!=7ǝ9NTFG N,bN;φdB@A"p97/ D=C-K@1#>.;H.^g%HȖjw%m<:;_pRfc ,lJL<"d|؍1$݄!Cي@ҵ"[!7+c@Dv@a73 a37G"7p"RG  2ADpm@C ;A(:4e 6A<,_Ȇ }9c6Stq7 h^Y@ aXjH[\9[ؓ<*wl{3KZvS<0ˮSU[x]}Pm}k}@ * u53`Ȥe J"!B<-jE *f(UF$+ڔُBȀr<9\ԸָXEȠm!X7Qr`#j!j@G4n$)8M܁QBq%?y!Xac3;{[f^pTZ+vvl*+H'-7+UyU"hZz[^a%XK Ic W$t "ez{|7 mA纟2&$"p]":ZM?b I? < ԍﴯXƊ?-o”y}"BR!tv|>+$H@ Ãگ(Hh Ȁ ~`T~{7'L/31] 58Q#XGF-X;*((76pHA BZ00%;~4O8PhU8+OhVZ`Ȅca5)KA;qxR B46xX7y7|`1*{hXF=X/ ubxKU}xuȉb;/"np1&rpH<.C8Bh.beX̑HG(tȊ;k;1sx?&^x.舺㈌!]A؋KȎ؁YE_7HUh芕HHHWrFՆjwjHT{*#JZBzI"p~~/PSz\)8y`׃-kZ Qj:Eoq+J99;x  &1S˪|DSwO1_E79JkzE  7@kjY-  1 09jJ90@;@ ` (K s +s 0I{@)@ |"; q&۱s7˲g03KJ;𲉑A['{bBeJ1V%3(@=Sr``-2JoJ|g;j*2E0w =શjPm+:9j 磼`}4 `z)4{ R:VO*{z)--I|VpzsW|ѻ @;$JЬ Ǫ˚Kp˕Wq3q61!C)+2M9YcAPt Puk{g;Jp6kܢʯQ? ֒8900%qV) (I "Lª+wIjPq@"a a(zz*˼J VϺGK\A)qW?1?tc>cŔi@+\DJƎe{zG,:Q9J l̫ JB,*|D.K{Ь|H<l+>UąZJ@G[К+ʮh9pDŌ3س^V l%:jkʷqtLj+zK˹<LEIʥIǚI`Kp9ψ-< AwJ*K]LZS^S+a]T qKPYcl[%ɬҲ#G # as\l̯1~=MԂ MQ@kJELI~HGN)x|z( |"P+]]d`$`5bRGig+56# kJ P6 6J>:Fy{zl}îs+Lժʦ{zo=V3 '+wܱÝ--ɊѻҚm+sXg:cfh6{fq6gVeeS c2q{x~+ӴL;Ѭqzk/,븃M %=>+.L(@ }P(7;K =kN |~VږR0 ,a\s]"p w7qWevfp 78e^im"*$J~ZJQ"wi=09P"qQUޅyj.3Fs:t]~^{*榮r'mد~تN߆^빮.(O-Pqb!OyX&0X1N ׎,nrڔŞþQ!#X7G E1Q@љO5 bD+>?`cGO?FDA~`6%?{$ !z01z̮쎠=!QG1)!O3@[ph);?Y/o`c_nɧ+bh4zz?|/9M>h!el%"ғ&!O^Xb05H{0v/TO!O~hG@0sxXE E"`IO b0o[!QB'tGzP fb>B@5ծsdoo[_[Oqe߾g<@ [̃jPgL8pμ"IDpdɕ&Kj4o$L5męSN=}TPEEt LA{qA ݌9Cx:؂! i=3 Јx|vGn}oνiw؇Gߗvݼ !⁴ѣŠѱo^ A6m$ulZHv>ZaG"!^iUScyޢeṟRff?=t_&Ȭ A1aA `d/4hhi>'i.E]o7ꌊtHsxp?~gwoS{Tx"}gѻ)^ӟuoS03͉-3@~`uЃa)T!ш@~xЊ !A؁,n Z6h-hOL E\S #ӷCag4D s*'=e#`l(D$jM $ 3$dG|qrFظF`G.( #+!sHMBd8L@?c` !s JĐq| UJVs`GVȒ) Pv!^ AL т5!3Fd& IN_s#`o ,F4SUs4'KFL Fs$LYFj&;4bm"&f(fN.3i2 n33}"  Bj$"aN9Tҥ/iLeA /(һ~ƪ/#ADdSuGEjRT6թOjT:UVժWjVUvի_kX:VլgEkZպVխok\:צt &VIHA WNors0 %6䯕lf]aUa>i"A =YפT!" *PW` cN,(UnWʎP5i.RmYVU$`"Dx2D(w}maфHP[L(Hs_X4/Nv ҷ'It((Ͻl] WxXCY\.+]Axc b ^Bث.԰b^hd1@`]q_'3| 1o,bw G!qma .XD8Q.XBA(Gru DHb)Wy AF8A 5uhL)rހ}[$7ضbf C͒lHõrt3} [ӟi") CdjYh W0Ĭk5x6wÎ]s9TX4F Dp !plKb`H;mG}Pu7 s7E!®a;p#,ҡkѰd4K047MSuEЗXZDG-ҋ3]Q jΐLx("zя<qA9 Bpcakt;9 BWgǿd;XD3D0n fP| SӖe0e(O;u@Lz@c ʁvuo n |Ѱ&{u(hE7|㙗^t7xvt-^d?9` Z{/{1ʱ 6^=@X=TvѨu@ 肴) ۇ߲1;X7;`;">:20þ}pZA\8+@8S0K?:(>zĐi2B˵#[{{Òϥɾh6ba`@xF\HU cJ?I}`D`T 1m ^* ym = ̱U !}`^%dbY^"պnL,WEFc1[muTeEWTeafZE}E,ND W<)BkpuL ܇˅e !tt LjfTg#}]cHh]c4|l fkiioD!Zܕ!W@frEU|{ġcD_R )ex>vȍȦȐ:;ɔ\ɖDH Iʋo7l8jl bH,kCP_"oPǼȊf"d>0՞ifnvʛ}a%9U;䫵L\]@@؂VW}\pLȔ:}LZ˼,?-qM)blP, L8k8NɓE@LdL $MF7l՝˖c~SͶ -8FM(I]e ᤈp)H=eͣ! v /;%*$,iц$= Ofv*$x4&ϥJQr:iFއ@ *%9VC"]+r,./01' Qq} " 7 8g:7 <Ɗ#mkJ$K27tŒ,=- *hq0(VSS>;t"9Xu)сЁ(e؂ȧCDNݐOݐPB q)gE b ] \N9՞`g!d m gpvvEWW { SBn31Ajy3>3(=@4,nCl734}m3%k2hy#Mx`x'ɏW6Wxy|y_>pHgMgsA8S|z-ۊ *xڸԈuB`j8q~;Іh@ɭ\sK7}ܵݐ0k:W K|6m;z7eh6}P;{([ϧeGeW3%߂|v|ʷ|QW% Rb^eM}j7,)~ۃqؖ >-ƒa;pQ.Ͼ}Cmvuع((QbC)(ذFv6:r(Q!C) cݛnR qGA+xns(ѢF"Mt)ӦNB*u*ժVb͚Wm!FlD B*7O!NA}L(8je;m-e0삀XFyF˘c~\&q-;IÔ=Lg[>:BAdPsC.}:֯cvA{H KLn;3h+k ޱZ:C2Q|D;vuL=8Gp))`Jc,XP3a|Qtd"h>f O>%z?CYmZx!cpxIYp)] X1K5N 3~7 !FY7>6bi&2!;fDBITm^xK)鹨oʑr*->JG%8C^[.Q>D>%!Ns߽Rf Hn:%G< \/uW=&rTVݟlaUlJ4+d[ B((($«}< jiXJ'(k+*&! [:)@O4AL؋!C̐'-Lh#"1J\"'B1R"h+b8"/:pZA^=Ch1͍`H> Ɏ,ؽ g\P.AaY8x  ,@T@ơ($ 5ʣ,S$4TJ9Me6Ӛ5fdJ4ͤ{%;sr;ֳne4Ah] ]@u}0.xOW&*A@nhH=GR#MiUNf4ILI?JT-%OwSVnxj6v"Hv\`Pj> 1JM+,*?죫@Ɖ"bCE- qrB}iO8ST9=jMjØtJ_ +,ũMoؿ&+d#W>zȎ*˕T;s]w "]܇@,A(mVѦ1W.ɝg׾Z6*cY>7,4\^׺ݮd=ݹ>%hJ>E, Z ][ˬbq d׷Ec%̌걨vky{W w1Ri^ 1a{R+N;b>lfkw/}@+W\ D(n0aaV,;c/Nalbn80^qG1ϸu>f:q]7WwN^غƬf3 ;o/ [ÂfokA>޶tf+L7Xe9 ) zԬ96{*/j  =a/֩9J]ƎsMlrc?{靳"GV˪u k&!R>>"ك@' \HTwWBDiXS齰W͈<{VMt?=Koӣ>[[ V TZ!YHpS/ q:g\ާU~Wnp)]z z0>Ha>,D>+ &ؖ Bg6 J>~J6TӬ"W0͟[}13\:Q[y^Q#P- 4S}YTmʗPH:Q<ąD`CDAD4!/6 5`CBp4pC7 dWu$W$$BB DJ$E"=55``GBG`d؅#E6N$DWeXQ-73Ws=_9rhijmQB,zT OA8`C0@W(.~N\vFp^zŘv4]؄hpTWIMRvOj]UMe7Jfҹjx!%i.a嶱Q~EYDUZ B&M]0ǔE\8 Q<]dWjepk^fuFlpxFpbri`'Lg{Ƣ.L h x "ˮ̽ppN"<-b UJeTi,^iRe]&`NeA$6%RrOW>bN윬ڏ v0$ T\WJa>Q%mW:,jR>viiĚ-HĶAt6qOՐHQ@`vН~EA !kn JĞ-+SpmI}Prѭq3AVEl5 Xan[WPTh nno "o0o:BoJRoZbojrozoroABooooooop p>o+3p;CpO//)cpksp{p# p K0p p 0 pp#q+CqK13cqks;q{owq~1q˱qq r r!!#q 3r#;2&@$r%[%c/rRm>P#(q$oW5&>BA2%g2 D@=C2,soOrH23s C[q*.DL6Qnv32 mKYr|D4>LB[5+4P/OdDt5soA %/_lDX@TtAlMo -u@`^% M/C>t/oM57+6e4/B[d5/@[*'Cq]LmvCA4!mp=3oNO.V<OA( DP\7vU{7 gu !D|+w7oVI6O5s XHP~7 a}gw4JoKPP7wdo  -wV;64kuno5En!46ƳmB#Yq8wtNKr;TC@AuO7#pAWRrSyOo\AwCpxO4 yKDzKvXwD~du9Cu-{'~ THˊ{@-y{ -o(x.Jz ;:{61Ss /nQ5vXMoԏ+X+3H;O2tA@@AyAhwATRD4{15GF{q>@ATX&V7{7?]Gk:\s5b:7lzǻgZ7gS=O|>t^4=׋o|[{k|ZE~_o9Wܗ<%2wxī]~󲣛s/w6V :s|"~souρWrS/>޾>\ @[}C3W୻ͳ/@DzXlO>X yH7y,~\O.:o|}﶐4@x } X؂@ 0,0"BZ,lK*Tx,@ٕ,DR(%/^,+rK^ 5.^? 0 sِR=?xZkW_;lYgѲm[m#2x  Ex۾n6} kS!0eoe˗1gּsgϟA )Ӧ3A,r=`qa -sxL }-i=|n@W]$ID`i%@_ңuWi>[]gq.}%Ct1 ?^0䏜'Ԑ@ QI,Į,쯶^lK`kFjL=2~x.#LR%4RM @'&ϣD.8O&  BJ3'z+3i+< %+&O#O#*A۳<=r"Z%~mtg͠,R؅]x*']Pi9:Q]yWR0(kremg?+I\c,'+XB^܆szwW^ᠭ{WѤ=mXrI\NXazm!X~\1,u VI.duh)&YnaXi1K9y矁N 硉.dNZ饙nޙZ꩗E髱Za3.kn[lӎ[wmΛhj!, H*\ȰÇ#JHŋ3jȱǏ Yv5JlAٳ{©CrIx2ś>k93(Q[q)4EW}TU,hh=CpK?R: -Z[VAE@K^'$ԠC'n*ЄKT1Ccƈx]⋋+bּg)M]"g)«]7;|c6Y9vs{h 4N][Z T|]?}ifhmN8Ҹ mh_ЅG I1 C%C"vA zFsEAU#-;둳5x0;Tb4ި+M8`#X3N5]6#NCLBgy9hs6vWؒM>)5ܡM:l5ᔃ 5ph"D9u t:IM:8矁4xC M;D37i}*a묵袍#*AJ%+'QNY@: %8V M+} tkZ*Ӧjl檮Aƪ(I,;Vī.A$h#Aq%D[@JxR@jbz$4(4o(@CFfAM m']Sd#"4$ 5u1MPϜNC}BhC_4<;9d5uq9oQ# 4Nwff`S  7y " ^\o=7'aA6l3~v=]67sK\P"qYhHB5̣E d`As} KN9փ~PzWFX$Z|(( bP! Q B]pHL \P< xbg|0\>.qoV*Tp|!J]brHp>4*DmHB0BD'A@!;X+bQi%%YQq1H3:EQ<IJ,Pa9P 0 |G6X2DFIA"Dobd,&NMd*!R:a D\Ɏޕc"PD Mӈt Ivl?s$}49f21CA(BτtaiA9ΚրFIE*SLthrE6 2yҢW^T\JU.@ArU@ 7hę2(LA @>lnHC"f @Z5IXVd> MRXW.(3gvakl ۪:FYbv͌f?&[!90ZoDZB !F(pBd]P*+= r{)ڔF;] ew]VA0D1{yY,Y؅uoD6 ԡF .8G(jlp ҂I>C͇tt'D`G H_ AgB0(X,.Mg\cAf6&ErX"uM!3$r+D{r7Ot5r![!Zάc#S soA8 \ Ax"ʡ` A8ht#d: gJa tH!3sŬ͉!H7iF'A9Ѓ.kqm,KR]5=h A'5萇AٰCē'vmms{Yv0)Ȇ@v_C'zO }ȚXw u1!ѡqdkbӽf?ƴ Zrg[]D>u hFSZ $*qd s-7DB ?5zV,V6k ^P1k[ Zc}T&{q1"@W1rdC[:6]DEp=!dpKD(9N 7KjHDb7>!Z *i^vO'ajbO 徏O=Lw~Y5Ԏw`xG_O,/oz<=6ysBzPRT+IU ]${r'Tq(rE!z@%!!_0; t ~Ѐ*) x0An6IwKq2<$#>&#$|!#1X,sBadivZ*a@,!Mąj8UAMՃapKpf1 8DB*kX-Ql 8D  3BjqQHT)ȉ8X !,`W: xe@ 4(0!}p!$R4xeAiȐDi]Y᪗0_!2,W< H*\ȰÇ#JHŋ3jǡ#,6Iɓ(S\ɲ˗0cʜI̎?tE˦ϟ@ JѣH*=a?QJJիXjʕ!9 еٳhӪ]˶Jx趮ݻx˗$?LÈs,YŐ#KLr_Ƽ[̹Ϡo!8ӨS Wҫc˞M6گͻ_rKȓ+_`,; 5NQWž={˟OϿ(h& 6F(Vhfv ($h(,0(4h8<@)DiH&L6PF)TViXf\v`)dihlp)tix|矀*蠄j衈&袌6裐F*餔Vj饘f馜v駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv+k覫+k,l' 7G\.)S\gw ,$l(,,0,4l8<@-DmH'L7[TWmXg`-dmhQp-tcx|߀v݄n[}w7G.߃'ng^w砇.kn騧n2磷.ͥnk]{oۻ7</ԟ<Lw}g>ґOէ~|AHa죋@Sw@Pڷ6-|kB9d} c@v d8 (4ڌ=1_wB lɣ gX4O H>Y ?XU@ 12@9H` YB (7]mQh c6F 1h3>CAvH $c@P1b~H&@f! 1D/ȁ0HɹPA(dz}h @Fl0+H(?|Q*kFQҔG*i!dGKargG4r_bp'13܏ g5vL@ a}d $H `,@r!(@>3EB&Ã~dA8i?=[J4v (:,*%/ zcG{2B>~@}=gCژ*:qѴiE*3@;y xNT9= {',xpj,y/1߈@P:\@5q[jl4H5~[::39ެ55O D?8,3w ؀HcH$kXxDգ ȁ$h<(7%؂s*2v6>08:Â7<8D<sHR„,AAPANYU]8_hahcW8ex_؆Y膰Sj(LdX~Q !BVH^Z8脀xh(t؅Ȉ((!8t~hj{(ylxQXXh8(ȋ"HU؉y؈؍ȍxQhkx(8ȏx숏9x Xy8)븑h Yؑy ɏd 8ю9y(2ً".i:ْ,Y((H5XY#9%h_`9(i!iE_"]ِ(U9KiGr釆j~S9bYWi|(Z`HiIoٖ)Fy{ٓ9ٖ J J)ȚCiɗ(o9*yQ'iiٚI靹ٙ> 雠Y WxV)ѩ9칆ɠ9IΉ yI)ڠx~qٟJ>EyB r8IyyHyJ:T:A٤؜Gʡ6 p:4y iʞ5*٦nj*Mɑ3ٞx*{ 2ڕ8ZJjfۉrڙtQ+ٝY؏OH"qLjbH9/*)A٫ -ڇ*'Qu!z -::kʧժ! , (b*DXp#JH"A!bȑƎ ?)rɓ(S\)}UP`y%E4sZĹ0̊0 V"ٰJIɡJ:LQn&mJ*#Q%St֯c}&aF=c,:"UAUdiƌ4 m6Hk9s, =\H|) W)LTkWe}e| {^{xX'_w#)"{`͈vՐH:xxh"z7({:&|ߓkBI. D +R∇Qw$) WfqJ1!jaQ|buydŤz9 "=A\f#ɫTTXqDi)a7< ײzsz%O%ųϕSϕ1YLBkSU}m3a7pBPk,Ό>QMYS76Fw]tmk r4W%/K7݅ Qꝴq?vҕ fuKc=޳&:3uK-[Njٔw޶&:֕V͸藨oAEbo7v/}d⬷06[K׏OHWϞL_LBE? fyw?!~C\R֐wS D/s2%^GeRY\3#N1Yٌ%Ζ n7<4Wxzǟď ʐӜe/slr'\>wz?]Ez*; )f%*cJDxS5G4Q)>E G%AZ UOu:_4Q'uTތըTX꽖h]aִ/ԯ7U 5oUVՆgkMY63&S1IG;~P]i%橋5R BY~6L,@gk xn3 F>!תO=Ӎr8R.!#(BD@OR) )"QIoNqbx$7NI!A@3"Of2MIE [e,{`ir6h#!.,,9H*a#Y1‹3jȱǏ CIÆY[rJʜI͛8o^0Ҳ'K#1s JѣwJS PPJJu#K2]ׯ`v\RV b4=,ݖVmT̚5!C' 67pAcƈ }rI6~yGz^Hȶ2"w]sF3Q[3]<$;][bѾqպ;8=Fh/y&h+p(}h[7o#m`g-is2At]x }ƚkZ X:q(OoLM`( usHDS7lCMyL3B>6O S % Ռ3N6Is>R+>`ұbl;-(v,k뻸fڮ?%$gvO`Hh#0hgց] a zp#@,^`4Ƌ*A '0"׮/pqB-?g^/@.ǹ9 ulI &6x*6HAMu-vPOomCf@@M%[H,e5Rmnýva@JYlP @C@wAxcg(dI+!o tzH ˹a>(/5ء9#d dB>18 n ]x K#;S#k?$ upO%7c n>ؔ?O ܠnHD!8P'X5bV1n$M_re w;Ƥ^8}dCZ8&m@hhCo!+8Z"s1!w{b4`H+R̢ղ9+[ `qhLQ4ajm` 0З9Q,dIBL"&P!%ZEZ̤&7Nz e"I QҐH`ғ,0 ,gIZڲ'+R 0I\ӒHȂ%\# *Ќ4yHcR\~ynz󛦴f7J9U%n1YKIHqRs" (S'( 'x2$ 0B=I㜈MD ЁӒF^2i'QZOAz3/eB"N р:b` Ӡ6ag5&F4aU] Vo2[j5JӖش SO8O*M>NBF%p*Tζz+=㺏s0:EU|F$K%nh2Md!$%4 t@rʉ}Xgk_[`E0]Q=aӸ7 qә XE^cG"А"Wht6!~Cg>38i3\g;Ӝ(;:JgFZ˄d3`3m0G mFϼd6Pkp\X˺eu 89SD7]6ׁ& a+[p2m_ ϥAnG;*cQ0w0=AN@FQyZv ;r SHå8mRC{G<>pà톫2܂m߾F݂Nn4 L&LH(CwPp4MHN|zPi}t_\RNCk&H#wg4h: c| h(nus9ί : ߹fy}[Ahqҗt\硦lzv75ˁއ9 I=ݻz!c4G qkP8h'Џ^Y5 #JoJ"#MWWR{DPqOw޴a9Ot{82yBJ_|O}'߲I}i]?5cN4^ &iL>!QTyDŽT M MXf ؀X$d1؁HKM("AI'4X!,x  H VA*A91! -Rh;"gȄRTaĉ 4YP%K1OQÎ .=4TPS4:SV!ŐT #PT8h)|8:%P@Tbۺ/a7!Q:lˇ+)+SuۣjȽ !>%[!O)+V|>>9\əǍS /+:-ohZݻf08}X3vϊ'gď-_ i D5 'J=|qQ$i 2TCCx )qPY"Đ^Cɡ[~-tCExxpq4g+v!>7jT!J5h?vU'  |*"fqD{` .)Q덹#Q7%Pwe(ȡCEYvϱYoՁǠEhd2>Z\gҥ`9yguUsrW|ʕ[qZ!C Œ"V[ cʑ+]nlWV *M@׺ŢAqRu҅yoA!A, a*DXp#JH"A!bȑƎ ?)rɓ(S\CA%U͈3¬ɐM9W aёC*]qУ?w, fՅT2xgR)v+ɯ&jنjŊ6c\"Fv݁>C5Rj`<£Wc]W2c$rȹ'3Knsh95pa/G[A];{5[Ʋu=vomg wmj̟+oܹ_ۣr_w]=afwxr{Vx`7m)x^p'q݇߆V^r g~.x`a}M^gm lSh@$B6EIdu!HFu_1N]4\r &V ֌Y2bdapO&ͷgvu)F&.'kxfVWI舊lyF)}f^HauJkҶfWBjil%u)fFyyb:> *[k~Չ_Zq (n 6J]bAj z^]Dnˉ)# (l1k0y&*!?yha4 p0ǨD߈`m͵tb{bfm 2IHbv)H6Qfi ]iJ!i,hWCS3Js4?Yf\n騧H촛! ,Vh|*TʂD<(qEDɨъƍ BI &S ɀTreJhȹG:wEfРxs:yeZXijgׯ`>ӺYYU{جnmK6תV%߹%mÃ]̸-W"7LVV ̟L+9>vaQ\@!Ê1̶B 4[=|X@|A@N:u\|N"Ǻw}v_#ފ΁r//|zSg~h"8`D Fh tCEdC6uKR4`eF'n G(/֨`UEgB6ю)}d-.0W^xe/j韏Y`GTH9:pFPB ϝx执@{8!egRiSVPGT+ܡO>uPE]:vqtvDzl][́]o]_pV h:X"`:WeNf&K-Uʬe}Xu Y5G?&lFr 0.o6wmev]w^zgz.[TGbf\q>(aaڧ_e:9ё.na񋁺qA^ f )g<<=4VLV\y͈d4-@ PA _.CNDsυ\J}(dHJN^zGGQRqz,g\aEf ~^*l)+DvĊXeUzh+-vma`FqaOC']lҤi^ 7h!m̛4 #}Q)ǑvVE-`rq@DMiA+RnT!keZ@0k0bp8,]͛=L(P+jNm2ccO4V E-.@TT`(sHьG!F;,/y͑}IBeUiKc: qQ[(YI>d2)Hj3y$ b5A)Qyz޹5/]A2`^O:D-x fdl!L3i?=dBOhz!}ΔP)1vfmZ 3t)QM1hrj5"hLdѡ[ZsQQH~NΘI$Ph P?'礍Wc6hETDR q{>?5B4[Ӳi*ApxQQZE8uQ'6*4jNJu[kfZ,s'܇7YLŸXqkeݠ r+ |E%+KYt 7ɥ+80{X2p.OR 5[4{V~E@r3h'3js(؋FtSt*Of4ҹ586p*GUzs,rzkoIWcse-U)ɳW '}XdāL|!r}uY%GYڧ\/>dVf}$~mth~&~wRj:g1-4 vn7!tgh$O]X\T!wu+dA瀴UB&6^݄Q12&x6"f1~2W7i[g6^29NAAy;8i$G*cW^aG:„BnR+Uy+2;2fV-;>TUb(d J|fMX2=4цD3)G0z}b6f/]}ɄLkf.54Z(d_C6Z3s(O7w^"d1O^$HLs@]ZZN1h74Dx[%_jƈFI bh(Srw1xzy'~}'|ٗwR |9YyixY)iɘ 陣{隂z)隭ٛșʹIX4لt<1A?) PC "Nvwe&;ON]"T"՞Q4Ph"]C\Cs~h3Eg3)D^`  阬y Yɜ":$Z& ":* ٘i0i0*2izFzH jHgMCWs 5CA)jKiĶ[Ƞ=R]X#r=B&v[ԦVAKS#`9j؋VPVEvvi6B؀ NU#=4ʢ*5ڢ1jzٙ/ʡ?ʡ6'96:<.J9zKʤ$OMgig($MUD&X3)u O\@('Pg@yةQ9B'L"3)_cٔ"tGS*8*h"sj1Zz** > *Yk;&{9**Prz&*!~\)+$[tL"TlVJ\U E<"#jYQd;#Ecǝ z^E9K"V&sAgʳRKUF$e0t{x `з~۷ {'K뷌[([K ;۹Y+iTC3oCTQT' ȳlQ#o:hIw_j1A$.E#j'I8ki+k~"w5x%sk۫Y)"'{ۿFʓ򱼍X )§j*Wb2L2cF@ [ ꦦ8z3Nnj(&%1xڻUo6P=Ťtƺ=۳[勰ktLLྐྵT̰9*Z'; [fP([g{oytDSACH4NP,S[©YМ]'_a @1 p60c *p~ᬙA`ʹ|wl,U092fCP\y3sx:4[cZ[SxI!"|" l^]WQ+tB*EuHãҺC|jܫZLk˽,Vt \K ʩӜLř_,60 YϔiՕ^Y̜d͙Z]X=k(}c7ZsE${[4g!Hh'uP4'g7C@uwQ#uP-3}~51/[E9lCwn@=F]H ;n}۸Y͛t ͒ ֔0ް.wp ^P ]Pp`+ ސp| xBحm w p "olpwb}; ޠ۰wPսxB֥o 0-m~ƭi$.' ױL8$4n=[3yЊV89Ss\*eLiŊX:l8)O9^6C3j!/NڼD=@V@ ,總J, ';@͜ g p u 9ܐwڐo0 pm@t A!p>xR wnǍ@dAp' R o05p@ P1 N~'~)Į;LlEȐLl_] 9rh$l$*hAF. [ذvmJފֻQZWl-7 q%Awڨ$ͯC]F]ٷj w2$J~ *6>͉ywBܰe9ݰ1a;eC_x9~ `{ ROVo@.~'@wžz .p aNPo:[o ^WcM7[9{mD%ꧭ\S4&̫SǖW2, 1@$E`M==ز?Edyns /'Y Q x'߷p?0w 4WA .dC%ND 9lp AaW!ǎ(7~ad#u"HX'&Kv9sA ZҧтAiM:G҆ʞ(qJ_ iֆRFWl ڬ"+߂ /Haaĉ/6\"%Gv|ȍ3'3DD|"Df"WcMyܹuAujAfyyi#ϖ]mqޞ]0ڜ5+v}sU{gߞ:} \?!3o"@t8t09H> RW2C WE5CO<8q qF]j|GCN\b9p%~19sI(rȣ $" jR.8.ة )p~0J**͞R%2lg|3NL# ͍hI%:9+lЃZS(,TuUe{-@X 2렫U(;.;^lC2T7Wkж]յ<iô*s* p^Y@DI4Ńpq\ѐvXF.NlE1)(J0ŔC!?c]vxa$Y5h+5k!.Va836")6B$\8'Ӥ&UϵrJAnNlBQ?9ԥ}lk+8A<8†?ӅL5Ց84B+rEHt#ru__UW+vfE^5Ym6>4F]QÕ9W%;;}}< _w>iWx^u?Yao~_`Y" P 2W`EDD"8Y#vȃ7iF @—ư N``0CeL. 8n W67# hpfэl[=¥"GX!ix Inb.XD8΁ }IԈM;"h D\6 XDĈjT*J/y;a qR o6l!TQl!dF9aJB_+un%>Ff6J'bws 6ݰ~ˤ`?18aCON˟!&uԠOZ|Vh# xYٟ1q/2yѸs]ݴfrUg.YZ/SWk+Pќ142R"H hDQ!U4(6z2 .@Y'X!*UKOwqS/@s0mM`* w)K(3\Q1VpVCzI/Ny<`?h&\=m,xv<7|uv7IW]=n.u~aGKϯG;6;ɿ^e]4oׂЛ)! i>( /CkGd;XDi7{hAQ >ۇP# ƫV`k&vY{s2RPx`8 `l7Ų}=k+֬f`*`guޱb+gEk3({v 8.OOsn{hf=حlݛ:c[_P"<\Y}ן !B;䠋+hlLs !A2vxZ-y_d"ZB=$ -dV `j'ݤ.m-d!~vY"<֒J׃ ?.{٫t[[:el>swrn]CΰY8 H>啧)e֢Kvk>흓9}cvBnj =yV腚> >$%u F~}U1}NG))Ti/"꼏}ODݎs"fMc Le3qx,C';8=%}r@ ^8ٓ=ӏ:@8-Œď#ڳ*\+H3qb! 99T["DR{9H,5K>;B00CX"Qs-,cyi v27Җ:' |lbbRDbg@F˥3̧-ʫaF04M,tK-AHAK:i˺[{;5`{:6a;P< ;<Ap7Pz씿̘M0mMQۼPU!TCd@ gl@->DAc'CJ,-b9p3p8`q՚JuB,HNDI37Ң03X< $;ED& YVt@ z^3 : ; {P8A}tч؁hFoh̯j肺"BWoHa%Vmх hZmHk0dUVȉMUZ][mb̉}8k(]BdAO-UEEP+%?:\TaԖC-LQ=R6Ys18HU ]An<D؇:`lJPmȃ7m86`im;PyȝVXk:l([BBps \00ݾ[% v  7hч:ȃiؤ%X(]]z:Z|XX6N?U6̼{a2&\9%l2.MuZFVT2dۏ>;kY.6 _\be;qD[ɣƫe{rp*0sCȥlO5@HNDO\i`,_<f8EbZe 61ȥqLI-[mN޺gAЃ][ jtF1:8Qa79h;|Uh|:Nl3 )rl`{TJLPPQ1F=6kTkjڑn>L QStj +VZh?+ ='vzj:\,kC % cٛ#{wu˱FG^;ꭆ?7nl|:ZӰK5洦؇+d>kԲ UfEnE h3QtٚုI|<^1fx|M7`aq6 1V[֞Ȝ1V-V:f6ei6&dӣ6IFW."7o+}FN`NGHCG'6YXfm&8gtJĮ;~sKWSkӺW }xupAko^$E`?9)`@L #P"&r"("*","."01X%4R7`;b& mlcq&w'5W#@r$H$J*IA*rN$l@r hKʤM*twXra&\v5Gn|iP;sF(s>7JNIB/S`twڭ.3jYt&yX¥:(i(PS{'ӢP6Yԫ0֐'Fe%k,]&FUmݭZ.P!Ċ3n1EO\rd̔-_sg"G,sңu")R| v7a]]qԜMG,жDo'wI.:;g4" :W྽Ϭ_Ae 8 .h]6zu'r-w 6b}!Hr%>Dr")v$x#)"u "A 9d\1]HZrpQI"UNvU\"$\yye_NYBQVV9XNvY`d% vX j"XىӥFl'|)ؙnjq ~h%!]n:iq m%ܫux۠*[݁5{ihw{b8r.骋n%R>n xP_!U zp0dUQ!WB_#EL)\i1uiW{Vsu1-)3[rys1Ìs_4m !lbU 4us"w9J~FHz+zJmӐU˨iQU&)wj7ڶ^wP7w~VcM.}m{V+s=D>oq{9; J|Q?f$ 1c tqHnDgroT /dY4|K$dHAL%SRcH+j75PZ7xbe7_wg~{z7䆢vڋ,jnAX/6@Je ? ␃P!i9}e:Gs|P̻<Kt6rЅ`v>@0@AP0)t $  XHl=\ĉ$9 h#n! p@</!Ҟǻ챏~I}=DyPԠd3=kj\_(9y 4e34AM}R<"_8_<߰37h0)$0-rzӛ/B uҖ-=C4 E2;/a Ё Q HAO܇ ) GÂ@AhE# `zs eЃ`=x"ֹ2#,9щGCG剴3LDO2L& ט'(E'-OALLW4@\f*@25`Tf:>N#W*SfZ 侺) ՓK jZʦGj &s \(Ɏ;Bx(r>b0FqAȰׂ, 'DaG"WȤE<< e(+a j8!zD2Fp+RO*뀞CVjl /6ɔZ7Զ~Vl;jY)ǥRj]LgVM ꂹ< (VB]ePgbk[t!aWl .AzF|HJ@: , vX%'PN7d \ b9-Cij(l "[t_5BlC? 0D. $C#A0 +7@U z.?gpC*G͏}V)^gPX%-A,)=SPR\S!hܤTR_IBj)5K&T4搆#X |atu#"I!'992XٲV `=SHEsY;A P2{w"6M=F SVI=A}#Ј2 =X6$"8F2^\9k)1d$_Z.k˪:8G?Շ4d.5-ɟK&qpI0}:ͩ,DVkԳ|4 ǿ{k6OZ>?+HDi#1 gU p#ԉ[^\pN lAM:@Zzd<$Ⱦf2a>< W\0xAc,A4E(7 ,`G5vxrBІ, oӯk@#?/|и6q lĥ;A>/>Y%o! XC9(\A4))Bp@bDC@pnyF$B4x:ljUA  4CAڡeD(U|-JSu!l PQP~ASЗz]]kt g׹Z( NTZ.tnD!%1 Q] ]]6]D AfAbY^ B-&:A %A'BV7鎻^1 ċA(b1Q eFQhO_ 4pC7 >#6pC" "hC4h ;h!Am܁ ?@ʱ5`C6 D:c;!:EAl7SE;&d@>$=7H_4a6PC4 <ңNJHLʤF`4D9A*%;Ĥ(CBDjM$N7B:0=>A8%TT@B5`.K! vƥTxݫR!ʩP($mWY54Jb|8榩"GhZ#. K]C\ĴU"/& xSdVa">xQAKN (Q@" IQ|A, (g6%iA"hLA@9>7`8 tCdCV) :V"P@A>4hhn(V856\|(;,h%"hVF(ÇF@;+`kE'kH)EznCR:nI~Pz!$vn+AD Q, d44^_؀p4nD/H[;8D)qi@O*PlAވoA~oo리֨J^SԝJ1Qf+aP)]%/IЦ*W\mSj"͗b ۲~&ltژ0pyėȝ8&RKw޶U1\f$IĆ_,t_ V Z,uS?hiuVV6XCFqt5+t o0"*$Wl\=J9p Z-Gue0J!LY R|-YTh&xZBC7KCt ϰWP*F& ppLPrxJGJgcK Ft{ X(C8@wO1B08c:p"D9`C)Ä@C96dd!SA4x"Yq'96To6ѕx ;@A5<$B!94C9dŖ8X` 6j߹ $D+y9;^6Ah}+>0G/F96y!C : ߚ1K:[:dKA5C>G7o0E׉ t+k.33CO #esV*y|,7 3ig>0ciKB'; %c oq\xOEEL :~b źVxƃ>Tx_Eǭ^[T|{ OUg:5s)ʆXwuzw/;a"ۢdH,eFWT*zFJE$8vHkԇDNK/0~7u4fHkPҼZ:btx 5[Odؙln8o֌,jNK[I}`|*$>O/~HG t7|;vJ'gHG;o-;KJ\+N1j\Z:G~mj$]ϩ;=Ze=۫h8FGQkT dS>;>~sǀ>r0x`"LÁaE'JLW$>_@ jsk +Pl *õ,dN3-C  8|35ǒJ1"<4"j*Pr5h$~ʩ(ϲM*܍ML),nb2h{F h:Oi -9LT\ӟmj#?-_P,HWMMb]yM\hc|TI!clZn˔L4҄:6t;CExsϊzݗ~5iU 0T`u4Iv8R}L"RX+YAj#XBZeq%9X6V,+ڣ~ZTn}T\s9`"^ٚ뮽~.ab𴂒ȖɊJ^n"֏{ vة!=Q9;1߀R++~KaԎXWJL҉0WpĥG VvXU5CG,7Βʐ,wNai̽Z͎+F*{˩}]>J#|ƥ*J})%*CWi %pf?=0#y!"q/ xp'd;X'z&n` !X(e6FCZ:](K_V.sL4$-\^(^%Vz!1iZ+a5gS"rcٿJd !/=v M3A{Vi1.<,eV7K䒓uwCu,#X87dfyJXD=.ل q1ˬq.‹0EgDb<)D/}cY@LPYlH5hЇ)}hJ-IEV}ltk}@>ֶ m[,6*( $kMBL_7d ƿ`˓zPA $8%MvUo,p' h886ix#ZVR _F9*7`m^ IP6gXMxk\' i jXZ֗u!ʕkm> px8ԪV =*+38sfvc9+эmYS[7 VӼLusv]^Z 8޸s'ԻE-ӔUAOSEM62EJh҇>%ID%ZQM"^qS dOb /أIB l{1*T V[ Nܶm8UPqjIrJ@ZTDpCŐ=S 4ԏ9גTY @N@e0 8^4#!7ǎ `dG  xCZI˧mϠc6@. taIj#{~%Fs=Z] :0]=>4yg =T8nCH=pKIӋƴ_t9v%_j"!9I$iscs}ߓgoQ{:*@OEs9],?k_'q%D!VLF|lvHR0V,N mQ.#ގ!jР&j A%$`Zo bD$.o8>0=  P a!nP aA$& p k a>ky0^B`BobP hP07=do Kx//XP#F2cB3Ģ+W>ct.؍h%2d~bgw)Gx~u>vzAzOZ8hhcDD)ޯ8L(Nݤ:d}O QN*! v`>N Pb~3Q^:H#M$ VR$$!DDa gP R@()Q=B td &#/,żJr&iԍ(xOVHETQu#x.C"B-)Yh\bmD$1o(gM B* (aG h($P .7qS ϰ2Pq<2n<^€D( &")" A  \Ro 722=c!f xM AnRE>9R !frԁ<`tFHē<%d!)2؁ oS6B1TC< eAG-Sh~%>7d4`ҸU(+y"f0IIwfI.1#n1]tuE) E*q8L|2[ ':j**4GShF,*8FL^Pxmblbꦈ, 8ln.Rf'^NP].Tt@39P&F)9 7r9   8! KGb @`0": ": av ! b c` @nɨZU[Ѱ n\\s tW}*oGA 5Y' / U_5V`S0n1icIzJs߸O.,Gqc6z'0eGy2Fe4u̫GC4azK&fE*SKє'ش'\,PU 6 l`mH0\xj (zޑ܆$uDoU :cTcq'͂&0"Ukk RցI!~PZDʁ!.ru[w#vǡA  a!:b&Ḡx #K7ziveq Lua A a`!|gvvA Ё8sU}~&KђEFl/btIIRfpc^YR'f_i)g// &`2Eh3vjiVH"1ct6L '+"lW$< P:v9>@%BB9!D#"̀!WQTAB&85<89x ճ3 ~cdVd#f$Ftm'fK$WhF q+O,e߈[8rDK4-K ̆oJ+?HԇgLqMq/kkX TC#qؚ#rK "SEM81P%'w&> exG)$F'hr6y-shQ J.L[VHrC1]$0O&gyZ''rіogD}ui4x:=θ_NZr[&u-wϛJ6HAXyfXG{D|xV%FBgmz-z1M&vD9[Q@YI2FۗSVۊz::‡:=3y7Ù=y!O| /bdJ+He!VV&xhaqKJ150DCqo]SOu҈[%%ڔܿg=z"ƒ3sulMq|B͍= čDK<X?Yd*`ƽE/!Zf*D6'U9ܬ-AڦmgyG-#4fiۈCI:i-i<9IY-iu$cMM )o{7|nífۙ)RΕ[%Ϸ_p` ܵK=GFKmX4{V$2ŏpFbBȺetd(6LL.Kv|׍ʜ'@+)@+^[N4<٩:%}[˽cBiQo$/+~,Dy%䖅$޼(}z=eڂxwխ /c~MV ^zP}Aq!6BwDm}wq .W MrfGbϟA)6sE\c!> G m鮉C(R_˹cv5έȸ  8 WXĊŌ;RE*[\rfʑ5+.R0f)*/ 傩+PmS>}Ũ1V<ċ@"$[wt'l=v{~1[y:u>v۟M2vH`}foAW_{_N~rmhj"!.f&b,@@.(8 Fc6ވc%4 Ԑ6ڼAMxx>uwpBhhsBhCЄ$D[v Re| 1Ahɥ`C;9dIh4o\t5B"qIh~ *T``MfnYk†Aڬh*k)8o+\r%gx]ufjGAǪ zb\y[mAFYʦ۫Į\Ҿ c~K]=ngA 0tf|p*.,>DqOl BG ~ r4)Hy1">$/ 5v_PN >s :aC1N>WPG'>yG͒⥐H+,M+t>zD8i 'z&hŸFva- ~˥Vg)D~bY >Yoiu{ϱ9+:yRYw.7WA|۝sȆs|` TKOhc wwF6F !B ៥od ! V75>1W'wfvV :"'+-tgm (Z,ȨF'ZpQ D3:lʨi2GAF`CGY%EiIS;vo\&:qYqig=]hD_FD$7VD=Ø Y_!2&/T8@D1FQufe ) )e`=() ?b p7܇ IJyt^_Ipf:a p >=Ё$dZX/a >l8S!zfQiH-z-ChqlemCN l;AkdyK" 7PH"VNC p+&rloᆮdp4n7hvwPCPG96t7%"K1ΠA, 7qk/ Y+nHD!,q#fm~S'ԥ|"MB*JF_u=/ea).1)  w͉#-#I9rMc'GDUO֒auGr];cLTYH.;(6&9.w(UQIu <ZR|IULYY=e /!9y AHiIgCigiv,wyioA'*Got\\h'+ '1AgABtv0i  ejg*i*EJi{H(82קX=W qѨ3:eK=8-1  8tjT=;uZrGQ,K+X=:fCDc;k"5̵K< s9ҽm[Ką_)I`qPybۊ HF1վ7(;ayFY:|<h;fF;yyT|lF%H9WZ!.8TOyau -#5.2gO._]#Mɜ_Yt9HMy`XoYH (G1vتA$<Q\gmt6{u$V%+8qr9u[r᲍ u>/J8-"NN#Nޜ3,cO|MPuZVdS29 t2vB+ 7Sx~=G׼U S> ߞ4N 8aƎM;]#0"#>^M ߷V0S(1D}m_+Z %r\$byΆ쁱l5L͍n-_d/(wc(^.G$.Ѵ~0C11p[ -HOPˤ`{D8aavDj-TMHdIm^uM|)~qՇDOt[.HINw`>>4p/~?O@DPB:dQD-^ĘQF=~9+EF$I2EXвeJ^& sɜ<T(ɞ;OLɓLBY@&TJUHUaF5IQ * ؾW\l[Z&K:J)R… 5X1Q? I%KS-dΐjNWt_IEnŭ]e[3V[yJje6g} b=]WtAq˳ڹ3^x&$_bݿ_|&W_Rpɖ(W*>j/h;Ąbz'l%&l4>1zʶ\5r`LTLF+,)t*RmjWaeUEoK0bMQųCFĂ -j߅FEIv]M=7m3 -"FxSX ~hP@ŏ-xM8}<>XXM;AO8Cx }ySwvOa:u>y&ht$$) `&ѨfuFoʵğtډ2ƕU0gy hQ2vx Ƴpo 0%~J7uFͬ/۹I 2)?Wè(a ba1!VOQ|x}pvy?}h!r"xs;K.;Cx@)eTۑ#{'|yL)ZZ\mX1 c\ל.i ӟY $dU-ip 撤!^BQ*"XD'!0.` ĤI(&װBd8! LS·]hG+#+="F*R~(94oELؼ$bNT,+62q!SH̸F6э[巩J%U1hHGLL$đh]`UGf#!#q35&h@K ~ a~RҔ+ Y09RB3ae.Ց)J1:C,H `łq ʻuy\ǘ܇0մE*OzHLqhL9Nr|q\R)@Aѣ(W9H*nG/$`r,Er$9Sʦ |`*/"ʤ ? i;%zpȣD c)Ќ`<4.K_>E ݁rwLANwLf!f HTNϜ'ByUvի\a}88ƅI䦿j L>3PЄTtз ]<$ ^&i5K+IbX6$P͂(\LgéQH2Mkz "ŝJ2M,˘1Xے9d;׹X;VMmJdnv%g}X+ ADU*#A&v%6|Xteb9~rM߸ޫPv5$3 D"Ra`hwu&z3pHYh,5+QZflyYS2 {bTqD fO xp -`0f6oܲIBSpR=tlH0_3(iuQBl%ť-BfVZޓ!>qW Yi㽐&*;Vx+v|2׫L,֖plЀ_{1diX ~7IN>$+[YSG3bR<9xP{⊷w{γƌ)VFqe*6qI龳4QyE`yć7֞'wn aеYʖOuͫPƳ_nu(v/iIs/)TBU,4F`>w+i~/_Eh̕_}r?Kht}sj3*"Э0=$ \Kڈ"Ճ4nQ? Dk)Ө዁ C8׉S;;[DAH?8/H+$Q-K%?id SDEr/S{ W|ET3Z 2:j@jǓRh F8f5eȏDFHyt@FZXtQ?J+(z{xRzEx Y%z35!|LŕQGqǀLZJV1ȹ!s05\pЇ$ȴd wCaGy96̪0 fu34hK-1Ǔ IOJ!ʷ",ks?M ڠ*\J$ͧz}LNS Hآΰȶۜ;F;ϫ˿qыfIV)o<, 9ǹ%EL/z |x μ0N(Jiȩ(0I-4}ǮkMK4KM%Љ?T録 g%AK~jGtDL"ǖ\|LqI+E Jl cEHsE:N-d$d:4ϰD}%u(2aP+I =/B7mĻӷ}ɯ1‘ŤɬG`ѡ©.|Q39QTH[R}!҂;X&eRR)M༲3}-e Jt9L(ыl9;R#QC ;Rza "ĈZSBфcBu~S%SY ^Kp 9 Ne7Vԗ %+(@EY\~@Ɣ(vD(Á?E=8t )a7,2Ea}<e+ !Y^`}ޓ@9@J]~_\A@Vf~0̘MǾP ij+ z;YFijYڊBO>VfVn^fyc)XMc[ި[vc?e]X\ZpKaM7'Q\,3΀BNyĒUSw(x&,GX}g :B2{HE%\\P2zXM5pٚ^bvàW=>f6oaZ0pg37 E64 &0#3Gn۽gK2vkԉ:cW 5V`5, ~OۋF`^9Dc,ƍlcT֩זmM+B,E ܟ+B6SAK{hTNG_Bʑfk+`E%IKjkƷ.Y.1Om%m3|mm}9Tm2 K` sK -4.>iϘge:o$Ɩ\쵝FZ޴lQ!(g%? YVfcqe9@XCm`Ì&w$(rcH|WCړKٸ3ΕmJzy_ƶtI Q(Ypk؏ r .ÛWD{{R+7G( /l5eP˪%/FcTN*g*m$bB/?Sk A=5o0t`[4DJʊi%J?1н?-~FwtHGBhn`tm%Wm(K;(uv@͡xe ӕߐiQl_/H[7nYiwc.4pH{ [ ,ttwuHvwQV<՜puUN$dEZfq6%pVW]+PZAثX%1gM(5Wx$QqAU"qM7gmowy0#k,-'duWGPK NKiΰbf7mVd_B~eQPrHYٌR{;r|Z ʏw$T',^ 5H&VuDLG}fwnNz{X(Bd )b @'q"Ŋ/Jq#ǎ'&O܈r%˖._Œ)s&MXs'Ϟ> *t(Ѣ E qiN.j D"ut+׭RFm邲eǒMC_"%(ȂZAlþ~,ͪRC,삁/cYqWf-qܱt4;v֮],{6mڊz}5޾b>XiďnP7)}4*bϮ}{ś+sr/~<,t}͟uU6E[%WRW~~՞:FYea@X؁!a[Y^ Wl#hgqo"gYjͅq PT=H1H%tzSR)w(W[r٥5ƙT]ubulE6Wb [fj٦@6hy8"S觢*ZRr#Btbu`y韠2j{7z#C?ZvB\[H&>N:]LVk ʮ_M8 ["%iH[bٙ*zmed2\s-i!^Z`{%m;c&њyբu_^k+!g~j/)Òu٤@Zq)s-PkPDVJ|^yR+3>!e_ux_ 9'_ H7hnc`tV^֘UqQPV֜N66""w_W-yT#+]JL)P-cy Ec)! M/޹w}E\UU['[1ت;ת߆o؟f~`_!q;wj]7kճUC (GD-PI,㟿WE(!WHDp+P* %}ઁ5gAP# ;A`k)PqRP!ˊ񈆭6e\VԤF,bjVOT+Q!/TBu_AV>ٰߺ!]Exޤse pK!F7"{D9Rd)G%(QG+@p>hHd"<$#HU =u] _x82/Dz7JFKi4'`C8- _&0lhH=zu #pˮmyL 'zK7!G);hNq")xP$D@JSBfh4M47Y $^fNRD#YMWckeߒU,UIXs3'i<1 c+Ts@j׻, %I.YM(Aѡ++fdF5)Ph>J 98-+% JK(sX5U<֟t9:BJgs>џ<d6zBeu; 6:%mV tPv13ih;OQ֠Z>So^_bX9UkܨJ2rwcCJ{2`NWiXh`;^55r " '[A ;.,(DJC>L(I\eYYW! _̷t%Z;4EHI#/^vsWrC%kcmLǃi{HmVQID`۸n7Io]W0{ ^Qξ'M5+Pd#9b@S>󿾈9R+%)7 ?9<_Lf.!g?;!0ZQ4khiFtHj{ZE*٦u;t-x=5vĸ9.Ud/0ejJ?~gXOnmJ긻TG}guu~oZMz'cuuq^!E@=Y^ZLF(uQuii^a~ iݙ!ͅe=_IRR[]YH}؝x}[R_Y]Sie1Qb])pWwBXF`G4yDuQb!IEd1" 4ݼEEU EPDmD@xKJIYѤKa֟u4!Nq O]Abz1a!qlawlʽ7!"8JI<Nw;#E 5S`1nXeR$  HT%vb,EYpU)j K HbQm -v]."_W 3Ma5Q(1ĐAW x:a7zP>897an "` cVbS\d٣<  AREFdh[If_-f_iq!/im } 뜅9cdWWdk$)Ka4R#7JJM&n#6k^Tfli jeo^XA;`IV=%Cp qPOeSEȚ IaG_U\jAl%ǡcGxd wr_yvYD5ƫhnDAd tQ:Z8Rj2S2lZ%`oh}E(Tt=b9gcE]Whf%M|gČgDgtJbg,]gC1d} (HMP (Jz_xb_Kh@h%dB't%X hz.elaVފR̋h C@gF=ڇThLFK򗆽IԴEX]FiHzJ5g0MM飤$h|L vNژgԥ/1m&qpkU]R^AC;úC'hvfx&" jj @ h=B.TE`HJ'{Zy:åt)dŞF߮*qdS}lۈƜq)FfKE)",ikdeNՁ^dUCBP$tBC;; C&jTk#:E*f[ۢtmi )&`V͵ vF"XТ<پ BB{ΉT,ʞ'˶IY"E̶͚Tq,nyrP7nkC>܃;Ү@|>-oJpNp AD$Ȇb .!Β *M'A6!Vmn䥅 W h*y+iM>-;Ѓ=;j:C  Ԣ2Ҍv*DT.NyM\٢,2_6㓮"Ef_!ѬBvAú$!J}Jf 6s>GP%k;>=C2̯ de o.Sqſ[)j0Z٦¦,*Z&3FpN~D^0b,T*Eʧqq p\RI¯>CC1^IAS ? E(o.Dm^1n$!j$ZXXHdj{&Tu1$ .1*M"4>㾈p:XC;>C;v'o&hA^ /;!H5@hC:\\"8TCHDC?tDC48XC9x4@76>6FIHDKKCLGO6C!h9hHIJECDK*K;T[P,u` sQ|'EޠCe'x:Xj:U6률(1s*.V&/p&$,0g @Q9O3 ^n5Fh%0 /;=Ѓ=.lhk$I;AH!:"hC4hn ;\lS!x4BGCAsC !6PC4 I(7s;D`vs>H6H7;h!4\QCtOwuovo?(K+SuL,WWXE\+8^VYjpPz.ubdmnĖ~/VY3],[Mbv9'VsdA&fk;p6>=h3.6(wM@ Ct9[9ky(Kr )_8Lk6\CDKǹE6 C2**9K__yAOKzN%VT;܄PE)]s + 33ׁNe}:Zpg1ybڼ눃F+!ܽzLbf8:J/9w5Gkxf;T2=-2&h.0icTSDSC ;*~A58d;EH45!0>;;HD{ p7 (J;G5LzÌ&:E2mX 0g3 0;: ܆>/a0p 31 6a'lOsUKJe/=xn/(9-Bcľ?ODC)==){ w@; zE؀p4HkK~L@7S!7䛻*'k}D;Kȳ-Ӑ^lܜ\ڃ&ID\>@sq.>_4v5BdG]PWРR: Q SC"99p`O:T CӑKF*TSfպkW_;lYgrMB$EVջ^Z oaEx1Y0r{A=tѕ)/]_Clۇ;ֽ[7gֿC.7bǏf%;i׭-x{w᳁#vL[jѧ'-9U;/>zpW =nڮN ) dw'zA`~\n,.*q! i))78IG}J<1E)""29 DQ'}&2f ;&j104I%QFrg z1EڧMDQEVÍ@ @J;S=sڢ:˻RD:tQ\ cN0(Ժݠo=Qb;;Ts$TS`[-e0o2JaAnTM7IK]X,TZ3sL3ZV+3+LIs9Kz{襗e* ӠbD7tک~{꫟__@!3ȥ0UAw8]iN8 sv,޸Tʖ.G:J:b7sij܃+NSTL8ݔj1tf9 %MzX87YTwZb]\Ad0W#@"z1O 2s}|Xd_ ACX:j3!HEe-IpM XaMI5kٖ$Ef o-5co`Yk&:щKXB+@]e{+]y^q=iձ^yM䡪R77 hz?ը,4g DF2%=qb*6~j6n䶲8jJ/mT&d䞢t$8)9՛{y;A U|mfM}I:!_~b0p9&k e*>oT0 o-o\\+3cPpoF7uFR,/OpU6Vȗ|IM/= C rϊ\60V!zѨNv4!*R ^ikll0kLEpZR ՠJ6 O%pU.pp @18uJ oF 7 ) &GV`!wAz`a&, `Тѐc|P" ւpL.3-.l2 :t(:*oʒzQPqJkSZR͙non0p0-O9أ"-2|Mє/B(0]VoAxz!:a77A*\ !F v!$&ơ vGt!Aaf s>Fa t !!&3AHsvLTD@A`HTIIt8kFs!MtTKK"H}t!,:Qςc5*mD5ޮ&SQ/!3(Tz3 4j).4o22WTpWqWwXl4pVA'YWl4UTs2t%A7n+#nU\ZՂ?MXpGEq?R3'IeȊ8dZ}Pw5"J ء@ `9ٜy9!v`hb%U)l@A b]KrKAKء!a9噞XZ:9!9*tY M+5ӒOs5ҒW0] " .Z2V0ZIomٳnKJY6¥ErZe@DAA DBB|s)6C>$DEdE ExFGtG|H$J$IB`,LUIf 'Ÿ$ƛ´e\<|Jʡ*<ԄM)Bq0(ط5%N!!5w<-. k-˧&a˧~ ?\ƛż1=o#.;YNUC cY;v$58I]]E^^G)F`fQbGHhxb*b2fc:fJfP}Sҁ¡{@Ɓؓ=ƥbbX98s=Nu]fBȫՉ&g&il}:%~F=kW Pw֑;[N(ܪpbd9{vѣkQjqCj|hKÔ/WHДn'wwGxxGy.- (9@ީ{D&'@)̊j\})1*&"SxާbYТhɾ.xt[ź^On_6 bۻ;2VU'EpfpR~n8ބ0Q~/).щ03WGutC˝ȕwhΨ*ڤ煾jf+f~2·;= bZUP\Q~d4*K!"Wcq ,HXRa "JHŋ(\ȱǏQÓ ܨKDNْfI1ɳD@ |)LC* J}PJJի8hʵ+ F eڄױrݪUK SBJnݹ]rkVzl_|W^ÉBf,իջ ϠCMӨS^ͺkR$9v ".La7"am}^;e>gƙבwh)A04Z:e£#=r>$MzPRgx&=Px!ӂ''NwFބPTME!e4(B-u' uTRcq$6Zat%rːC+dYd|]TY&\E`YVcXbYdq)d[~)e}֙lp)tfA ug[m8}2Ƒm AHsuwmz[؟t+$]N]$PD@)av.o'~(଴(#zǒv){~DlFЃ 2jCV+8Rw2jTQ^+$J.&]SRi.S6\9fY&eh|_&G,Wl_pB'ҟTvau 9)'܋"@=dPz3Id"O )a88vˊlS,J2 ZJQ!g.tQ,+0}2}-wzrnM-2(w3=nAaG4!\y$\0?X^y9g.;TyV`;Qg HTV;Nj{ :h@aBײTu}tg߷Y#l+ج m?ǖԫ6EPq۟G4nmFڛ݌VqM,p[@,$^D/ JX) Qxz˅/\$ω0WU4@ "h@6Dg VpC+J>s@6pqBA. UE>j @q8B@BO; c@- mb\E:fl*`HR g@,(1 n`YQ&:щKX-+Ѐ$C [,v a<2f!t3L1 Ќ4%"cE&ܐjdQ/Hg(H]m$ΐ0DJB٭s&CS7&O ^6Ipcw*ͱLdjZտѵ:((8 g圻,eH!BE>[ \߇Tʟ'!#R^IH|iz%鰃9ZҮMNP24ǨⰠ{R/-q%O#9imszCxG/l bf`;j;*5TuZ*xkasN_U7'~U{ "^Ѳ'jg)=d')mNٷ^S bX{_ޟ<pQFt`T!^Fy%QvIywfZ38qIfO'!W*$J@iSF` :5 `` $V&kpPA pڐt.0PM 0BP ʷ {o 萅cdhh; `|VZȅwp ahP`(& ސk֐@QሐXu׈k>A@Q XRPxW}N}HS~Xk,UCe2eE)EY-V"iw+#!]yF#-Lz g& F1xv<_U3RqyDNaoUrU =1nuVz%&q]vaS0 ` `@5  `W!@>PA@ڐo0 ps(,yup o`0mp  Py0 CY ܐx 3Yp0`w :ɓ> ɑcpwkpMq }rkّ zpxW+ْ}(9Le!o0UB)=eDfVDI h+QWʈR*O d#&S5wوY%!bX~,Ϣ!ƓVPGy-ȎXxwXeb/r"u)4#w7VY Đ  pF: )|ko1a; &k1W @wn !tWyܰon9k s Ɨ?j} "p갊T oIEZ>d,׋؋"~uq24Af"Eѝr_U72!qpr!6Eg2);ю)fwW#"ZYǏz:iZ{$7  6B*_J0|:k_P 00kd@@R s0*6 t0tZFVCJkKA*lwGItK܀f Wq\ k1^ adHDޤP e?Wia]("UqvG*h_77FxGV@ҨRgnvgYg$iz,^rfgH9&~Qչ`JVS*m6neU^53ke֐O_EFE^LKʝq^ً̃)Ϲlewi uX?tؼ(ްN٦OaMAaDE4)Ӝv"_mOxNy_xA'ffWMM%FZf8 ̲_p!Asˑz64AZK'a  . m$>+dB4LECj^KT%K@ \K<_*}QIOwdmnXx=g`UW~F^$MβyVF^`!dahlp9"$?3_.9VBC*-0K] )zozY eUm!Av;4kգ*F}TkLi[qΥ[]y7œ,0/^8qăHpȌVB͔1:qgƌ$dڵ 5oN4AnXaqpبMrTlrsc&H2UӎڻGO'O>^uOt1}ĐX:c["(Lp3<&(,&)$ .` 1D-IJE ,ųd k,d<+E CBrI&tI(rʔoNsd/x[ʎMM(O)A|p:4 `Ѹ/dKϡGbtpIKIMT3kT sRe*fAeM3}ΤSնS-SgkN,Nc |(U58-i9M6,$%,hGS$H27$ш a%k]xD$&Q-IwVQAmԖf:oϰh :ў~"X!"|ǜSf| qwyf2>h"dr*cV$+6Q{Ve! YzV6tA9bĒ84$)1-B\x"R$f1&4Tthؗ03dt936ҪMr6}PcFI6ZHHvoÝMRecNffd٭N 3=P1є^,Yچ @ޙJDx%1^َwDniL* fN}STɔ :bcLkST3}(QP& IMYٟӶ2LКF4MPz|`i*Xl i#4 &"IXDJra\0)qS₻u(Kr\Jvmka{ߋtmK3DR]39Eݔ9ns@Պ^VWU/s7k[z$.$6W۝Y{K3Z/1ꙿ# (s : +fY0YǻB,4Ka_0w{\4H0v W v@Bps Pmȃ7m8=? :`kCj8qo7Ph8=n68uj.Ș¦y B!̎n{ #hq3ǏX0`0+HI䖕apUEv@>u̚TMXKԥ˺V}զVP hL”QkևI3  3Ab٣ZGm:  #% SttGː8)j*q$*7x.*/똌'HKX!st(;)Oڛz *RA}YNz0|hG5OM[=UfPts(˙+ ]Q_FP))]upکZ49_ Z]ϻZ]QڭJMZVnqjV \'/?" +ivƭ2 m+CW5M9yGtȪ5 eYRNpCg:X1`EA:x2ؒ(F# Q<|=HPD ^w}zpd@`_@ϠȂ hh 7hۚHo7tD_m+9%r87@rPn2ЃGt;m ` ^l<\eK28rX 0J7SU7|\L%@ (߈|$4/!7巌8HO8Ð;y"8K؇^{4N fzPXCj<v8kesfifslX;t7HBX>u>$l(qdqf>s qDghڥ8ˆ6Xd^f r lʄrA`t^v$6[}x舞h)ƿb.鸠$3*Ix&o5H j)yeXRWc1:2l652T2G̐8G/+96 U§f:Q?Ε0Ǩq׽=$Uv,jz}V[Y˄FdIz0|{Pa l l^l[*6i옠$0,NǘqdgʧL8iʐj9xc@DjG&R jbL9<0xNUGqvNѕk:WA`QL0ĕl#L8M0lwpwpla`Np_p온bЎp+f0:1i,KCiv1sx8Jn1XnV ~m{489 xn`@7ޮ]ƘLZ^ׄH鷒*| /}kU6|0E{3^M^89\Z0p#@5s>spp k^A- +;2~ /^f1M(5qy 4f-_%HcO="4afc^iG%VUPi* XL{בCWiTVRu4!;.ZmHv8*#QEDQ7i2O^!2׻R1y.(cafUE Z&Yi;41Pj\Vʗj^=6e}6i'&g`]R+[ǎ>ERTw{Yҏ{Wr&)KLL-ӳ˜1TH.POd'd۫rϱogPMwLߋ,B)'B"*8La1H9N7Q/ hDt41M; $T 6vjb?(mы.0#y[ >!yP"љHa 10D0X!RGɱ[F%'N%vnnuꋿRB5 \7$-/T)+$ɂ>q!YVv-hL0tmCLь6iP{=qw"Z)HV<$"Hk&I@Kֶj4"Ƣ+r-9yt1z wMdt$9G$ $K·^ሽ|=ЋB\%Ee/yPY6/#dt&8YA5SLr1y#(G0asA{CEE.`cP5: (F+$AF4i[@M.CʥV"kz+U2Ɓ+TtNݎ/gd !M (_+JGieEz{{0짜4p e-)OhOfQY65a!$^}eKnrLINDYz :& FSx5I?}6[H[*+a@L[j-NP̪Rաp+'c%[BLbU`Lܩ,ݨ$2Uu{ pgXk?4cŅ&4l"I| =5$ls@Aɘ+olB!(cb]C*,%rfMR)Ok `b8tٮؙȹSFC\k9D($7^eD9:CMK@m>ю^Dބ&H(Dk=hCpBpl`m& "!ȁ&F40D Xlcոrmp7ah]su qP`mi7Vmaƶip|voBAgaC7AQ__g__k_Am!4q G]8IY`vUMDE UЋJ]1dYH A}YyuWRRPAzqzӭSI/i`a $Ae U؁K~P}/eBĖa^Ed3L!*H=bqhA&C};>=.@;C@:A*b+AA-  B9ƦlM$ ZIANKB=S%8N]ԟq-S[ eB W QqWF^9OF`.PAWeON(aIYϨ!bR = WW%Xj/;d>B'%.-(f70bf&g!a BA` B7( ^(cbiC9葺+ܨ4j):ijckcx̦qᝌ)Qz.pޒ\A&y 싁.LEtq='DEݖuN%HEء>t!MzR^DAIE'F bF،0Z/::F0 UŰЄFZ($Z'=>C&(q)[7B:T#۷8ҨA`5T:<kk+ Bҫ1zܓjfށƿBNΞ6( +kc vbZ֘$ݳpHm֒ V%AVw̮aӵI|Ԝv՞~ 0rEKLeY@WE*W z0e@ l] jM ᱞF*+1J';܃>=2 0/%ւ\ʬ4܁EØ'|CE5Anut:AH7 _4@7LCa6 겮)B9"Rn5X5\Mj\> h5,.o+0 $y6㎲;k|pn(B/4BAIE)H!^VPKZӮgYlM@~iOy<-<( N\Y4տTeSRQ0~ O] ;䆐WV~F jeUX*u-$&%C/=$c1=("G:\#D8!q(h47C6MAĥ69`!{!#864("+2#A51k84C962'Lyqk*2(reZk;qr*6/l֯3?34~/XP3lוɲI jF*՜m 9 $v>gt!Od}8EgҕF.NY Ni Nٝ q':7Y%]%GE#jW2J&h/ %>C>؃2$M?xiQ3Q uR#/4WUM D& ' 8 ǬUeF?Lpv!eKNt "-w!w 84^^<_F 0E6[4ZNWLOZU` [_Q̒LGu!HB&&; ;08r/7s7siUO7uJ\m`$&&i>KsIZ9lIWں^Pg gwR ϶;! \EJ_OZb0YiDA AՖ SI^гW6s)KmTRO{i W} 6Lx ć"\haF9vdH!4yeJ+YtfL3i,bM+ExNCI`A 9q"%Z*ϣP+, TD"%µkXI{k"VUssֵ{][ە_Cj8ۡ}cUTлl྅J.Zeq%^ʘ*@_ѺF4]Uue;/]CO*Μq{m]b|xbz׭WUna Cy2aVdb)N:-XA"#Hs%_$EM<EɊ\tŠ*++^L +Q,̒ 1HڊRϭM(۫Ђ˱ #-KH#o[/~T4x2UC+M,lHמNm<2-9tN麴<5KN=ūαBk=1snOcS-;O !#vٕN 4B qXY@d}h&Jl Ө]<1M"8D I<k^Bn10[6ڮ$nM6'rNAS#RP)Ӷ8z3t[5T{X0K/T8ݶ=zcdg%VI:ɕ\yw`ݚkgٮ^魝&/ 'z*okg|V]>;S#fbH` dJV}^fX) q{ݽ~֦LjuFh-mxԨzCxG/̧ %w8uxPYHCX M1rdoHRܪX< ~R1Ģ'a`# dե`UgY ⊈3u$K/'W ,UB&% jvv T%Ji<{%)ye>ƷywS~fĤ= B%tz>߁ :qCO@&! ZQ^4Zۺ_#w-eF Y$Д%H;zyYA.vblX ]YBVnpף"m*@`Ied(?f榊$Μ)[L]6&JÑ^joIóy99Nbi @ O+ct.3o_#XWh=avB@P&44nddžj@H5D,"Frx{@G! B_F9P67`5G pxA4EHV41;bx!g7ZҞi6IcRn)\<Ҋ+.kDoH%O4"|i~¶^6b 0YӤĨDw|0yymeRJ$B\fOxuaIS# BFĮ1 _= \lܚ:"va cBt >A:a5Q@pF Dg~[a,Dɬ39yll=E<3Z%It KgIZҲ 6-ykM;T)9her$.a)MPd WT; {gwOgP^fVbR+4MVzA1{B&Qk#=n b܎ aapp7^c{A1;0d5 Ah \P<=;zώj}zD<#7ќ(ˑi "iIY#wT.fOHK OM)bT*l*gqGQ0L-87^0O4HSd b"NÖB)//NfTtuRdi6چM4P8Bl!`Ґ p 7  a! 4B  a€o0`D k` 3 0dhO7ޯ( cG3$ȣe.Oh|aK(#M^0Җ #Rd~}dhjqHtIkŃJ |ȼT|acؠ+kzJogTF8ͿFzRE.DG|AʧL qn!8"/ ء@ @"r"+Rv 14a!ҍ%,3kƀ2ԡ ""%"-!t2(E[LqTk[~ 3nCe 0)v0L' (1vk-0f=5`S&(M)7Q×~xKihkgZ҅0ʝD:! 5!!:$JL']o!j!p#j6A l@ !@Jl#̀ݴ&q!`[L7 (;dBE(=sll)=kֲ%*s8Ͷx+23yZ*3Jpgn$x*z-ƾc l 3s$a+bV4~Ȥ0ڮ2*2:乀"3J oؒr2E3E{0 A~0!k! #b` @&3"܀aLӴp A!@, # @! 1qsءMTM A<Nhd0JڱRIjײp)Ll-VJ^P, *lcFd+JTRXe O7tjzqb8tEW03Cu%DcUGVcifD袃F+t(F{:,azIcArܴ 4bQa݀l3eW6;a  aj ̐ CB al! cvS# T8EơA"(H[11go#wﵓI-BEp,w4N@jn^btFl]R,6B(p'GkICa{pr/J5P P@9' 4D8cNW/|j_ (gzXiQZU-e`QhЦ9QZw*6Da}"r5Y{GyڳZ!C}KukB{#v&m[:"2bŁB$8C,Y=8yՕ:^ڈiA7_5*T Fx:\vF8y@QĪ:w/Tyt ?PqLv_p~W?af5` 8|x[z7~":廾 &[ <"sn=[k&+N;?@wKC#F~qNS=799GB(f<8@d~g01k`J7P/DeI"F@Huv^w)9 -@*53yM30@0@"✠/D7kٞlڿ=D]] Z vZ.C*-EnRFZgn _Lۻ_bۯaB'PA)TD5GeUf SFCZy=OJ;t!?hbQ&qcXmUBa`2.ƕa`L&ax⃤ed0A_JNFY-HBdF\USBR#->YF.䙩$hvTښ1uGLɽcO> t+dgNJ)vU7^ni~ *o5} *WzX,*i ׇ=M%h[>ud-ng51?!$4\()]S\ۯ`7M*ɭO5P.v$DuapY#[ZLrJd]f&9 ,g'Af!̜D6h[r⌏ҥ& ^?hs4XhK/ՎD1 _Q;{MhW0n2X ;Q7 P6ihy|OPv\ü88v i'7цCC 5ꐇi 7|0D#m+1m;A:@#s0%L;f4)۲]Z+?6D fs r 2~AɊ*s5h?Dj88918:bgr%[jsB,Gu"$EkrS6q\fbwa (k p 'og]uRhBHh4y5`3;buz56 a=[RG8EX ?_TVQGcUulIX_a|HXwsq'}Ks[&'fcVrۄDB7rq! ~7YsڧjsUs~f"!i,1icv}2jg %EbC0cr(6Za4,?$ u3~"GX.WZz8sY( @,P 8SH^6=p7SX6yEc6R`R@ j&V^0U`uXFq=mfp@8c1y x|J)? sA>V> )f"׉!W+1i!~Չ$'U~@p~[-qŊDxJ8ф.1aXv'Ј'CvY" gn.WHvgrKH9_%[$WpȀ 0x8X Y0F d0~n `im8SFGpo ݐdnv ᛺ɛtP^9c7Pi`nn0{` `y ƶAО `ɛ1x@d!A)d}1+G}'etq7X1w^sZWg57LX&"Zsf3[eY+g7dsh+3Zz2i%BuDZ"v9401"H:{0YNјvX9vaG` s3z**TO)6و~ȉ daX$Z_yXP*l!-+MHr?"èC'![ M&:%% C'TG!SZ9;E9AA)F ]`P 5{<۴9;[˴SkVN{KR!e}`zXػO7#*&h5NIs,/6s˾" L)Brj&~%_$|168#1xT8&ԹTȰ;Q&H11  P kbG[S{)K5;6;=ܼE\VkĒVpk)VcqkŒseXgs3Ve!3zgz[CaXy,,u*t~YGi"dS!*24i;=7!{83(~Zqv8'9 KB:Er0Z` p3(_弡ʸq>۳k|<\EcĵO ^,qrcj)Ǖlƺ2h',' ̬ƽ;Wo,.Xs v%:2A#csk61 $'q!Tٔt.!Vq#h!$]ZZ+\bm XIkIv9p;u[HkgB]Ɖ1A&:@d;ƀ;fF`FpG`+cD=:Blw9Ȼ?kҘ-,-ٜ?,d/1MӫںqpM$wiTW:qdJQ*-ˢh`aJ%1dtՄks,XMHXg[9"fgjm#K"}YH үFl;;>ڤM)-Vڭ- +!A:ӷR#YWӜިȿYʹUIJM仯.ڿsșZ=Fs9iiCr:%5DCG#s׹Ťw%$'ԍ =tw7+ t + .8<.ّ8{|nr5*-5ݡ}I}ɼVjӬXtdŇPo++8nvVN#/Ԃ&W6Vգ}9> `>WBהݮS͍I\UJܥXñg~B uH,N>VX -j,͘^mC[SshXRqΓUm1~SM`vf<&,/ϾXTQxLtxB9噴%M)8ő'qC̄~ꎡH"JrZcFیz/&KrKrnCr.!-AkYR~sl]\Rt!6(CP`4 CC0pbEYjM_M؀"(:ˑ(3B.}frePCVی&t2+dr[CZ7+`÷kMM_!&).Si!k!A`>ȂM^ŚTT~PשcRڵ(DܺU\sśW޻g.W"X%Z8[LSU0dƌW͑.<82Þ?׮]M[ekaˌ9YnsύHe*(zB+m[zwWof[C^;eWs~krS,9K툵O={![K")9=wP2f7 @TP'4)C?1DG$QDB(NT)*f Fd# od.;!md4ni{*lơJ1ڬQ7ΐ\;ȘꮩPq,›L<'Q6& r;9n8Jʫ+,K,E.NBTK"RQH7m4 GZҸc J"J(>UWТ9(!)fpi肋P"lC2؉Ux]X6̨Ce6Zi֢JEZtL8,1\,\ SۼݿP32$CK(,rԽw8°"λG6Lznvc*%Xo Qck҉k γ.] Lf@VԷU>#,!&a`Ǟvz$[7D,r!%v>"jCta gjgtGB k)Fm lЩ{]Z; қ ;F[m1qim#BZYWgu_Zն*+[qwW .wO."EY-Uh|\KdFJ^`;ت'WX7Gxc7 F҆ czMP0E2a A!؁Bd؇"7LC !}x:2!ƱoH a׸6BR6QY1AcÃ=RBKA  vЅshAy%*zU! >q0l(D0ъ^"0<@ rT#)M(KQ"| dNuSFL=]6$oG 5;8*CA-s6¾@z Eeԙ &ylcMv!K2K%}ɓ8kYgDB0Prg݌zXPXU j>A"k\,"14i@I7N~ r쒡x"ʡBy 4 v6l#;8[{}??`r?3ȵ\9l`}}K;58-T-M~ Ƹߑ=Iu#5;=ǘڔz=,F8T:=}SL/\M,O=K}˰aUaYZeVR $2j*#GPwbf C|cbd0$A!,k 9])dªhj_ɔ|MPsZva ~37Hp|{d܀ǘKQNX3eܐf&FMʀ~X嘖陦_6$,k f.2N]XZe^H:/+!. kF ]Rѓh♙2f C]HuN~LHE$ F_,>d7ӔM76c,8 s.݃I HTƭK܌l D!IUǟ.Ȍ9SkS96ZT\<եҸLkțgHkIjsZY]lfez!@D[#k!L{;b>`.Wy w0^`X7Gmjڕ Ԗ|W@aji6̼]˨]MqvB1#CmO-Hx棎wCL'!F) 8u @)%>~W#_v^h][qro.XQp눏ꕓHKM;80'5wop;W 8 RB-k)V䤗 U4Uc'd5V̤ ?ӄ !F fE$ 1ZVu1 ^rs К؏Ey@b/: j k 7`wnG]|?D2i26t7Ijqz͚ (m0|eBerk8TMYZ$f 1$k;="meT۱CHr;a Yp|t^@8Dv/6ail/!@ڠ;F ed!q :N×;(G wqCvN@ʼn Lt85a1Z"-HĆ$dKE#!FIӎ(8hoOQĤDo'KxSٰD80IR0ҼDzЉ#\X1[ E*.w 2.g6Ȏ@Գ?jcHA!fO/a>A:?:Pij_w4~:a`Õn;L 2SUO{ӟ5B*Qjԣ"5J]*SԧB5R*U: FiX%(KZS~ǷG%IҖ8=1̼ɪ .uy+[9Wݍp,'ң! Rb6DvuJۻgBuzu"&V鑖 { ,x XcVRR)BIֳUI]V|&q!c>o-חF4]h!m. աLb=pCw}Cw x tv\^2yi/I!nفNx:cw `}I1U̗w9>L`)P#8Ƞ/$ZBj{L!Y3_lmƓ;B0ٺkom%#v󅧱B@r^FN;2ʧ(76rK5o_d+n#/WÜ xђ %Hk \$αbcAJɶ'k]uq4L"˶"I@eRZgZeZ)hG!pNSz5Myh˫vGgdqVn~Z>q}D0~vRY_b0h Y @(|v%C9DCF7@= (rx0;A7 9+Ń'C8 EG]_} y-MPA̻qGAF6Axp5AMp;d^MH\  ̥\X\]ɠܐ !a*aq-VH^ܨՎPd!ʼnMFpa^jdD19F3BDSab5Hh۵Q|N,^Dm hRRl#UN80p[^pٯ,!`|H%C/=>0=آ=Ѓ2PWh9XC$l6X1"#6,p~A">qÀ`C95|@C964C9d 4H8c:h6D 4J#50 c\cqhdk`_5"8pC",T9p4C(# Fv͹` Б\YK\ݜ I$KL`Ma*eP&azd `,zN[9f̕&[Nd͞%bU`ա|ʤxbR'Fb(ӠdɩXS']i4J߈!"peq6\8&u 'NO| hA&O/ =,F>؃2$hc߄&lflrklfl&nұnf`@`m֛^qdIˑ$\vdd`-avezUyM'QM(ٝRraeVZeU][Db%URaI^(}aHoY^]Thɝ`1\̄"^II XE(G\lh2%'B⁢dM& ) {$delgÓi C-\Ffq&0`fs"noe)b) nkiI'un͑yY :vJڤizi){*[`ԍY=đِݑQ@aUp@!!gM|NTɍzhC3q!ʡŽQ灏"da΅JڭA\hZRN#fũ%_Սaږ O(S/A z$i&l.10-A敶Ȗ#1'y֛gnm ,&qIgLKɕwR12ǂr@(nEMD ITlQE|݈(hj!,Y gQNҁz.(m1pMN|e8mkaV2}Ѧ᝴!(rpYHOHS]}Vjk\|+Xe5.h%`t1 Xbմ):nls+ri)jrbĆl..yMښ'ؖꎉ,eRFUI_ 4݉&<N%\T-M*bo"eb4hj(0h"!5Rh1HRjbRmMhO4u)FߊBXi暖鈈,Jn6,*g6^p岩vJp oSp /ᖅQXT]>V0R2h. *aQ!^-WfOe*܍\v\9e96VWdkh([~MfR-֮qߢ+d@`l/:l '^)c&&[nz07[2&́./P@*+p^3B-*r/eZ c M"󂎕2J#,죱(V%YB/6++qV>+fel/=;JS^>V4)pb&EP唨Ʊd!I񎞫zHdA2 t@Bc.>l'IGv4([KK0n,Oc_*4QK<3P*C5/%//cP Z' h\t[ѝ@D۬>mqִCf$y"Nk\,֭$5DNɵ5[b.mUq5^t() 4OBqjzkZֆ(҄@n&@%X`)KCpJo.i&tKwIt%{MK2$42,P\T+\wvo7Q{w_3q742_wz*[U)!Uduo`0X# aSe1(^j5.lmeާ!b^w^ݨI/%j]mjm@i=\"J yeEY65Z0+F6K(nC;atnA/"ttN5/x􅚳29ELS?L+S-.wo Ђ:-L@7C7uS+]#:.7㹞z~EOBOg^,Qw_>@,K5^++0 ڼQ!U)KZN5HTړ Z-R'qS~N'YֵS & JR D <- :'O.]V]) S B(Y˧M"XfZC'y\b[E?RA3lG3#`:7>Dzӂz}C2/X*:/ O7_>߅ۺ.\@_u|#uUA0I!5nZqN4U_$isfa{ {3IH':cs<"zT|T?T?TW{/w:@lGʾϞъi=`}>܇Ǿ+ #"IbI^'yx2,')d1ל}xɜ^v\P$/OZ T(R^KhUWfպkW_9吂l EЦ-`Ah+č6El.P@Zl˷oῂVhD2xdd&Bf @=tiӧ/SVse˄5Vpڎ 4iyz&\agV z9՚3w'߭wwlݽW83~,pثsg~]|}|s{o;oWاv(l G}饗LIdpn#uة"a8}h P:i 4$L*@ $Z 虡JBH(%В(J)*9 .'T:i"CdCN%Ӡ@O")$ptK1TŊ.ÆP*b^TP @5u*sl.R]- 1 ַd;O4܊e/bC3 WdN(3ﷳl 6XSo鴕@cC>|c7X`-]dL[혣4 X3PEl .aKo4۔ ꀊK!z {H~;Ĉ ,); GxFrK g0rZ )I jZUS+VaFSkSgxՖzny lꓴ\t9vērzA]I/>TëO0fS+vLMzUlZfu1Uzns]-@Mnxe+m+p#Y4s ^Ȃ}blߩg{YKכ%p`k]r f yi+„'sf\@l$Vt'AJOZv'W}jd^-ƳL\!o}}B^&]Epqa+Y$ `=u7&xю^t(܄&F! B hA鸆Ec Wҗy41~P w oc*:`DcX w}QT P:T MmSFūW4 jH,uU*ӊpAH ]@/1D؟ B߮-b{ٺhY jnR-̾M!s|F"XZPr?AT$78BP4Є-dk[Eo 9]֑ts]Y[uj*r.]v.M&03^=@| yjTkĉղZS?j2/w\6)sbh8y&TλaPXak߱`LלNrr\ pks44C )^1a{C& H*`0 @G!p2C ua>Aq*S؁7F#D)cԨCgP& <ثVE7z؀FEЌUY`8!iF;zF b ͜UbYIb?sNҮM1n8ML`ibwӱG9Gq5kHqySs[[p3$8vҵJFt`F{+%0Aa'Z4_q]-w:SV/9u8Lc>6;}ܣCH(.Yyb0`]8R(=C@`*2J_# Z ʑ*ss_5Bp*;2]óA7u FAw=_ieAO爯 thLN$}oZmnp\AyJVn{ px|:˥ o8 dZoTz@I|0ZfʧŨ'fD,1N0C4&.;.~ _<.~*.,džD4ApL l"*P !r( c a!b|$@Aid A`P8C 4q^i>~1Úz;I=TVGc2C6!:؉"F](|6!!P!3*Lrl.Bo "S ql@S l@ E8D ,"̀Lm ? A+o# T>9 'k 3Ɛ;B_2m,A4DEtDIҽʢ.l,\/ C0[6>w.R-\t6L611ZH.FOkJ,ź'T+>sRInŀeUS)sM FIݔHa%AQ>"JIO18+b89>h!~!k! V*b` @.  8!TSuU[/ElFqUܢvJTZ 6ǸxmXǷsʷR4TdyT:".W~2mHI5>6zQK/=|zbwdIWWcri&d)LtU'Ξ)bb{G;4϶Hkӧ3{cj-]hNh̶lrd7F2Ȏ8aXj!2xѝxwmcy٘9YKB>(7:`.15 x^gWREÔ6T6P#|ǔ6 !֒!(CJco7yCqC\JeTVD2I6؃:c<bxv`8)HiL4Z<Ɩ?Oă{)&96zZrjᜍ Zi9Fy:㹎;ۯ'Yz95Ag-f1//Y67R|wmC8k{#.OFooa?NG9F9vdefxypxFw;T0Icyeaڣ4d6e6 8RP[j /ـ57̪%]IL? j?:@ ,9ZW @ڞ1۰9\չ+"C7/:xtG_qK5l\<}c#6 5` =ҵ0 9YI\5|;X1K[ e}imq=u}y}ׁ=؅}؉؍ؑ=wxǕ9oW; '$Yk,yȫq:/q́E~EYc#iYޱ;?c] _w~Y]x屫6֜l<ȱ41IEޛu-30VXG|ḱԷ }>S;[]/7Q\~+و>5b8*˴v|{w\^c}T6М7I|'{iA}y1'vVX7q AZt!^E#^q;0=)ۧ4,۹ ^:`S]'<;“O}'\酿9=xbH^h@]D?>Lڻ8:.]S~اEvƽb##5V[ $` *,p‚ <"Ŋ $$B xA5^ԘReJTPFd(N'Q>,Qd˕H*1Ҡ*lh)<.ʵW)lj!6m2RG 6MV}x˷߿8L +hSKYp`{-_&ٰ΃AsZo̟E ћU}:eͧ[n o;DxZK?tw >HUkËN7vS!DE/RHI`` 'U}a UA LDdeQtN8T~$-`BFSNAPmU`}VDф#\8uDNTJ4GaI&!PLD NDecEVWQYSL YdM+U$GgGcC̡tnFgAIi`& g!^ e68*r~\I ĉ@ *|T ں1lkAH|V{m{0~=E@)D()7 ͇QT5ٴPҔ!k#0iiaEUVG8UGNHR[[ dOhX!mVLN^CqARm_E(+ + #;/fPۙZEӛg%]VY2[kAKܟ*I'Sh;0H֨tCZx_iztG߂qw8z_UɁx@{x.N\{k/1/BJ\D dz/-b"dԗP9oo&0r$ &b%]/Q#zsh:hT[T.4~*%Ї&et=,e+YB' ,fPҚ ?8%gqUpFbV$jk:Ґ0 (#pG/ⶂ I KSLVA!}kѪXU2^/Ns ќ?/s.Qjh}Hg:ӡ#`Hu1L;yqyÎCи6q `G5:P :ib5 hn:hjؠF:bPrd%[C:FcX]r-RM2c>t`(62* 0.|X(ty-DHK#k t+B"Ͼ@d/'EQ~#2A!M @L'*"[xЩj )kE2(,J_ '2ejFԤjz Ih[[A{CpPG-[`n~M]kprGbsb_Tj4z\}ar*=!a h\&/Y.x5c:wF4yG慶Ce+1&iԁM dAvn8m І{.51xCod4.ɍ@>A:aa:x؋^vRMhp#x"_Kկa幫vhD A H'?}aO_DR{ۏdⳆU\IQw{(}`ؖ Z\el媂pCEI]]d/eR4 .S1Cr)T5.av=VdUQF_i֩d5o ooi{;baEv(+ q$s,autE8rnG ^1zB:Hyb0`]0-G O =C@`G]l\#f ر];C_]pR.(GBn#+vI|!xٽwy!' ОHH@!4.a2Bw!&7u( F i ;4Kh-RQ.gLCQ6C%dZTtU @@xZ@JYR6TT56)pNSZ} DIYA֦y 62F1*W\94YWC2#{oc?=PKt0֬ ^l2U!Af蓷sH^WBn 4Z[A [ X"w!"p8P 7WG_ M-肁:4x_P 0pg;"p7vA`A  xa+-]tps=7;d8u"x='X&u1 !(Q<#Ex#f=2<& w244FvRdw}8I$9"#axt^7(x@w0_e>B%gQ=yC#h'gah!g+!wTFSJ4&S'$VSdnqw:EƊ!U|gF` 2 `` ͷ o$~IILԎJJNWMK$LGI`IINO  NƄLLNOĐx@ QK(NMt;pMٴMX܆jH_E9G >H6mDG1QT,Qiop<w]vv0X Wa}5SؖP` @ssYw5`pa@s6 -9ܰ %ti. lY-hcSaubs9LacYzau3h,hbyCSg"G6w:RvR' h2:Od#4(rrwhnWH>6I341gUnA$9Qu ">VO#,%yQ#{R5S?3iZi'Fp 2 p F]D]%^e^^,^%_b _6`v`6p-E]^%c5vct  `aJJc6FO u[-Ԑ&F*vaea &b'z*w!#X*uГyuF1Z)~D (l$xSZ;Z {;\ʅV xӵ}960):0tMzU5ַ]KjfR@ w#I_ #y0_ XUW)5Oʫ~馭bzڪ-@e21qxy"dOwA/ه~ !h?x vZ`3B&(fYB;\B 4ʼnvOy {+gROGzQUO3#WWe>\zxWi>Zkd@ jW 'XKWqs9qorrturH-rQN]W750s5wscs?ך:;<mxNztZt qtW`z&"Yx*CxQt *eFo*H "Zg s~xaq~ {7tZA | d o ) RዶʃUPZ y@zM1p_n`ؠ q@IP+@֋n f `y 8kٴ s?pΫ3wn0*Xva2eQ c!<ڣ=92lG++A {>;d|vyp8vĽiiYRH*S_v!Yl4*kGLhzg<2\C5W@nB1۟bUg  c5G[ywCL[Ǘn  Y;}%}wF,:@(0-V}vk瑄K؄Oɗx{x]<8±}n y0"0'sm1;nG uFGVZ?pF <99Udڰy p~eztذذw n5M+d 0Q;p0dPCW0 ‘ 0-!K#<@ @]0: d?9<"4eZ.6܇ = +caBdc6MLx!^B'txǀFs0#m-Qumw!$#de,i1w#RRxK9sk‰Gn {sR0dJ{C S Dp p Z+ՖsxywI~Y`)x\}a icݝݨ::#;ɚzYiӳl̶қKςs+$X Pߔ2,rRᎄȱ7៑1"`n٧~N>)-4.~-w:Qq`;~Ayfk>5SFSxd0`#C"V!KgIEMQr^ƾhd4VhHLi$?7u>TKQll0SoRPՠS0'vC0 V ɚ0-ܮڊޫ]zɚ֬Һ&b}`تۍ:A]Wή}JtQUCݑ+N);Anc~q@ Χ)dcC8yqCad`9X7' =Vl=B" 5~ ߧŻo).~jXn?瞩Q ں_P2@yfvekQvM0rQEq͌#CL4lx"ETXPAD.dPC!NphGXD)U,R"ő^(0'CSȒ iSaEYZL*qaDQ?(T%MJHŕ-D5bNBC6[qΥ[wypҾ^ÇݺɈ ̰Ţpq9h͜7pmn谹ITh_ hy[dclY cwurE@+G!nEP\1dHϴhv-o>/x!Bh 102*ȈDT6R+yWPNF*j;ԭOICR5sǀ$eu2f0O;Ȏ*6@ay/iO\2>&F{TXW>HwWT-C6EO." CN4zsu5O{jc n/>ObSc–Cey읒XLH Z41wR![򽊵hdSaO\BSK`X,O TiLFSԵB%b;e-c*'g[ P:fE+0 qWj[2;g8p)V3MAM\tQU= PYAdf_8':R˞S*e!v-KBۺ\mqBvĤGd&$٪DJt_*eHHjG y-J<`wiItT=A)N# (G3ӼtT%i?wqv7- !zĀ:% a} ?Z@ 1O, 5";eX@W@)w9mڟW3Jߔ[McK53$\%WT(/" Jj9) ~ k?鰝x5XANt 4q¦C̼84k9˿wi&Ӌ sߠ9hΊ[*@Z#2;*^(5,[A[k>K($B4^X}%"5%::"#-&tB%J-&LB% O"4-2xڵ!7h+87: x;2z.Z_/j( rc.2)B+7ᳶp-q*L6M:"*" 3CþB Uњ=) b&kv d$Nعgm""2t tlo)$#x"s'Mۇ?2P, H(t&EӋt+;)GHNǽP;}'HȌtHi1E4"C-JƷP>6*%ٽDEj žAħ2R1Q=Z J2IүDɷ1E!J{K /[[dW쾬*؋pE JR`%N0Fb0vxwpa +9%jkˎY F@>Ni+ N$.˻d 0?-}y=B4I89NT3.M/a\̷De H E1#TUUK`stdD)l)LQ_]֭ݜ֨d0D(L>ޞO9)QT'1KHah\vSMpe>;Іts1q.( ИtȃpBk(o؁Pm7t1 HEkX볎qqr(m8mh뷖 귘eJ^, BR8$#1\#9f^&f3*gL7^J"Uxvg Y]$F BoSJõ[Dsmt xI8nC.֨$6Y wJoE8ۣV}ӟp6i{׿1K@a_0w{Mpv ,@Bps }Pmȃ7m@ p?:`kj8qo7hhXjn68um:ȃi;pΐqn<D؇6`m :p0O-9jQe_2^l8gsmfTmNx=8h)$$yLh^mmD c6V )I2/J-U @~?Gi&HDBK&IEܔܥ Q v,b\ч{׸j\`pp ށ@0psxq/sO͐wߌЃVރq `;x †k(=| rBpwu7wt/g ~2nM? ch; CbWב@r{zdS&\nA2" ؅]0Rw4ҦDkL%c:u .HHzI8,ڎS7zq ۷nэbɊ|)ǻ#.lx3n1Đ'Sl2̚7sXa`"G' 9iVh̀je;T8Zt Tbೇ/`p-W]H ^N5ԸKo8%&84&ZAQ}zD7ox^|D7q 0n&PQDAf^B6ڃ!BdEJԡ_F1%aI'>ش N8+Ԗ^"%G.G_c$)YUPD A٠NHa9]Wf%옱! T]ʵOcEd`y I6b ~B a289:'c6iqgj(&HV-[r~! ~Wݭ*f]߀wzRg>RWEXZJxha.85s"' A8{01k0q R-bE's>2/tK-Y\ R @C@fGx#>:P">tzxH Hh3hH`s!5V/5ؑ7 Y\AdunrN99l 2wHRv{P aGcd>⃑Wj;c0{r{w.Iբ[<*'!|-tɇvV~*>gq4]kPи?l5kՋ^QH~S}550k5 D Ā#p vkI6#IPҁ#Xbh=|أ52v pq7qkE0q"ql4 Jd␦l,@6ܐB:92`z@F1IF"N077#uĉKQl0&9AAy bAF09= 'a:G`YZip*$܈. S)SQM}=n%TÔ0c%yִN`]3Xn#>c=޶k_6Sqk#&OeS]c]aإ09ˑg?#ZAPh*oL!VLԤp;A{#P0  bMȜ$"O)ĵ(BũQ[ Ry IXh Q}B'8 &խ+HPnaM!#Pwgѓ_y4U0  *VBG]nw(sb#:12GZ]B.j-/Knsj#fu`sgBu3`3K !(Fvӂ3̻`f%;"U1UQ~۝:K.uCk!=ᵭٛ P~ Nzy3AǾ!Fr;ӡHgoKԝ cU$' $\4k浟^7Wu>9K=_堌bqI.0Ll8ƅ Q!qSSV4-ոwASǖ!Oa#]U+#,.abTH(T^pbɾK+aW{twDaG{H&ZկnWtr&5}[U ۪Xh̕,瞻ʵ~-Lhøj`WiN3w}c76nz٘{.yV_'\%PM'z+=  ;Uv5",2]u6_Nj#*ɭ<^_T\8`GJN@tlĀхUV)11T@/ Ա U.dAI8J]BMI蠣JxP rxk=J  B]n "!/.!\  0;2!`O2t85!Xq߳}%m [maG5(p9[nl^=eD"!Biy%[]P-"#"ɛ9ؾU5AFqX!/*T)uCPLm[ =i @5^}cʽ zc 9*r▏aIpm}X>H  ~a za " &ZaabIaF.! Z>REJBZ^ V;8aΤN$O$%vF9K3 ]S+6u]Я5ށMSӬu=Kh@ZUXzP"qTkLuO(zqI 4GA\dT0bzG9л\{e@`l˝aEU#;8S =;^LvYIAρyuyݦp X6d!p@^AI]gb Ѐc-!yn''ȧaJd{@}z'EZ]z'F!C dnFݜ}hʝ&r)WodO 3![PJӊ^#Z8(tU[n!$0Z[-\J]Ni,la)2<U,%3@]bBfPfhef_LdA& tc=ߍј#&Q&*P=forƤgЁXUR)qFuڕu^V՟.J͙gdUXxjeZgj񂏴 FZaŪ^ jN^A8h4(†8^a.Z5% mm`'>&Y-queG |SjOF6ӿbtJN߅[$R&hEEu}i-C!O^"k[V*i"ǝ]eB't%XB6*k&fceJ& p%IAbq|n4],Fpby*څ4ښb!\-'̕!:2 K!XʗV+fIk"a:h69v(S\=fQAƚ8=,2嫽YVœ8v ӏ[F,QwDq2]:vТ-ܓ2a¢C%{rh9c 0PC, F ]p̨F,HIl;1|01tJʤ 'U)-V G,@Pn9fɕ(&OZ UbP"aҜl#I,KOi L% zZ(Z"J`V ]( 8@L ǮUrx޴0iZ[\RiD&&B!ԅ<DSoaG nJ5)"/cYBɋj$tBC;; C&dc 02'\FӦ 'ʢt㈎>*;Fg&pR1.ObsoӚDA$ʶ "2 X:cވ4U)9BWAt4W~̮zu`B)F2$;$V _&>Zo!-Et`G- wTr?t,qztZ.2;C>L3)3UWug0s3YHP3l&kmj5u3:pVXf;\m9gFT/y qqJ4"Ӭ%²Cke+ˆVr:ˑʁf{A4"xhy9dkbQ/BXHOt !T%GJ `O@F<A逝{ț4v.nPr]0./sJLM3p5e tCAC/ezgV P  40'exKtFsH6y- JJV+^hWhA,Zi2!(k vp/zA LA %\A"$+o%p"S-"je4ɪu 2Vts@go@=7h*Hu\ =; MfHH!~ zOC!XJ 7f_3wnَ#8^zCo/ZB8zln3smke_ӃETT1)!k|eX"wpa?{π/ xvgM{W6\cTO"oPv #;-"f2fO;&.zƈRx;t1M.˄-IewZh:HGoz } %d@N|_QQ ˫'%R:T^6/vO(S[jbw%1VWA1W;|JXA(AHro$rd*$#TJ ܺ1` <(#G_b 2BA2nb65 g̋0(< C/l'H舄4xC:C!h9h(>퇃>4~닀z:@' ??~fpӼ> H 6'C IbƉ1jdcC!.0iHT$ʘ3W\:ML"4Z4&-qJTCykN[vyMStzIOZ!E+I*\j .T"JXQ$Wŋ"z_GV^a0ecumvԥb-V:ZneAξ`':ޏY6~I&*q:$y:۹Dذaw^^pmr ؑ3&@Brs}&7 4:عf?jgoymniugjcA&j v!haO <0 o 2vا 3p? qDL!+ v^.#4̂N8cAB:l (ʼ<3#q B!0Aⓠ}TC -LIL-)"SV:*kT5'VUpj rsn;/NX*"H , PRmBl/H"xU59U+2+t򬦗pb@xgru9TE}OUJӴB߈% - XKm"3wzqoMpO.KBzc Å8 .PpA=v(}&l撝9끌z7fG}x^fzꪯtV!;nD̈<$AhюHH-} ˊ(%ҐBϼJ?gtO.u*^ؗjܪ=w73JXtg VXa 'Rp 'L!jw}X7ݫX,bKӖ3P'wtc)_[Q.Ō]F%}p_XƄS%4IJ~ X]ӓ B8lT̅Dd"#x{C;܁hBf3Cʆ ! 16SPq#^";U)H3H}Kp"͇kX)VQrd4cCx9QHqAuȑ NpAD$CHNx‹فDS"$q r':b$A^NiJ-lߦ^%/9F&BpƻA4"RȓBal 3⛢^C ^EP"! YXBv`-kE@Ԣ.N+˸R2Y P'Tkx\ jғR%!d7UpX]m jYUhrDB K S C_+Ӈ=ܱ2 %vkХu1z4r Sa Y:p 0Yz Dt ZNcCD& .81`d!`'b.nC\  =hx(y:|WG0  (4Z \C,";HAɯ_L"Hz)L# 0 p;AxXB`SAC$_x1@ܰ)@=1 Gx {x-j>6E Lc5l^X v+)BԐ0X ;@fHQz9t{ Q瓨 jXЅ*l[re-wsR-$ySWc 0DQuV+5*Y+~w^JhaYʊP9DZWKt!>WjB $٬G=n[rp["a;Dz jhm`oH'jlt{kp4x1"k 18H/0s{ {8@R.b` h@2R4>k!d9ΣtAZvdIzrON#Oizxg1)FW0T含r7в^15XaIkbWF(`eEp{TE[|9ɝA)Xt@c`KgqcNyjUu:8q hp=z/p[" H  2A!"A8!F0)kȠ ԡk !, !#j`aP pDh$'/07Aip ء"P :  TDpN"L CQ€ rDG> k4Bb 8@L#NR G0v;N 0NPDǂ "+d,  G q)! $01 #bN@p Q;$$q 41k5gNRHuNϤ bX9"@x¦</Ƈy"F,@@4å a, .v z`4lŦ6}4rʨ`d$Z]Vp \ZCpmF6P %ѡtObPWz6z*° ʏ;:,azAA%AC!!?l!m'{'K\ ԡ fn"Dʁa?j@ A&m'ۋ'}lr))r*-2 "(қa!OZ!!R( 0 m@k 09Z Ζ@ 1G6#N@S4I5#`tH5;Q@17 \ e6I.6g6QS θPb5)G1C7_53973L `9!a4O@; 6KDul@;<;IjI;dtfQHuA?Ad<O6nGg^lڟk>8 Dž2r/b4v%'%v~2mSvced#c*jਲ+%.ԺG:Xϖ4-~өH H_"Hx֡Fm6 <0…,\@H"D.pXF (^1dE9R$`ʕ,[| 3>4kڼYsÊ,Z,e%-FVh9fKIm6 iMbBZ5TLTҫWd˚=,lۺ}{vkXpڽ7޽|ʬB>`Ê#N 1ǜ;?& :tɋPXBC%F8v쐓oqc"N!7 2@U7L;1鱅<~An8đ DV}b#r >n#!җhcHǝ\^I7yhz `y%Xy)VP]`?1"PFhRU".׊dcy]6c>HEFGDIXJtQ&9F%EYYq]%tQfAEa]yYk)F'n!u)F A6q'q`J(D r&axXii.D(rAr֗GV!Y|^QYGJe^rIjx҇[| ,h7Ш4 siXt"1 ; Q(: n%L4n! &+ bȮ\AKpmvY 'Jdg"rފ$"XjVH -G`zg V lF/(+,S$a@6|kBzqNMfMƐ*wm<[ W~ _5ܫfhF).l`Ĵ!=N/ݮ?c1[ g!^CR {萏k"{@nYJ - ,vdm$`iY:Ļ f' whNLA f)h̙iG;6kIT4(+#qA P3CP\Mmlz+ w\T+G$,iXA37%Vj]+[=wBqZ~ȗ=C$}Ax 젒)V@ oa Ȓ3EeX$+8FMW?? 3t01A EYs*= ׾`IAІ,`0Mf"`: W<:R Y2UKͲ$E4II1Gq; XVk͓RڔXeڦf$LIW36s]"4*\"D>y{aHlDCY3GT ^! >u*HI:/܄%JZJst}|Q:| bT =Pqu"8#f ,]`GS{Ѥ  @aAl0ӳg +LdJS2ꔪgW2ժڎPU aj0(UR V.0]^M;Z@jS{f3vi'ё} "JvK0ӣW,2Jo®tE""XyA|HQ bӗ @H*++ P0%4aW@.rbٻDQ>*]:`){BQ/af!Jo|CьW2LhoFw7؝٘sZ$7 BZeHpr=#gK!S(P;PIU #,@܆ob23)0**S\ .3H3rRʦ60@ɒ6Tq_(tLo 05N$RAr!qOXa "0 ` `@6 s `1!@c0QPnp`ڐo0 pFxup opt@tmpX@ u01!ȉ@ (8 yހ*a2ሊȈ7b)eQVS6dR"0EzzՍa#RA0WEUюX@eS&"[.w6du9`PT"d~UH_0d1=Yq鸎&)#8i.^؎9R2.'PFw-U2 _]$γM_xtJǥx&#&UJ%_)ei"+Á(YIS[Y\,56qP$ok)E6\C5M ~4qZȤA&wm*yH,,X+Ah1I*.!Y Ājlp:4; vb茄v;9;Po bRМ"zPb{0"pp G9y)U.Py ٝeibHy2H66cc:^Ս:X.~W"fA Ld37YiS7%4: ;5`Jq\'{6A"J&9P$Jh_d#Z' j*++zG33:O36Y;Y=lfq[E)-%qɁس>YC\+irv\qفhkj]jI((BH681pƁ hj))j"~q'vqb^_%DXNŤ+oZ*[3_k+L9,*_ a* g1XbAA+7ši8 pa4- w"_t-fE0 ED`;& Fp5b麮Z+,~H:R0P-19y3ŸbA6@x`S0f|! {rzY'Hx"d%8' 5Eb]A+"e;pUbG<{UA6. ۳1 4/&ab*/@ Ek.+U_ %9)6{?˷[;X'S`UEVNX6'W7 AqRLQAL52+䫦),b&.~S 0` Ip 0I+P` @QQ*b;pu E.az Ҡ|k .*Q\1A,˛Hc6T$T;Qv=;h@z'RZZY0VA@A0W'tjyw>;I1yVB=;e`x`U8AP: +b\4QEPTn{y,h}u|j h l|f\}:x!g`0LT;#pLyS>Քlڽ j)2{jd)7=ei3+#\ۓQ>[)~%Ǧ%I NB+ 뫼Ȅ%=K!\* A/. @8 Ԫ [=6:#V*vEtyX6-6 Vw*zUD(Ңi4AY.0-FA.+kQ]L(/C:RNRdTTĿ7M?Y%w :p9d [j+hQxS9w3!Bzx xMEOSxpph'3nwהuchd{| ~-9ڢ}ؙM:eR؟cpT*[#A˳\=ak\ˉ 2a at13 a=pp'LcއHt3sP Lx@$OLa @[B%Z7ĝr 6'. pȀ `[ Yb0 d 3 E6Ipo ݐdv B5 d DnHLnx2֐ vO. Q>,;~9n(fRч#h49_ї(VN4I׸n`SM!艞g䳣#b飾ǔ>clXH)2ZVk=il7߬[B-GEsJ;'*? V) pp%!åJL,)HKÑeK}BIcd!&.,M<d% QI_BrU_a'QR~G` t$POPv-y pEVMwذS. p܀PPf':d 0/3_7;g`X0ܐj$Dol+,_{0 Y}O3yyP|vp0lQj4G7}B5\~V͂N"θN]!TGMK¢ &$N ,,  A=|)I k!D)JX1Č"l @?0@/0o007$(k" $\6٤dE2jtK+*%%f2Ky'-3̌Ĥ,̡4!R(6z&*|%WHC/r/ C2:3ߣtDMLmN14*+"$`U.`9P` /UA@Wռ`U+b;V86} TZ[02j=S,Q[  Cl > @fW+?1KE6Kt n?P8d2 pd\z9&bar"$-S&X,;`˕_>ʕe,M93QƩs|HD0]oY ]]Lݴ}z2늝:۬@VYu8Q-!^hkX[ՊHNm< M|ov+uns?p2v)lC%xQҚͮPKWSԮ /xa-,[nD*-YJÒuwjyy狪3蟧g暀 1B1P:ꣳ+|GY1| S"pW8VPpא;HUݰ6ƠoD3A@ğ9.CؾF9 Տ6{mkjORAq][L:Ux HшZ0;Dx;YH62xL(ȻGe[NPJPb?/ϸ > ux;x`AUhjO.]g'+0ylONxrBXPz#,f9Vsc33$vPF̳aǗ :'"3rkWi+|Hz\6q!/@nۤ/9a ۃbP4P3憉t ;)r@ ga '. Fb:pԺI VڒNj&9xH hvvhth8@ ll7o bLjp#m8:/dilRܰFps t P?o7hhxA8?;h>sૉ껾9:l$@m0@ ?xJZ Gz)cSS:`y1Ya[C؁ H F"؎aAtAY/CA Eɥ%x :KD22 +N;bػvxwpa$B0Pӑ<jS=+xL^C1h,h5r(C`@@XOB 8F3l۷2SuFۉEՊ Ӥ/"=M|M=A\3>~U-B3 \Ԇ@e/VBИثLCB9dʀ W;@p1x9y,$@a+AT!0.WԠPg}ѳl kZIɶXi,!t n ncv$@.:<^r/)؁KM@dvvяB-D9 2:J~-Wɸ (zڹ`Q]I+Pvy ):XG0ʏ% Hwf^_*`JXr™[J#[߇ #v {h^8NM#{}ۇukw)Xpj难=@<i qطgS6fs}xl@Zijh>\5^#i i^^؈}<)pLDz<= R.Y=:LS#NZ^؅ڂ uІ=m`kh(rNX7j nt`k\nHMflǞㆨ6m*4]=8BH:`}8.͆6XCՑnx87HBx3fsrDɦ;cR.^׶GmlHenlpBXށԈB 2kͺ5K0 kBx [X|r15Mɻp2Tʟf]ҍ J{pc{2Tf):˒)#m'!d뀭W 0Ka_0w{M# D1#}Pmȃ7m-/?ۻC| >ۇX< 3Gs5>7/>@8:s/(t2'O0-3Y\J(;y#?Ɗ@Ř38cSe\= >Sߊ|.[?uqӼMF,HjAiz3pYH"˩:hָd) Pè%I| |v|wvit%aC h y0,br"w#})ƅ'a]v܁@0py' dx|yiƇ__CۨQ4N5٠74zա>]!z7M 7~͡5+3Θ7."I:86Q0b3vPhZYMjav&Wgqc)Q)T^Vlg Scd`AIfEq6jgfhQ%\D5VŚR6eSuZNzzjj\VCAFX҉/\O;mw≧ 6x>6azpN}O Ԭsg:# RP+Ӵ >AT+=ˬCAaPњ^ \5h# #CMA%TQfjujYUgqrȂ'Ihc}UAUbi.k&YIlD|yY~eQ.qʒUiGڠ&*`{I}OZC \uZjAh>ܣO> 2 .RK8А4P"'HO.ŴQ!o R:aM7y74n؁5mdcG"6Б7ZN9]~| #Ml#\s݃S%=+]ӅTY~]GrVix0-B[_Д",0IO?01j,.4o5WYךBIbxTiZ uJFj綂tG/A{ G$qkDq"ql@VĢl,@6ܐB:Vg ah7!z17qH4Q9-^[Pȁ(G6#8 bGLWO"x35%+qga~(eMmUf>njcZ?NG)m9Sf! NԦ*{Q˦*@ iK:ZƎ )؉T&EA%Fd\[{…jQ뢪X2^ =쁏|C€0d#%E "7r{Qd"HGQ$7 KkҊ|${. ΰA A:T ;%[0[AjqUƨ_+cy0:]V=9vjͭHNh[ u~d 5`HdA;z E5j\ $I1R\*z̵s{\W%LFJȃxq ;wަ5`j (vAM𛢭2>(Ps3ǿ)ze !1W BuffAX05 bXfMd‹,efE`lvp56](4Ym3D'F[@j 9V!]h6/mrc/ϖ]moxfb1,\NFȀKiYG-L U#ܝMb⣍vT|;78s# A.` N @ $ Lo|Q\GoHI81hq肳W5 B9$-CH@BhhﻤoP=;8VZzwLT ox ]9PwF:Q,n{{{@GJMqȚP5]jXYU@=r ȴ3Z d$R7 NXyζWGmS6Z&U0 \2՞KLqP6e IΓP\LBI %@h$ ;Y3pm+?|*PZ jR= Y7&CIJ:7sZ&ǫZPtm:[w&!k'').]D'ZtVrk= .h81`އv:E{HpyFm E `A;_m`6AhXFQhp#x"15 ?6 Dc{øQBp9Ƞ~i_Gj8MZ@^|_!L̒C3Z= ),m8fpRX̝OjӔ(TX1]EdAUAbSXe@IDFiȐQӴ;QƄ `]]aOŸۅi @WuUMלL&%"uY%$Z=wT=Ģ %m X^-C6\C :}t9A@ G!H4DWՀ 7C1z2ڑ B7KG\8 9zh; /@=#0z:cMh1r4@D>UA=C&=*Z@mA -P` f[R7_}d Oi xXEyE@ aA$U*p El$7IҥE0PBSh YO`Iv iie J*1ʕFtre@`l# AWO^ ޝIbv-Q<1H4f=r @bN}NKh@>zA @0ĢPfq0H p"IB9l#;TCGA$o('zf gqnsKT>|A58dz0 HxgyRK{G"$njgo."rp2g,DYDYt~ X\Ŧ@(đJX $WISѠِLK Kv^4eU$]l&c%PeU0ydb! A 7)e%iQX8!;Q9%!XpH)SSa ʔ qHp]Lpi["WdA% t@vF&)!)fri:!"fJ&eN-()tU &iTlڦ&F+MDG$ȂpGADZ ă8A̋ A,g(g;@Dp;jAph Ğr}ȆA*}+ N\H (4lr0(,AOe9 tdϖdE~Im~(b*a^fhe(\B!YT8N PZ چUZdMi,YDF]M׬e*iY.К!l deB't%X W(JfTcijbbvfr Dh@ff2K˷IlRCEZ=dM_T<VSS ͬZEpdo̩[35 7i/g `)lU]Z.}9wh0њWV* ԗIB'01p;;0d p#tBx "+v|2 D=Q)6AhD$9` DJKzh:p!!SSM-BHs ICH;]DPtKorH>)oTsTbƭkArj(`XTؒh59W/War]mE55%̌%-^]ؑZLd>eP2 d2Ph<vg`_X;| ms 0@C>܃v)sC7&1",otC&bmNU%ftAE&%7{+G9nd:k>f_bcrAe D@&^ujԨ.va)fb(S0^E90  Ȏ6hM^Phs\~h]rp$0b x`xkQ %wpʯ?Buv4`w.74XLp7j& (i1^iym&OLwf~^ڟ>J5e1lYUgo a݄Sx<=mU$@h3)̀^ Sli{XZA A^.]Xrj=ʔYhͮ]֜;[oh=/xڴ+=GP%>2lG ^քXydL:܁5Ԟ@@kwמ;{Drٶ7GnC^ÿfC9G*1so;%_G6odKv\ d\ZlÅ:[zXi72)@$КHolɻUTH=-$ :VxpUI?;1vl.4;ˍt=+͹0.y$Zp{ϟˢ;y,>&Z[ ? :l`x[.U2 bGco Qhf+ʼnZ@ 4AcQ3f a+ S)X8;v`xJ S0CC;v犯Ԅf?[Iûq9@۷7u| ]8icF]mE. 6|(Ţpu8s4oL Css]Qv)s5hw&QuA}V DRi̙$XT oƕ;n]wrЋo_qoཅ'V 8KߒmqlN_釫PZ,`-P߮6$:[V)4,  F[ex>uB B(:mw،C|ޝEh!{C;܁ iBjS\,G9vL."_h]Q'PU41qd$d`h"iz";:g0ntXUrҹ}Vb3J$rq\rGQrWd .~q&bF=>u9 =xru 0 agb q/x1,)R\)S} Xr \ 1)\r&cߴ,2 &4ZOi~OdFhBq>20a~ũVHxJ_5-@,8Vg*$$:=fccW EM 7|.(N fPE]f}E+/ܱ4}8qq[P .^D^:A @INwSX%A n4! !jI7Ar>}>jU!J$6YěHUj :cZXIAy dAaRAف ~E3Z& (C e0L>XLDjArnp_thdUVC1f@QZŐcw϶QgʗO ZA(PZa IpFj]C̐<(Cmn'\zmP}ehK/C|DԄLe%`T]pR(nbMR/ڍR6Pdžh)PwPjjE! G҆99X'/0 ڵ1'~ʵ0.#"$u#Kض$ Q>v#xaS30}Ax 5e(F!HS-yIL"F4x,9S␴%7s^8፮6W`)oYuwғ`.Z~R:5%"Խ7u_b8;[%,Zn4u/\;&+XV$ A4 -x=ݎ1.Ʋgm̌ZȅM1v,68op:wCG_1E-p` %#87I[QIr (:n zH ;`H " ;Y prc `.#]s0Cq l4]toJb 8[}z=uH"帤H )҃ /bn {f0^3r ?ؐ` }R@b eK "A@˩$\eh%0ŪL8SSjզ7%Nv 5InDR%l\5kLLD@B(R&%.%S6S-OL$:\n+7Hz%c2e*CZkdM7)6d 7 `V@ J~B㨅jfBz:@*J4r7͐dznpD>$ځ|AdG40h"H6!ja <#& - '`4M"\ ʁI*EB H$qP#7?1arQ""B-hBhE0ҬJ-D`R`le 0+`@wϢ~8ax!  E$ܸ))cƍ' cR:&$D)x {.D3~pBcc^ Gp \Ґ@Z|@I+s+pgs,s3P9` !iA A 0YYH5d/C(6E26ys/p-zS/a386qs%(8gSm HI D@ &G4I}5_yA/`I/h=t 0$0茨젮HR288Gj?9A'7C9@ٞ FbZ5BsBB3t6B9@0)\ 4nT!!S\+"FSX \ =SY~5"X¦ED8 [sԊJNj؈8J͋BsYʵ]9ŘC \YKjЕ?$r_Ѫ0޵ӋvBMxdl<#?GC󽢧c,]) &Z;VJ2޸^Fda  R KL[m\if6s;DΡU>( UP%Cr0P8,h'B 4+yQ56zVr42 Tn8SGU:SVeoVUEVCpVgB:TD8IW%B $`XtXsw r/@/ UwB  Jǘ Mz[nYl6^_Lp"D/CuAG)y!SE6Elz)`9z@zMwmsZ:H  n-#Iw>ca/(.ԍ~4CBe& Σ߆ݾkk` fi-I7ាI?–cdCc|f83HW*J|:l0 Vs8n'oV8qU wuq9wS!08"$Y p8@ЀݱtvPYYDy SY }|Bl4Yʋn. 8@N CV nX$Ao a$FY"AvѢo*FpUYma^9/a~6 dç3605FPOـi8^ `crJ`*&;ɛbEf`.@;I;r^ABH8 6;b 7cVc5̩ԧ)$wxH&6 Tux0Swpo8qبT3勓:[ڌ:/zns!@/J y1.k xEw,ϘU/r c9"8qu͚1\/Q98 B9OW ȁZ8Q@QCa"ơA4q%bA1QDUID3{(N'A꣸ǚ:ɅkacIuCkyB/)02`6/B9ꇟxNBP6< h\UCS~@@{8r1l 0:6 ?+ppɘWpśWU6g|oUcX)9wv@\6VW"@Lpq}؉$M<dnֽ/]'z>X6z~jeWԉ-P[Ggm"@ ͻ2am> [p#1,1D vڡEZ QY<_vq?Gb A TPa  *;أ>|+ofN G8ܛۘ ۂWQ"@mX2a[kaDqB!+]yģFzHc71;͒"j3R<¼N~=4~=XbIq kcP4fqȝpEe1 up {h<~}znnS:!&ۖ[(1dWBia0wOz$wZwΒwM= } T0H+ZAQ ! d"EP|Ge3yP zT*X2ǶVYAOٯ)BQ3HmÑb|nZxR;.r.bs _!pv&Fym~&-&uǡ FAav ;XF  0oؙ:憋W 6GX6X q$X , 3ZFBf##PK,Xí 6ЮE.99vPOrWdk|iR$ NATMW4q"ڄVZ,ôy>.)X`( cG;zщ*q¸4~ً 5qms"1jt2Gt! 8"kX ulcy6Ё1paLҎ~tEESJç7ҡt }(DAQ(6Ρ 7c5)WEzuidm' A'cevG0:L0cէիY}hD :*#U`+Yi1o,W7 kKc*QZ-LXғtXH#kɾI!/[h6sxh| aIX,BaGAhMP^␐P$xBF64`a4?\;OȤF&(`Z/-AOa@b9! x,8; >Qk45_ 80 xd0 cLh/p.kF AНq`: saF0 mp.s k!7T4F puHa۠F0ApذvFfHKҖ*UIW2c.i= QCьv4 e֡އ\;CW53JWh / $pvhTlfZjO[}%l@2|&V[z׽F*6l Ay7{|x7AЕILZ泟q ;ϡO^lQoԚq>8 ,4 &釞g}-.3ǃ1TI>#RԈdoᒃ$N&EI밂ҐY|%SpCX`U lWg[TbSh@q$` 1m,k9߀elcrW>LcUvǔ{9A  x{K q츃eΌk6: oPspkտe⿡^{"_3mՑѦ$A }W&"FtPԖF{pGn&~j}}l ~53~<5 $qA@ǀ|{T||"p||~H|W/BHaRfdsA=3'I`sb`lxAR$VCb8!F AFT#yOw(("dvtg` xzcGwbd-(6Oa`UPB`LF+GV`MH0a0L |!yBƋy#2h$ز7B-Gz@eDP \ f9(H_UHDx/_P 0p/dF@VP:QXu"pZRpfl|tX:$ DXY&E7jfa@`@!iTzԶ(&ͦ$c0:  @|8sP cDGy/aDxftE|5'c PfQ^> EEy%(7G1nc8#EI_Xv!_Xu``vR@7Csd72v bBVPA4M"a0c^aa%(dM(PLMk47M)*dA)I4c3(D4CVtu-%-h3D'P p%{ p P` @@0*J0Mju Paz P>EwpZjW{Py Qyf"6E `hnaEq4HB 3$#Y9Z- . :qvv0d*M82Mz^ʏb[:s Z.jy*ikٖZџq1:syin_";ߥ]jbY1 5Q#JUg("#_Q5_)m7tMӝ2NOJ$A_ T!`a5B !>bAYM;PPSKPx&Ԝ'(y24Bƨ>(q $Bn5O .P1aH.p2Xv\QxfcV6+6 ԰H:]'; XMY{*˲pHNp))*[1D%EUHM#=KRat3;|Gzx Tm8դy9ѲQmA{F@.x? EuDA@f!}5}of#}c61[1u׷0|T/;a0YK4 ~tP1usaj+/7(+B&u+D(3! :X5t_qr6wquzps)$$rQ$`!MT?JbqЫVM Q*I4ށa1"'&7vu(;pApȀ Y YD7@n &W =LȠ50dPPp} y@zZ1@hn`09( n@jB@앗q^\\`}n0jL;4l8cL^gS\ŋW$>B5xщO(AH04v>bbLN5o=N` QBJPcڙ[L?@;zGUaM*Kܮ{^Ӻ!E(x.J2zCC/J󋟤8?;CoF eP ~N<N!jomlbl?ǎm-@ ɽ>RW~wh?̡_OL[-3(1_p3+yu[2C/c+v8(K)!I׺_x ; -{i0AMh04KD4:n@B+cBT@XL)cLF  #XA .C9\0)&\mVZZd8D)SX˗ aŒ4s6T$O;Jp%Ϙ2.5CHeZUYpRÖUhNb}EXͩf{v´Vʝ6 &,p *T@laǐ%Kn qĊ+K`d/YA(DokرeHXX][`H@0~رϵYӞ\7s +>4ňF䔋aZ :_}%+R$0\ Ha4.Xa (33n02Plp0,@*ʛl14TqEɈhnBjF撈"-,[zHX!Ȟڢ+K 2*/)iĪȅK0Sɱ2LtSK4$0 /T.1ʖ3)DD /@#qQFUDm` 5Xec1E,@쐳@+"78,Bζ ܃5:P9TBu?AS4P"`&B $Qnmm=.Cj>0?^80"\[T I4X- w_0 2""^*.jʡTkʢ4ح4m)3X̃7xފ?ydlkL[L V7¥l;0OO=[^ezN)b30~ 0PV'ڶ RHblK$;+^ŖWi99Ŋ;uX]n/9e%ZR Pظٌ;26ݟi>m+}:%]gHV`2D8ˆ0 a k?xgy'JjsCxt}{>5c"mYƍļtza 8`0c>\]_ՙUyML-$m9i:uB6XG{d 4Zl$%$@OlXQXV?NDHVtD@ҁ{! Y :%J<,eaQ$&0"Ld;wxvԠ*w8 I-<KI"BI~gL L ~EH5ϴh)E<Q2,V %y<Eʖ-c8=˛ԃ-tr !ʬAJ35rC%*@ 'ICERQt09kM Ed$Ƙ,RT *n+B2щN\"YֈFI`40 xWZX:1ct4r3AzAbP@6؇S#31`E 8l01*n`GSZu{\Rr-gHҦ g{MTčgnxJ"th}2#` *r땄|`ADUiҙ0JD6[Lp][aP+h 5\z])9c& RA +cFfꙭ!1:gjUT 2Tq@VVDIXfЕ `@ d`)! S99E uMq>)CQӝf7Z$("Nm;adB$ep[cZ @Aa?= }`s-i)|<pHc q"1jta.P y&Aix#l79 shC̖F8A z "\nvh$$' h\ (EL hA鸆T'^qhuC 1tww͍q{5qY8CG G>vuxD'XvI=&?6.gΠ 5itiHXAgVބ*bY'*jS @I@[FV[$lA3K=Vf@궷t:Q gx2얄tF\ui謓Au?T5!ёB5ߑ6`TG>^zHϦ>;k((|a{p "HQAA:a "7mh*A`2eKlv;0zۇ6`m :p*jzn<D؇lD);nH}o7иh B`t(782A}pkAj8q@$@D}A28|4106أ4t}gmç!p^Y VQ]XT) ;(;0-B0@7كp(7y#훒fa;A(vP؂y؂"kt؁.87 Dd/, X(493VTk=%#/b3 Z2!$=iRfm.ȂL pgw g|Ї{@u^\pgwLH7qH c+,X6Hp J$tII'qq^6;QG|&<*.0 l(qWs=<kX6 uІ=D r l@)j ntX<s=s-?҆uYn@lpD(uQ'B}Il08o{s!~:/7󕥒=-wh40ؾmȜ)\JN I[EH>>ni^[XpOazбCݍU&> Ca[ve\N\M_i]紛cpݔ;S+a1Jk\hK&LoLapm}WCuM g# m-5@c CR%eX+ Py(י7@:.&RD PB NRf? 0/X1oȡ8:m #q iR#(e1t{g*щ'iǤv֕̈vf=ʧ$mך:~oN^Y0*>У@(ңA ]t(ԨRR]iS&ּׂgN}rK,״i GXjE.ہhݾ}zׯݽMzt I &S^\y˚+g3Дc,4ԪWF+`5ܔm{" ETPRnͼOW` Am+4W|4jX$ю//8^Bx'o #H'_jF]z YnI8!kUYU[HaI'У> -)ޢ ?N@.@_c#|>@d:=# RP>w3OȀrQI wCJ"ΤP rpZ Ȓ@ 6}\;8G!@:H+AxCqȆ .9遆<$E2|$AP^K!z]i6i (>N'ugJ{B %wI|g &,S}ʹ@1i`Yb0`Ւ`ʩ`-d2zȇ=! HhZT r@Hԩ).М؄O/z@@trhLґU+[}_Vڞۙs)]j/F'6 - `=c*<1n"gZ)OzҚ.&ikʃ 8@LBU@ ֛ 4er@FD&pA"xЧ0j T %B*,l8٪؀ bA} dlI5VrQXLCXNvin\JV_]ŴR=&PaUTL3 r$'] oʃ^"W֦+x^x+OrT 4o EkZq?/XOU'ugJ"2%M0rqZHPTV0tPϦXTRlcJzcN'8/$u pP[`OD ^|N 8bH4Q13w)="Lyb%ЪBty٥Js]z00ujY@YV!stghH,7QYF7ps) cZ&XsEYTbfۖŶ2ЀBC&H/DAK;^@;O~xdRAœ)nP\ ÇibӮϲuMT5sWhH/WlH'F8HHVpdZ >o&=jOWWu5D(!\\PvmyO?Gp gS7Q'QmkZ#`fmP8BТ8TwG[1+g Cq\Y VF * )s!2C1]~X 5`\!;h#טQ Q.%БpH8>`rxÍձ= !NE<$E.Ø>鑙O _C!9Ԅ"hC4h p@1c2@558ּErC !Cl5ALC9#:D!H3"2:,CF3/04pC7 @B4`C6@*@0 cM~ZȅdrMϟ'9AL  u$AAuF] G}R(JKNױḌqT U˳p%bqHRbVdA! taҡYV݌]ea!hT'P[yE (QT``]V-*(E/pBgF>gR=!t: @Цmn>XCĀ4`5p؄8'tV ;lofn>hC!moz'l&ƕp!pÜt:yvgG>Aūh%$XN6RH5VdT O*kT,]Fdh-Uu(RUץu8<>z=Lzm`(Py 5Yj@<[&tB'\% h"Z Թu T )\@Q@A 8 iT\hm&/Ř *֢.pgvf f'DtC`QTJD PjlT8C6x;VH4!,#TLF *;8j EN p!hQ@4pZjGhQj | >+;±2E$EQR<ry+)fMM, X 'Y4Oεhf(uhh׭mǩ6PJ6ӱPdu”l WކHaVAC;C'D) `2>ҹEee^$©i%Be^[j*j j)"DkGܪJQDN<֚c@DH/.A Q0C$ūn+BjbĤ C$IM>MHp@Y-ڪߎQR-RT $h@J&!ʱqT}%u HX\Ɛh+Ul8@4O RRo!j8| n,zF otvlJbSFPIB',1l;;0dܕPo "^QP0Yp&iD bn&nu&R Qd"ZERmPVR|Cw-D<Đ4$R0QHҥa OIZKh"6 B!pɘr@ PH 𘬰YHnpUZDRMI )FT*Sr% @59@m0B@ȺS)y.ghnSNo C H!hɦC>܃;Z[VEnrHo0"Tٻq@ $YxMV(m"/*80R PR$Np3M0@ LM\MlM|ͷ 7{ ưMD@37,q а0 5d7'2CqG\;-'d,~> K-Ōq:IMKԫWqZzDKpiJyS (!qú.FRO I>l<C/`r?rA8^J a]YY}u 0enm`硞.h띦3|^1 DުaQ׀  QA/QA8oE6܁1E۶QQR9,`RTH8pC"> ف: aC v`#(ErMQyn7 Oh\q|nx)GT]Gfle@i(PKo&갇s˻N767Zt\b=x; RȡOST ̙U>\u^إ^TvOldx@9@DA*0Sԙs]E@ۡ\&b? Z&!$VB$}+CkWMLtܵ(,Ax-v!е]]+GNy ƨ{ ȷr/ڜOi.Zv/R;1R/5./XTȟ8\5\\oQga/-t\s%%Cf]zkxsox$XiwV1w-on)f8OJǴyML.MĞ\w0K( tDFxƒOy jņ0=C;vo&HU*4_b%5EU`_m_}4O^ `F9p7TAP{N8(z}sr \_г:۫:fbʮC}Jw+D+EyR6F[ګ GwupUP%'@4tp%8UUQcw0 ƶK}{Ɠ򞹏~ %0 /;=CbC $GEYG4C5^c6nc7~c8c9c:D;28J B*$CF#6%E#>¶M~ϧ}S8$tܔ_F疽v}>8նD" 4x@% qJ ThH &*`b 4ȱb*08H$JYC$^2Y M5zQX )(XtA*;*jIF%{(' . 2[DE{IE,p` 6Cbŋ9dDl0_ܽO߽w6uք fL7;b bGsoZ=ܤcqw8@/kaV0q(/!nH#7۾ڰe))d.V,\014i@I7NC iMo҄*Wd(!ހr9FȠo,"ސ mTT_T.bȆ BS%9tdG9֞qxpC z q> 0XA a 8l*+yp?v3 Ѱ#{Hٞ߼GѬaN۞Ѻx-2*e ۃx[h4@%`9պ`86btr6qnnHD!QhxCO-QqX:!Y4D4X7RX+ 㿈(G6ќ #B ɞ_g>SxpHc ^N8$U(La7;c,pxA4Tp[ ua ox5l-RwF:a:hBC.]Ti_lf8 3Fw3-mR]׿8xi GaYv4L!tT$( c'&ъpp/}[ՌbI1y5dЅCI-d3@FeA$v1ꌌX" u?YT>Wzס^K cg}Qz\Aan v ~6`DcR}vn8/k!ACc;ώϏ;<}K }[KϠvg}0lB&z(n"),b :p)!>b&$i#IGH)ʄ`3*DlDC%Cv8@2AS6A A鄡t(U C 0n1r d(؎@LECpa 9=# 4HgA=Lcq=T;c|8c=l5BCZ|j\e ϰN%k:% P Y]l L>D |'v`h+0Xe[\ŌX6H_'TztNYErX؁hV-op~.XE<0R+ѭ9\)qx|౞-0pI^_Q2u O(+2$3G-BKDDeJ$~B%I4*4"'.v$5߱7,+*BG{!0pH"n"O2#?;7R$3<0%P'0 e4r&7&.0>O)e |(r&uTGY~r,r\GTrEBsFA#TA[L$OqA]D.[4p tn@OkC]A!> s\)1m 1!SO(8eI2Ф2)4eN7Ggp3$eBNEEYj|T$Ht>吂"KٔND03zs 5`@ APU ;I 0;n>s  ݳ m@8 < UUuZ5]f`)AȈ0($[4>4(; Y ɍ644 ,@X㇄un ZaYG]!A c8upIUQO3`*@ P$Ƀ8KK7i2乬vD&ث)t$~"5ߴ6~c?֙d&O)t 30&0`2Su( %5$1R&?U US/Uj%<' OkvTTV1D@ Ѐml,pU]Jh rJXʥHo0HcAA !YEsB tj*5pԊoꨘCv`t 'Wo[F p>M C_;$`hVy[p5q0f"*JN1{{eݱaG( P `B$7NWcMf3{fvlv ;O g$j5Qi='##=9i SSkvv,jUAL cЇ▰rnŲ0/Ƞ̔rIln A  ʁDEmȁrjʪʔu?K˸ln,v*m tg!cK,^nW0n8wGC@uwha_+hy~wD:s{)dn$eNiABavKQc/vf//'{.Dn,zs;YApIISlV 3:. u4@ <3r#FR>pSـxsQ;1 gvS8A)ܖ03 AE븹^_ ᙞA(],H"Dbeggsā, zB Z 'd,(~ ~aWCPgIS rrځb:ߥ<0rZkT RkyڒZ݌?ՙIb4sgv7B 9+ pDND Fb)dI4`+`I gbYP8-INu{WP&"%$TR:᥉.e2Po%;;c<}fTx͖)ªg{ypbyE`zV`J6*4y&d}3J27H6Ԡg8Zp %#jc aZ-F9&]zۿۨ߹Ѷiy-ۗ0?b[t6&i#),4y)ޔfgAc3p37S_KoΒxn$/nR64]#Ȣ0 FϹv'>Dȧʫܒj\y#j|QY /.;dd=)x`c&z!~,)kTdΗB$ue ˃Ri: .#.amh0Vi9@v@ j0 wP]vLY\key*O;3-[B$Bx} aM(>(y&N]BsNnΰ)K|N)[R^am4:>p\X?r(c/T0=x=X^?`Б+P^T6.\f,Ii”#}Abʇ۱_y$pQ lXH.ڡt}St0--ٖx$-~ڪMMӞb~La U |!!}TZEXmj5۵m mc ېl:\ CƭC) @Ơ`!Sv&dw~__ff8y+Q9P$DKzf{ߋyY6͝Q.1hu]&#c2,{7%n @oOXԏoo ArJ( #bL};I{sG[}"YSڹ7"Y vdƐa8E;~xɔ+[ld0{ :ѤK> zgզyMqؘY; tW@2Y? ێG׽x簧'Zq͒ذa{g>N/ .!K,DEo:aCUxa$)N1@sEtM|9Q(h:EE.EpS9d"ڴN&$";!F":oXJbaeQq';_ :q!H d[ANe-h^JyYj|NF[e7jjƝ{Ro[dpA&:kW{+ ƫڪz٪jQǞf6v-}W0>;ಉ& * J&iF_U K E5㌓JdNRHs6X]QE ?q AC AD3e[>H0{s3[TC%Ny aȳGqr{<礖&J.|!@ X nrUmai 7aox=uovwk:wqfn᤹f&x2VjkViu[N췹֛JW+nZ-YE>y]oۥFxn}F\/=b r˂bMruQ%RuO~*6@JKeHco>XWAO޻d:#I! 9;0}, AJʀA N $ 3dEo+]Zg eZe|N솼NiS &oߎHE-Wdr9ndddhU4x+c^c.A sT茳۰qv!]cʏRV2p4\"{Hx{D oû=⅏v(_e~H\p'lgB mP !K)@ `#"`e/kp4:|A W "3e\ҿ}`G ѠS擦X50 El7qXA\llZ'APW(ҖIYKE9QIy0#b* [Q6 8)vɰNjN%{ʜcxl5J/ w1hʺE2EPz^IXg4V%<Q[SZ>q}B0~ \{q@ nMbDxnD:V%q7 42A`lp,]lcѥЎ'ʁ 7󚒲F6oD"GÃ1ù݇q\*!ڀV钉}].6A<4$e1&]$?Rkq z:Iܶ&O,%5YZSҔn}pSRR -@f7 WNM[18q#X8^qvB#i^gYmLչo Lh5jGÛ G>zz󲇙Ae`oA"FˎsXc u"ql8x3.]E܁n" @`mȀr2  7?3ꀧ<þ9 /}Hoȝ\ rJkљczcsq8ϹLk?wqta"8<?x "Fl@EAS<1(%1)` tLp2m 2ÛN|wI}ouz87Sxtoby,cl%URrq)wT S{sʢ:9ցr${9w p C( p |F؆o`UD/E(u  ,f!~;A~5ax)7bL8}'pa W}٦`o H}oVXoȄ pbaqS6z-֢6hwQ!-:Ur,쑉{UV;ȃF uJGt+|؄Na|}2,QGgn`j8ah}MdVRz׋xRR،M(W5Qtxba2抩׎"{xeg598*.ztc-8H1-qz iZ`|OĀO&Uב,%WRxv(fX՗v' tuׇ(^D459;9XFg19ɒ:T8%;0"{Qcg43-!,MǍ:1{Y|*MLҊ :+@ z5:qwLK+K!Tr u@؀Nk6"(Wu܂,Ȭ:iFYqc#͚Q`>Kт(H*XFɳspP C=%3RYܴj}.M )<4\*jQQ? pĒ") Q0oýV) J) NIj(pXV,łNJrq^xl ޽f;ӯ`ODkR49AA>$&f.('6CsPn=-rُ̡]d+ {RIV+,¡a~[*+H9ᚴXzۊ<b B ŝ/.\H P|6Brg{y@Uހ[>h YnB_@ \Ԑ1ya阞O'|лm |  CNXqɊĺM}mS!-^Lp ew, wAwVnqԪ0Cњ)uH9P?sݖ3wJ Sݘ(L޾WcF¹˸A!v>`NA U{: :Hfڋ$ErZ30-4*痐r@0|=a"?@P!Ta?U>BQ mpY]b} ! t7/|qێ`N+;ϺRm?R_!rw"')دaU  B;\agg}f(Hݎ}/ӈѠE$fE }+ tQ̕ lęSN=}TPE,R'Mo2@*TSdpUEvZD,؜ ƒ$ *mQ:+|yvT &X WPkYqq5T 2l2"D<9LҥMF, ˘w&ޚpA2$i:];{sXC{Ɖ ] Zۻî>;D;^tdO=$@@`*>Ha9P! Rا TP!mh^D]F ^x@D1  _hTE Z# R JAJa&^`I+|I+_ r#JɗH JG|1M$L) J,,r-S؃JfB,IHAﴓhG7.:@i 2:j}ID0R[DhD3@HB/gl.Ҥm9ASYv !Ć Ѧ#m5Kg@XKPd2hR(c*4T0C@?J^t{pC?xd 9Xq+;Iۣ)y' r+rJ$WŠJH߳UYJ}ѻI|rWH ) &g|J +7FbgpFÍA:f}b2ܐG]Ȉ)^ ?HcՕPV\O@ZTeH X%(1 hE/΂f p(mᠷ 0 P8zP\ Pž<+3i (VU #\pmawb7-nԄ8HQ0H"ȝ";5Ph\T) itd wcG(qm icS2#Q.~q=X b$vdbV!'k"Lv`0`DCÉxFH&b.bp:7>)P^td I(DL=/C&D9)kjr]Gl͎4i'-H81Bu+0)MbJ@+  ) 6 j@GCA>vA: l%0piLej"x` bʹ'M. :(x]z0KOk/kE_8"Z+[C-ʶ3V-++f$ !/0|7&(E-5oȨ<ⳎyaXvDeF#@݇l jpdwP}cTl @E/HA,hE)}Hֺ[Q5,\&LVMU82(^ V"_]lE K\ hUݖjMܵn ΂|L-uE>`DzsR9|*?6E^ Y6u0c*)BX(l0PBٵBqa0(P,l)ffXX[ -tb>A!.p!ZdA&8~9cEH2o@D9ԑht#dЃ7oH vFʛonpmp hA31LZv E]W-Tr,~ZpTS>vMkZ~JN+c$! *+^SMsecE(vrZ8N8cZ8[ e@XT[VYC\Ň0u܁#Xbh=2 p4hy6Eh J~rĖ7Db57ԡ玑5Cm2y!vpB u7@}4Wr(G6p{\@udkUvnx_e^y}kZMuv~w~5+XK ^jU/\oV%' `g B Ye cXRywyVHe,=[bzPKg؝_Znz Ѓɇ=! HhnxxDn }T@0Qx=.>o_ǟ@?? @K;$ Sk6tBS  "=׻`@ r@*C@K 0HلstZ >!Ӯ?T\[  E <#!<$d-./ 0 4âXAȽ3}=[ѻ*: a8 nC !DT :\88\B", L\cDaȅ[4 /TD ¶l؇uNjK0R]^_1taƱ"c@HDE * T~{8` 3jļC(Ak$àRD-L[ +EI ,/`G#?SB`]Gyhl4QH4 =HH mm0 ȄsHȊȎHAƓ̶q C> [pƹ00jIt9l{Y)RԀ0-dJ-0 b$}|;K"6?VT/8==,A<@:H2Ȉgyx??0” 1Ĝ<̙PLy1DɄ̃KH ͼL4Ia) 7DFӕ74FZI +7FnMmc, #8z JD0%BpN_C[-:Ձ+6P?. gPHNTL*6}xޝp8}*f v D*- ^@ @$x>>%BJN_bvxLpJPeR;;Rñ0 0;Xԃ5!Yy-W̼U=`n_.UہNTac>dTa>/_^4n 64Hd7. rTv.x-HVI%DPҸi%LFgTcugNuQHFh #dy!ؠXU9NIرg]h̠Rq MZ>}崼KR\ˁ9-pP_-!4La6fVjYUmUUUyivjjkVD`egߕS& j>ȼfjWہgE= ƽuk_ubkTL3߄ @h 1hv4|qtƛ!+KM~kOBQHE{e<0)1؇%-T\NO0Uu5y 6Ph. n6փn2m}vn.k/f NPņ0oU8]N^ +X nbMPl ̶oI=0 ࣪ԮuÕ1c?Ghod7#?rkv߶(2(g}x5bp"'O2mϲpGs0n>߮W<股2@$yjo>eUr-H\I]TyyU̗˘ ZX!l!T߇XIXzz|yzְWiˁo}@tcp fv!n{!{`s\B6m qp C =;|&|ywxv {h^@N0pCj;ІtPpj*=@<i q/rh9uه7tH~}ڷh}G~g~K}-_x Y'p 8 , >lpC/.h"B$8ZLQȃAQcFCH+yZkqVuɖnU XM dIjks;ض&~!C ]ƥn)~R_ z ;w >\OFᱎjC鬵lokyӆ<ꨢ+HӉ5¨#4x1#M,ʸm;[.;ӝqyVTO\QULq[eY\_Ve&s^yq&01seU\'6;>2i($@@ t G't BMՌ3N6I!9"aHGKa>tOSuc>]Nj+]6,_XId5rhx, YC9AXm,c7IZ*9_(a\!zKiVSqaeZ@%x9]AѴe $ T!:eHd @iAa}hӞCaX A,89<8)Z18}jX*@XcCN\r,Օ D0)?Bd[e95ɓ ̻Xxvm0LFD&j3#0j1 9v&w5]Ox5wQ!TqAuXdpli/BBDvԌb 5  a+ 8s:!thC9 !G5p c:" oLw:i0ѓ^^k]'C ox60url"nwU)2 o,lMhuN.0Ll8텑t`n#?D#<p5G8`|S>~&qg a?pCZ-4 h*/ aW\ ;g1B;YD 4pC7 >; @C8I`= u,@4F y`CkU" "BX6؁p%BD9\݋yE`Yԉ_PSELec0^!O]a`뵞h%`:Q- ⦆\MY"aHa=(ELlڦ DفHڦ%\-\AF1/CSE>Se'/A )"*BAlUQ9C7LH=K+"d~`(:BT , -F B7  xa0E`YVXa$_,ՒLJ#[4хTu4aBBAU \C,P^8ab Fء AADIҁ#B<$ZIXS%/L4S>@\OO Bl 8BЁ< B  M#;dRSrVNCRner!RJUB#VԈVցpVy6n#|? V-(-ř ̣Z#XI0faB^.YcܒȐ6F8g&O!Bd@ `%lĞDLȟ-šE"no]G&oHhwXAr #@DX\%$B_$Q@Px %m8 VRSRBop|gXzg q@'~~'Ahe! ܹe Ƈ$aD4! a^RDS,&Yp&>Fd\VFcRd*ezfP#$f dA& tf`]^EKա9 'Ձh!©:geHSOK.Dvu@ݟ)*BrW-4!hC'1|D$!Mg(Jol r*M!B6ZT-n߆4e]`ސ~ES(4%`5b浨jId(zcV^갅;~[()g8 a0bI, e.i-5l dfB't%XBÑ餺v!%bin䙢@A!j Xh#vl t]"Odꂽ6>T¡lլL]5d7rz&eK6@"< B6X\׮, {2BML9 BxqҪN`LkdEzF0ALBL !.]:Q0ِeZźZbf,"AC;jtBj*=܊! DT n$f.М]'%ܮ\SqO"!bo%UAF8pC"ъ5@n,:h6EW96 /=IA57@:Gooo~h:pfȉpm)ʒd% i^h+#N^eS hZ(pNdL 7 p_ΑSl.XaYt?RIB'.1n;C C& $jpo(q&!Fuzd~M$fKɁQHf$KJ& RF]oΦ#gr 0:N^YƲ^hXFTXlZ /}d4]>IJT@Ap ǫ7Vӫd鞮C>Jr5G&,m: l2 Tql\Pю&C-V&8HZsOtareV'|#TrPdEl 2fEc AY[ @ܐ?Zl^.iRY@ߞwÚ̡c>EUyϏ0:XUuRog.d <ᰡ;3z*>;snzHD x5DdFPD\D5܅}rb[=2` X`^F/a]LHq\ T2#9c d2 tDƗTVxgt\zVh=; lIH!>{څSHpwQ[SN5C *T\O]gg]OR%eOfEZ`6)_oc3KGE-3Y4f4!]=V `r.4St0IrELUs1;1l.1;ZQ+ⅰZl '76K2sиuW[F8 ЌaC+45HLv İ{?̗,v]x d,g谎f }+@^ƺZ2b/а%Z8:~u0كlk'IR'!4G:\CM]V8P:A8H!5C ,:lCr6IHs|]ͪ4OxéCNLա)K8FtIv Ov{EU9JaICx  ?vL,X{Z_4\04V9wTjklmXl} GqGrP\\GvlGw|Gx>yzOD[5Hm` >AHwx@OmD'{STI>,K7'@T%QVI56W q[+PW 9vƲwW8`|c(_2dga?|K6ř}JkE?Q9޹)FMH k ʡX8 SK X <.J˩ԪʫĊ@z60>A~# $7b=fXaq؄dOtPNR+լ}Po:܁58HtG;-Yr8vo9v9@(P@d Txp‚E F,XE.ZHCb,RaI'QTAtf͆m:Id$Ɇ}S GU2QOBЗ =μ8U;lYgrP,Ξ>}s &Mpdv5! ;Ǐ5~8-6n\d!+E9mN!m`Ik9,iӨ}xfΞf%OV7Zϟss:\d At#֎AU,/^ݟX+}~1Z1Da@98p7/?)B"`I&8 !IQqBE )nF!H H[|ql((=$DDDZId)D$*JR1 L#*B,TˈK||ǝ^zDпpm8x vC \H' aj`lЃWj cFJuUOC5rUղ.ҰA鞣.N@ Adžm/0YIᣬĚC^tcusݱڇZȢ('[XG-iI;)D+ivfoq ޵yt‘f u}d gj(l2u쐎`SJf`f!W*zY,qP# -GtTkVlȖˮ0!xP"ԈEAB;(Ilk*2,/ #g]r0SI(m:4’N|.|ԯ41P-V8Sm0X#/^.x6TAA㉳A jvXB9NjݮϾuۃTS~X\מ}x{c9V,h#-Љlу A:6 q*! tR +=aQ9A^> ˁ,ظP:@y1@G\. s"Kz<㣇iQZ6C9%#Ze$g"S(m&nV`BXJLnJp9"/QqQ&C!P4kL}9=noU9 )sߒ ALC!Y nkӺE;q|%=ah -dCa5hj|cIVhw:Db57ԁňhrs,^"F9ȁ;0B=D8ԑ6,¶>+,v85,9ߚ,@RjՐ d[Ph\@aqإ.7,~c9uabT/AcNEu@8 E8a 2 dPKr òոjF rٔtT|`l=jEnW:6dF/2+뮩.Y#o^%Vpy)(HFJ1\%Oy%nλ'p/$r1%B`H6jY2^ =쁏|C€0:[fӡ`ӛ];][׭Vuc5Y5YhuKg-ݲU}!\XʃJ&4ig`ρunhvaiQ] 9:{ 0_ԁx(jyի+i v$!$+S`ǫeTX=Cc nmjG{/5r< )7G8oNM hGlSH@TWPq! rQ˺ d64 !cN Qn4)F-GoLIDQ01JY1=TioK2S!/(&+!Q&BzH^5 M"7-bJޤL &2+5PWMQMGmJB9S4`4uS0+K#apAϊU=GЎ"/h=Ţ=Y),HҢe r(RKj VÓ1MI3SKSu-5 ʓ!ғ ,s4+ b ,%, :$JۘzC* bist;Z3wBMBPR@`{RVc:NN @<,J4֪D &d@Li\e"RC `k@x| |-Ž<-bɅk5rXyMD"Й/ %OLT GyzM$*`9nIP"0ỻ=G]kWe:XZ):R "κ!z: .AlLPxv,䷀=d{@W:;;[ @",:CςAc?x%ܝC Bςޡ܉eEټ:8& #r-v='r8**s-5)uFb9D3+.YF GI<^X'|dPL'45]E[*N'⸱\YBz#nPR:}B},>ɽɳZ[8`[[ >-"wa9N[,dal gFhbc,vW&b&W<1l0Ⱦ,`~?8Faib,c4&5,>am&aFQc6E_i 5C~[r3MDPw3IKiKx`f$,4OC'K%<6Mޠ Nan]X?6?9x HB" Y@Ç,HbD3j (#&;60ᾗ0cʜIMrig]NH{µI5]cGݡԠі}.W˰cۃ.O8i]b7h;^Mݶ=/`CvL NoqW3H+N9]/ū_`Œ5O0aim s_r͝9##ȋ/A (7 ~ fvkx'kQ;4n7iol>R>yMhwoXaS Ld1v]Sd`{/7jOhCЄ5b!4䁇764ݗ~@(!0H5 Jf1y9JDxID"9D*Y 9A"9feb4("&J9j:AhɨEX褔)tyB4~v٩@- Ā(XC*p)Vak Y@dj 1 YB i Pz,h{Ey얇NF\0=cR $Fġ:q(MoL ?Fǟ 7q:R 5u1 ':8> /:QK'`c$j3 LrKLq*lQOo4\pvy! ]tK\wLIDLhfTִ3[Ąc1Wy7W9;Knhuo|EySz .{8;bf3 鸓n|=qo뗤z.gbdnʉ>vj$ ]^zABIi!Do(/P&$$!b՚@9ȁ +PR,Xȷ*~̒C,d# 2HAx-hLaC9kdI2Aa>qw_Ml="0;:toP#%qᙗ Cp`k½  /K$'=qؑc8IGt]Fd<xl2m/  F7KѲ-X{&]A4! ϸ)`ra}l.0v>_vkbn^ސLA”è Ŏل)jwMjjBֲ~M`[ǂМ ԑ|)@ Pݷ]Gk_2Ka"d/iշa g0 t|K6o"x7A`6` nn7 pPp ^5A M{  bdPPtA#X'`Gn0{ @y!y d U24=h1w0G!#FJ֐ vpFXHZ] ^"aY/aD8IbL`cu Uz(n=x={uSfev/*f2'@wx=c@yHfHFAWfWB Az((.Q+lUs-RCiӲi&ux=vdGAiBv|eeMy*QXp0Y %k`Qhmn P2gk~ ) p,.2(H y)/VNx`5q:A/R]z@&a`MYL7 Jdڰy Vh~8. @4 n 6mq" @pRP ЀV` A`ذH3an 1."YA I J0EC1d4`/aI0YH/uSXu->(*Ff+Q;QcHRTeA*:eЈfnex'v)e5&qfkUJ@JC''A1h؍XjeRubVvpe Ѡ^Ipp@@ k4 ģ>:lܰ}YPAP` ]piA)#N R9ڰzɗ~KQ:@nZ0 J`#Uc !J{`ph)5):P"`;2! 'pnɩ5O5d JxW"Adzdt( (ߣS(S=?>B {Z=tv,vgŨ, B)P:) ' CڪFЭج.@q:DJAZ _ ȐE@C ZwL_Ko%p2^aD"mytZ^Ô;)&k7;(-۳>-[zum&*.wxHKWtR8fHS"X[)'{ut2nCV)2y%x%Tcie?i** (ѯM+E` L + 0Ko0L2XEK;U{X7HP7-`{ț7ᬪ.8&˫![Qv&LS[F@&B#vDL'd{fJ$UԶuw Ш3yRlkwLU룻h ǐ P k{K_ҁ{^+,%k4:yu%8 - (gB&Dܫ&ElkH8uD'Xv38d.QY'(VvR}Q͈{hHu҉~>F+lZ` k+E§;˻*Ö13|gÜɠ=lu3W+U`kzfd[˪Qډz|LKY)\+@@ȼD*t-y.>?ՒKekD ȧ+@Ȑp(4/[LkJ&<ϢÙ |OIJ *u<`u|Э̶l̆Ht:o"Ӊf=2?6ˮ|Rܻ y &+IDP?@&$6mzܬ|`FpG`+x տKЖ/&K:~@ P j6'((9\#?uG*=Chrb@ݫ&\QK6)יr7WDR)- R]T` oC=D>=$s{,A}wYIΐpSml\]Otgoy6x-$@~`w }VcfƩxzmFSg#!ƴB&@WQWHMX-YCɔ́DG$ MDl&FtCJK, rݖ|ɭgpA+a_ C&!J)ȃ`ȂR)'rAt"K[!+0˹} \A3ˌ)4pX0t hMv1I3>Ջ}1فS(4Zx>tE}hcc,xey1SEmRYU!;^JZi"zuPN-M6F cGzM$S0b2a A !؁BDT6ihPf8OPv\Ú88v ia7цCC 5ꐇi 18S39&T7A OaBt@  -< ڃxa(p@M"ȁ%,50X8KKc F_\PfRcBނ]) +ҖH_*x+E%KAF}K#%.z<+J(锨T]hUNvSEI.,d1!L|Ip̜! vt;9Zђִ:ku=LqPsظFLі R0pd !q 9@ (> XPǨ8dMʺi *zT Yύ_qXFMXS+զe'W{_}U_!GD8bIe(euB<+Lt \a"KS@&$pw ..LŨ0:aP?$#GN|G6^Cv1R9AB)Iq\F|q~{f#f~@C:ònY?;ã wؽ/ fSuis;,q|yhUջ܋}qCk$ b2Z?j92D'vTgNJXjz `)KGR | n:. | >A#],L114iӬ}Ho7t'D@l,#r87@rP߂n2oX'7l`r0L$y7B=ȱ<<TA=Bj=-ى=9ÜHwN+Zb%}.Ė1oI S>Z뾻>ꃘ $P: 5:$|C:"B+=#И{ii ʸ=,iH\ 0HdȊtHa亦LCI83N-ͭAW%( IZ؂ g?xưiZlI<˸T l9 TS9KkC;p9S@ TATB-@E.:HuT!<0TMJȨrTdUrxTǸup itxU%B/SpjqA@UUVb}cWx U^}ICphE0 І$BTUV}|MMWBSvmWȯ(R+>NG*b1tad+MZѵ9H'56#uT -X-0 ӋY-Y=Y@/p/ǀ(@TǠAAMӌX8uHh= l@E;;hv2:Vj:L|Vh<o@HڥeEu 5֧UڭZxh&lM:lȆȰ[[hLjI=pW]\RrByxN8k(E/$T{҅G5φ-S@9:7-]HX2A?̀0#8# ]UY@!P;H[A($x$ڂp)x-} DІ%ܼ}ּX7p ݬ(

~917@g'VW^@\0(lꈜ`8)0VWM9{ יOӹ0 O+B]"6S]FߥDe\eAbALyM1^M7(~lȸvq +c(1gUclf&vsvlfn[, gYݶy6==fxN翕`cEnXXNR+u99m,t1JN+#95$b{̈]r }(h8mMa\Av ?<{R8%.c U} 2@Ss~Q%uDІE!} 2Pm؃<Yh(rk2_j nthnZ8$_&2Wr& brl,r. sv TKs3#uqo bkd7K" >W ̫a'aC$(ÕxVouWW0 tZǀq[/TӴ .5g`TYXv69L8݂\gƹoǨX k#v3*X]R_RBϧ@G/6Q7T=TX(x?x7J@E=lxuԕ|O} oIxdc_o*FLWhXbhpW C\@w{0A$X׵vFFK;HxzߺHf8^ 0y'T8M$`f9jP?={ Gi y ~XE (XW"HW%|1}t&"|_ǜEܨz/VJz>x_T+$0M}Z֖=ŽȒq7+ c>9=:Q] @; |l9tOQ.!`ɞJ͔^+(QT%+V "h"ƌ7r#Ȑ"G $ʔ*Wl%̘2g&Μ:w'РB-jt"ER)M"O*U@R `U:gR^\uӜJ^mmZ_YOZs.`V0ĈD1|!SxeW)_qAТG&@cWJPH20J{* LqQVZA‡/ʗ_<9%3SnzOrw|ټ]z,WD%^ܳ_ WjxG%GƟl  \EP)؁BV~ZfGEx!!8"%x")"-"18cC#9#=#A 9EyfVw֕߆=VRS7RsUN SE e$R\BդNMIaӂ%U\Zjd' Jל!)&Z(62 iVNjnF:*z***r:k>p+>P믐>{뱻l2>*HmbКZmmn;nv+. kZXFq~aE@&{>U ߒ)%=vT`ᤔVWnam;!n\fA<] )RsΊiDi?z/M;4Q{Z{nn\wb,^f;ъ6m-=v[Jt3||PSoIdR/% g!^wVS]'|e`jq␁]|]1CFPsLp Baao×:Ν =}H={=ՕZk}qnvw7i_KvOo믷K }s9pS"sd ,2EqdR<%Co} Ԧ ,!| xB<1Mn@3X\`c@PR0dR3)y<{^=I*TU$;! "(셏Qx.K[謼|sGxkؒuǴQ,`u7?^#IG1UL2BhrAaU ,DLi"rr|$Dia xM,$N$~L@q*' c%,@0D\-fr'j޼8X2V<'Y+mL맶y.o=3'."?2<% AXX& )&y;)B `JId)܃xi(Qa7\p1Qԥ+`Z𠥦$r&SZZ7=9/+еF H 4Wϼ6t=($WxS`п*\б4mv./NEPi2N&7> q-\غ.I9(KցsؿvKup9&r ǀ ѧGaA PrnW3UWt+zӫ޷R-U֊ʲoW:p_&Pfabfaֽ띘+{~d`_pl1zpmm &SEX)BSJK21j$v1~,qAn4Y"& Y4U}%Qe2,es>,|Bعi2Xdu"Ug-J͋Er0+ѳᖮqXZT:0N#,0IaViVg-n P8I" Pfx@({btFFt6Ua-YE ֶ^u[Ova@MѯTtOZ.ABZU2inL~0#J]X)FI:bD FCbO:X/7zZJ*uJ韐;} y[̾djT !x C!8dЅus9/t1 d|xƣ|@i2y%>e=;ΣϵI9Kpre7(u9-]@R&"c\Jp)~g'cz2g%{+Мp@71<3 wȉ2UP 7Ts8ys~] NK~<Fؗxlr~5?Uu>FᏪ;H#ew'EYRuDBU0=c*u)-i38ȩyY{f]Ԛs;)uL_V,Յ QdՂ OÀÕJ0@0őĕHK hHˑ h P|`JƊ WJJBJ  ]}F9MrAIrI5AGyظ陴Vk A5]}Vyt|tG۱|X"n_}]#2WQUDUXT `DZ1%Iq}U] \^x di-/-NBd 3`%.\ 6 2J\0 ,`-ͽ\B;-:<>- ؞#>^#?a$a=;<ң=^p$>d>*$c>BJJ f 0\<\!Tl!KB@ %@ LdLTh1N Q[^8~8݀YZɖ!iX TN؝JEnu(%^y|#̺e՝*[5t%F)˺MPar+JQ"-J!ܢQH7N}#L>dRfku#E-fi fn6Jf.J'JfcBlF؈М#>F=NmAlt"v>T'?>C)'?҂C yxZ34s.g{u 4)u6>Hʧy|FgPMCf,& B.>\^iJg>ʃB~JbT҃!dɺ u񡅥Eۃ^h A߃Klb*mfU۞T]gEHq_A%]NRaV]cҔNEDTN♩f1fdjj@ĹL>>$jgJRHFA;>@>']A$6|SH| *-Ъ\*dJ'>6ޞJQH\HlR@^iN3^+->@ʡEШEmG!ghݐ֊]NHq)㨔ĮTR+=_VpI[RA6NKQEqlٖmm^"ڡ!GXZ"xbQ$Q|"߽' ]V.5]f,g~-/>0h¢-rV,-/\>P#gnj-YDZk&re-꿮kH'r#t>xB3$GngJkx )n~rxkZnfn@Jr+--Hǝ/PD@7BR!ʭBrf nh%-Fyz(Ǧ–TLEᇀٿPiZȱk,RXfZơEJԝGeWn,^PқbJUPFe"cR<bIT~X>8ѬDjHp!oа ðkRcP00:1'/1719ɕR@  . <|1?>1> q:҂S<@}ʱC?rtq2.K1!/J$O2ä讯\삤f߂Dp'(1)+~IRj(U %P0}[FE,O vo)i}DSllͮҟ5!_>㥱W#.ɄA P_8&PT-^|0Od>", ʼ6͊lcf B ;t #qHtP01@E Kj04@EI_8J4KK4Ѳ&  ,bq-23@B "1uR'1\_'P7(tVSU+P+Q?W[EWPqX[1ZWy^u{uRuPC2/Hr`SY c?J(<@cO6>m2h# Ea4Ɍ/'3r A_)ErUv[YmH@[ LH@6qoWPiGUf@ 9҅1 %auӦ7O,&VR)s ?WA0b7@@@C?Lkj^(8 FG8k>!lV` 8 6@'D@$@!]?rZSqS;.^^u yn|QCPw5E`{2-闾>ꧾğ,S]PI}aFn_T_O17:rڏWE),V֓Jto bF1@bygfN@&p櫾?׿khjC:/բD .P"E$< #>DHB"F@ѠE Dŏ鱢I R8!"-ylb` sA ;}t)ԞCxuh[3|pA[ $"mZkٶuɳ"C{W$۶_&upbŋsrdɓ)W|sf͛9wthѣI6}ujիYvc j0svհłh՜^=Z|"N:v uuNYP:*uP<'ZS}ZQĘܔ)f0@ 3,Bb 5ܐ=ED0|m7fI 3I'$I:6)+hP$2 r=̓r6񰤏̢0䏭,04R͵ 8*h i,0g:4zP]//Mڸ뭣C)tiglMRcf&!mO$z٪VUx)! neYWJVt;n"N82kjrց>` +eZG?фOv׍DWmHR>h屫݈<|{qKKi9'=-Z՟SX]=yřjV]v2ň}"ԪU}w/ss6LEӷH7CQfu,>yRy:$U RεJQB,~\4UfB 7cصxaӆH9JbktxhY8-%"/{4h6*)WR? SkAle_{N@+HLU* kbMv:x#R4R7 y.q^@E$sF$A&H|& , \'M9t9$m1_JamCbSQس0x*sSY93NtT2T)sk_i@kT ZN0EGB?QU}*TLH;I*E{3qLBb3z"i *2ǧ1Q~MSQ:`):ݓ\[T[V^eVXˁ$UL]'%7$ B!% ^;\JZ.E1J>臃t˖`UJ.eA[`{4OӠ@3͌DR'Y(nK#2ƅ_բm\]vku_ҰS6"K tຒi4җ򓿄- OR("Y֧QtԆV.5iO" NL|??"Hr?XyEQBW'E(G;Ԣ'=̓2!# E= nlSدa^lS$=:]k6C8ɶ#uCgb'yp<%/FEt0@Bj;J3vWN9yz4Ҧg\ ]@uJF5G&8h*'0ʠYX'#X^K#Lݩ/2T~MF!phkAn S}gnemIRB"T}XAG͠k&) m*ChO#Mdth.9DO\%8)B*n$fDaO`D{p@)K\1kWӨuGhϭI.My.JK"n7{t$M/+V}̿idztS9sJRRgv9TL60z#R®@Z<}9GeT}.JBi<ŸI|{̠vK}NҖI@!, L H*\ȰÇ#JHŋ3jȱǏ CI$D+\ɲ˗0c\)pK+,²"DzDP"; ʴӧHwڜJի1jݺO8$8 LhfMΨF=J.QMII*/NR+^"&#KL˘3k̹g˃ Mثs&홳\J3Fm<~c-kE9Tª} mwE b|wK ݐAo<<~^Ͼ˟O~뗩7 [[01eyxlR`rs!ӄZE"Wu^^:xq8!mxq}<@)DD# n `E)V'6y~7KF#b%b_i]D vgT HY8`.Z$((ciT䡈&袌6NAvЎATD e TAZکB. %O~:d[**)b :*lRZAdmPƪbJlBІJD^j +koC^EKP je;̾j!1|jK;7{İù>멺 ѭ  YsFBܱ7kQm,Ј{H'Lcϻ>ѾTܫ+֥+7SR"mF6!k,B+W 0*GKϐ¬ ~dƊ˯vk4'sEKg易k3ƣm*)M2c 4EmVs64{Ȣ?TrJ7;Ў. %~1ܭJ#{_BwuΖG; ~nc#Gz&ھi;[6jULAMunL&({;X&g fK'ڒ۔Э.D}qU)7,Ao)ذ}ˡw~$Si`["ސz:=/PެLD}pGY^5%L;Z .mZ^# BB3Y3[XE?{l5L"=!a@(E' *| ~nYADMQ!D+ryLYr3 zcC"7"-%ɜGf ݨ@8GdO{ 2ضEM5Ez g4+Jw0 agdķ^\% B NPi{Kdi#9Mu(-Ie"p DA*qd7[mi〈LgJSSRCd#:1DrVB2䰂զ9d"vJ̟7 I83]3P>gHQIXIYYa}b*KpB)1&]D-%,I,Rj:]f5 !96ؚz GvJT`,h:8EYJܤlD-} ̠.u' @J3E׭7Tpl[Ol M~[6xʓQ_w\`9IV!ÕY#e72oWx7ttUTD y# "_GUY4$RiX6Qd,It&JȨ!>IuVaσS8*09n*y.Da1BK&S(8@Zx de"]!~ӇfpLw }#ӀdR.2$&&kW`M[(Tr͎bTp.F`nWu'[L-%!? +^zEz/'΄T`k膤!-Vҹ 21{+ka[f5輏 ߺX+lA#bI;V5={·?hHEl)d/DFcBQlrn7d A^vOSd2eE"(!(mj>It;{,FaٟY@ЗɍQ=lD!nHEϰ}ܬ ˱vݬ;V'}Cu(iWV%jɃRS`ŏ)BºJDxJ}-"B?fJ[a=6sMEVE8/Sb #ӓ,\!MJuv;< !=8dFc[ +4[![?V_o{QRF+"Fb3=A ogmed`TXVXh]Te˗N֖S7LU'ycT;TBe~2i7\q=ד:q@[PdssZs%>t00O2QAs.c9WvfQ8>w8[)X!mHf]A8.׏XA[ϸ (#D-քKi8TqsGxs @Nȉ7NqZC=^vhQJu,x9-~/=w YF)nhPFY$h)[RPXtR剖ՍfcY45BlhPnX2+6P@%O=x9q'\(Lu:sB}ieq.6CV<ń4i1 V)#jU^L4o~'sIfsXT嗋_9Ye,Zm㇨) FMZ*iPrEuyff2>y9m97f8/@##Iv։ehNCE@AfٟdYLx3o:!J_ْ)&-m~zw?lMRx{2g[rdM 8A7eQ%٣>*trH7xd;`? ^V#xDM)6#Y)LAФ76(AXmZe:FG?zzHJX3yC:]d+62 rYfld:3R2yY7 J-#)@T'ua<,<M;:`Xm0Wತe$fɥ/2P FNP8~\&E"M}BdC CAU@*HZʛԬ~4 t2JO 3u%)*q3]zs۴3ϵjHZx*iwxeYwg}Ŋ !hr~!iJPF5|0GK1|S@rf:VZm07|(kFHq'Jc_AqGN5+xoX!u|JPX! j%VXSmኲ`äa\&F+5K1 1D Ub=7B{#Dj/V{q2.)4RKW,D x89 =LZ6`kAT⬒7j2p,v@}-KAaqD^;RK$[}Pk{g{ngH H}AāIlTF;*Wqk9CGբz{7kN6{PW ,.O%!\#5ImDz g{ |c«hL5"K"tWID hx˫Oּ$HP\?|N%C$&0ߊ !ؽdzF7KDy&g}0z4ln;B`wNI²Vk,zH 1IavyPAv;ɔ qt ѹVPDz  h!iPIW_m1/G3ʺpT~%Vp]V,W$Vb1+QTa`kw68qFu͂&*b<8uU)LAxH&.(<l!l?WR4A=<1l(zhKh c\SdJOq\k? FDҗcma"A UMP<x*فL]d\kUnZah$qVxnWG]HELdԾLӼےq2<$yOʯ&dHjwL~DEpx:>H`u\ WQ}%S [8aIN',|1KK[d)"ۦELu~; E;?dD2dq^yTk*QWIAۇވ^w]q80Z|azAG^zZo.lINb~1qrMn%OjԬ/h)k㽘Mwn; V[kI@4b\yq}I`^Xtn@m@oGIhNDE@-{mikSHm^{YN5;̽Y[RtŜ|VbUҀ 3_WFO{1%O.dmyPfkƁ2nBعX^VPފ,L fa WUsc\ƔDDEXlG?/~[cdZv&A7eU+~_PstL2+ e|dp Iu_|ڠV*IQdAV.g} $NXqAa"Txf!} K YYDK $aheͅ{x

&5I'ӗZJUkTDX)Ρ6l90kʇZ둱bTp\@d_> hf9AϛP/i4腨D) r#b)ܸpvDsǥO^uٵowŏ'_yկy %e'|z :JJ8\1}:"$X$+Z Up@<#,B⬲-Er ⒊#J9mD(§<*" ci+^įD[>O,TPK;R?Ĕ*GGvAb\dzׂuE*-+7=O9Zm [w6!ʭ`#|Y#~Olcyg{gZ̓c7?ޭ4^Rd}ܮx:4LTvH0CVE8N8LPlP$KYcwsn9i1f۲r3|s5?SSw pHZ_$D2ٺ]ݎA=s޳}i~nZPXq<_($DjM?BW}w}AOlƟ]: 2K\)&[B;x S0Yd L Bdj׻j-kq)\Ľ,F u"7'ev[|C QC*f*B@BxTa,v7(u[${[aRTdv/T`aqlkܔCс#b#HHFN#80YHDz {1bOI)<ɫi( TeL\`&3zw{# a-LsG!eIZ6BJIfSf7"l qkH9$QdF tTδ$Nf"# 8J)bQ^i)(7w!||!39-p[9MT#%):&D=.Q[Zdqg' ]k#mX88U>9/26P6?i1ʿV~p=s^nX,J[*,uYCZ&6{l+'ֆNͼ+y0Cɭ Lڝ2\&qb>XJݡRQRv5zXe3MmƯmqbM DoK3ʄ}SQM`dŦx-xJa[}h6?Sjmk+I|I/e-̺;<`bWLp9ޔVȉHE/Z9]t3pd9hM &]/7d$닇]cSU*xBjK9!sCzzC)〽̘JÅjU/A`*zLg˕]TB > 3]z/샖S0=hB/臭S%+d8@0($+"2hEAy uY0H Пh! TA=0 O"]RF2_Ss \1k1S,Z);CK `0D~b8 HHpH ,J la 1 aSuz(^E$P6C %@\4I(/$$؋yH+Q 94P'SH= H9|49޸@ gzQ)#;C8TbǨ"˜x+!ˉT繼JC-GKc> L: tƛXLuy@sF2,9 D48aE؋0Ƌhɽ{ 3T x""X g @kҏȨ4 J ؕ H_ɍjd;3j.D~YK;}n>F>\C P:NiBD<)V<ɛŤXøD Pƒ VT=1ĊbIwE_,@) w+lJ@S|NAjL R$ ɓH봋$͇XaItkAQ9 , DણGOm)K5~RP8a+8PЛPaЄPLНM-MH 9I DEy8і hQ IFm U* Ȑ̔}`Ιȸ(RU#=ȅ`$ |̜%'r;|Q!+(yf33$S"93AKLSnZSSS4MYՅ W`Ug'BCe=U)őB@҈07פh _U*UZU"M[.*ܑ]=#4;<3Vb==HƃZ[MWH,A<ؗDHI&%"0ɩ((` AR[0 }`=N$ mEA[םR =5{<8H3,,/?܇h822Md]lB>HLؕhʳs IZ"m9ш3 s  KUdž؁͘)ڰթLɛCαۤ}J baN5$`jY'\G2b3 Z2FG^dF&/vW= T肺c#ZBհ7& +D )L?|a"]\\R,L$0/5HEI5 \ cֳ&s\0x+eܓ$p>2_QCaf~I" ?eםd(Er. 퐄O0M6#: VLuU|UOZ^U\n!TP|f=A>Ԋ#ٞR'l;pLikydȥKNO&ureS䅚^jIYSױA$ޤ=hiL[u ߪf8,!hw5H->nvl'i5{ճߪDm1AW0eW7.Cjv`P%s *󠞇 ' Kcn9脢.,5 n9k,'hi&" y2Os8O189$,s@)b}ΪwY+O 3̋R*&p!Lqh$o7-:S66dTC&'x DIY9/ +bde507#cn2,(#rAm@tpH(>"{U^~v<0 o5)n@rRs bOk+dmfq9_8>ʠf"@fB?vd/4 F vku#D`S'ZUfaRCcbh7FDu)5oqmc'spm^7H t ,Udx?tyfSd)8 <,rѡYIǙ yǚ'7,֥vIq:OrB >2b`zdK62iI7Fw:G/rk?n,FDp-7~VW_OVD8O;uki5i%|ڤz˷|#J3mKtx X7{ʣ JyBzǜF:bNc7E|z3|gS8~6CYIS~´/𔹢tkI"Sbj/AI{킥E)վ<P},h"E0ǐBD+RЊ}/ x#B VX8QćTXѢF,[ҤiЊ" v@O i(ҤJ& LR%A"qRo[Laq,"|1WSf8u#U]U HeBJ9%UZy%Yj ]2]A9Lu fv>X^Ԙ)}$QGGDRUy*w2Vq]#zaJfB^[瞓ZKĹTyD*z+꺫]H]QhkƩXv%'b!&5ӡxgQ}Z,iɴ`TZdVı&5#r晄ms9i$P>"鐊 םnzw'K<1[|%QD,e>PWq>m,f @VET.zoֶh MaidHLPo4YpߴsW5HTFzڭ>2kego6>NkT-u}7y H&!ga0YD%'G ؄Eia/AZEҪwj b𜲍,}VA`&*X hi+ɨܘg{F<",IM_)f7RӰe5T\ GMA 5& IDO[!`L/Tf7^S4qe느qsMFxƋ|(GɊAvƽtOC:2UZ",c)Y-RS\2'0; r߀՘GY;L*iB!"' Uh.U&` =%Z6zڨfl$\3]+u G|'W@cYdht11F c:T!e%+Բ(Hk)Ka(:G@tICdL! bm(o8H0jA]g="VF:w v t@O|R5UL$&R:&*C C DC%!1AY 05`а`qH'Pu(ԡyd+0Y%GYdR12?9$Dx*nU a:OxZDvu2+Axۺư4Hi6-Sg#BA!8-|H0=/z[R ATCeUCLP,؅T.5CtN,;M 'Ejv)F*NB p.YOa6w|k:u8&eP(I "%T{y<u<5yGji $;Ha Y!bӧ\LԢ0\׷d]\^i pqHC )~ŮvJ@r2ڤEHrӞp'&SU `(hF[$;bCI֐ "Z2*Z2)Ru P >JfVQ'PCN$p:cv $!EȑG?$FN=c$'ua.~82 |M)ͺILAtB t(zȝ üRՀMVFK R ("a<>9r^ԾHX,j3Z 5@r#d};7eNd0_TO[~xV4>[nuԾW Je(Cn< `7F%?y`\Y8E0b:rmGa&yn"@Po\X66[.yuDIa+gгsf51t7acQ걉Dq=e*s^r,QP[A[AmR}KT5(TEd M@@cYǒM@dMl^QL1uбDL_2iY`pʹ@g ZRBU%~)5Xz4V||DLڦu!*Ʃ%]p deYaSQIBX:E<#`*ODl b F0"ڱX'V Y  _AGI [yRMO  ^ ~\e fM/"q dO HH2`\z M!A^:EEa"E;&߽|QdlM}W !AA~TF ,UvMT3v\}`:2]]LЎB0ڐm#9R[{5A!4bWYIMtB'JTA"Deyćt^gVD(䥓pWgq UBU\%hUP7FE yizmDBTAɐĉdDa ̐޵xK mfTn ly o _ɬAXpH ʔ_ b=I8!䏰J&pU 6-E¨j x) Qn*v@د8HČ}T%`lYaƊ!ʍhV i09iڴ;ME~Pݜ ex +)s$IE&@K|Ȕ1z*VGאL 4@ 骙JaAO΃pSZ4%FxfL)t@^J HN=Q_̆#05cÀGLƹ, }$@$Ǡ )QYӠPMl̰ґSPN*5KJ.FnH`ɰZElB("* [؈8p]MRhR.x 82zm*ܓ*GzыXuMF(KkKˉ䍑YT@.x;q+Rټ/)FfNhZצ/z}IK~& IGe Ld/2ѹ)SDdz4%'CҘ:O8<PrONId}1:: |~F[x/%eRrg⠳[1еHBQ~.4dAr)Z31}wSF8KJf뼜}WBه5tV(RkB'3:~>3:PL<[E ?GH6@C`$Z vG>r.#&~\՚A'~N%3`~s&rA#]ae#U6#][I&s M7sa~AEvO@ $# GR) ̛r4E NLF g#rVhXfh\Q#n#!Oi2@ vJ"q,?}Mŋ%' I6 =v/jH4 7N. LR\( Rxow`=0fyfFnmYA03 ډ>79zŕU:^(AEnTY ~}>X@,^\GJBTV*ڵבV)vc %[ q1) `u^!_Y``cxSiH* =u7x`zm-)>5JWfP;ɏ_VE(`XAng!bڰVa  %&J:Η;WPT-,C~dqO50MF8Ab riuEvN `95/ֈP)(XRdۘuHdqxκb15"ƭ\d_B< ;dKVb+WE;u7kCm#Da6{$\}OS|i;A@kv/$z?E0Xfʻ[qQ7Hl#Ǔ' Ofg(d;eH| {|LSUZ8>*˱; {#Z /2Al狇Wi;fMxm=}\Grm}{MiLG ?QT сQXOD+3x`"Qc0M VLd4J&Wd` Y)rP$$ M)( V&zD8R',BłE5Zd"Ti*] B T?j% CV\6EاAo"YaU" }ZAp`" 0ll6,͉rXf,"” =p1B%l2Nς,"XMT$F %S)ߒ=msAj^uZ>c/ܸ{v~|ut)*U <\|% - 4O =bz)ŰJʵ4d%+*ik!%*P2EZ,>!jh@b)ܜ:* '%-H+*t">B:`Fq`G>jv|d}&θ2iSkHXB)T! u9~ E#x5+e$Ʌ {31Gs^M=[|5'nB(AdpwENi .3T!Fr=w.u) D8J::Hdqċ)Wf{ܺ ԣQ#)8Y;{^HJ NiE4V,i",i%;.%CZXOM0<< vzc3{Edq$Db̈ 0XO IX篎LbJ3_ ʮy1>]J#IHvx 9y@K0{x:B%'&X^-GP$0P'KǞ׍X 9UY%*t\eWgAAe} /@ UGugJ9wƦW}bHoh{h[Xb`\e$U#0 0܈"bI`zN !oQ&o8k8(xfZ_ Z# @B efxdT?x ܂G"@0&FgI$P7L*#%­`f_jڤ `9b4,Ϛ0[_5 @O2D,#U'gB. FtHo6jNb ..B Y†e>#Pِ o Dă2"O^«28# ,QdjE8ɔ| ɪciڂ-bD@xp&xL1.BjkV0W%[%Mm >pqa^b _b#&p,&ĈML-3f?Js/B#&v8p(B),ӲPc5tIJت Đ%cMP;.Ҳ/Du0/@ QhfP4>+{1v-"#.ֱQH { FPrdI1Cb /t*.&f3q}B $j PX6$EI9/N.@Qm2-J#.öq'0ҕ,BhO -,+s2ҫT\#d(V T%0*UW&CE;eԆ5A_xBjwj>N~1~HH?b^xaFr,7Ƙ%J Q}h2Da&BJIe4l7 D?Hh)߰}QdvT/-zkGxjHQymq~Ԙ؂g<17ǔJLY1>AR$}JR0f蘈R2#"هK!ULhHN6lgRZk 2My(o4\(` KUdDՙHPPLAS-5."2VW?v.pqO7FX\faYt'ZZ/c36l[ ~YÈbVB2UFu@YԈVІO^/_mlvg55'OdžǍh(Rlf5n<%a8hg$iJckZ@NakHoH@tr˱j{hJH@B%ӤfO`TTfiN"V^gLp_}vnZCο@X,B0ՑJdp"b5%UkGtKW4`V60<\PgfB^G]'} H_ef&A,nGfYQqGꢠWK'(7BvR$hv@,$dDt~I_lsd$l"u6z4v~tn0TU,Vqms,FHZV|a]9-NgrikfnCsTKOcdF6ۥjI76~ Ҹ @}PG,FHox2T^ÊjВX#l&"Z3E,X|3~K'(*UxDm՚:$ޒT,hPʘźEphVT2vA>%S|e6iIU&I7$7SYZ~Q8׃Q62n &u)#s#" tNhh6"ҢH%pl}B9**r(ڣiI$r(N#]qw &?3. 9"/$0 &6Me@,ʬG&vkc4Ɓ6XVw\}t'a֊{۳'ag\$<@&P b-~Ifb~E "#Jæ(Mr7,% k(@`V0t7o_3z`Ҹ"C#0:0OKl#!{{ozS8kg_'A-+ \:%}+g S[G{Na/9q-Ɛ'd4R.a0~zVbjҞ E/5%NS#f~EcUW onbjB1>h \wZ峚 {)Z,ו,!Z¢FnpNΊo,\Z6Zٙq')(&7֚20@#Zn H敊,@Z Rgo)ѽ~jJ{sHq{}z]u5*!\z>VH%o,ID&\/n8-dIC,Fp#q⿵KоorRmQX'# /NN"to ,cw!d*@e]'8e\P|BFـNfMwcs+R*e(qDH6EޠR;.SQ< ؚ1[t|$9.`btG !] G.Bհ\>ljzȮqK5;|xG'8? K<}X]RJ? pos-] ͢TV#Z/xz5"Y\p ʸڊ;5 j  t복8F4:P 9B٧c.>(SBJ&KS07%{B+,kraph}+Ez9˰Q`?tk,,J$($ O['Tkz7pd5G[_Ѝ]0kݣ]\?6V[S_M4+um~2 I *5{]7|A6I>HIU=_wG'4MqzIckVoZNtρI#JSI'Ʌsfg\ƨ;ePG"3wb}ERLQd 2LQVQX$F*Th#ŏV HP#JEL ̙4]8$ADŽ!=4H+ =f G"JEzY՗F|U%ԕTZUVeGhY5ef7iɪ%Żwkx閍5%ʟ>m'Р+[9͜;{ :ѤK>:= M2)9ƨdvJ7߼ DhhE~( idBu\@đ r: =cňjXڴj'Z[aRRuaUU؂ na~b"Hb&ZBH)GV-bv&D 5%li]meĐ )jE9S/DN(E$Pn%[pAE'RiTVJ\rUS KLexªi &d^Y&iJ_3A`^Nv^u)-֍7݃gbYfk oKoGDpMTTACǦrk*X㥼ffHQV[L+jXbyjm^6Wj9l!-G 'g\h={h. I%Ճ|F?wtN? uRP!'pvdܝބ]AjY:MKhP}|yD% rZ|ߞ ʔQHeE/ :tbk'Szꪯzj5lCA_äNj~m ]?~moU68[J)'eO~;W*U')W<_itan44Oy@U*kJ2f, '$[>v&tdvۙZu]37E b7&{v= iGQY7ɩUU8 Fmbᕜ▿P53 D@yH"t<%qllEbC8'Q$)E[?2enURA_kU -F'ư?'L2G0M>,o=[D+jG=12fǕ,蔞hx"Y8*sl3G:J(JV#R!R"bֱ3!h@rYc6,6JXDR++^iq!"S"+iIAX>NM-rE[ARDL&{Ϸk Ґt e񌅒VRJ`!:") ''#MPCm)寺 j)tHSTd2hʐRUC-FИў6n^:I׼uPkOw\#w6[s&:BFuIctH>j3H\+ڕohx @\NC(^+8-cL w-#UHN:Ϧ`> їC칩`['m 2XLo u)4{{2:25]b^Dk$\(!@RqVFO5/ o@kkGH7Z)qU[מ8ZD}T.Ѫ8l$*v뎵RV}P|"QlMj]2m=PR921EW6w5 0yBa ιGh|I8+lTOKO5[8r]'-zm9V{cimO Nߗ+iYo=y`%?Ip/L!g$ʆXΝ1_ X uVLl']ش8yVdVϕjqu},A86O+$)Y\ ,'"epPƽ|/5VxN"qZu?nc05cI96dl>G}s/yUf%Ĩ$ʤ}ZP$(v$av`VݡS{6^v٥ }I ālVAh"|:ICcm!(k8Log$sd1 d7;YJgAL6weNț!vf$:+ūE" @$ ߖᓰa>C}%*T}Z(D/OO/Xك \^$VR-Ntw/:Wk r,%Wϙ&haT>6[ ^eW duI"W4T ϵ£x[p1zoCgR7vPbM3J#@ׅ7z XLuIgq Oqw<*[ JQS=xeva|lyivw}=4}g{Z|u}B}RZFiP!'D/F_ 4MW .H x7ϥ]_b}Wt` Ngy!gzq|qgՔi@6VL7Ib4zff~}G`de[7E(p}}xRv'{qzx(3{0y}'VftHF4TPH>+f8l~ᇦh׊gĉS*V4XVEEAV`s5WHh(88Hy'tLqTwv,4R=T ɐ 9Zd(}ZAqj۳}qG{Xu6׏~FbFw+({h?~m7(@=ҁ'42Y7{t#h3k:ḕV-qA|h!Qqfw_yx4y#vV/>l &S$~/QtaecS(jɚu;$9){Q%hF#Ihf|đ(Ki)w2؈C9^[w@EXCE#"5n Ycx?x-Qn~xGAVpnx(9!W'|;JPA2D=(9RxCѓRO)X)+|9kh/XBe~&fEvi7zzgQ|X3h9B{Ri׏+!C WxUj뷁yJsSOIW8AI%i()bX<10?zGqG8䋬J/9.Ƀ}i{IDyZ"z0x7!8{$!N#FYđXd5*WUQiz7GJM_9B!:eדYڜJxmщ2rT%! e=cNcizJ~Jq:`J;6"v$J.!JDdz A89I/*||7FR6Si86A+WzaM&=jجɴXY'z :T*|s7qay3a*d)S4QA*4Q,x2;var!kdİ:A:!OAi a{ KAz-"[+$˓o7)Ⱥ" RPx/&x$Pa!;8Ckf;yiEd)jI}d FꚮXFjƧ,iE`7xHBmʒFj:'1$)xV_=&)i.u<4g67!v=,"~?Prx[iG*K8eV.A:JqWl&r3D:k5jգYˤ!w!q|hsqw8rS1dSKWx0<`sƗ\Ɣ{H< i7{V= *#I[̘=,1SrqKj[·& NZV1}u'74_xR(hzD; b_3nX"ηa(O'u#J#5mxdV`MREl ]{ss,4N6Zah\`m%TwMӂbq%d*ʢ2GKK*q K(%. y}9{`'k-]|X 1y| 4PFrt rvh4X`=d9d8u|!QCNM`BeS88p%[k7@MT[:oԥHM&spKʓֺ} egmvZm֖ITڤvڨ!Ą^|3'?@tK!x#m53M4T{"^K GjB59ml?mT}Lwdsq}(D|׉'d_Ò% BXlIֽZ6ix bXe(c@kOR"\y=E p}yiЊ٦iHzlU+45.|7:':ISHnXu))Ww%vA8p̿iCL09!N 8U3^=:as,>( :̈r׾ГBEߕjguLm?3jA="Yfd^k<fv0݋wo ph(ljٽ}Mߨ})a/Ȉ#;i#;`C.qHdc+3SF"δ\<ȑȊVY;1}aF)hz`׊'vJb訪wxGYaSxX~H7#r=g>ՌR\ت//" SeY3B EGI3)Uj4v{1A~:xѫI!@7IʾmMNcx>D@D`O03 PAzoAH%CX BXDV h1M{d"D ܃B+JZAp@2񣕏r:q S&ˡ/ӘĨfK *t}SAi Dp%X!!E"Cl|E"ҹg )=qex̥ C.Xb&0.ΙD /LHe̍=ZhҥMFZj֭][lڵekQyrާtO+a0 i4="CoL0Ѽ:1aVbȎ6TRae |g).:"tS@[-|$ b(DPD(3 kqE+X @+p)2 h»*PȊ%*Ĥtr".?ϩbL¸2}(?*zK46KNTC̲4Is>:;E4QEeQG4RI' RXD+¼!/\ӤL 3O,"}";0#,$1Ǜһ*LB>VJ,'S@񥑂 $_R344B4)\Dp B3mأ6^z/W_ APt K⩬Ӭâ&H*," j\pӲ!3b㯖=*9;R&,sċHtF:ifi:j.E}R+ b,@ɸDrS[z엔z[.<:fҀNԛ-KoƢ"sR, 0@oOk(U4 ] \ݚ;ԫY 2dxycM1%RE| AhecP:l}LXb#ߛfwHwOL%%EUHp*UڊƤ+SҞ@HnVI`ؗoJ;$Ù(uy8JRҔDe*4āM P"!qG,`QD$`4dg=E^deBhHH8:A8*c $PZ:pgF )X#n ZYLg9y7$&_~NL'mKM`,PFH?K7&JKPDec{4Y0 #LķPh|qRR*< 4!z2_s09ROjT:UJjo581oP>:τ7҉ZS dXpcшifK{+O 7kKr 6hK&S|-Dc0"_LW8NmXJ"y`Kǭޢ6$w$½#3D!YP0Avi';YV>7 tn=ur2KsJQ4((ު_׿pmj)9lZk?_b..+fS_n3sK=vx5 X􊳒%_&f@QGN&0j+Ps&d"Y=$֤/jW19F,B pe.wKe ڌc%>)٩"Bz[871ˌ'9Ldx3v1Xfntj.cN8 8UuL-.!{4Y1FuUKCMC3ohM,S{ַuu(gJ-!V[8u3f鯁4>3rbr?O>d a[,td\kK'w4rr)qWG5U81Jpɦ Mz~/cF"h;{Fcd>=Iv_ њ0m=~>w<˭oi bo!?*6}m|mSg&Z_^xվvZ7 Њ]; E[nMɂ+y c;yw=#=PU"枦zQڃThuuC>1a ۤ~_J/{6,b5+ <Ձ>uoYlsrtc\H_|S}K1wf^~YoH#OHȣ}rzr{*)-K! >Y`?x""]q-LЗ8`!pđA &0*@79=H҃=ӯ=Hs'(TA6%">. .)1.xV b x! bNx _y 1*ВAn1:߰@hP/Ћvz&wy"Æ &QD&BіLk"o9 Ԗ.Ȏ=ࡰhmrӛ:М<|6d"T`tc9j#֓mnFEJ>~ٻ1D+@ hK!qՊ<ğ)& DZ a9eb$Y YACRe|LD! .3  H"9 YLE&cIýccC --r#bDX+mq%}pFF˳l,&Ƶd˶ƾP5T0BèׁS)@xj0 aY̗E T,P]4Y p.AN2(ϱ'Pѧtqh)\)p,őT&QhC H,:Ws=uI!~RI`.#cN7H\zvJ@*2(Y%D{#k0<[2ѓLt8gBdJ0-Ȉx> lx +Hסd,̠.Nhq)=Ǭ KK4ќD-Kq1jx[ -~T*̥@!:MdNހ )CdZ (4R@"uN b'xt@mt3B:0hFuG^; !;.≏X9PD?ԑ NS>mJZLy -.#gYϸȑJ0PTF2Ԣ1" ?BIQ}]"CҌLC+̈X"jP)LRxA`Z )=@IM%#L"4FӤ9ّ 5̈/ԍ؎*XDA5&!G D6I¼@]ӕ,M՚%[3J)_ hbNDMӬc[9I)ٔgkk ɍہ2NC oi.U GTI ym&9 :a vHϠ(R zFh/KMq=SyI;qF\ ,+X!C eF]1 OK@ROY=n\!d?:ҘY WZMTZġMQI*QjʃN(_L81-! h1EaȪ e:ӜQ@sCs^mMv2:0CQZ |&{r+e̲R/ŭ 5AŒ,^ $)0d #V1D?iňA{Cݧ%Lt@ ]B~Q0. [ X0N`0;bp䳠Fduc8=3t\u<1SfVvD%0;-:Xuيz>x_ IX+_QP4M^d t -1XbPy %؅0F 1'L K) ٭@k%rRNr4JET7 L#(Fvd*afy~eU+0~L.Ÿb$$]8A>HݙF[8&Vu6,}6n `:-1}$i<6;+YW[>ےx-xa6^u˱ϠOS۽5 R5#`HŽ= K \ ѝ`be %DIHk@ 뽴Ll򹄈 b:GCK*;+{#g5) h dяY۷BƒS-v6XKLJ7 $O~32VΆ$+ǀ _] ܤm>m!i~僵4Ir,>)&!\6`jw/=Օ೿ؒt.-d>F@en B*c:֨:nm&'q{75$Qc +Q6A8)gڃv=i(wv`2MS*L6A4O1\D8JZ9_(V::qVjr$'']9 ;Hp省FDs/_%˰[cmo+工R7u3I2Ab0+ci0<ęm;n.nf;$f8Wr@ iAư72 ZË~}_UE3:gW4*iGT?xHq?YaٕOTVkS[mn.2 PAԇ l@?nY8se6k-B ɲ B2g __ vtOx_xIi5ʭ'WBƱՔȈ3U3nD՝4(<!a+x:Nspz$\*XPY7*[oMϹ߿LM;9 Bl$_uj3<}m#*P@y5Ekyz+e%K``?"8x D* uV_"~?xq)'.=(EىD-ɀ.!Ed2 PĊ+V!p ")" Dc!ǎ gđaܣ2 Gsъ@6B\I:&ѢERToӦMBȔTMF͚OZTq`G 9FT-۶n;*wZQ-۾~,x0†#Nx1ƎC,yЍ=[ۇԓV : 0I|2(Wv Ld?cƇ }Il$UhYR#&b!J'JQ^yvhٷ)%P%EZ)s:,^YDmGrtl:)Y-uUm15tD8 /Qq=g[w[&Ui\^ IjM[v)icsܱ eYMQ %jy扒/RGHi\K$<|3sY i0Vk8t [RDTY4^wcU8J*mXLjkWna|!yEk D<c9[DpkF-iPksB7MSkdLw.6BR $Up[l΅$v^^a[3߼C=jԞ{yP}̷}ӄ*=MZ)Q5Z{PUl-Qt,,yOK]jUQ+K!qCXNG)HO JJKG0(>1=խwTz`/P0򐋾;N+H>E|ʗb\F &jCa=tWS\dC@_0նy$xm'dC롍u!@ ִ_.v] ؂MIFp!<|Iұ"ue\9B2@SVt'B:2"?]|)Re֐,M!Fa(ΑZԃ(Cqc!C˚O+D?xEJ`$?qU)+w3cNzRP,; :5s'eHU랎UqВz2.Q]*}f~$.6YI:%fյ_x`knbJ0XΫ D%F'{u#- ko(dZO;r;by0+K=Tx՚n[y)9KozqK7R'ϒYV:q})/;n))֍"yȓZP!?Oﵦ'b<'Vv_S~Yqw"&Kb0c(fܘ92`:[ 5W Mq^ȸՍ[ݹENɛCt'D ɉڢ\LT2yI,XW_0 ES\9WY)!S)BEIn}(ő=aꡙDݴI ꎗ~%qeR ^^hnٻ9D%ߒ XLy[ ᭟ QNZI[yp䍅ɕX)Z5bc60fTe`!#Jiȝ Rn +H  *ң!G&ESE漑=a+r9f))^$Us(!Dza/ C5=Fѓ\8fOQhicNN=a(`LY\!d`@#qmS^e::F\qbꝄ|_`>N:dTTbZF%Ü p-V[%1 ED TeaNbe &|'KΙV:fM-婈en, C~ fEuv $ᦻ"r#_$corhֱi5Q.2&VO#dhM4fQjrݔ)iV0m׷yf0U`M,j+ƥuQ<T|m[' uR!heӍ׈%ʈ]62q&FYog~&۝ Uu 540I/NZ:u}fmQdAbR 99bt[w0c Iqi`K)f]fLӤL "k*h]VG$ D]_mn跶##Ik%M(f@ZNާ%IN@kIa &$"^U)>D2ݳ2"&]' ͋M!&bExV㲂lȊlx >jXBQ$d(**_-^AaaZJe>$.dzB!.dYe;¢LmWI`ӄ*Jm[rIcbQn]&LmvRQ^%kKGm ).a2`llmSf: =T]jq V^ 㿖lE ӌy07,jT)d#%*RoFƑR:*6fm ǶZ!^maR`&+Txe5ёrڨILdօd1'; )u#fMom:]aH\$/昪Z p ㋜ QBxɽr`PҦ"`HG:Lv.dR ccƫ~MFj0>,J.c?ɑgFkiɺ ֈ$ ' 6&;\V쨰 s6}P԰)ĦҌ(W(bBR BW"~ƩoQYZfK-QLhDKS&/ދEL)ĢMQr!k60n":љI깼  *&ǧZrү(ߠ2Ř$Z[)MjIe a'*2+èގvfjr*+ >G uF-Բ$7Ko<%A4Vخ*u-V֏<HL "kbu})qRo]55?K'1`w{|F"vƎ(q,HKH]Gm P7m}Y-"vYT_Zf!K(Ln@@0-Ċ`X@A~v$f*Cs1us@lw.*:«SU$.JF4dM {k T9+aWFM=>*-P4+JRE]q;nv[? Y=)c[Ҟ'UP|vL 8 A+S < CE]z[r_^ @E8GjoSBWDUa ,ҦY݇ kGIa5]Rry;yGtP;}ii,:o npDڴGaD;;j}VQJUhxPW(# 7ӏ`vQh -DI稄HXJ4:Fm HТD-͢K+h=@),p"ãʊ֬x0 ` ôU͞*B*" Sp"9%*kHiDL0f3<)B9+H3tX6]zI "]$cքku aΊ$T;D S⑖p,Z ^*RHN[ ݂h1! T6 q$H)Hr!qE}.󐢮489Ikka\v8C62&iB9D~D:r"Ȉ"v7NE%1'*:(F+5PA" ìG}:$IbWDQƀqY1SIļg$^{S0 " Yг\seɨ!J)$1h6k!)d)iinh[B+yZi CH5]ҕ8B$i0j(#˂EIb#-OLGaK 32&3k[CذjM,o\Mˇ҇5$DFTE(tIÈ5 UET{>5*q%W>.3]I.zdsNG"Ĕ\y$sVb*TmvfEAyJFKJD e㺕43dK# QʒB?0@\d*(4 'o~c9U$fC,FH+ 3 Fj gKچ0iX ]_`4ōuB\sqy,< k\=}T]u5D[. l t92-)YiXv_QK#'V+xSY> ?mVdD%WCkq"Mp_b.>-vQ,qv] rub+fq)N'i(f8 ~Ch_Io-*iI\e}83 7kFxZh 9yqwϋHB]B䈳VW4svJæH;.96j }핂S6j ȡҙWusٚҞn8!NŝO) +©~`= I}YVH({`/<%3#_}C]N;܆9ϩfDŽ_<s`,XMiQdfs0%`Ngv]Իf;B[qx=풥KGf~  aOҟNI`g;=P[χ'WkFްkmSdJQdYΎ3(#%h4&pk:Pi9zNcCPҶ+P Fh+ђ,o"ڏ5`DĢήM܂Ў2 >nJh۾>L2H #QGjO d N8/t-.rPذ &IϬ5ˇk:>VzN |[b8UHtKN͐֐n9@-݊_̉+O` OMMcF-8z_p(&(,c^LM=|e&1\|TDr6/QhD.2Ͷe+İM"/T1Ѡ1B$IrJ" 2*IX30Ho4g3heѺB\Ӑ%ɦ%.q 0R+"(%9e&+O(Pn!Vͮ ð1Y~ZnIL-%S R`{(ܒ8.[%רӖ$Q'z L8Ķnr ʷv>јΒ-=3>&)VDHf"`Uwh"ҀBhlS s*񮺩}ԞDoBfB 2FV涂 "ȔFFsbF~h9jB'*#03 >˽ 9haT7j,ˆbl0ԔgVE\B%dbHc&kwc/Y(=`( 9.,ee `YgCt_ L4QK@KY &pl|(Y(ld$g$k"*+0TTMTQWM?뉪* .T0 hd&Z4>c[z&LZ=3jw<eB.BTnCКŬՐl'2=E34^P,>D>jo8l?hub$=La$p#HlBV 5(">V%xR5L*`E<' *b7dEජVh '".#V@=5>evpnB^YģHdzZ#< T"4LX*b>R)ޚMߐM>ueN1UvkVmn⏮(0'+J<#4an5>pL?0nh%i2hmCmF E"r8h!([p5J7/Äm5tRl ytJ!,Lvާ1Tt4rC#qGc }6u'~ lXu"BcV6'b6V #bg$rnBye+媴CYzlIpŌz}ǸEHRR<7TY6xO6@E##9P"i t ==DF R9Zi,1C䜗byXP[مx>sW3 JL:whgX(Q* ̠&e`&&VfqR(v6d a~eV !Jo2>5x t2xP~7"!,#"bw!8 ΂lT\$5e}b?GRlIIJ5(WC&+uiyzҀ~W5(# ]$Pb6J< # 2*Ž\Q4`=(:$# 5@d\ceV8eZt^ۂVQsʃ<"ݢ`#y/Vt VmN7hJnB OD2:mGQ>W$)#*(i`+@y/Rْl̒3I1]aukg.R,&vYF"EYLV27͙EDo5S8x@ p[8"WV$DA3 9†I+#FB6ɘfbiÎB*5BeIԴ#f툘GdS)Zb_"3w"(DVg ]T ,cgCEbNDl$ &213,SfRT@{T(.=jdw}$e.,2+ hS#F&T; +@`"rCjIʈf1DdD ts`pԚEF)|% Q @ԉ+sCD^|&C-f : [f',^c{vPg{_04f<#M$ܫ# : P?Z>8!S=bp zW.Pyx&((+Vyd$ XH6b=fE`Y>gsk/SDN5b me3`Ǖ bOCuH4/rdj#o2]. ]f4Z 'J"|@Ďd3D`gŵ=@*i.Eh<6"b pKckRK8"&UEc̆'l!T;շ '"P4JIJw( P⦪vbZg"w;ƌT\\~dڌ]ȲVJ8IfF\C b ʼn"V8&[$j $Ft bFeEE&baJDIB+7~4_\x֩/L#Z1#y a2ûo^y}N8*-:1~"}y&0Ύ44IǓ>2,x6O͟#.+^i~AͳQzZO23čՅe=bI!k؊S"w}'[-k~q\C1"a*cp]DD`FV4;pE_pEƁM] R'[5 g WH D8p@% ,(}8/R0!œ/KQ$E0#&$ɘad8% a̎EiJ*Z0Œ6I OjKVf њ$x۱~)}SoH[-hÈ+^̸ǐ#KL˘3k̹Ϡ.lJE Tu`MפN$[^ K۫Fe WBkS}c 6S["u ĭUԊ>gUH$֚w-pE|EXE RJ@ETPgR8tv n7KUhEnWR|!DD8`We] wтO}GGbL6PF)TVi%ѸRq\YPq %Upl K(FrYdWVJ51cIbWpwbfu m}f B֥qgF Uj6HӁ&QM5U*W)vhFjE]0`$(Q *ik ح)c;FwՊDWv+k.Qԥw6ٮZioDpiszrXE1&&#l=ܢFꑍwńj 嗕yWQ:yt]<AD0=PTzg`{Q[3' }9TGQu^vR/+dmhe-ѫ\*$gS[lJo7rwKm]Fq⵴E$Y_I\Qk6L)[[4.$35I f} Z'q;4j30{C_?@d.K҂gx|p LO"|)ᩮ-"* z@H|_GÜC0uZsZ50ʒH2hLVtkomTP97ʏ6] x̣ٓ8ݭ~Z$X=1L"l Y&aH~XYju{ ċF`橮k^ u8!MFA!^.u)J) S(;QьIBFGU.2$; vĨnz 84+U\BZDv%)yx.S}\A.PZPC4p;qDȒgHhMjuFj!zR(w=b&e" [0}4ͼ 4M qI˸fPTJUќS|K^N!43Rz~Ϟ̫H+RB/9x]{N?)럴 $me{Yhz$6fMB:(;S^YfV X`vZwDQkXY0d>K.#SSJ-W9w$315+8iD-R9g3%wҼl!V)Fyr3C7MSYAHCR:\Z@Cj[敯)jN)h3p8kDnRv'>L%BZKJI [?VhM\em̖ x:p:/%Łz'9v9c VYr{/ Yr2O[,%lj(GK;wAlcZy;-A-KDSh $:SF\Xz?xgOć]OϔX|zc9BH\(rj(NT_E!f]'a ?cx2#L2O!hEfST$rsCbe6ZÑs#LCu$`S[5TH%.F5m'b6f~PRHxHElc_V95E425Gbwr6DtFQQAaG 3g2SCT|-F%O4Y'JO}BZeg%"*{p(vGÄ1xqOuxx"9@s/-](%,uOO&E2:V;)^&hHbu`s([#Z)^JR'3(%ˑ29WX,P,{^5sWT۳fh^ظWvHHxE\F HvOh]A/Wyи^V=-y#ES|^H&)^r^6u'GФhuX(AI匔'JI`ME=Vrg(2E&*va JVvyxiFNz[\,vuD.N4keP:klA>&5f7q sTփHbzu9Zcuofwt{I %5-*z"S!+Ki|6OK%CT*ē1iLm)&wr$$hVK%19Y.֨as7uIP21uYBL]AB/`A* J(!pP#2I09daif_(oegA$UqAYFᡐjłDgNLja(TL!t7fMgwe1Xi17-f#btԟR:Fwb" ey)4;kգe-iC~eBt.@E~!=IB" PWhH,9G )ՓV+|V+"Â$t+ޣ#'c^DytvB?DrTګqx{ bjX{iNZQI@qA'ؑV%!YiتrkU)q+Ňp!S)E!2("ILGknKeSvg80ՂF# _4b&k&pS&1kȤFC+ [<۳*ZZ Ŋ )Ѫ)J AaBqA2 YYBgѮ(ä8FY^/8|yr7 eL jn#4Q4W*"4bJu#!"$%'x-$[ZlYn+AĎ"gmv#k{[-ٟ{ 䳸S'_#&=;`ja*P@*qgYi;1p]W]WUqj:VɄ!jXg11Hes39y =%:)4 `,Fhs8#yT5bw@fiQ[6vHgV a_=PVE rq[I; crXKY =Fپ CATV)YJW5JI!aR T#Z`_8Τ*YK%K])du%$#Z20xr‘&p-bRAt5D{ê!.k䵒CVB0*VV˧VV0dj[E.˶6 CFzkZDʣƅH61c PJ<3Y3yvC2*#W,g'^.#0{K/!c%᠃s6Ere& ;W%!J|W)&)iEì<$KUg:󩞷l @a@{){q7ȼk8rV}j #6E͗ƘIC|՚5ҡ08S!¶jtStJ& 0rj}**Ȓ ,k-x4:-"i0vpedfmJ"]Ҕ]}q6axѴκ@}6Z˾[,/-͕;q(Si걗ZG 4PJHcի!Ԯ "7zG3:+!iQnD {BQI  ;κ ;W_# |3$PAR]>JE_pYtP;B!w.܊<'M hL>\O$^0)`OȽ혜dn셸O$ Fٍ!|481OH@t\_6 ¢ѲO.ƶtƯ:6ˣd0g~C?w*0w% 2X"D4ȑ#"OE+)K1eΤYM9uOA%ZQA,$")JHqLbíS%[RR=Vږ,V;v}mhH%J, lذ-ޯ)%k%IԧrIvn/cJGU]ykÎb;>챂a $6_G?,RcۻmwF#z/Ff oGt]/Ɂ.= <2^|ܼE_s6j +Iz%hh"pB +B 3pC;&0 @ :+}(+d4Ƹκ,;MD5P 2 !1%ǘEFT-.Jb@KO#oͭ)j1J2MR )4.5(|:2s$F/O4ޢ+6b *$Jc::b,$i%H pW^{W`vXb; Qβj j51\b,ZZՠ#PCI$LBQ2 8r̥,ø3 0ZMr;<;*ڊ+w?O,3盧\ȄRPHUsc|Kl8׳! ڊVv(j:LЬ"hZBbzjjāc}r8Rh~S8(Kqʥb ԑ.!hCZru"%£q*-($ȕ@d*^o({^ܲ=bLq/+޺A,v\]=Zӱ 4T?*+1+""h*:A'Uu";"UOneܘR.pG7{jKGI]z `M[@ThM`=Ab-2{v%+i31Ļ,V@oV%dkl2yq8)}dYg"$xi>'wKf<¶uu{kh E=kؙVFTH`C?yI r&Y0,8$dvԧ>DiPtJ>/krXvFd?NF$&@/L$df3LhFsk\[[BXAlrI*+jӷ=ôW  l:R`.1q* ]I@gG54cgKp4Vt$&m"f\!Zυ.y~^AEHGe O@R8*Majt4}he4Py9nyjN˻ MPO*j$d2yUn&AA S)s#gf[VUBQVM.tQ V³ȍx{cb;R$T9 ;%.iev@serq>u01 XKgšhYWnEB>rrz9Vd>T! [I3-d4D ["Mc(4 w[oCUb|KT]L1_43qiAbYU fp΃ .KI k/),RlZ̖Mp\ ef`6gZh!xӦ99M9M4[7Zg'WzRNL>O=0+,2P|фr>!Z6*MW~*q)U F ($F2 P5 [v + $t=_E;] -2LRdSĉ|hZMڇm-9"R\O-Z@9&] .l](g)ZmA0RY;Og)/%QO}˔\W *zAaSXo΀%y9=/kFؙ*Fau_dM./;SG{dXC-9u]rǼ&u-HFPlGQmnNlkQExGZ[ #fgxv){jDR'T#$]Hb؈ `бTvahڳLBEe[:&bE[Z^5wlnr<nyN*ӥ\^ *:X˦Yǯ#ISxm+ߣ6/Já' ``z K2^0~0!%!W^4)$y}?XZ5lmq;if-egFܱ(ТX{S'sG-K_xȹ#1!$ ذ8-22k(ՒY2q@Ac42zBXaDZ7jQ)A婍IVb/HQw%lA˥#>Rq'$$ꋣ'D 0%Ës%k1z9 GqGr䐞 4C|IÖĎ`8!c1~a`DU9E]") !DP4O23"ý@Z$ZRVIH𑈈 p1 ’P+#!œ 0t;cbQ='Ic*/rJJĉ 9nI\la2DฮmIĺX,˳ZtHHķ߼P P8eNlIJ4K4 *A5N~[yBԿY܉9M7ΨDc t0u+%Pa1q/ +It LOˤɂ yR?BN(>;ҘC9|P#P S;S;GU l LQy\˽\`9>49 vu@YDKx!˅8+E ŲEG=m=?*ݲg§eW]MGӌ„H4罋#ARڸ}@=˙m%uĕ4LڕsVȠ\_Τe1 dzt I {CQKӪ|XZHYڂlWLˡDQ =.Udd) U/R$a`&&add> VO2NeLcKY 6ۨW_-b.ΉsK΅ \eNT Vݍ$TTݭ$MČW)|WFzE!\a,! I˫! aRH`ݰdz煓衑%Qaބ@3m[6A^"G#FG>FZٔF:zb^e.01^ 3 mG}N9c 5FZIBc)&dC[99_қ+ YyM>YZ]H x[;D];3JpC;Suz+Škeh 8heDDn\`J#W N9T2Cu*Y^>SAܵE4޿l~o~`fڤj.E3$| l.l*FثIcDӶ\ˆxS57L^M%DǒC`vZZY?tovr|pWe!]=}ӭrFONM'!HDZ7lGǧU3{Ƃ @vVrW*o`'TJD#`rUե '-y)&I ÿ\ZG[W)ըd JN q+ٖ4hpz\ϥx)1EJo8=r|$fYј]YN൸.FxԲ6ZgVMtq^x\8 )t/\Ġ[;Fqa. %v`H&mƐ VZakKzR3z K>YhbtXXĮ z5y\1&K/}7Z/Tg/nQr£z=6™nK؛cL_Wi.˷ﷀ\b=9ewYA,hEw+YQRd_ 2l/E :$h% Ŋ$9XD)>,Ir IL%J2M+&TXÅ5gzTĐ KluiʩM)BM {],VjR:hԏ<+SW_J$dհq-<`f-0`}92JKcB%t0R?=P8&R@^B/f.u8ʗ3o9ҧSn:s{s+ 2R$E!nx9JTZiS[Ie՜O2tTQ ]3QzŵWK4շS\pd9xg=InZVQo9%!JUceTn t25Yg(DRuTH& k5CU]&kTj )\ UY`}[e L:w'y'}' :9uQW{QE'@e$MFi$Q^$#Jd[O%].cMUOzHjD`a&ue~5eBE(!`|}hT PP:jQH50AYsEd%i֩ ڄZj7XByVoWܗC>g&gn }>JPz1!<2%|rn5-$PFF}ΕhG$ʔ^lڛhkB-B(2C q{kUFCYJ Q!٬CkRm-PIت[ڤkH@o%s^vPkT]^0l͞0d++fu =0m1`6{&TH`%Gʵ~;;OjiPYfL+01OЧ -KTB*M R >}I-7\#!Ƒy#ܽג`e϶)kWۅB7hfUt6ŦXX7,(ؽ(AB$$9#Kd4X 7\˳ Y9ٍ(!F<"byd$ۈsJ=*yUEIHZ~DEx4PȜL|q#V^+όq9MD DC/@ &k y*78VCfŸQ"d& EBCš- _G5f͙d$A3/gA))PEl#KN|˩K\WvcrBhfL) v\jِ+7}*Gݵ &JʔϙI.sd#)2iEW98e2*s2}>L,ipFu^27zVtx{]igixEFm$#"-zTlI]$#Dޫ6 .f̘f̑dEbn\MXe4s8/7 K: ﵫX1]kq+b6 j*P6-&W 1!VӖ,ms|o17!g%6d4&iHqZrVݚ:N=aQp g@Uxp`f p-~$l"wUc`zy )vd+gc5mPY+Ub]mN:ԯ'R*tDq5Icy;?)>J@4Hq׊F'JM(KWM0[\Ap"ՐrGK}NMaY X^͉&͐ Fh .YEUT<QۚʢAR&"..J9?ULtQة emRl!%G(]X%X тTYXLΈH"H@d7TS,"#ka(RN % %a\S@ m^m 鸚o’m W.$KdKn[׀R!hܕQ1ˆzo@he~&)ndh%YК+ IP n&YfQm$0dLHRhKp)iU1I`Su^oh>&b%ih[% ;i!; =-~M(OyVUH'8V 1 Ŋ|Vkver] \ily]`Jf#A-KWΘ6ǷƙvK&n ):]S}ڄ_U8\!Re-\(yScQ0e)'Q b\ID׉jVOZL ıey:~dxE},zWڑ*Zbjw= &Ue@ř.-6-|W4TDdtzh7PުN9;+ : >KZ\٪dY# aibybb)ţjdecY" yЖRr\mM f|*BJlZUm. fPfeXR{|9.z<!{ߪ̝9.,#$IBDDaZg,#ąoDum:= p`-TKoN[tb߂W A࿽Bc,T$*nՐ?ʠ8GN%hF0 _h„HqC0(H$sǡuh Պb- k⨦ufgmg )dbAcM#Sj(rT#H! @tŶS e!_"XV䌩`TD>YԄ>shnt#?2$ԅ׸Md>&fh] OMMO$9uDcʄcq$r*ea S]ӫ=V&)ajɄ.MhaY .йzrFe^~8W6cyH\$3>Cr/%Htj8Tpr#؅a?NTRʚl܄Nm&Ă3ڙTRb0SmZyM2'RWFe!1@2:,d'%nnFy~V (GL]UʅF"nК=3X5n5mp`ZpfZT&ZO`p HQ.QMiiID1h)Y˫  ^F YbX[l4CůA=u^ƶ[U v;{$WoXp#(DXզJ6'PO\ BSceCt+.vR^}HH\ *^n s:r/Yn⾣ٹFI/E H$YYXLp$Ԫ!mj}sũV^qm e=6glEU6o"4p7.dCrcJEH JBw_+%]2pʗkи@dYZa2qKVt\0!2.M'EufM\njI#~: 1-J^-N(P  2uz1K􉫸_z}J̜9`fH\wP4itIdRڋ-9`YU5S/aͣO~'J,fcXQtOtcA$A̐ +JNYGq(q_< 'ެCg.= 4xp"+ FXbĈ >dȊAx Ilȱ δ)ΐ;S2er$Bfқ06ݧ$L !Qxt&ӟ6aQ(oBY&F"G5 DC?ṟxp` *MJDئG׮q„Vpf͛9wthѣI6}ujիYvk+VNgE"VXI'I %^C+$YgOVn^qws).^h F֕|@֪!i׵q*T5itZ] z"⺨"| #0Z68ۈ"0üK)-PZ;Jl0 v/*KiN"C/&* .,#2JEQ3(c+Q ɲ0*rK1<4\6|8Sܢ"ZɊf cHP@w(ν4xv?3j%b1-"(i0J"'.ȯ6#ȉbhJ/QVjHPt0ֹ*>һH' * طÕ)'I<,[Dc+!/u傑¬33OڿL@R-r 3ƦR*ĞΌ5ޘ=EͺFJT0JPbR!nAP1- `$NVBD#`E/PU $ɴ h8 *Kpb%W  -uQ P`t1 ;XF3iDuaU|шBe7 ( ds24 +pE`A@TSM@PF^EdbH$=ZQ@UaEt PLw>m#_#0w%̶H'JIbA0G * +mũ+HBD ҊJ$p˓lILhM d,-f.yź7ǘLѓF"(e?54>BZJGZY 9!TL[KJ-ta)Ǖ k'+ R0Sl= Ε[9uPʨj6$S0YXf k48a莧[ d|Jc( ^WIDC  o~8@>@1g;xhwCt"+UZ씝 $KP#GTէ &Y+nꖋ]!YRVpIJ GŖ]8$꒓bk NI0Z9T3!+Dj@!.U̝:Nd[%{ O;-gS3+षPg{C* pJ2)*OpK}*.zqf*" JjRp@r붨V\B-y,ҍD$jrD$/'lYT+â'h#(ë+ /AP烈u͂*0t}].Ջ$8i2m)]8 #|Kw_"f2-S!0+ G#!826]y*d2\ 38Hp#1ԉTb2pwR.JRkbTOD0^0hwmΆOOkg3,& .x,Z,W[0p2sR2)^q$o mehFlJ5^-1zEk$*.DPT)]VD`2`Z, P%+uy2#:,9r PjM\EV.MXA\!Zi2P@/'!*v IO*noThԣ<ĥ^NeʦBF.U.܍jB*"VZh/CdJƫF^g=)00%܏*Eݰlc/NIj 0v(今lb7'h ûRŴEEѧAzPelZĆJY*l. pt ~H}ʰ) _D_T? Ы"Jf3N5'"]aNaeۚQ4J&jlNA>gŘަ&U~PeR@k # GghmieNVlEd^rE FB rPےΑ^ !( ,CJv tbFc>Q*!J) OD͸`j+,1gcj*1b,\^pm\hd@# ..Z1<`F Q0i>rE\M@X*._,8:Һb( ϕB)ER2/s)ux0CED2?:wh>duv[nhhdH? iج.Ki) h.*w5"5$0~]Z,:sK ,Bv ' z,L"CT7rj}Ԓ"OBo<)|".)T L(ق3Doql3! VTkPH&ǿ$z@# IY^dnA ) ClmG4PEif *j,-LL#M;O ?bp ȰxM_DViJܢB͹T^)(<Âz陴u lBzHLDBvt~AcfT| gfHxSi8^ 3|(rU{Hs1v<琘fCFw3A"iBv9ۂ "PŎ쪾KR/joKٜ̖n&0[oHOhp@ř٬gS4/-O-eWJjuSQ`85ǶK8K~ *'=׎פ"W`A%'xpMWMWF{Z$&rUwI. Rk+, i]aWmTiNCAVLO/n(1e -RkPDs0PXB]68c:UX+D1%m罸u>lXo׌}I 1 dϴX癞Qc|2<S>l8ô:Wf^r$J f$=?)',5;:e|6 J8 >ƃ'AF^p54mN)Q[\%Ҫ9mѽ"$@ۦIT?0ߚ2Ζ߲e 5v説)Fiv#~+nV^WKf Mik-^s7P2#u#P/Gf :2u>\J'-4{\xhqhwU핝?fmWx5d%_D&?c*b ;xBDSXDXtO ;&QbC bQH, f'‡'3\ѥŝ wl`}VD4ҥL:} 5ԩTZ5֭\z 6رd-H EBfE*=(pQ-B% zk݁+keaEW ⇕bP{Ԉ7ҼG1\( Svmm4h-LMpㄓgعEZM8M;77.7U3I#Wq5 ƄwE0ɴRM/AP14_S;mTL.ӂ$ITTkeb*b.c2HcRgYQ\F=QtʽbVcؐQC5AfAxU@Dd6aY!p4Řr<6Me$]cţ^wEMom'5TB[ښ-JBY)q-FLAtilefI@هh]M k9UMjI-Y[^t$P jK$ImTBDQn`i+I´@nKn枋n-bV$LFQ`CNaE`D XAVƏVLq֟^"jEǵ\YKEQILh6WZ[sy$be"ͳBۑ1s']IbBGP2JjJsJ~!{ͤāQLjѺ25-Tr_*CGiKlJ!R]؅rWS rCboKܯ5B5_yoy`QEA6BV Q!?ALfLꪣwQ󻿣NT6!z]Y&[\m&sz{V,ey53ؐ8GIG܏qJci{5iQ.#?c2e'!zz5>'7)Y 8fruyO%E84YڷבeuX󑏈@b)`5‹.bíms< ro%0<% D&]T Zp&( 7 Zi([+&ThuVc{K\S>.Z'-w95TIKKS%nO`g) Qځ}lA`@iAh$<Ox4CrYR9eFp܄pZ B rzO|ŐYmW3ljsg$ 7a؏BNtf RX @F |WؔQfX2"]gׁ1!m݆ چt6اɯ}4ds MM;ǁԖ·IuP变d-geqN1#9jZ+a3`Ű&‰\\ gDʭP'Y{TPyYu-WBp˟dW$Mq ׸ut+n!;V(FӠ0{',`0 L_ټITO=k #z512̑8:@ExB8lyx/5_ؗ/MJ-2~U2A>9^@}!djXtT:)?IMXf,_$$Ԙh:uɵMЮ.`ufz&RyҼشeKU>$X:]W> 63G9*Aj̛T&7:DG=aړ$4IK o{H&Ss.[2 %=/1΁zdKp80DMbH Gd, g0&ukD+z+]tףizK f^QD9i!e'3ƣ *T;lu"P2U҇I \xBFI謦*G&51@|ȌL{O2jn'K3>RZ)ER}ij=8&$TU̪5d1")jmp(cb/d/k*B6j,ar,JP,mD54\8w:3bUrꨀ U]u$Ă[+밒(GD9iP#!mٖ\RDէNiоۤysYs&"j%l*K8Sn|--ޅčöjl.8if@ɜ1iiʂJu_eN4bJai[OIZrL:>iIvKW9 wbooɊ 4Ƣ(_zCSaqC8nKK aC>GhxM(*0O#''&@%R "UHad{QM8!-ۘHi25kq)X>QLBI'ujUH%EVҊB\@@clFw%2+IyHThf#l7g2K&]/K4*!ITBbI~etQV3iFx"9BHuiw)/3Jjv‹# 7j(FG>aRD/V]]m*Xud2yn5șAyIZ64ĥ@Y}>il-#^vyA14SnNJc7Mixwr4Q*I7نR xvxo=vt牞Ioy126v}zQ3/9+v1DGDnsF/eRqQ7@Zvu|8AŅ2DžmXI@V}is'%cfݵ2z/B^] ee&V9]*K,U`h1g5?8fhiWƞ}zQ L|T*H?9cRitcOa[\Qo Fv@Os>h>uN?qfm%y"*eFy*ڇwtQVSHypVp ]ܵ4b8Jgbx쨕 h?Gx/p>-D`ӝȤeviMY*JtJ/#~O$V0(W%qFA00풬&1&>lPt#pYYP5(+3L5LıkE`;q#qi6:;Ot/q{E X0Ccl2'(4gKuIVJudڵȅC21lb~)e^RROȰ{!RSp+ϒ^Ou(AK f5,#x6jKCf6LʥlVÕXR0iR9jb0cNDkRZ@l@Ha SJeݶ4~5IJsB${Agms4OrI4'z&p!f؛}֎K] JǤ,Ѵxv@rkV|_fy⻧Lm6r[ggm  %&V4#2iD!; <B1R8*ul?DGQ8BކL!S{mlMR;℅gAL68:nRl6o Z.t/;q'NcA$_xхmؤ|#@fue{ AS`EtsOIxEFq4)AY-r {O(!Rp YSԄ:K+7רbzv!0\H@3&S ^nKgxsg"D7)|Id%9Qcu_fM54:\{j)tp_6T1,m]ÖĖq'dm -2.L/7w,GE$`;>pT9&{u" Ef!-ƀ*=2ihOmlm&]fFˬD[?㹓u(#iz[q-T[(_Qbn{T^l.og5^~)!ͪkA{au/[c@ kRΙ[O/#ӓ *Oӗd4}vۚE)en&l.Y)Xh8(aAԎ/^aJHyW4muHYs*[!v2SEݷ|քu)y9ׄlJd\I]\4[֡EF8Պ5kcO?Jud*߽qY~t^xi^?Qz5JX.)QD>1XP [PD . Ұ!ÍɨHBi$9V``bF#)SN=}TPEETRM>UT\R` ] vpᾰa G)I%هZ#- V/ĮsUoW 8UmGݪ5X)ܢ,+AҥZVΒ%;Ff1biQj!&YEP`EZ(t3 ^5k1%Ll4IQ=)0E7{`c*EzJt˴t=o""b$XZ@jʏST UhV[o5W]wW_-D ,ktS:ӄȫ~RB[;DckH\F$mrιEjMN4 Y,++J+,LZ^jΘ  .GA-1}??U2PAGJW PC{9M2tUBWk$J !P?ԙ:SuDGydW:jjbɊqSB fUT~Khtq4ri4,lJ8ꏮL,v<Kl`[_+ֵU$튁ฉ)(PtL՟C+Y1mh[_Peq<#-t=>ڡgĈԣ#)n #1~2ׯ?|'|~-NL,#/"دo!%[O\-ߡ@#1mk[rN4_2r޲(DlU&79r!l1 C\9YsS;]*d) E2a$Rt ͪzBJJU:$3Uvc$\j.-Y.k]GcAԸF6эoB )Rm !A)YM:hnET԰Nt({ZBȎѻT " H$;@_ G(eGJ!m6K܆b1 4%/9CXH >]I`MqF"N姄9)EYydL2Enyl]6iGzӞg>2GKlyr&I()m- +0B^ j4L3}bPx(LL#ZLd$_)vK},4Ӧ'Dj_zfv Q,D: +$V(Rvɑ;|jeOS!i+bJ$K6=701*G)ӯl`GFl_t SqmD~?Ec!ŖqicEQK5#)cڻG0 V$6EnzK3NBnZSUC@mi,} r}G20LPt+45cZslʹֲ^7hAcW^TbB)lQQlӔkyYdU\Қ5{”ʬЇFty@Da( 0ńq3kTG,D3^$H7H*@6>"t, ugS U;DHQKwpZ:  KЀ2F0eZs(YdkRQ,0/aT[H=h^8zq τT&p7ၝ>(&eq\\Rp?&gZ7,EXqYR$O'+ׄYaa >^^p$&_dF6rLwG"tncSFk.\lC` ]@Q/V|u8׵y<[\ST:.G4$E|%?E1Z Zj'Oe,sZtsyA} 8(H%a%#Y)7]p;D{K>bM;Hr}9>1baQ©ݡWMt6C Бŋ*@pСQ{/3J9 Ԑ?:1āi i*%j36+!MۏB `m; A9 K;!/a2H) V6H6)7!%)!ˊ(39HvA7*ʟ%Gk7.C%Pz+ˉ;I/)<JK?-! 2i $F cjrpPQ:%ɶ+Cݰ0$#Kۘ))H`Ax{ i 0 yS$o)0Jӫ`? *YhjA{19 J3;M 8TD[ 8{*?&LȊH#%q%QJ48 Hu) B@kl稍 dC^}H$?߃ Y_G*!VÍè컩%nFq,2s$G?WYATX>1P ,[s9/Цd73;rMќւ!xā+8%@<8T<9:U=Bz3;%H}ؑఖk)$P,*@C w!`cT)k.ۇa<+Hф9a3J`Uj!#6q4-Y,w;$ yrL(9&4"#Y;B쮛9$*k !䉤e]pUMg>\{b(n T$ĐD{ʂx "6*0쳳9Ѐ $( 44:P<Ѽʧ/čS)/Q㾳dAU2oђM52 i#KR-~G<@IF鑝 et]^#FBR1KSGѽ )Hɵ!N#;CM?I;J#'"PTI8 1 )h`ɠ+9649@*ZZ%j3ԎIV[BB;IװG0e j1 9 el/Ei*zw=% .NI\ U]nZ=+#8_eڦu20̓ >8%8OD +p )=؃@<%]UZ+=/Qgܱ#$ **`\*:ܺSuܾM5#ę+(9[8؃< ;WPt"Xɨ)ӛa/+u6=&Y;e)$긂[Y2;TKzČ9ˤU %C`@ip<-}>uьیḧ́ͯЌڡz '0^\&`z`2qޓ }؁؁ 8P]7*]_>_+"׳ی܁ֲ]t +}T𱣬) +X+$H+l$TU* 3#08yZ7Ϳ{:5Ų+= S2%Z*Y@.ԶdPMR6S`9:#-ѬNϰ'Z[VΘvce8ӏHht`Z6b"`[fY\ 1It6 > iYX9*n ;+XTP8e\/5$]=ݟU21&`^^ &yl7J6ࢮ-5dt6\[Cy\;$&+q6lZCN҅g+4Z]8˰e@>hU$9r\#)gDjWR+b >wk%h,q[6,.tň\ @!H> 맆=v0 wpEkpS (c50}@q]b 5ޗ6vcjM5 B h Ê8Đ;Ῐ^ 3*|?ŭ"JZ8)DaL^LY!ӷRѓ8B#v M$v⦆ :]Ng>299&0rMmy!-e.S#~p<2N;Fkk"[Eb lXP4аWS4P) oy-{ -PځPخ v1xK6Osc ھ,5eU,ʩ.^D"bY:_a~3#̩rx3|3D4FDGtme6 foXcaf8OЈ긩aa+&lhp&G "PNP N?k5 +kڤ*LOMW{=Otxx](`9S\v=$h F4츄9>К(N,`..b*8Gmu "#xcO4&)굂L4 }qBBB$ <*4%bygsňθhx6g-#x{lI:\*PRZG}jgUFg૘8O}[L% --~0k[PzR*hWV pjoを9RXf0 q߾ E`R"X@EH6HRJ$baEң#)NVO*weI>B5ΟC.}:֯cϮ};޿/~<1[ѥӫ%`b_LMy]+nSSu` {"HRXI_~FlAcI`p ;05f((VDaMMQg1E3GS쀖Z7qVTPYVbUXVs4 E$RMIC3U% (_EXlueZUo/lqٙd!v܌gkI(xYoR[W&Wl!WyZڪ*jacz6X})dji%#[defVVVXY%%ᳮU\{̷O<(#nU0.RJ-Qė:XaOJ$5eqdRK mWk j#a@TXFD`LV탢^p*y_qY jNmJvVwaĘϲ9&[SіjK e~**pՉڜoZ&*[sݵ_cͪAk`d .Ֆ1FLj-GTeYXE'fїx,RJR VSn"}Tk^.DWL3{rmSܺ4~+@bDÃ-MXe\ug̓zbΙ =,:hhT~u~Adi_B-\m(̦l  h"0 E)/Fyˌ6" s[W2eY bAimQ>20<9.6bd"y0˼lnӝb$1:QBXUIȢtg˵k֔p1*C6( 徔1.F$*:f}SĴ9mn1ZRbP! +Wj܄ׁtY{gjv0er;^-q 1th/M 3Z2KM$:LѾFf͕T1В*Wկ5qF u$ZW " M37yFŦhFn:Md>qx"dAH% 'Tt׷2+dzCְ6.@(JX aaA;^`UOG)s(#a0,@zxb匘Le%*橉\~iԤ0l>HTEEuddI 9O *i]Ki$#8 ^0˳.rM/ɔ FdMk?Z^:7oPk2gl!Bfan Z$lLF^sB;T|Q RF,0VCEC0blf&VȢ ?`Q8Ĺε@9ѣ(=鑪݃D(^f>Z9M[RGnZ2I9'M/)W:ֲ$ENۑ1%IK$T-YEpZY TDlT#avMؒ4YD&r_10FM(j ׮I-a dA Lala u@%0 SAzaiO}!R6Ӑ9$S(hg׼#j05<"șm˕DĂ=J?Ci· ))sJ-pq3dgȨNӗtN]Y&˧NI5Ug~9Oi$~)d&qB]bdȣk&&/"4k5ښWǯ$u@%b- $RBr/r"! ! $ᅋ~2WЮdxL(~fpЩ`9\nPfa SCjj%@"9'hŊ[Mp[PAV0ApZw bi_䔦UЬsXH O0UfQF-Iy  %gd=5P!HXTTpL,HF,`aZ, .VH݀ !M!a Sŋ_RE(d @LEpDpAF EGHDFEx@Gd bŔD}X-NVGX*aPP[dT!H]|ePٚh Evӱ`Qg v ~ >V]Ʃ<*Fx%9O=aAA"E!l9H~P`椁.fDEEZF0Klnl hPɌt!aD)I@@ !0cGHEY/1MDZQGFUz"U…'LT X]8]|HbTUEJA vK=`D2P4{LVLMEDE`s0UćRi}WY< Op$?( &dp p',-db4H$EM4l#FH0EXFeĀ_ W$& "+O_K"JO ASo()AX]2El>XN%Z"( #E|r3*YQHED5[r6e-~D HRW% J#oyQsf:Őf؉Nf!QQ)QJϓPUdJxgHZDȍEԄe[Jd4S',jE0ɬծdCD-d|c$Gj]\ABEZu֤(@ ab*ږ݁gWI8vKP PPBP0bQtM\EuQ{PH"`!jb}yIeBf^Ғ0H ǣ:Nhʠה,%U!T2vZMM7E B6 aʲlruوLEf6]IodJ,v*f6HN#2%t^^^ŌDϚR=ZE/Q ֺKa09"|X^P$"\+AlHf>AD. /_ i1Di9D ]ƠDif#6T`#fB` 9U2El*ZRn<酀WoH̆Zbo2AȭZdC /uk[mIp[Z[KRҮ VSH^,Vۻ!ʃ I6FL;tSJ@gNDiY$ATx"CH^x6EXP,CǵХP|SPIFJ<WlyTV \=LEP>,b؏#reIXYP0Lb|Iۏa J!Sᄆ'q# 2#;CC4Fr,ޘo=2A _:qhQ* `Z2U  >d!޶-sDn-H.+橄`j HT&|E9uV%L2 f_=WV|vu9 9Ze}W3th ͋^1˾F"37'ɠ 6GД!~WZErcD[ecVE᥍0X@R r$fn4`ŴXM6dL0tK>㏦td+XHrLT|@A.KCT%1cDU`D|E:lXTCF=BW\  "K㠫qPL  Q ]rN (4T|IFqx h=nJ R:RJnQPfcxk5PVX؅u8 ~hHD2G7/ ZS ļ{TH2ֶ*O@I#CXdE Yn 9u҅5LUWpxZc= )`Yh;w B/twJ}6 ng(ʊ:Ru Ȧtx1mAyq~ZzP~ݜ&sz{z@&nw kYJ*s+щr[)MJ[(P SE[JV9G8A.CT+\mYoSDGSb8WG,Y{V t{W0׺m˽IU2gw>ҝ#vvO цtV|um\wb*2 -,*N8l2P;~UYi[qU]yӖ ]".0rdΠ^RiI*" k=H/H=(|5H!+"@~xj39bO1:oZskvm)M#PPbRK[ˬTh,BE$J.1"''X4PȈ@4q- 1g ˊOU"A{%Ԫ/7WYM3CjTi4?sl&"9`|јso.M.4;|iʄ*1 iR=?#_9A]I/Wjqj$:[eOzMD*0M,۾B+rʺngj+y},<`p{jc.%+<oF`g!!$+, &$ l K X\QISYYB2x 9@|RYD.+QLy DS4` sؑ:0%4a IxTJۘMT^K۝8%&^; 5̌ThLG9ΑuG2wHr%t( Jvu` pH+P>٪y~g;6Vx@ii|^DHU3썤: P̷Ƣ&^;,phFA HU-`MQa7Q}쀛60dG@r2P,#ZILu$rZa aB"dXCa/L ͲpSpR/85[Aq? \lHp/ [5U2ScTFd.zOTt$"Fe%$TCVuU4䂯;>+7N#D)5\$Qi2Vo?+;UD? nY( &(L?0 )Q#490a0oV@ H)] @'˧;!Z@׆(Ӧ$Uc[Z9iNUn  ;[6P]lqeҦ]3cD*S鐩`NE9Iѥ/GoQ_/, ԾW) 9t':(pZUoګ 4F +l -&k,/VKo٘ߒȍX~mcTr&oVie`~Po[nhBX waY MrQj栞F.+\mN&{HAA '8DX <(M/'@0V&^$(I2c lfꍖXE\Bb)mFY8r#%JΎMb i. iL}zmD,& Q!.b V BK@ -cQ:,,g8Czl"\xG3"nbbT㽒+1B%Ɔ6TYآcz'EM=t\>N)2*o9#1}RCl84qV/U+.ل*H*9Pe">@4!A /o fB?&T/w*`a1Q7Rq,*62$pFԒ6:C*6rL4lD|5RT2A̎U" B;nq:Q)r::ӧx2ܑP+, Lrf ZJQu (g븃~7` QXP B\R"'q\ :anȲ,e),ͯ (1x*4p#9a86#&b0%**/&Mܞ61Fp2PƎKnp p"33ItI4nNaK_j]ٮ?bΨS$ dh2ĮPP=1#Xd-' )0(zLugyg}*ZQdԒiDTAu M+?q#Jk{MmQafP42vo^_9q@ `u $=..UfYbab4CY64]TNJ*lNo2;&mj6luJBq Vm(jfӦ4uW}vmvhqC#UJ&*r':үCȱc |:$]p1&J'DX$oU>m?L#>fkA^ -ŔeZ6kvxjx+8N|$v:D B%Q v폧O'P!Lm–E%J( 8G+lXy2]u.~\&g:I<Μ-@ ̖\ v D`d) J F1*gZVK>o[qmHjoS4&bRxc¥9tx!1tF."fEwOf-hן-1[FGtYY$G:\B.CRn$aI12zZ ,+ Ew9+`$[AfהP`~O27J}oڔ<[gv ;"Qw}z,f@+ C Sޔ%@ CH (G1&C$4mb{t=J%ڢ7Q$B8SΒ4(!rrzџn"D͑NHsOS$b22Wǽ0z92˥"G>t6u|ytCmo0Mr~ʦƚZ#Hr0jlP>bX#!^|tPkBeF֍,K x<svqj0 {%  )f @z`2pO  .UuW.1Ǹ1Q Q8f QRßtvVȫh14C(/" *P/YDžJ-;ZЙAsǵ}۹}VbM X_6d\פ;cJU"GwZü# 0(a $]b̕T$*%cgC#}Yo:Da;'N<` @Ԡ`X~ҠʇYA1~ % "ܣcUfa44d4@,G٭PQb<4CSywZBJSbӨ(IP7{•6cڕ3>6`~-Рf. @| v(U{Ģ/8R%ꑘ\زѤxknU,_"bhd5 Fs?P`B" "P@;%O`&" ,€o }"M>5~, GgJD#D ^'Y ܷȾ (THC VxHQĊ$ a"D:#B$a :M(@OTIuG+aTKQDL%OԙX|մAiF=qC6HȕqK0%HEiT$%LRRmix|矀*(U:EEu4%lR]ut]晋X\E֨a0 YYզ)*B!QMĝE*uN\pQ010(TQX\HLQ a`G!jy!ƶ&ɪPU A5T&QD -YQO6vuS^VkƔQ6H`j|H@n*CcQP 0,4l5Ff &B֊9jN!A=*D  rx{Dj JY%\ {FUfi= ^? M@ H,! Cm!@Ϙ)6CՔDxjҌJ9aPWS]>Q/q<,ӉWogxU)])"u}`٥ҕDONؖ1 dZ RsRݒf#nL>5=$Fr!A*ĵg}۲Y\L:`.pt;[*%SMWLj$FWBP7dH7iR敩RQFq` H2ROg2"]8]Q hIOfX9nLsbTH xR h&0(Չj(IH;8 C)m,ɡX> дu]E#]d"\&#Q;ED%l7IQ:C*.ZRRP&)r3̧>E!1Iň1FA: q4Oh5b#xvɀPK7GJVI $%즭ye;0sJaXɸįjyR p>>vM.w> X*@0vB˗@맯}FQKHxa~v#Mǎ2#QG_Ds dH=HLx$,EMTD^~:d';4iɕ4% APЪF,N ]t 2H`)cqsUaXzʉSZl#g wKˁ|+BGJ0wqH E{ Jd%Q35$v´=k;[Γ"dCI )ܾ$I#H GLb~R$KfZa$z蒆Cu3"ȊSDGSf_0)Q0ElˊiBk) l~˔X}M.sF0+C[lV yhкReзψ2 (և+q\,Ve@OF1婕dIY`սƖհg=;p}iGXYl|fDrSYZc.%_"^!**LMxtl"`$a 8Zm,ωh1HPYOЖ!5uTz>(d+r K(=ՅZRY2UDShbLM" ߼ZLdl:U9"Ԟ0^J-@rM:/F9JUmiqJ=E0uy*w1vW-|uBγ[ RxWO lfl/+TE!mbl$@o&S4UrWVwJ"2]5s#EvC>ElDEp xqRa+cBLw_gKjd(\P!C%"5!Tt3dc848.4"c"/Qx7"W!hCfS;@bVvaDVV>M!j~:r|78| Zr3YpL\G:cN,X!-E.-]t #IW&qEr;Xs0uӈ(7*Y1G{lOHgFb<҈uj+sjؒ.03EU`10R[@(96,Lac;m%(5"5FF(d+ rlnE 1lrbi?)"++g,622tPb:?ŽF+}!KU)p y7bS}MWEUV?Pc C )(#PVMoeOYD+%!h"Ȧ}QKQnAvV0$g+"i XIblȗi#%i|?qUu1ɘIq_>) *[赙qrIS}*R4^ҙCC}ZU=KXFz+jjqja9TZVHM(87)$;ءk ,wEh AU4&25Bӑxx*74NmIZ-Mነg+)d埆2UmZd&i`i3ҟh}|ȡH+ޕ"e`2I:}YU#q5ԆGs"a&$NZo;[&vA\eۀGRke)ʣDӦaKUtv51"AK rP=Y)8gk讛i+>sS#\!iwqwc;4&IDW^M$'ƣ)ػD%c+38C 9$aNLnJR\PlD, Ĝ}G[;Y E??Pr6,W3t,2Fp)"{y.u' 06Ɛ J*IFz=S;p 鳵"m`$c 4QĬtMtfnU[(.a^|؜2+s̗_85bs3du;fpmrf[L({S'ձ\{u12i0q#]|t3CRnTgh`'YDH*`o|65Udu_*Ĉ~LWhD]F]'kTCe<*EJ̧\7Mqy T`* igSIxE,;$|4HTy6"irI];RhއiQ|#QN'++ c2q ڵX$V:MRZ1Κ~cš]>@>d |DV3u:xZp,7 ݶaUAap$4Ɣm4Y`B.*+@ѡd@:&.R{2`E-9g|\Fh^Ncu?0UΔHU+j^#8mnT&-g$5ޮmn}!֩4]bqKS0Q0TAQ^j gq*T EYSm$o(L N^i_870g"KN%zL]@Zʜ<ܤ)H6IqģD N(U2YD2< 'l]rÚL^lGK5&H:䶲ERlDDCv=cdGav/+1X*1):ėEpJ!EU ^ bȌ!a.MTg;āF)2?0aI2NsiRfz"; Ux+!Ei\awٿ9te!;4=5Ƭ{Ӿ? J*,XP>"H+b!"&Xq }G@Q PʊDTȎS%M4,> 8ZdEQ<\zJ2p*h k.\肖TrtZ FK2`ևhHPXZ\؁$@ 2Db$,3)sҦE[dZbjׁٹڤu}̙K$Bvlɓ}F_c^yyLseu|yկg{ϧ_}߿ ,@ L(0#l0h $%PL0- +N,"  #2!*ZT"PƮrn#m RR P* ʨbI8즜h"R l&d@)" -i"sǣڡ2M- ꈣlIzRRlN2+| KI2,(> Hɢ3UY5&S9DЂq9Z@VP9K&MØpC8v[n[pw\r7}3L0?SA 2HpT)c"*MBhGUb",G"k3H!D3+pr0(BD#|Ղ0 ,/iB/ .I\:V%bH,ˊPع/$Xˆ>cL*>"/nWb}}AH H!k ;|3h-Sݐ@H?+6>GVeY5&o=U#6uc}vkv%},)(*t*K2x+wR%0U+_9HF!MɌ@2Ec؈+` &lk*dbOeg P!MEI>+W` ,iB.❍D'ZC6  ;cf3],aG,902*®]B>x)*#P2^T?Ab2SE՘&`%7}n>b 9@5b<ŊnQUA6r-lN{cG@ٗE69*Nx 7#sF=! 6͔&bՐO6#cӉK0$(O(s '@%/*Ok6S%,a{S & @+Y İ Vaæ紱20x'Yي8Y`g̊&њ=.w`9ɚ\]!YxCJF"NV*_xEQT<Pn[E71o$ULA 6J>s?1B.c gDD 3=}4sso)̤֕0DAi\}mnؤR| Γ*jrɩ-}iLgZӛVl7e^L5Q0Pr40@N1M笫wC^Tgh1V7 L7I!Sd5InW?+6Td6k)wM8 S2S4 2ԨX<"DI'B5eb8 dUQU4jts{X/]r\&Y3jlHqmr"5BR $0 H0 7"~kIut^1QSkzKc9[e#hB٦9t\,TD%$ox%iyo{Yfc14ϳQwۇ}+Xl~9y/GM*>:c6pܣ+ܯFޟꢑ㠠g~|'_˷fK"ؕ)H]u.pX ? )CY*KQ^`~!2+W5傲(e ؼ@$H IL(($t}᬴џ Ѩ5cdK2pEb!QRcTQ"PD( I{.7H蜱Y%ѱ2s(IĘ0J)ES6Q\*X/ İa@\<)̣2|I [8`BI&;;7r/!jp61h DFAbkGKK"$Q1B@ }!54!@ I()f Kߓ1W1;"\9X}X0[l|)IEH=IJi6Dl!esH0e K,{ETyƓU)/^y}k lsr# ^=]Yhiԛm^}^ܮ/$38{+ZL9޼E'' 083Z+JQ"ډ[%J9#( -KQ0u- 7ū@|al*f={<ۄ R@;.UzۄN=g ` ik!II8<ǘ@'6OG51ʳ݉J@: 30 ZěCPݱ8=%1h^4Nc5Bk8Z.nQӌ@䚽Zh݈CN߮M#D 7iDCkZ#ɒ<C;I OCP`CҨ`-.}`b$ ypò,p()`X)gTHJʀ^:z]м݅C1u%F)NaRb\3 f82U)ㄱ5g~Lkc#Ɣl.9fbd S q 2<蓰d@͘J 8`QGTU`gZA{m'$ԛۭǸSѕ'JL0EwYe"SU>nHb!-p<$HXNHI%% #:bb9[ ~F;i$P gH)T#O9lʮl!=Ո y=8y܀6p*p== JUvɠQ\V;p25].$LI ^ W@R3IѣV-$ #=>5|kD AD$M7uw ;+r'ڈJbԢpXn n]@rX$pКQ'J¶뭒Y>qOqK5{̭cf*d~14&΂&*N\߭eMCk(`ND󃖄;f!pmMnHNY`-{q8~0S⚅F3htr3pvI;SFXJ2j8J[YjPKH4"=`e YEs"!1a)jvao윝*&^"GCIVo'"5{4B0ر"`,0#3ՙ ] M ]D`,_[-]15DIK4C[hN(V0˥kIE aIԖFIAPϋ'~SYgÉmh53&vz2UBbFڏl3Ԉۑ9.VX?pKHeꋔ v23&7D} #0"hIq`1+[3TE(8R[s|ٞ\jVD4⠟ȳ||^@6B 6_ &b9!%hPcߌ:Qұ`+ξ[H]zWM5~ $;_sj>%lQΨ # uœ +,ǀ@+.0@H`bA(X@,X" ,X$+AbSeSyAdY$>(P0A"I+OBZ9(œٗ$%FV#բJ}kE5*d|WZz Ȣ<&Nw1 *.&rg.tf4Q<ٺ} Kvӳ_=g1yvfÑ7m*A:ڷs;Ǔ/o<׳o=Z9(T-~=tW YU(@MLSIZfN,d>nU-z]n-%'g?]FDyoFhButUT^%t_+Uc"P,uedc;$1QG\AXXPXhKƛ] vV\;!P NFTn4Eo%a1Q 97Sg=!פ`jp%5Q0pGE[Jx]4` *U+s5]UgiQW|*,:,J;-Z]}=a=&iev:.ZTS ؗ3aO JDPA]r!YZV!uB]uK*9yaW1gU$l'{)igKHPeI"7YP i) uQI|@)T u sp唍 yszZ}dS:HSWeilT_&Q-"…k&e I]8K>9[~9f{Y jiu*YV eBj-&dJX1woZ'+AdrF4y6[ْT7o\TX;g @T?m\8+xett 22Qf!!YW:,Q5*^TS5ڈ K82 vLP$ r8%hH@ \$1{)E3 ,0K`[f#0sF<"%2Nla>uSJqǻ heM:JjB0 "\斡d 2:f)f%/ IYWd$ fD/K.ЁL H䴒LOiR4E d6bf p},m%gjATG#:V,*E e;6D%&y0a)yҳg77G yMW"mC9 {3-un%(usl@,B8YD+|)؁ݻBI/"_)Tq#QVmO0ߕ=u61i$dfɠ}DBY?^D#H:c_ ҦguUm[9Uѝ?3֘@%)fӨ)m)XI<e-JP&gU<٪Ub 0hJ?$;Ar,hC> mX@8`qptYS T 8L: DƴwiuP1OK0oIF(%S]" T[]Sve(>U^7(u"УP)OX+u#z'JqH!njɪUn#y݇ 4)({n_%JTO&ΰ$:E-,!!l55(qa#A%F$aծ@Zz& pE +dG'gQW}d(9)ηp&IO6Ғd l˘I8J "I E I_/†h&3uW0)siTϓmP?Zީ"Vg$`:]??Z{cQTRWPt̡,c#s66VQeH\)tA\Gˢ(_*u޼!gWPQjNv"+4מOrr[$f˽bVSJX Azeوb xoEr5(,%z@^3vba&\"O{DM`mxDvRn :k s;PV@zU:&նí~ӧ:żqDr0^P d$nƼܢSF۰:jԷ+}YQ.Q| '2]:f ;mڇ* M`-x{I˒UeSaTݐm_݅e]Yڱ8EN Vwd PIfV MC֋Y 摙u:9 n_Њ w8~ۅ`܉O!RW9_ Ȯ8xƍ%JLI|XMR  ^ JلVndeahLXe| \{Fz"bpay!Q Qѡ H\ Ia_jX ))"mFHGNGLE}YgDQԹ D ˗g`m&Vڐz꜎lĩuUO}&Yo$ᄁP1뙄8G,DEJET*GՊS˝ute4p HuDbw$Xu!ƆhxTEFiM8.':&ZM$Nd< NaJ:> m=ڔߠȄD4/bG5dHr%cEQreTYu acBa $%a$I ]`:Q #@>"V^EO$fiC.IfiM!{)JYY̔x.ՇFvOZL]w5P-mbMPMo&pDyk4Y?EWU@}?9Zk_MczgBd LִW!Q|ƗJ\PAu5 .z$޼HIX hQVl |@qG ޓpe:MPEE[ð)d"deDɞYPX@ @^V+^EXSǭkҨ`T56_{!Xn (:+6Ӣ>˄ qY)P%fǹƈeډ"HlzԌd$(NLUO}ĕa5 MHP%K7_˼` qMr_ѮPf!iy9@I{Βb^DTmԔ&SqTx 4 <)j>-&򆛶>u'VF^Gyt7OT"NitlHp,NŤaߊ" ː1b阠dg^BB(VI4RU$RJK`Mɗ╚r,*iR#MOpb[F# C܄d8 DOW t@Lf5oą/Vn2XKġ`u~a_ŸRG a=IKj*FotRޮ$ GQHUX](Űŭ2$6_L4uXp(mPz.[βȚ[_8IXepބ1/F]6Yda/)Q131d~D ai` ] (qym FnR+&>5]gSM a"'f.uUX[%D(7*^L EBp=CNG;K )M }.&Cɦ"*́`^CI"$BHu2/iSX/+ht)&E+fZb"aB\t{zHDni,0iTKLgN pɞ  JuKNuo9w9}TK[6G)Fs!mES̫lXi'W3 d"ڌedL m\/7Pٹ/HD$iLG Fuً2z( R J:9۵AZoҚy=hP&ȱ,5V&{SVmFW_;|W 8@5;I}PzPR[sCQH{ AيD~:=\m>7ui&wMq6ViQEď_\XxDLEJxĔX25ڟМv!^_!rjo܃)J)WsSg' __Ry|pJ #U%Bn4a\Ay4«ӫLP M }SIo`v؞cq^oV+nxt'#5Oiqn:35ǓK?o},$!"u7 3ÒDŽWբמjfLD[p`} 2 }(,XB")0XP IA9bQX`DZr AJQQ3&ɝ+*5SH+,R!DXu@QA".:lpg܏.ʍ QB밂μNK+wZZ,rkaɓ)W|sf͛9wthѣI6}ujիYԨ&ө-4aS^MֆWVP/T-ѝjS-HdE"RpHjL>٧;h|~?`պqƷNʂ>Š$hBP!jb@2 % O%P<#j)BVxQBk98t<E*𶊊/0b)⋱Πbˮ+G0Jd0 k6|8圓:;_닾ʍȴ)0C<"/L:j"vZѽ\iO=*C?5.+@ᘒ̭$  Cȥc$j)06䐼)UrcC6} h;4n) .h"B.%K b FנvZ*)#T`.J*TԪ2 }p|em:>7RJ'<ی咾-A3д&cJT}z<1to\U2Ө# >*h/*8)pw*#Rҡ [@ K Pڡ6`Q)XˆHB L#4пrTl= (T/*HQd(OȦQ/LȻ^8؂m̴M=ry*ǃHl͜ߞg6cy?Gޢ)Tϵq|䗤&e_LsԂkQ6&/Z:8d݇J *IFD^˕TR a0#]/Z:g5!kX8ġIF7Z')XBAD1F9D.0uk)gNtZ D8)kCZ×#G?9Yq.ůjڬ#Q= >%&QRǪ>H_ä,R:M6N:P x#a+3BYl[@0p%>,lɼ=EHP$t`S J)Vċ]K'_kxWJ[HG 7Jta&*Be]^B l0 `::%MpUfT8$PA3**(?6Z9T.noG2YY3*[XIGuo8_|YZoT&Ik%]ϗ#%Ҽ9roX%-ɲ8" N:,bCݒrϢpQi0\ WncYV-np`\ѷI`1@R.J'ee EÞj4lg?~ٞd;.n)[FQM²Ms\B}6<40>@*#d\$I(:t/OZ!K ĝr1{}ӂ41# T`*di#\%C)H_1leҖԩ^u_ڇ6P);2-71,`eajYIbs5~%S*tt5kh5-}uw-=a79|Cc".J˪DP*%Э< Fk*rS =etG'D"%u` B9UJ#Px\]O) VVdo@Q0#J\ΰoJK!`^Vgd`n›IbsCfICp 0 s &Qr0"Hm"2ML )„P ev2#9^lDL&+(0j)~f_ΐ>J*WV`ã.`^5>@e<ÔpщmSTT>BFϑDYXJ,Y>mc% ghP15ԈvѰϔ0|Fn4?*bH:9&+YeYg(7C%V9hGl*[5c[\VnU~^jN:/MlSD0l2Mߔ#d7,NPr#erRx6,n /AztK;.,>/"uxm6avc'rMNbs^V"2p]ljvxwnknРB1@y3L][ڶo? j X O0DpŨiW뢭&s"(9D%cUTc"@LHG}02`@2ČL!vՒ<|*Kz#F[;H#KLF "DYL[M6teO&r8S\W8c8}zj=jQ\IyQ;G$(~5:Qzckc&¢b]uv:AI2Z  @jn/U1bDV|vR*$l @uQK岫ÕT0ypϮY\7]ӫZu%\M#ulTL Ng,9ʲ҅zZHk =]Е]7ؽՒ?&vbAXk/5k$.#dH{0 $wE}H"ZK=80,4I/f)NM *h@ײ2@8>== 0#A=ZMD$=3Ŭl-./C~`8RRzRNi<\__e:FR*@cPsT :On#@ѷ 7a/TVwPRn ^mnr|+าdrwF$ 0"P/>ˠHnvwF0WDP$ hHV`<4B B }U($E(9P "+Rlh"H ^F"Q*( i%Ύ DXcÊBHz6,2e`A"s ` :EQ5qА T LZbT*KL*1BdHQ/\Zd}V$#T4"lG"S-`Pb caq sE.Ly1AaƝ5e"Uknʚٴk۾;ݼ{ <ċ?<̛;~sj\+W4sWEY5̚ ~~](V&2FgN Qa,h05mT\HleT!fjYVZ!iT`Y fApCitldjRar'鯌(^}Yg[ݮmҊx/x?yJkIR]ފڞ|-;*NGfᇢuWC(7#ъ髑)&3AXaRwb7aVC>_MI;xtANl9P]Yb[EEty߮Zqo D,JPE7G.!&p5a./r Ӏg+I?Ap"$+3I(`bzd1b3U$˛Ozc*5!f(pCBg#FrLl(JqTTV,g9^uEs|!c3DxW>5ݸl=s7(-0r*dG|@wVf C]M5-dkWPLBtws LCeJ)`?:QEI Y$jM@GBYDsAh*)|.&ȵE$55d%LPTyKbhR,TjXx6̍xc"'Ydݷ;4Mdt1HW)=󭙬I}z5\51ؽ|9WTUⲳJK{{Wۀ=׎O>Yo~Ru=oh>섭W!MMYhkFY{95c%4BJ(-X E qbs:&\ OfGDCvzax38h%hNC=\F\|}|wf'|{%h'`PpG\ZEgJA^ dv*R&*x /U.a\F[A6/[L}JkF0/c'Je Sjfa~Vh2ywvs@'mjĦL}ܑN<+s$|(]j dvCs\|G3\%FA*WX'{')((PcyN&gJKssEC+Et)"UcQ"m&bQg㱎U>w^N1l (Lg~w8 irv(l󋠓8QC\\e~/P};c7Q?SpF`U"JFq &&1'WQVT@yb]'>?!]D7d="^\ȕ.w).ADnEwpa57?9P%-rogJΗ1&DhCNxlD"6Of#J%jtEw[*gH)|P:0IG9SV4v2)aQ!LFp2(5L"19AEڹʄ5U&KIH_}2U)cE q)8EO]!#CnX6&auYx(:&o{7L3e.yVnd6jöy hꨑآffQe2OXs$ND#;aS@هz}@r"R1GD5"#UY2[sTIrAE0`C" S^;:2jLivj'91K]>OQY" ( K4 AirGdb=s,CXuyam 骲9FXx0󇋰gf)B;XFQI(0T>"1XEa?JHVzLPE "23.qAK;,XlQ^Zۚt,d,*Rٲ]R||0JO))k!vNFy84_p)#Xa=!Hp.H`0iJiȒ.382Dla4.6Dt: 8Ŧlf9(kk[ꂔ(ivCဩcdSXց{Z.-q~0#U"`kc+o5F$:ddA)YLQޓb%+] 4x95IaPCrUqUJI_bihr( cg좸gq2jǶ[GT܁ZCO RWD|.Ī:gĭN'V lL wދ-FvZc3O@&L!<~1;0.&$uWS%(j+6Mj,|<(J[x^x+nZ(p0LG.;#FhJ;&ŒF)h}%,MLCbT{Dt"ߜ8a tW`Yԋ*ƂtJ-/1RJuiQ 4LsSxW^p5Ab MY MJP9!HکW'D=A2r/sK"qoK&/u;K"8G:*((k3rF3ri&#o9&ɼ4#4BFh1󗜷aՑ B8Q'yQrLumA9k[ ڼ;įqø(^y6D/C-Zk$GÞuKrJp-6헜LrR=P``iswL&Jp"2O2Ae:C* ] %8諫FCBkN=@`ի}ٝ"7ID4*w ph=DKQV(2wnbxxDDͬ<;}cύXos-ai!|FgxMp4&spaxD` aV|pXoYB~}p'#>od%aA. r)0{\P=U߆YHY"#giNk~[qիPR /yFဉ -ȹpjM;A!~aFtsS:1gc$L DH7:@L&̢mW8oaXX;GC)h"a%~iw.Fw,XK,(8nDgQA\U!׎v-yϫץxXzr%8n7!^FAc\/:sּ]B ˫nU&yaQf=| օS]BԨ=bRn,[Dlҷ칥ьt %bOC!=y ˂smdJ}[.i AV߄X߄e.f$n[YpDQl{v_5 Tq(@pa‚wW QO~f9DˡQ)9rxeT7m99e?^Ό#z5ѩ'm7R&;5eϺKcGt^F:c/}(ϖ|! id pyYό>k@Eahv@R*jo߂D!A0xPDHdF=~RH%MDRJ-]SL5mę# #NlH# ZȠI6\PAѠDR YAlTl%U,m=2m~e–b",/0ǯOZr q 0+؃X=O^!}wH^ ($\nBZ0Gzi1FC퐩XLM}}+^x͟G^zs$8Zҟ؇-8e)_ ]$B*(z"Pk˱*˭ j,C _o"K̸ݐBm5J'ꯁjKA|,;rĢ+sCh V050@a8Ͱ*-Dؒq-P+h;:DZ:*O"ڃ3N9礳N;3OK @M/| +%J %,*&b IԊ) M?;*VJ0ܒ2,[ B ,™Zi(P.Iîv3J`1zq٣p4!`$4"WZղ`}^[Yw[)VZά*ZS't4 G4h)Գ`F8afa*ypoJ)mgF.LT@Zک ٕl1+mmMYagW-c%+J^<̭"kG%yt\%;)[qw"eM}"Ho_2滤}7{$PZP|.i Pg"^V]z-U# V _Ev7vy>hTꮾܶ5ӊ `4qwO{.Ә IyhuPM#޵ ¹ i5S E_*=OG*KtfC=]Wٮ˽1EF1WfY+'z&&6 b1JFQK0j  A*:ܨ;0HS#Qz [ x:Дi/Z'0+j!;P+<= ^@"ʈ>njH̓tׄͅᓝY4,£uH Bh?%دiδ%FCF&0M,y0QʡәèPI!HK8!n,H"4ڑ #K딡T#N5Y)!d-LɚC|'1D: @$ HC͆ tB[>iD͈:͓KQ:I˛6[|%B*` 1naGnI.N A!Rv$=;$ *Nu܍!  P%"ԡTks#{|,鑯{"&ž*Ŝ 0!$PUYQ5K'td^U )yYWkI`9%PGkX!&8x@:V+?KInY4 < Š XCX:<@P5dCD2LrAGVbÈq ) 'b}  H&XURzUR2 ׳Ҁȥ՜ٝU`mHZ$ 3B̕fi:Θn!z?YKtyȩ%4M V563C-Pe"L"ۙBiiӘALJ)PcQHzGti5H&؇$Z,aPuQV00ЫD*zݝD<\!_IfJ]H * ( z9ZN'9- &2`,UZJX>4 GWKsa1.}."\ȍ.IH+X"H8(+) P9"1,-HM0LLdC[jd O {]UI͒SR(3W Km#*A{ͺ4SZ)8)y,&!X#40IWʮ-W}e@%C:bnx[@ڮ3ܖ֍ݭA%PUGlw7(-db3-T"![i< fY]MY CM''= +8(2!T Ia /Z, OzTud%)`1Z|a|&yA&DV‘WO"ҫ%.d2%@Q`w[(]&*-Jͻ  ۱;#0$ 4I֚*U]噦e(ڜfk9> :i"PX ur"%3I.-0'0ԑIDj^Q \nfLA\;k3"֎ݏ (X:^x|ۼxL隖^>_e3f La=l̊j* #N wn ^;  F$C\D2n+ՙNez63eUU FY j(~ MȦid̆t۫!6%?y$; Цeiݡ4:h!2ÕFP*:ޓpf[љMh 2Vr:i@ c:֚k&MaPQ^/s9l٘xxm-%  (*ŀŶ'ഛ3W"tnKJR(IdNB*P MG"DKO?cL;:C̛d Iwe`&^HH1 rA6)GTXkA\R0,s>U6C+!ٌ=؃0 iJaAFu9t dIzե77K']a;@nar=A.ѯVzb Z-7"U7_uio1d#*[ bF ٫hIwūhN#1}n?'0LMYӰGO m|*[?좳r&<19bP#{#Mw[\+].*NG~?E5 ѥ5CEڼϱO4 ^L{;JJ}GR}[&m|섐27OĖp㽊'10!fj9(Dw}F5'z$tiQއ H9mJ`sm1>άѯ9aR'r2CyzI:"Ƚ#*["e5|уU*'BCXo_+I f HIC P 9e ca)E\h(3 VLr%O(N90!NAwt2QlؔћJ>t*S@"tuC9l̨ftr.`6iEݱpDt2hX.Wo/oŬڬx7sNl"E","~$;鄠oέ{7޾.|8Ə#O|9ΛNXTJkuf!b!qMǝn0a˔5n$+M"8<GJHAuMAZN!BK*UBI Odg^ɔWY@}ZQF=Nա"%~Z5uZe땘mߙwRN[a5~e&Y( RvhW[6֙rtx,Y&VN ^7TQZ^Ds{٧ZtgHwUeRQ^SmVXyDiV7:fNC(P i]CEq>iX`Yq`G; ETkgQ(a `Q:ԑ L[#U%KlZCF-O#lg2jJ jwŭbXc]f[ܢ`g.({W)YizAC#\'Zm;j4B1kXIU^K3IbXQV05RASZkū!GD+B2C,FEKiZeӺpyw j"&%Tjp'%ضsv~mX廏 h$x\%\Jp)d<_7͎'ll]9C>}vC4>>'X;8>3߼C=]Rmԧq- jNF{C WO( +1bBJV!o^(D>/#KlJ*NP DQ2ߚVS1ev)b;pәe=^.TS6٥zA!Og}JIl֦2Qu( ,*p2lǺ Ib*BA0FMg1+uҤP,gq%LZ8.i.\< Gu$  +1#W)UALL:H) bms $\,SfLi8%1'=i{cA2HZHaQep1=!#eLv}YcR7|}esJ`$ +[95۫W::^1r8+!l#=J_kƒ:[4g|#=(U[Kw_Wwd9㎑mMumyPaA) jkՍ'{ c[Բ ;*S^GV M7g()?J5| ]jgB`|],Goko>zS֕69>K1Ne26G jb>`+>E?>i8C&G2{M鍈p"$aT|LӠE PjB0AE1  >PADV!U^M]TAnp) VݷHpP>$GL{zGSb LD,%Zڄ *caBZ.Ġ(#`p`ܬLOQ"n^,o%y MW>A[lq]:Y k8#TYє2ّ@ďv:t:aA*IgcvdX%@AcXA|exTÀ'&'yƻGx=Z0%X?J'zzWp%^F"g]c`p_; pofh\`j=ّ T)cb~S=`⺥aySJ >R%\VڇV,,a|X֙z4˴\k|(aц'Ւ~M,8$)A*\iOEΤNF\?ٗDR ˍOwx#2RF lQ$hoꬺ,` i8jBP޽OQLm ҥ_`pO :2VF'- -ΊYM\yۡϔ1ȎA#rKLH?*gK&MF̫rjRZNTܔǺ (+\.^bµl ƳnꚌݤ7(V߭2zp.ec0v RJ"TbFkaVk'՜TYAY){NӤ{Nm_Bv~2 lJ}@^lO HTGHQ}I 9W!诵Gvn5VJдp~&.O) .HRɽU{!jWņ\Wk,}P$FEA ؇MVx^KmLe'0,񼟉 )& 4')%nP8K|jHDFd_%Z R`A z )'H;%_,Nʍgk$*NYr)rqWDUuX%Zh;m Ec{k_dqiی.DKL=ԤCXAYz0M4uOZ{Nk? Cifg4_-D(A^h`e %)e%U ]9Z e$cږfʰr> eJv6ظ/jtm.A #Lvktmߔ6oVx(c 2!ojF\[fc?ESBlo(,qyJ QѪ LVސb[/&ED4SV!ćUTBHIƆP`䄄Dv9J,zٌQN\CxdJVܩ"&c~ef1\fdx_klo-JC Iަч 4"Vh75Sʜ߸Pa5_[j̀P.SӖ[į r} u$cݵtET,]YllIsT 9e:oMϰlrtLYUUF*:N⛘6(=䚹鮬~ i2\\׋yP_7\_5xt䕰qD3ONSDiZ IƜa\Xs"K Bhm/K ,ŻL,`_(Wf:iK? (+~pS|eA])+Mh'd| m3{q0 M:Wki#*́wH b2J퉹\܇iFIH@@=u,ԫ qtM `i A]_8őCT4M xuztp͸s#~"ls/&;~Ad/;w0Is O*e8V"{B6iNty= WD7pe"9LFlɥ+EtAP  ,L6DIO C@gHxŖi3Zb%[_honHd @Xd_A&TaC!F8bE1fԸcGA9dI'3$eY{o 3]t9Sg̞<.X%",\@$)Ђ-ulу91-uUN 9UL2"D)R}[ }{n݄kIi*eXeXW{6X-e,A (PT``P3+,dNH7[ˀk؞b˛7B5YrpEnWt 'Ϥ3@3xif60y*4~x׿ Pj(z J! ʨ'" `zʨ 1jkC|Bʼʮڇ .bc$ +a  !Sn:(,c7Ӧ46G3ۖK< PNH!Я,ܮ,O1L3 zt%Yi[qU]yO%oQ% ANjXlTVѭՐ_c+jֱh\JViʜx OJ3 b,*iWƋ,)RӠl:BvNK+4X#l,҃m؊SGSe% ̺@3T[lǞ*KPU)u,zm駡Zꩩ;k,$˫b2m 4q1MJhVso=beS7tQ@΂ 4J+ν7&Ɉ+Vm#O_U RzJY {kN,Lv/q0H͘會i-ÊTQA^Hr8P9"JRړ?C⚈إ#Q |nd lh1TpM=^ q48``a%If%Pav$+^Biֺܧ^r5E4f{h)wgOVG=sWT~k &6cq8b h'⃀joEU@D߶+)TBm #-%+QLNj&8B!& DX6EW(XxJAa$+`hHnvfǨu(p90gSr!HdT]:cAձ?P@.IfN;_tOТ˃TehHο0%ic9d-Vh,U:[CIw`#Zf: Ĩ-o;QFfBqe!+%LBRR~YPLE4Fw3JϦz\gP ᫔` +U׵3( ԌEg$:9xJe0P.ul?͜mkRuկ-^ۊNk`tET BҶT+0A۔oup=J{h=3Yɒ(l۴/vԡ m%0(BX@H ;XhJVVa5 LRIVVF3Yn(K"}x#X/ v0(6K'HBk2+F~9r~A$ )Y饔'HF"Z@ 6yiPN"1oGSI!;b/Rǵw9P7ߠy )&8)e3T׾ع%!,tlz3[J;׉~hA9"9sMZ[" I~eŞd7coDc9~gpƗ 41bFhIyjv[-kv=JuJrs>SV6)˂*#ꠍ=K[Tz LWW e.r\E7hUD)ó5b E oyϛގ-HzۇNAyҢRڕ,MpR^FZdJ]-m([$¡zՒ\诙>5jG Ybs J絋ϓ){YA5TYSXKj͠rAvgĢ+VՐ`sTIpWA.pLLZ_RreG`}od^ z%/ΏnQJlcپwJJ"LGeٰVjɀm{?u+4cSq EdU-mdN5N\˵{J.vOPm; v9._5{黬j=y䴹C5,à1$iJr2dY۪l '~DZ.!NbڊO؀˺lќ fu#`Gf>$Rln&жLDnNI5Hl"6hPȯX`x/0 ?F`KXh sZp*BE-^yn .,焆"VE~0( 7τkΤՖj (AC͎". !߸5L `GĤ(044 C9Jo_5d2PBt]DPG8P=G Pydp)bSfl-`%BښbFd-tI*h+H.Ԥ>ġj@qȺq(Sr-.<AN(<Kҋ-GT#TBDu5<7MVw:* 1_@nkPGnozlb Wb>&+Cy'}rM(l(|dB /NÚ*l&.BX*}lë,/&|)-f/rZ`2e\.IX}m)v`iÎenNE'l1sx %$N #Atxq%/K.ѡK%)B_@pڌNƄ7H 0'm6q)C" _2̄" 1~8J P`0b R 0 ^gfdh^FN38bLҺhRŶesl- bvL j&r&7d)AAǺqh!s˽bSJUrA'r, 2+wO6J—3'"BǴ֔`d&27}Gv> 0`x"h#I n75Fb Pko~T l ,^R q4 Ll"YtSFrUD˔;nN~&J.oDRNв*(钨BI\U D[QC'$0ȄbN?e9r,&b^>X%ҐO2nF2";^SqB<{9/BYDU #2l5ďESr=^z[#Mx(;wRYi@ն(s;L[7BNȖHV\(" ݶ]ok.AY5n@_G,Bm+qCb` ” 6m,b5dY&b#&l[4QUg,BFݴ BMS1!-` >1)RoVhJ.2\Ox7y%@K[6)P[;@HHVm(^=bhÂgAhpɥ$fd`N 0B{G -D`W{<"<[2H/BdD^(ʇ LDbbpN&0PRdv%œ0ww5Mδg0Ry8x#/,?W{DCz'{B;UGW l#<@'H؈v`,)!@/Cj0Q$r/"#UIjNi^F/_ ղ9bx#,К4 VUy.dy51Cx^X܊>xim9":kL"msUɄ)x(&\d45I$o"k܌X&*SgҠp€!ZvV'Y!@f-W%!N8&x l NRRDvֆoL,!ɌDS %goQ:|.l8l +.)uy|-ը(_z:ᮜ.s,&FO"_UVxղv.w7 Af+"y"1W'ÃLzp" *CFlDbIMVtJK:"644BIW l_Kw"+h!bE.ȇʱ4<Ҏi[Xh}fٕf+cv8gB\vw|j9P ͢\;dǏD9v I[wřܯ&|KG;m֍0jgh7<@<ǃf[C`״³"lX ?+֚Z"Q#Kh\^ tVltsk,=fx@V wKЋ"#IجtYnlX6pp̤q=%bmF>Tw6v0!GB3 1 gn'SK -LDI0\UX@Iz& t~wIz72>IJvP" wM. @^13L/49)]DT ۔,!bp&2ƉZx ޹.<Fz=} >'#ٳT‡BmWK<B1*`He @NWg\{3ork]mr _\3A~hx! H" \ȰC"*t"a̸Ō *$$a&&$HJ'Sjbg (gcA ƀYAk-9%Jc[aV{?='JLgxљ)DrBZܯ+k&첻}kti^TezfZ'`afvknwbYћBTG7}QE(LRZYtE}TVZ)Y>H#!Ҹ*0PIщ$FcHJ{PyBBJQT'!!2y v(V E+ky)PYδ3YLwwKjtFFo@d1EզSF.Z^_)^RfMIJZ6YX1H>G-AGWFVk0NQZӳ1U:1k騧ꬷ9p5E[:u7D}瞂E!gRϥ|u|UB*ĥXFw[KD^HtHD0q-VqƅTqI=[jYiN92w)0 (Բ .9@ IY4Bid z:ĵ'=/i"FJNPUALjw)B!1e|k0OhU!B(V!fr#hL6X;| e 5g_~tDwQC.$|Ēf\$<'`^C 1 Ah8WװE#`j ! ppQ"V0MK>>}(XtCa|HB=1eҳ7,-5 >`h(;ȥ3BP'Aa`Ͱd EIjE@ b@tÁT| J xKōc.=$ad԰>yju0BŋGX_2Y8GNRIqEIvP&|(iƳ4j$~h$*ȐzlT׼X/T*,<k vVej2u%]N0ne3/|g:CC6GakZ qO=13Hgz~ ,؆A4E{F;ѐc_ԱyBc´z[+fKTe WV:TJ;5֬+FL'q5;0 ,tG>+2'^ Ί#j[uBHWPӸUTCR#8UHB}d(ýLQ@AbhŲBҁP`*daTUjĮ3k*=6WTjz_ڔp>ևDM@+YRT ែxqͤ;e4l*TuM" ab5bf*WD㽇0%Xu"TCG#L%UmĪ%gDU$QgLe`s5{P ,-%^p!JO~$N,1KP"!%/OLʦՖ Ĭ! JCje! W 0*Ar d,-NX9%wfK)L`*%ej zhS ץH 5SN~cPϿñv!#S D}/D1miAU"pu}fe}7@xw9Ps*XVF{kbD"]r@-*#]0mLłR9KQ^1hQ3 EXRf`b8d_/x}SS53'1a+!f7!w  ա0:B"pgON2TW&w؁o88VWz!NX/FHoefdqڶF+R)Om؈dFA+J 3 !1ǂzkxKt+6T2V}qeiRFxF2a[TH*? Jxf%$PSaҊeA#jJ3XQ&UGa3P"т7Q)L@O_ qp%b!8d83UMs#)fqR84Y6:2h)؋WS$3!kB0xbPmȂ2%mHp$+&"!2|\(ۅEh!2H%فY@QX q2l&ɒC6ӌq9?%̒c G+QhadEr0b8 xRUt8"q&5h2t"3ʶ#]'@hiֆB(y3"971| Hp:?6Om7 1xũ%X!مY,beoIٟȢ6FQ(XSU%0))$Y{`8Eay1_qO@JB?>^}݉![a2zv'ɉ6w)ftGIj S^\:_jl , UUla;QY&A.LC9c*#9qOs7a3mBqO1HʸhvP?ֵ,li9wa{騏WXQX<X4qE)iڦZo:ǓZN4P 0]wI>;!#i;"qp"I*4%gyB!'w/ 3%THwg!bLwv^Bq]#e63a5l4~"ķ(`@v +ajLJ99M,(vZV{Oc$2#HǴ.nyRh%Lr[wZ]"$?T1}?{p1i6Xd-J\$"W8冮9 0_QA dg3Opm!(2/ѬS"5L) >+6BJ;;ʄb;fNNG@X{؛⥵2rg &H4x2+>Hp`2jK-OCi"q"OWCEe:VkUjn)#v;gڃi& Eg6ׂ;*< :+WVڷFY)4~W$h1`qH5(+>fyj)ΫNtG{Q ^Z0eqĵbDPZͨs>9ߴqWCj0l+?tfs#;A)RK0bVCKZ8=#g"Lz|2X^dm1/iK f+3do_Is1 dN(3 Ř+:AO0Lٝ(<8l2:ȜvLCUͯk0QF\f}ֿ"%Lx#(B:Jc?L#I {`'hn  VDj5~j@-%"z?Pȱ!`*/#oTiXEZvG'$^ZYyb˒ZKK+8仞jPr*KٹYImյX HJȽh?8V]H$Hʖum91#lvFKn%2s<ٙnлxAƏ KTP*AHTЧ}!1v"!Kv#in9#;y]!ϑ#%26!-S16{+ޅ¹,p!yi/̞U{ƜלClMܣ Ht$7ۣ6E)p8"*C#3D]ML^1 !"V}x!LK8ًW:Q"u #{C%?JZ_uףjT"h߈#KŰ J4ѵ5Ja(l[.,vda(XXJ'+ĿR +*AVl%eBbnSA8זY*ḐZ>"W~}|Ci i / S_}L3: YXNpXgP5OVl~&hXQEZZ'ϲ#bVsĉĉUC#?'ؐU ?;'c"/K)(1鸎(:h!}erW'VqNYjuvlUeA/6( LW~ܮkjbJk΂2lIj3,2"fH o?{5K"RsI1ѐ3C14 +PW߲`dwzJ  #XpA.7a…%2X"E!Vx B+X(R 1`% Osa} x FA98I ,`%4$cQB!"׬I r*Yiծe[qΥ[]yW(ӦXDo"(%*^ 2#J+Uʾˆtxam>G%a-[1EDD4F9 o([^sेe#RA~|sUΝ]pcXpz5>bbB|$I#PlrORJ"ni?"*2K ʱ6s!΂蹠*ASTqE[tEcqFժ8&51;G~跱H"+Hb;G"٘' }pM!%~-2l*.(@ +0Z3Xji-{&*ڑ#vl"EdG 2 BO!JRe2WPK$/Zj>&'R5XdUvYfu6.E95S80L1:m*&H+H*P"^ 5 = +HS:1X`2#ys[k8t8@'N;BF]]/A+@T&>BEU%%Cpͣ4E+9$!W5j}gV{mvm-ڦCKnk)Ii W$%@bb wqNP($$0 5oT7$kc0[wN0}n8:Dc輪VZܱ(ȏLS;:iU[:+s}sNI++skR&knns)bSa9f(Z&a%NV")*P]sB4Xl)V\&9|X d<)^cCAbiCtCq (XY `ɗŪR㡩ylu(0@@ף"B6I ՎoQ|*)|?} !4m*sHU ڐVUs+^*`*"adp1ld4{$C&禿z:Y.Xʘ1j/A[c3dY$\"fp>)]U Qr|nsCX鬾BWhUensVABE64Cұto)!|;X443\Mv-Nu 0p6odJG6U5Kn1GAZhUV\ |-S@--m`&܆00aT[F>W;q}<#;%bN)S)Wp)~HakFpK0}pa_5̚'+bc1."bؚU3fyfܵ\jJH<''qb۶@WC4p'5?&uM}jT_Iڢ`@Z֭E:kx)_Du8#׿c㮓Q4GRʾ8EdSD~6WU_L Cjc&jεm-k0Mn ׳uZ}{3Eivu;ޱ7.sy: /I}oY{fY'.f8Yq}S WO#Ƀ-qꖵcq<ǩy}s:[B=xkֿ6i^]tO܉uNi:ZjO1"x^;kO6ɍ}y nխpy7;{u;Cg8`^#8G7\ x~ o^=~]t׺:tؠ5MQ /Wx>o&e#? ;C56; Srm>̷w< |;˻۸3?K~ÿ)5{K:%0+ȣ;#?#Cs8C8K{t@/|=L H*\ȰÇ#JHŋ3jȱǏ CIa(S\徖}S4q1Ú82g̡H*]ʴ)RS-ӶiYQNRB=ܩQ˃|S ~ Q6;{>Ž@֞I!ށ*܂ 6F(څ–dDm^p wRz f R6qωw[uٖ[mwl]h-E} ~5@! `y 䓄EiGiiwU(dih)alfxcucz&8DpV$s1uz2RU-dSY]fEԈ©hSU_{XU `N4"mVj*무֚JJzTį TA>6E,BSA=k ,Ov-Acm+,,"M;mE [/ʋQ+m'AEnȪ.+Ri3ql(Kk,WBy/)+@'t@ D9CE}tBR$pe|LlxC;PsP +@]޶B)<!|zA=w.iEц7P"/q /@C(%X@R8 &%mbŊ@B=$kX)ИiYz#5\."An@ 0B +1;jP\~bO53 slG, FP"aBnXtbDBȌЄDt !B1J!tಂ`zPTJ_~fREoӏ-jY'L _Dq,'փHH_7W,~x\[ɠ$" # "GB ;:to1} d9JrqCA2PV}H 6,'^"}HPNgluW4 r.k>3H=,du/CT#ֺ ZUi`.Tfp,V!TfdžyD ظ|,^9Ƙ6 beS92Pq#s$;0e*Ƕ/N1KѲC ٜ'ÐR"oW_{=awVx?#5 dC4"a  =G8brqVCb@ϓ HyjO 7W)S&̉>¡P'&r*I&-iG+DҺ2eUf۴kV`^}%njTǯ_U@c}jjD }v[ b D3.vv R Q5A:s ;6n*[r*%x/Q=,)>~aX}xCp< G_Nfa z8鮫-W(Vq0-o{?X9e >yc&/񐶧w0؉FD ShE{v()|UXTK3A_H (hs%<+e:1.tvS%ai2S>Wb8qU?w FpT{` uqO i9G. p܀PP ހf`.I0n1,7r;irxc0Vpfh*{{`×N]#qTTijmPAQ"}|3S.59qgĦr,'Y8%fv-v~w oz}16SEB1gH,B.Hu`wS B~J"]T(Ȃ ҙ42i7N(El?Vp^!f!Iى)!ᖢI~y{5)bvA|?S4/nbՋS@CSډb#Aء/zl.JI'rI4%5^MSc /A ,3}*=0IX9 .; `3cBzl3K6`B:E:vؚj"A8 9h2&zCu\^hG[k:V Ru)/J kfdpHwBobP.OţO=+(l? V q>)^'ٖɕo֊ż}`E24V!{p,{/|xTMT0g,[&T#`!AX7 S5ӤbK&Jޚ+)B94cJ[n(Afy(Q)asD)'8+wv)r9\h ;~q S6qݒq{oJ~j< 2pA˸v&;.{Fa,╺'Q;h5pa:/`.:O0*;VTuU!^ŵf; ,`;۽Rk꬝t兴B *F,[0XzoJL\Ǣ+t;i5TP3,ȁɫ:TYg4S A=0"<©$K5cD./cn{>uku wL?ÛpA``lRa[vU Az3vu=CTI\ӵQ_%q4A@ 4ON@0}=߭7,‡-͉5+6JѾshLci4meGc/V/-hD=jǎumKa~JRͤ|۸2sWyU?"@Wcpw~LCN#4Yu@ؐ @ZZ @m8Ԁ |3ЙUYXu'٥Jt\/o* ?%4".hv4̗ ؅-l^ =YD,n7-_l;;E-{-!?)3 ÂyI0ba%a2bsbxGb!e͇mЩbZM.zg`8K|N&G[*c;·;c?&|5Zm[7o q(:-iA1S44D^Z .D^Kn.2.C*^>-@H--< 7)~"8Vabkk!c1 G8#1lIntDmֆmWޙysml ױ1,~ƒ07sHI?\~d^Cg>٬A\,٤dICh7R;.Ix,-Br./}!T=-KLÏT.L͌Jk]$^_$NB/ܵ()oyFw3_;kb.w)c.@yyEچG팇x<=jAG? }2{o LLV"DN ?X߁ϻOVo &,p"*4QbE5ntG!E$ }K,D1c.YsL9uɑȗW%ZQI.eSQNZ }8cVX֠ Ab$DaAzl\%[Vمxڵ0+Ͱ!pvA\x_ Cذ}.IGDS૾\%¨[(A ZA[6neixƃ=*o[hJ8:ۣj$t(L ^a`J;٣@cb}SN*5JYCUU#mҒԆADBS,hWxCH>Pf[UIeZ%r"EwR1$XLGva#x|,+Bk!B&|2cъWC\;A7)}D}nA'Wllp3AD> …W|/w$B8u>g K-> QY\^sqkUV GR0@lbMð#3ֽZ4@W}[~("L<"ݣ>XX5ʥ[9`R)vy裗~zA8FWR!·kyE؅^yE: C A#㟓Bj ?LwX!Tj$&㷄@q)~Mki38n Pt8.!;K7NQq]x}O@P}D`C͒.XVېPvB[,[Cnp cT0rp \+SQy"&b{Jr NX2|źTG5:,%`9uL,]M7Jdaxˉw"4^5yMlfS#gMWBDO!DCr:q(?^gNa؃X_ qY-[]_2-uE)־ƶǎVC KhP - %K SW]4"Pu ABK|Ew~LX` E^$$H-] LJTZA!RB!`?J )H8Dr#,­OMq(h(}%`*ȍ$ۇGK 0J%!#0 0Lk9Ji>`fAy+"Hjʢ3l:L 8 @EE'ӱJB:\\(ذZîS)hɻAiFj $ P 8Ǐ0/J ^ЅG(x* %[(Hӕ){JC 3Jb=3/řHC#V<=sy1]9A\ B#Cgّ{B>B/ʃzI !{8r({p$ȏ;ڳbS(>RY;*2ILRA)"#"GJBC osBƉ&he2"P.F N&"Ǽ/.A<FA p\)rN\^h< xLyϒ@B!>$$H]O!+yɟB<#I3⡄8:Bqєkl >~ Ѹ'%%W(e]~ I5ؼkNg\3pjAi^9Z9҅pgg|~cH9c.u0NnVdJ^[ .V`We0b i.=Zן\^an>&*>՗d9|)hjbڍ`vWÍYgVC.n㎵ 0gikQ p <릭gzga`Ɗ٠a. u`h;߻kV}ְE~hq  vHlŖen P~tfі6]BPU1 e؇0^N&m mR> Ԩ.isq&6))! " M$q_(/r=nnr o}) cZ(h_^lV9@ڭ`:þOq]`d3]4}Íj>WH5՝Xg]ћ/ eYq/lDTޑf+iqXk#׊Q. = x*cNz-Zrv6Ca%s]ڱox<<[Io8rdGl ϝˍ8crB7thWRap}cV6|]em".ۭ>TgUVoCYxצ끑:&thn.3p:+](^5 m=X,umrnpewAt~5AG+.~?fmVXͽWhxچ Ég'{Ǒk싑jX._Vpyqv0Xxz{mpTFzfw{?|gqn5>b ͷ?aqiR hXN1F)LVwd>~⧑)І\W;y|zė- PB7}5ph.fwNwWL\ܧP(Kw}z_} ,R„ 2lp!'Rh"FVȑƏJF$)c}+l2gҬĩسgƠB-j(ҤJ2m)ԨRJ@*V"rk]Dqi2ZKnynĵ#u>\/`*XRoZ lDkBv߭|d]qj|V2I5Mڵ刬gV8vlٔCE {`]l8⛇9ҧSnڷ;' ǞM:\hMn{k>Q}/]XGVB͵SAnE{wjuGR`A|7m1J hzg_p8L˭>xh"=#A )PvCy>ށFU(QJz$'{,&QZH(}0TsE{H)Yuեl<%8ҎIh'AeD b Jk蘁BD" "Qn)zf7&`䣡:*X$EA;lժyuŞk؅EfmbQQ@y\5IzH`C} zbWcvysmi؍8B&җz۟Xpj:MNaֺ0 ;D٭*Q! y1ǂ0:ȲB|]{&lPn}46hy`DYAY}+l?ËEN$7# K)!6t'}7y;ILE_p,Pz@v<E>TY ؄P+X2kׯ]Z΀Zjam,v~YJzO&h.*V_M]Mԧ}HRMp_;m _~>/@U, t>!hupl_ (?.P~ ̡OWQ^abBp\B C!>"(C'JBxWyhTiP'NQЎl(*Rۓ@&%L)f'2 өu69C 6w2  o #ѨPAK+N3m(-?HA4E$H]ZC\L:"k=1i, 7=,FGd8]^䄠*tTȅI(T^!"i!PR>+^ŒoBwKblbsê ױQ y,+cSH/Q'H!0Fj/ ܒȎp\R!KD( 3G$!qssZ>fy`+1%HLZ2aH kbA:-ED B HbtGY#ˡ"T'=Zr½15O]L|s%iUb=WW#LoڪYz"R03ͣΚ1mr6ݔX8 E g#WbZAB@*Zz-N5PX9D$B AġGJ=bI+uLWPUHD Cb8W z҇Dʢ %k$i V9to'|PA$Y=> = .Dj9jJa3Cឮ2,~ e6 V;Plr`ڼ)GzƦ5OAÚ`C05Ī[챥 L## 3},A8n(UAxяUS`o FR>>,UI·@n0/Yl}{6.,uWLUXޘYs07 rns0>wNR@+j+'iir-'Ձwi]I#¤DB!\BԪ\ B@e<*gZ]|mq FF μĥDU  "q a [ML =Ќ5к1EF@T$EH%1l=%hYOA ILTT2!jwANؠ CI@pY.^=pA'LUӝZ!"-YF8BJM |E UY!rmDD ~ޟJ{yUyER^ Z ♍T  L3O2.#; L`U}EaM%V\Y5"M-IAZ%ᙍׇTXMjBTT͉ :,(q8 DVacޙAR$T&b&:'WE` PYb07P4_ "dZ.ދ\x #1j`1#Q8QiMD E DQGPB!`!E܆^:GI#[n M X@ O=LOŝšIt[̖Q$~D 'RU pe-eed|$reFB\I"gAYMMMZ褁A^NO$D%%tF tȼ>ЛE(Ryľ[z'El]AXz&]GYTy` =oZrB%uAX8K,I4F4A-_I_-!E]/fJ"&ALZU^ \yE|FUh͙jWmPH =D T0 Kd(mOsESY@G G%yӵzK˜G>VdP"D Ϋ-+Bvr,y-fҕ $Ux]d^ p9MhP l!ش9Dތ Ƌ+]iTT hS/г.~lCÀ+~FeM,Ml&vfVЂR.W$"EnhӘ׺Tƪ %a 2ҭ̈́IPJ$q+]mV k&,qR&J&fnb 0lZnݮ~/SD ƬTǜUH @> `dA颮RdgR6הո I XM FU۟XipipmTX&m SN gfv/&*1^Qq,jH -_1Ft[hb/rEgF` D3C <@H¡ 56W5gs.->- D8@:>@8q8.9=.E5bL/9KXls.C($  a+˭R]PYe011#pYMqA4f+GP몀 Dy>p^D4DU!5t huVs :5n\[ A鞳@3\ӂ\5YӂYu\ϵSEP$*27 ,Xq  H1LVty.o&NOtrlRPt~t9- ԕ,:P7&V<E>>STWD ĀDdvk@Atǀx>n3>u]ӂ]_{BsT\Қ ǭ"\HJmvD/(yvl$#U $$Ul28o0cDzmah }C wZ52r*bEd @z N> ĔWC[@~˷~5A$7 9:w3KERE}YEF‰mJ"]~"ƅfmafnWm)^]S*%r ˚gmM MaH8p'BM.o2-/>D/UW;W X3^s9w_!]w\#;4;_E?ECSS&D$A(cD ˠPAW$iuQol/uXv/ 7u,ͦYx) ޅT)0w0BӲmv |zj3OSwGD?l ܼ %;?_@ uw3} 5}`8aTIx}FKiAĹWz Kݡj#]QF:S< 2'юk]<ReW.؋?n[# OKp22ìȓ%:A@l uOYU D?4|«ܾ^K5^?- g_;}C3җ\糶wU?+Ά6B|K-bxJ?⺿/սݛv 㵐>V4xa‚E dbą h"AlܧDIŒ3$ >#42ǁ i&lygNxXhPC*$9&ɋ{VX邧QJzkV[蔨C5{mZkٶun\sֵ+y$߃aF3X`A@*(ȓ+C t@s+~ ~XhZ>0I%en$r!?tzAJ nŇ/:HWPٷ/kџ*O\zѹHUBQ苮 @3*:?iBDZ˺5*Ěθ=AS!7CH>c)'PF+H<;Fr <`p@73T3•̋BCKTQtkDEGZQ*c]QXŸA8h*|qdSEԄYx#F8?iNT,\b8 %NKN !ag53 n D[DYxId 5(3* (tÖ=VI$ɑ Bi3b=%~{V,iYK"Qі$U5%;H z . ]6'P lX00s x>v2t%ARe[J)*\a2 ڴC4pcʋg~Zi*WɫLD)z\ e"( ? /v@aCEٲ>$SEP0`o" Q @h;d!lL,%1::0pqe@#)B(N t9euOVJ }u0%ԇ<<UP@_VG-A$TjZ:DêOPV:T,EXYZ׾vJ/(@tp=m !x1, q RC(-HlR q/'ADASp6˳gub]T:$xRK7(bVU O 4Q*#%bvUiΦO5?kF Gc DaC+day51C!&t6cD Q:mpi!B "[;8])+޽}>b] Bl"YWԇaYjfAyCy!;_/2^?DG(S5 `>fA^"pp̐> !VC(z>(E߇)N~W}ݽmV:(Ɏ|!bmoV<'Fb>">+\!Lp'R@&8 f4" < hf2c;\`X*Z- ; vBa I)!뜉!\Ҭ G Tg);T/ `6N8icn֖@ a(ʫ$2" A`9t`VN閎S&!L =`(#RxfG! G!l) ޠ"c6pO8V4Ҁ&R Q=XmQ*QS@&zܔBqx ,6r@O&rB#Ҁ?tT#GQq-nܢo&y2S &Jg" j K[3Z"*R=  F7p2K" ŒaPT l!*INA/ ,_,"F/s{b!?-3SUU/s33M! / #" x!Ґn32Nn u7p758 #MbZu:~\^A[Z3< M(C ; HOܚD\ R zxvQi&I۴G@).UM3_2a*^$DT'VUtG[!< lVm hB5 XC .Yg AX=NYY YEc :Ьϔ[ q" [ >E%N!;pqMp`Vd Dfbl$%v* r26Ȃ:VQydh !|LNFNT`i]I4&ޖ%&uV9Qu ܲmۮV *dE'OVoM*#B0)"onotW\sG ӘppW GRwlOm;GE"+xp1fsBJ%htt @ @aJ&V *vU Ak-w vE978hz!4: 6;jMyWzώӖS (Yw.\"{u8jB6 hM#sJ \ԐV|`Nj/v D@AC"Q<BtC88-;,W@3lIi7r4]"j4"$ lv!p,25E ͖@%VF-Lh5$OCtoG!-yO i_ARǹ&IRΎ-g8O8;sE{& tQio0j VL .V@pG4XzyNq ;:sWzB蜩 j":"~#ȋ;C;SM6` (1 XGN "y%8{lWrdj:" rh7v= P <1Wp,#&˛EJﰶ*ip^q>OZ\!8"ct"``cG0W#<7}$B|S-,&ͱHg- zf;B9]jTqٻ]``NC\!T/-,{X\3-mwJR /zњIs6W1s&!ٮZ݉V3 CLy` JFjŠ,Yl9^6 nYNtXN(aN,Ѥ9g;jNh;9T & JDp.&CgB^ej`cNTKLY8yz C5'cK l*ۮȻT,_4'̊+";Ѭ5!&.c{cB2*^8NiS|⍭j_o R8mO6f=ʹW@+WcJ,Ǝk)^A+!F !{4@UR% ̬PT1BB\ϥ{&P#_W6" GD x^$&_ iO|INJ2__h(C>d9ANBO.k!6f?}IMz.>or~vû£,.b}ؗd+$Lʾ>#(q* HC"0Ti"EYH@vyƐ=wYҥLVx 5ԩ:5zT!ǬDf\0رG)!JtfVm @`b{7KhzJE˱ո;8ɔֽX젵w0`K`:էYfѺk۾;ݼ{ <ċ`ɛ;^ B$OOVkQ&DEbOKř/UJBZ$a+u{F%ZT`y]兞pڡ'>6cuy*E`5PIcA`oimE8`Vsťtو0MIA(kBh%ۉ)畎6> eRNIeV^rXn哔DI 4WW.m %x.娟0DO]ѹ~ t4 $y55ThsNe2ؑ(gEfdi*6EcXQ‡(TDZi@&kl.K> E}Pe љ}e!YIJ$}qUEjiQ!,ƧXv򗡫hU֎MF8VW[ 'Hh 2j!N}\/d^wQ2HɷA wKBK؋)5Sև4/JfdiHFX<^uZo͵@v v`ȑER"$m玥잜>kl%#F!#̔@}́SȰYUX%N(Pc '+Kl7LlŜGgJOzFt݁՘. Th.sRݦXSFW*-Ҽ+cD46v}-"D9<-BdzQHtbmmCEHk;CF5|?(EDyB(|Q|G(#hP5 (6! t0y:@?qҕnD)NeZ+Mww(C=g/An7HZ'l(H0aR"x g!O5O12-aA|zS RC9#%,s| )Pwn BG^QĈ깯,@Sz;J@N NҰ8I4טo2˘! J8$)< h@rֳ-%2v*-K.F1AdFu\P[5 v1#`mL&5*fQp&Sze} bDzl P"LBڇStX%\#%߰؈"cb)ɪzլnud*AX@DAxu϶D3hA>cXvf/+-h?Z[H =g\a,:6mmròvEz;h0yBK+!hBa$A((սn_6X'-5SR`N;/͂=D>uuԫB<kr=|be4Ap>\vHJm^>tޭX 1D,,928Yx Ig xYc>>@䵥a$bè:1p!B;0/BB *B =VHi'xLe!,S,S!XOqW F1/uwXP^sĎ4_ͩMzԯ a}>7xx>gaڸ>9/? b w0' z0PJGIWI~.Xbh~[A-v4bjײ'qP@.pszQ"f.S1eB:%$!e"Srgad!"!2gt1s+sN$Vr `E.!EutKDVgA 3uhCp(pu:?evtqLV@B*"s;ha:O1uddGgIx8NqfdUgzq!O+FV^5iwEwRRuXVghq38!W5w5DNA+wXOD0!}ǍW}G!6e%L[p$ %Su[Q[?"0:px8{Ӗ?2)9n[gc`BxR#T\8/KZA  17zrŃ`i&2Ct!:jECBBpqL}f="H}`t&K3RKH{hA 9lc:45:d冺{lPgf'u!@:x桓v=KwdwT"T=dl"RfउfuC<izu39P0W:WF5TrfiU`GB$<߈ɩXb}a1p9Ϡ>l n%?[`mז[?9 [9ٞua:AQ\`]dג@1s,:V&ZFwSdY)Ct]L`89ri";Oy(7sSi>GOC'[ٕjxKE{SSȖ%hg/mF2fA٫ɏ*j遒%$B* nh'w{p/ 2Ax0NRCN/cZq0tזv h.GQ7Auc.y1Zx`:g 9'xxfh+U=w]\0{e! 5:TWf0,\eC58xEPUQ`VS{G5#$EV"Z!zagxCy c{0UKVp9\&29 D{pUzqTNRjM{ cxgh UWg}VClhŨ:&{3^uaL0L[dO"j(>zt ۸,u B őwu7++˺3@ +0mYQ;WPs[f9%ة6sj.WQuЦ 8;+JqA%SB᭢gS6tQ/zc0W +GWOVuSLR0,}"-?a[{;* F{DR1F#M<5q ^B8Cuu;G륮91S9{X{`j:5e;"ěv;{PG q;`4&gSUU{~ZgV&|gVo@7:d#W`^s^ZF^#9ZPM$j6E|;#0GǩɛzY5If7禫G10H fnmy,G h0rZۑ@)j(6brȕTB{"(aAyE\)*,OC0@ƾ*Q-"qCD *h/q ,sdi,M#ɢ|R&Hfad~Bm*l,-zpn;+~mb/Zm)fq,' zC.' ;!!+V*3ϠRի\L,M*-IFqB'υx1)vat3 , ]C-\j-$ortVѝ [#}}&IP# Q0H<%QF%h0"})\~M> !\X]-(bI^HT26);eAӅ-nYL7ULn*'rL᱄134(%ppg[_y*A/ߔh1)QDs-#YD x;*vJQ19.SEjtR-![q ^}*9LR=L7ꡮX }ɬ.%N"wryCrQO.)P_t9k q 2;bTFy#o;HH9,TL6W"u>F0Z[ucք/ZV]"NiM > |ձ G~}Vb/ϭTP90åVUN71cq-}HL4&T I/rL@܄?x 1c5I_ !O?OcTd`V5*`QMSLķ3qCcV[t8CVԏbhQWW`t^Jz cx4![]p9g #xmOH+})t@)Qϊ}~LܗQcƂI$'Ba4DGe= t(sfcFNի>)*TG)}ũFJŊj!5cD=YAZjW\u:Pc[,ų FXbƍ?Ydʕ-_ƜY3cw|ُyh8g޼fyikT>=v!7:B~)4G J@CċR$DQ>`r $I$oP{Eه>(K=,d/Ը#bn*"b>VQ<&d "J򐈓A؇;.D8A;.>ꠟ$ @G8j+"d; ;dr+,ڨ aґjc2eT(}I¯>N,HE 1h3K=cQBL4/ Ik0BAɍ"8R#{( S)TX%+謔%)28"@l.eev,+@D-[m[o7\qը3}H]Av::l*7晃c dk"bdCeRĻ)o;&H Ő4̒퐩DDFv-5Q$OrH8v*؞8-((B!Li;ҪV&%ZLpfx6 7rr(ϋU^1Xl$;DO&#@3[|'\4ľgo/1EWӝg<9O01Cҕ!#A/+_HQZ8BAs B!y F$9 t#IKK}`t5|hDk.aJ,QO N(·DRG$I>D#nm|)R9Kp`>!B]CxOD$b պ6;V ʏ`UYsO;i o#88J$8Hu !b)] l7HeFΩ Ԉ [}@;)P8D6nD\{~zQ^׽bi ܈}KgX (ьBzЃ6F Yk,zhF8ZTf*tWYlKH-P|y&‡ ]k|F;oFa3^ׂX=pO!: )aE&U'JIS#[J#OC$-v.jͬ/5"䂸D޷SQEXtډi"(l F%CWbퟲZyY+A\`N|@5sAjn2k=nH8!BgIk2|Z~nw&oJ$v#&0@3(!A01}؂y(("0K8}9 )b !1@ CA( WPA 鑙# +"?!Q‡X%c+368(:ກX 15P3³舨 )84`Uq>P,|9F bccŠ(܉؃'XB*ǡ8>I%R˻&clFl)0+TR="3 +=I"=IebB>!" m6lk?#'9'k?vڿtTud?v1x@ 0hA@-8~1A(yǀ~G;8;9LDc9U*XԮ?boc(m4r; ';&:0{ppCd/=Pt08/Pky?VY,(pG!Ksv˸˹w4A}G 8G(7 A<5  HAhHʳ$ɣ-j+:Z{MDK1W؃Diʬ@͆MmDGǨD+C-K ciJFKt\"o:KTK?hYۤO,[؈2==z0 S<̈0?01 S:01(Qe#0 >!kȒLR* A\&ȡ7 "=Ĭ@2D3 (: >xɤOL +YAb.ʒ|*(?k#TQޟmZk] V r`NWeAX~&&>Ɏ(+;x0` K04<8(qa6$$YHĉY@H)Bʳ = ),.!1 @(HY悰>8>B̊c+)AƃZ9<!H1-W-N,'So^R]ZdlͣΫ 6x}݉UWZ&Y6+ `^}jh33ۉfsR)&f΁Phg.!l 2^:Ig3 9]!>5Iϥ"(q!c;j4 AXAV=\hlj;S&i"R]p\EAS֝MuJR`骅 TNiڅ֡N&DnXH `0t \Id83GncΊԬr&Efh!0NʊiC{ѥҫ/k<[7 1=2zo4&N#Þ hMhQs\=oq,Ֆiڿؖmt6ݲmdto3/&"Fuawy}83 P=Ș7 ,1an 0's;a圾E`g MʣtUhҠO9Y餍q%sbsƹdm`OeKiw''}R~GAp}A[d Tzذ)h| bHzжGLR8$P͊4װbpQHsap,958].896>*=<ʃp֒@7Iჴ%ۇβd|98%o- YCI^ГGA6s{>,» x ">skhl[*x+;ξUG`>Zb?G\KdW ȡyЭ__zbe "DhH @(Ċ/b̸B?~LdȎ ,"PȖ._Œ)s&͚6o̩s'Ϟ> *t(Ѣ>!AD#hA^\|my9~kٴ㖠\4b!WZѣϾ9Ck_Î%h/ECK`VK=cg>ID:(W#F o+{8OP>yɻ, F BzBw&K dL= I@cģ|{tPe=daA}P{vKдA#AFx!7bH}`(!A䝈Bk}H(yAPS7LJXA]H'y$IEA8cy~QRyQWڸ[&tmFiTqTTdZbsYw♧{ބMR0S !Hᔢ t#!YZVZhYJYB0f (ht=C lѨrhb$5k QRA撏F@yJ& ԇmIl֎jRP8LUbCW2d*RO_J9HB0BzkCdA~kr0P[ 'EygYpY&7㜳;sN~TB&H `sXZb̓-Pm5WimQ$pjQCֺ`shRP#FЯԚk1[m qxPJߎ&AXAȰ@&H$dPy8RG&oG`'63LP1HM³d#˷uW|-grsK'+QJ|=c 3Hw#eEU/jGF/De.#7\$#H&G!؀x.mU-&PZ/">p& B JoB!kn:-J 7YOfx$+^4eBƙu6իb6GDQ"ܷ=seoI"ܙ.ms3a^iN\y1|A &+ˡ(G;я$5TjpD2e\XWr@Ẽc3hT,p6)FmO BapPZg^jZYW>e2ɰV'.H✡?:.b\#Q6P4ғɝ]T$;NĂT&h*ČݧQͦ&+G4R{ L&?B^dcB1-o{3dG&W)4Q a5m, p<;9 !qUhÃ1K ,PE.ޘmeBhA(+|'~C5CѲ %@R") 07Sp]uȼۉ,_X*>V" cngZtrg{T38$Ø-s$$ jwb1{Tke1iUw;cַZ2%Lʘ5MbĐu'Z+I7"ֵ& &W :0+^wvvqw;2Ϝdz%l 15#M}QT&P.m6w)k%Z( ױ]G\%K^6m욀FKbҝ;@RĒ(DxaCzӰ`(<y 1Mh)Z9"-mt1t,1{la $-qH\.aw[!}\ pvd4T6Knr&A963Ј 5XA`X*ҷP;&}?yq-1G;^k 'S:x9G&Ư3YY>bmx{cu/K,sǾ=j*5m;"3V9 o̻+P"]3˻k>\eI bI(//v}z;8uiy(P*$#ǷŎͲ{7-bN[Ho{dwuX6>)w( ׉+>?OG¼/Px0lO{Las}CEݽ`1ȍOHϽȀ OޢQxSUQU15ơOa.^kK|^@˳PۍHXAę=K[y ]ay<EVI a OJj]!%]ŀη-]-ڍ(iu 8 8S k횙l"dTa(♟K@ ̃NEK[ia%IUٷ8i!_厚$"(`Y̦1ŚHE΍@A5!###v#`\I9}(?a)D qRAzmaHM]bP"AdGhmH;vNAqۨ5bb]5*4cA#N`D2IT:fݖ9]- =Ylō$Yes:ge RJ0 BD DMxrFQW,|aytɅ\ Ksт_Wa3~޸\g_Wzv3ŦgLͰZ4؄YGbM2 h2ZTn&g]Pp Q`Lm hڨlX^]n"o:6UT_D0@=W[8s>gj)HR0ETJv2J̃]xU)}X3a{zd`|tEiėKib,F,E`0MZ)Lh iЃDkP^9gܖ(PheB_Lgq'JыzDoN`;Zhlٻa(Pn@\ pVbpZEDiQgI n鷂+e؁A8TAga\ 8 ,>XX'Llʨ tʾ+-(JMPB @g4ҡ$ EKeaz+hh9!Sg0ؒQe^f!)2X搴npDXA6]ׂ-#eBvS HhaQxMݾi LdMPRED٤Eh cmݲPhKAf[ɞjDcBΕUz.hjvO9^jf(i&Fkm2c&̡|f8iFqNiymj"DuN>x>RDeЫlZ b`M( ]dDL-/^­o VI GK0CZ-H0d%X,vPniLdpOXI (ş/ZM#uζ vGGDsL$pB,qHfe%%N]gk\C0cG(NNAUvJAxK,.,-PۈQ:d\֥KPQi_ u)F$SMxULLYY=rXR xTNtL#ӈYYDN.OO1'c4A5cIZ'T:w7#e8Ӯ1K-H٭\P Z#3I,s3)vRVn&AiSօ5{0GvjτGT4L|a]g|'Z$y~Coש,zՀAPuIq*L$woFmΰC!nT'+AG!t=wF!8dzPwX{S!A!$o'¬yXYxd~X8syBC>P~󷄗K!̲7BsB GxzõKr{7p`K`H!8Ly¾xyH÷xw2}Ǖ2g 븇5d0{3yA( › QȌGc{GInj ,'ńSPywBx+B'a0DC2ql]+AD1iv>x4_ΉHx~y'@?9AA7%@]%RD  ĢA92!,;a` D D!hXdOxI@찎Pyt8XP(3O6q$/{_7dp@ǃ۲xB LsojZS[̻L|x²W|A|UĆ^|L p3ZZ D9]"dzy<؃=I9#ǿD!LoG² D;Ieumi&1Wq1Y궖^FzK~Kw̾y{2Cn$E;ܿ;|X;C)JHxzHjp›  ZCL!8GL3A?8ߓJWLuϣ~0=(oGJd@HAE쳲pB+4l8Pb}Ef$ҝ"}sP$ɂ#Mcȑ>bHɏE4G ulx*gB3LD f\D CPJ5eʭ n lb+UvAW%bTB!\q+thi_1gּ=}p u_!1Bb ^ "S$ d(t 9iXK%ҧP>sBMASyOHhZ"x,-ΒvKhJ )9D@b;c8 8I 鈏A/!?0j@.Z;+(h9ЦS>+#hk& #X*(P")I>*Ɔ^2JoJC'tM R"n ˪ڞ/5aL+d,;I0*A -CMTE-F!Qx`Xȵ;)% 7q7*yD}8xSs:n+JF/*X<3V>~ʊmg8jC5)J_ ALȑ " o5<>-"Қc9*TZ6Y=*B VA#5Z4c]*'Hxex—!}= = 5?u3\amK#ʋlC H$-I;&OHWC[w(+Y"tz9ſkNE5$iTZJִ]gu U6 N%D&r>` J+m~p$ {(ĹD6<e=l+KD! XaiX +iBV7! iZ\"Ar뉗Q!7KMU`Yȉ{8!ή4'xS8c:i"G8  C.ɼjHC%D\ NqC5 ȑD芉ac̤-X a%C]A$$"N Y~͐5r;:>^2J "{x!^2#3Sq^wghg1HA h(>ϰ@L E1QJѿx"$ 06d)b6TMRH9- eF*BS(d29Q"mȬT\ +YW`#a'e졌0>QXOjuBRTs*L@G28#Q%U5 tNL+xlp ED[Na`*/Cw5+d'{KRً3M|2ؕe̻fTXV3)ϽD02li4S6͵F >H R!ҤhH<% v`f5`V ]t}DhlS*3Bə~ TUYj æp t?-yv̘jnSBĢd'aI^da .imz6Bג֤nv /A;7EtCo&p.>7@Ux>ȗOrjTb$u0q0Pʬ𺌂M!E~&!$p,pi& MnoTH,"+,0kZ00fPoy N(k^o"MH@qOr)b,``।!< 8aV@@ hU:o$. ǰ11F j"b 㱥H"x Q +boX!Fnyj"A *d6zc$%,9&9*xCUz" Tiu9HLMEI!tZ*+F%0'YY&g :* AG,(\4WrMp D:,8M b"G%-QHB.L2vJ2h1&mȢ& HD1GZd sGyG5C22! 35 O>BCm2eDl tJݐIFPJq"R@7Jp*.D_A@:E@Djb@[J'!j*rVUeXc|cQ@9TCw#P3`D ~# Ԡ޳ <"&$3|R%)":S鐲!Ja6WDJV+2 #l !zP&&R(N˰ԦcDۜ.ʧ*4(4 hCW( ;,Ѫc;  f$eDRfu8\ͻ5JBh&HSJ/lE!ܫDYlZ~('Y4+RUZVV% !RgRZ$Nef6V|I'A;hx'q@ک 4HD # '\E[B!īwGa`!$U\UPœtizL(P >SbZ  ::Ij!~ aSbw; y#^(-(uUI 0F*Vd(jHMEHSe=A2c)M$gT3UIgaXP% mXnRw!C(KQpXM2`3Bln)8en>SWגS'th-OȚc@ZU5;fn&?,D`i9r#`Z0`;C}x)?Xc3`t#~uxA%&8U.E4]hJtbzU?PVmpth(aYg8&{DD:jnC"|_+FBs!'_]$YhZfkl}8\\ t#Q81.͈7/BOčJ,9XGCx zG_320fܑ0I%C RʓR&7 ,\"mDD 6Ll&V+TE"[$RUmE{zBnBBw$T%l6'P9cVEPl0pBD`QYuqAq4c7wa$sY!v7&O<+T xgUY|[~5C Sb%4_7~ ^d=wJA,AVg-yʔ i,OL1N ;{+#xV vb "lSDc*@P{Uv4,tuHa";58pHWEل)EZ ( d%`;s(e(Q>"ZEH{u\-Ryt Ccgt}J$AZE#"C FC*sC mztcB&/ȭ{Hi6V4 {C[ &o WqH&dg.9CQSN'Z9Sht"7;xcՋmٶ0=Z/̷;QQ"7<\" vh<;å i$i!ZCtDuԄ Ҁ5йE.9 •vrv"/;:Ń`͂;-3yyuv'&5H PDSH<}Ӳ3DEc&:}>[g>Qg4%;8DפG+c0c4Y:깞 ­|9~2Fl:xxïotVNwJJL~&S^M;Faӆ4nb^/pEM&h A!B]#`  n\AH* }`l5%I ,}M=#A34ޥ*۩Gb6l"^MmIqFg"#BG>>~EoгNco9H%!ǵ ڿkut PDP}XE}~ >ɱo`!:/fAX$$B-9쳢BL2m +NC 1IY>~丐^%M k˔/$y}|Sh/#Qƒ}ttGE҅H9yv>V:K}0s>dLdHB&E 4 ewgZ<79+,Ͽ~Eq4߂X`INaVhfv ($h,g%YDJPTGI$qc=٘XV٨gZ8E@IR>DD$㎌YX iQghxӃRXVL.RH\dx{!$fz9P|LId8Q]p)R)MyR'aB"E}n iN ʟVA |/뮼+lH*f- "/0/#XD1hH>:4]IDi=4hN6(~ˑjY'X$Y aҗ.P^go I}>ĘaƐG"ic ĘpAɠ|-LDaG8PG-TWm^ Xd6CRG!W Ww87Gws$"EDQ Dc8ҫd"Tn&>snLOqRN smy릌o>k饳 }$k6B&3-_,RJrb<*6AJXZҸ4V]l"Ӻs!v|<3B9AΔB3vw⭋K^1_İ,aC 1CB$~KB * -]/aHj`/ h\`.YK]ZybDaFAG$uIL µ KUŠMCK! 4B"q;ϭQ?bLw)c+Y y"Ic($&2Zqj"S $:?S HGJRqA;򈐭 zA0zZ-FbYFrn % q9EQ/YԽQP?n.ta@d@F !Uj-aV(F}JʞƮy)EHO9( $%FTBh#MfWN`2pg R0Q4hI_NI*t Cu`J~fB n X lePB8[[-u Hs̙RzFy aWB3{pcb$Hu,ʴpS#Ю$EG 8JY)2yo␝':IccD>NjV+mg$)В0qHO )Afd!D@ YA*A,2 /8'GyWye4s2/԰Th0i!pF򑗰>|,O 'c@l ia!L*"%Nb2EjB!+ Ҝ7fR_pLF LP#:BB FO!కZZƒ&v\CR6X=D%jt`x>L}n_ 1DcL ϋpvGމAV(Dwuw ߻צN^o-/>IC^㓈ቊ^F3h5#璊W=p'/Zh \@Ї+OfП 38zA4]].Rf9Zc TA PuN}3|#['׿!Ķ]Y5vCXΡ\VזHI5,Z)9}7B-pKߊ:Y-pBC,){sn?>veLmjyh)^.)E<' `?d`L$;ENI++ALQD$5J H<D{ 3!}60\prpv%Q%s1%at5Ec4edFQD284X"F 86tS9ul"DV'gG6v_ww7LIQI_w!>5oH_HR\8wwB Mg#ME.n%)%4BTp\v&'1X7~zz'|7q (/{PyzszwG{X|}l|7g{}3m(t8Y1~}n~g}Z7'wTwG#Z>'x=S&`mv oQȇlfQPJ;%qs*bṛE058Y 7 9(;G. S8&cSz0?#"sPd% >!AJSvf Ve%J%Ke;J`z`A-hvQJtZw0=$2(Ѭk;B5`Y!.Q[&nuYW)Ly`a/X+}ƚ3tm2;dSq |q Y?>Q[Xn5GZJ~^}b$؛W|}P`՘poxSV}G3ɫT$:z`8 3#·-4b֊غ=s-O+:>Y+:52U+ >6R2$%x$9[ 1oa{ &/ wۖw鳧Mda(@ yRgQ^xx%3ۊq h_]%} YQ嶽ݫUQ+'lXqj@G+ |x91%H ͈8!.2a |2GiYC%{Ec3WNZ Qڭ>^`"+5Ba<\Q-p!8!}}@q`3'Cj#i1!nQ}qjgt;L:iWV@M!<%&WKmu˂j<#qm_B 1pg'"$}m'po%-x`}@fVkN̾>`[q36LAf2bC;L/1PՀ;&#g3*a Wˬ/(2oj4Uls9Fb'K!z"2{$]&mc<5+ 'm{`Mdxd)#5[6XuzT }IjWzHEY^ !%}i=2qםeRӬWlQԙY\8A<f>vNAIlIjEnPK*{A_+23eV tzOBzı]UF)3ɃP5nW mAff֥iO_ᶺ74Wc=#$eޫҹa>PuBB癁g*,.4e҂4%)W&N@>.t?^b3KT;Hr;S(T^1g.bbLܞ`ܳ7DZn~Z,QOOpN~s#Z*3N#ibPU'$H=j mb%&#* )4=FrSR N+7A_ u%R ` >]ZLy'.4x=NaѮ۾Nǃέ1ם~:.WnTtob*Nv.);"^ r*4)=1=;%(;{="F랦\,l_755a36ey 6x+O@ "_"<#p%O/81YN%CXp욽8y nFW16sms1DtRqF%!b!4 @r+1n8":LN"/!r'&!)c *-FJD9ҟ m_/,?>8v?C?)gA .d SXE*%6\8G!z1!;v"g%aJT&RSfNGK%}-ZQb) Lzp*Ú yf-B $Kl,SI_޼"om*Ϭ\}vڐi/ _|ͯg>zK>!+Gp@ 4@TpA`AABaB а GĄLzTP!R@Q"+HQQ^$%FH9%EQECIIOcRfͳiJl}8*(ӥK@Z}J&tm9˯^b4\$9K=pvͳ\ht]xw^z^Ti 0 :CA8Ӑ@pA!["E!}b*NXcj$RVˆ q䣔<"B>p1lUJ%Ar) )D %()z؞" ܣrJi:㍧2L'akg)bry ѯ89c$8FO B#t4A,{J 胒B-=rj+,65d^juNI A s@ͭWVSIX3W4dsەgۇ ~}iԼg6\.QU~T4h@FP`/H!C:P!AGW] lP(U!7FFt 3a8b}̇? !2TeFT!JXn-+l\n Ӛ3ugI=XaKkI!i&.)Dk8Mݖ/ܴov͡(p"WY[^D%Q"aX/ui奯ʼn ŀ K˥A[ Yt3+ot@١o{>Ul B|up V&{#9k)MIW65bo}r'vz*-Yߚ5+TR `7@ƀҞ8?4Ђ#%iIMzR4!l aAA1Bl +bC"9P>iP?D$KYG@o&P)P_ tJ Q3(6P-4+"k0p]0: -DٜH-qyK5az`# *,<B%eR[!XA>hpO Qo*O*k?6}C""L-|'_C& .҈ !K [Z^!-NVxҧz o>k9yjN*z{3*$? RfXp=ĥ 9^;eb21!. jaFD)Dx!WjVqeԇr`R6Y~5ٌr"&Pe^ЂmpC,l̉Rosˡ"{Y/rB;Z( ok rɈ V(W€m{H mUʙ!s<0%Kr)YRseHX2gj-pNM&n=HW4aSз P; 4|Rç{R$'3l^5X!ֺ_ J}XwdĂ(1!Mk9B0p r>6.. 3  h(m;@)*: $;5]xZx15U o8sQ!C`TXБi}K*TpjA? N0?ѣ(K %V1 }X#1PIi JVr9QHMC4Nȩ6Կ:GNH0S):ȫB20aA<9g <$ȱDZA;a꛴ &$9r W X AKC:aCI>#B&b{ +xJ5@&Ca&J[Bs(;1p@K9蝝&p/3Ϻ~‹ ;c{RHPsI K7L( pfu 8ULLTVL!ƅpJA[k)>X6%+9ԏI˱ @8׼ 4@yMs  Lqȸ ṃT.̨"l) !J!N7I TA'%C2B <P# :Ӊ,X 8|h2T f#*/ :]S^骐h L(R)Ϝ4BR0 JakfKߘ%[7HD R: n{S^Ӷ):Md xꟘ;XDMIQJ9'<)2=uI ô=hQ@/ܧ01ۣH $JTI(!"JPsRSRb-Vc*=VTRm BKşKDXԐVP\R9ռ:ӏ0 c /=0X SI)$PWS2=DiWJWT%-NԱpQʈReϒ-;yLs !hfR%JF}S:aXukyXG4I!D)Wsnӆz9%k Ӄ()[% IQT jJmjp%- 2tZS}DA/)0D4 MيZ@{Ycي5R<ڞ ]]wYҝ.\jӋťS:A$Wsۿ\S6W)گ!T~}׸-Z 1X@0ѤM D-6XdC։R!Dd<9^mo]+}=,a=]^`m Kݑ@וy+%߭2Eڹ4_ (;}91m_`'O(@A2ӳP]\ɬˢSc'Z9Zt\MlLnrU:cs=`ٟ.`9c~`ь a? Z?Z@)  Jy ~WX/a,[vSbPh3X1%_qbt *.AÜUZ5-bt[5T{ 6b>(`QSBmh[& (&*6 +ST\;ʂ@ 7" G3jdgcv*WJRe 5d"|#΄}vI'")d%J)"LUzt_ZbʱjW fBѮd-ܸrέkn\^4hZOTt_[)"0WSo X/f zuԥ?z9-N7 5e{f$Vou jwҥS u<2m-~' "  y`V  ЅDL D0@Q!1RI$%;u!.C8(MO=GZ[-VR@A^Ǚh Vzi&cWV_Yj wzT\g_YX[=&hm5Fۓqins_\]Z|էlXgrm V&qRvXr̉sBQ`j]]^p]\R7iyA XW ;,{,*۞h 2ѳe5> %>A! >"B3[p;A d <0B cBCɓOZYfi'LqU1Q?XXWxc2wym6VU\{Ah*grS[~5Vg$)g_xR)sNTbƛ)[r^-siVs!ȹڡ]wݍu`jkvtJņfyz@/{8+8;lUOAAm‡.̱ 6  C9Dd1 E -04d! 42P"'HO7/2;ElvΨΙmfum_i]'޹<]ߦPp2ڙaPi@ E.;c&()J1ZT4@} ɌR5Sl1 ~nQjI&̭V)$6m:|\PؗXj1|%2N,M39AHF0! d !.E .N9q85/-"\PCz)$8JX#UY }zJ$/8kzbA*6JN. Og81+ 17! G0KAcRKdٜ°NSWi."\L7[pV"4*(-3E,}ORB7AEn 9p"$#25 : x l$  r4Q щʕP!#K 9mm͠%n" Kl*5L KzL-^ҚoöL&|NO6T6\\E<;vAp2P+E׽~\_STd< ;B>OA*gjSL e3KMԣTJWJ%UJghiLNtԲ:rNM8(%(*lFJ&\ W%aj#]vKzm N};6O^,Vi[zKҮ_+ҷ ^SP"AkAXL'O8h5}NI0{DQULsAZ d+)Dgk˫4v_kCcL:AWů` imN~Z:"JRuvYz:#B{*x0fErվn~38ʹÓCIj7 NJu9:™ 6NpTI(D " oZMg,oLdfX74NZJi s"ړ'd_1XqK1%|4|ى4 $!ڭk A еl 8JPSa *vaU`X*0Va\zyRQb.?8˽JoF@m  ЇQjL>AT;Ts_~1Rq:mn:!caMqFZ&6BᮿqjA dJ#8--+Ba Rbh[y>IFBzlVԖI/a-B0Mo&o"IN`ȕm}@k|50}Im[o-L .ѓt.}pjJ]=L!ƐFN"ew{-A蚧V#G(I_j3S )T$ ~sby]_P>+G_ו^4u~=Q!NحP;h=Rȕ۠ S rzaX`0A5iIBBԁX`A⑊ 6WJnxeE`m ;Q<]t|,?%b% A%P~Hl<>CG DZr+FpBOLE4$ %b$mNB!ԁO_td mɩaMeNg "'R""Eą``VAA Ɖ""*bWՉšY%b%APB%Bԛb!AUS Z2V!UbLE! WDhB D] 1 ,E4BRAAmŸIm5-.\%((Ah`X%(NAPUVDn@'Tb\tbVbGl6h\A^ ~-nIrD%&>D$d%ށZ [ݛ ;MjӚOrQvW~!P Ё 0 B%чn<-lA_lB`n!Tꑡ&\E!ATP A=d!>aWlwA$$Y'S"Z -Z:^$Lf$VVA2‹ƉI)NA'Es>gApbEm`cW9_O gerB0>tCtQB  wR pf52ŷ,RڰR&IEP]׽Rp#\L(^y `ZP(ET#?vntb0IB"qd@,PA=bVV6VH>)I]!frg:ZXRͽ R#B%Aih6f5"' B(Bh2>E2g!ܚxmZw:zUg9`%FX8 J}$NI,Uc/u qEJmk2E!8acB0vcd&IjTAlѧnRiA$OɌ0ȢҔ#B8B0Ŝj'l,SqdJVSS2 ]eMukEYN2%o&䐥< PK&D %GCNd!4DnDTl//X!E4c(\E+BDz]R"q"Rj}gr>(ib1D.Ɖ-zp^rbҾ\2Rl gYN'Av,_43m驁&FObR C'׼c$u.-B"p7ƹ>@śEIqhShx'(_@+jٖ1.m#D9Z p%O@cmyshi"h!GNߴ;\ۅ B5Ȑo5]E$W2a^rBHIL<0Y )'GB$}h ;ū&D"Djr @O;_l9R '^t3-9S  V(B-GEUo-eц׭A% ^R!nD"IsrRRԵy-x "`:,T}LVaǹbs䘁 I-G"Ԇ|vB ġGj6>LzMĝB!R0FUŲil}".&#fw&RO4Mﭐ&' ,uFFօ>"Q^(Bs&-bV+(k"FDBkhœ&0VBBbhs@i\inpgnHVM=;:&iaH *ŃnD(\B쑊<'^ptpSkV,hP(qI2wGzE3_'"AtT]!g4A Vy:)Ս,OJA׼UDi%kn,p>7+ KC{A/} .4>QED,g dUbEN)\$$1r"Q尰_hkkByۧDI" ZÉS$Q}E#FaHPX %w:dҰ{sqŃ)s'ɝ :'MA#Z =+Ph: >he_ J6 WTBD( B*^$ =W2h L(gm*[! ٸɓ']LY}#cC ovv>֢ĿCЮzZ뼃 z5di8ɵ Em"S[Dq)s!R6tQ-h/ #b *BTQ4J!7A 71‚p 35.iǥF4q'c\ʱ}&B+L>Lh[ \1DS6ˌ2a*(q!FOAERM=TU]ۘ9d: /#:0Z]ZD=#9֢:Zihy @ +j$ P ! 7S59 CvR~o1LvÐPx*,G,菹0t$&YӍᵴ4Y6 -1 9ety3;,{M|׶?5wus6B# x<2:ԳRMCt*䂲KZS=^6Ub5H1n  n=Zn|KEe>Lv[ܿ(G j0'= $>^IOOwmhu{heMLwYhmG-|ر|B9j_-6=/}GY?ך`Xŧ+l2Co~:zC *dj~Q6>)HUp8BB P *} EPtt}OM;HJ>yB |ؗ<)Kvg0Lq G̑dX ֔+)NA:թ Yw7So2v)ԅt;J4D&=!y Ä<=ګJWiJB5i6ҨIUMd+D D 4[9IO~`(u?+(+EJaB>{_lf=vLbMw ۔6DHda& q`H:Y%Ldc *'* "RzMI,B !_C}T_SNtN]G6U1Ki'BT4ghb5hd D!F"0z 9:{X䑊Ԣ,YƀE F`9Ny*Qt6-ZR0fh ٙ JB B]%.)/ΏMyL0ڑz`Y;8Ӎ]84G?jajRA\!GAeaWAo(v<?RDY2dǮ6XK\I)_bu"I3l'? oqFD*V(eMјٌlMQZ$"I(^lb5'aCVPwHqlWtea)V;?@pL/T"Naפo G k" !VP_&y nvoWUZ0+!~8a9VC'T_ QĀN8[`D5,DCV?i C|[j5{Õ`d]}QDM$WB`q(S䎶߃.hx)D@5,l xϸ\f/`t Ҕlbh7=-&͸ n-LOALbƊ`"\MNx#0B@*F`x8 (!/N`M-K:])$\J@$%!&- 3 S.jNTDbG P|cF7\@TZI6~ =9rЦ@BŎGuVB`(nK,# - `"s#@M$"門8-J` E0N(1$`B4,-;KOe.F d0 b'OC!#\M&`jIAv1&B ( g1K-!cM4m!.-~(!]Fb# P՜g0I#4MH.)dIP< oNP逪**D"K1fFaJZP$\KIr =ClFu,iH *6`nxeWl!t n+H<øb6R7c`gf,"+8AqxBE٘Ƞ i  6(5r6OقBBbގ1`QI4! 1 #6!d#8 &WOa"a"0ht$&g"#L/ybM"xM6* (@~ 4˲4V4,=̚pGN R&! &Ocr$Ji('hq)b t( sns G J0k;z#.: "(`Dȟ(+Cʮ6}@fGHE*e 9  Io; '7Բ66 7c- .ePhu*~Б+l@].S,!& lnӬ"3D/"֊b 3 lN& S 2LI&R5Y$jbO籬Tp#B٨7S$!, !#H-j2'PDɵ0G 6DGVB&{SC 5!$B! ebQ@?"l('$µ<["mI9dsBF^z0_,qDRU@'^PVb&`˒#cq~- F%)Gه.B6)H?dC8+b*+m:W&tCKaC`0>xgkK AAJ c!A+47bIt)ب t !<!>b!6N46*SA0T 8gDC64SQv& T 9bpSN|qWRk[bAu/&+foV6I;Lߋ Bvgv#PiqF/Y9m5=U75_#d[P\ nd?'l18e#(d|Rzg6Ղ8 W0B񲩬4k{ڥo_Uns3kh|`tSБR**b/cc&InJd'+X-H!*Rn !<+T p`-]6 A!D`A!A-mGhv.[C[=!BOs阭6nd" -s v6 a %78%Qc҄a'4>@ H1 ؂n.7~Vg.gF i<#Vsyr 'nK+bfX!.!,@vhL"Spw9=Iޫ< A;ܪ^85>46B}('$0bn 6zN1ZXss}O\U>S+a]YaD#^Rbs^ `JL /)!Xq!>lIۋTo˕[5㱇CB>+Jbp_:\X‚+NOaEZ"đ$K*̨Hʑ)Q,IQڼ3Ν<{ 4СD=4ҥL:} U(,#h="H@DmJRP^ҵ" [m.^sxnyv52adGCoSfp (ٱ's$;,$E l DSI"BKU>ysgI#VċNٞ3>H@53֤'}/ wF8f(qq^q4oSjϝ?ByH ANI'-MvՑg7w\IíG\Hȑ*H}T-r6ވc:c>dPSUJ"GXcId?Y ~=V^;3^p>?.{W`Q@ܠ"Fi7AnIxFxŦhn[{JJp]26SvZv TtZ_KhRt`m҂q8Zxf zW">g%m2jOTdH}P&{w^5J oKoԐH+Vc<#~ϮdED/B 'jQ:hJe rũ1ut@f0~̙'o ƑJT$Ȫ "ݟ7fAT=p 4$-fnuOuM" 8;Zg~ xN_<<5١)K~T\Z:bn&y O"ަAbwj)}wP-_o )i}3~Jfj 4qW((}mCJH[ݺvn\讦o˱B(t_ۉs/Q/u2ڔ& Gn l.KIA|-hp H;U~i/vIn#Kr%vf[Xx7f"d=Y4e@IjX#^OF G{ a^E}t2ٚތU㽇]s0D6 @#w@Fm4Q}©D*rg #ue;fBp%c 5p(&5w!GvBLv:!d,-@#X !6ér,\m_>CˡA ">n$7qvCUBrl;wʓ(ԉgT7  k)VDJ2SS,,NoDaKYEI+v5%6I$xљb'FU*9& ( zo(E 7j 4S ը(R ҖUϜҐ'BW P.ulLPmSUuÄl(eհ`֊NYOZP@r9k@R2jAqbD\4}@uZRdUQ鼆^a*% v(jOv$8q^YgOZ sDj4w)Ե5;NɷU.O2(_i.%PA5,J2YpDKЌg2G[:ǰG+F]7:pDҮfD=QwZ&aLKxĉNP؀dlXW G a%Ul-gspVIAuP F+w5ĬquS;Q`'>;fh[GJ6[cs!YT~}𭴔KU/3]u!RKe6v5%^I Pp&d;gP 7 I"  FJj2$w^ E3'W2H 6/Z[l6JE ~tӋ~l~IT)%OB3ok : M|iY d&MV"钢y{TjĀ U2B%A2A! ;n7!Qma{@G! B5 h\MwF:lBl0M*gn Ct(Dn4V1HFx qP[l&_}scl&-XWSґsblKJM“.ķoinG_G%.9R I l~`Bc7o ϏjGq B!7t=?: ᆛ'EߒPqv:yH!wiwYepRBͶ!)*xZ4 z(xEhaE>&"q5ϱa&GyVe A-I?@szz es5qGEh9A{(!*{"`2fÅb^Hkrٰ.Py~Ѕ_0uvc!l81¶esay|2dZl+2^(CTwrBP!2:S,vp,<5hd9g*AS>Qx҈DijF)xh14x4DxGaV38GGp~PdD1 0*GȌ،Ixg2'x f&>`|vPutc_`"0P{ PA0 @6Yy'd2x9B`;[\%d! w3BxG_ uw(NAwf?,!n#@S*PEĘi}6?VJ<'yvW)gyp y(SN"N&p,icq,QUi6{d%;PrcpXcqUu@jlY ['; Pu kw{(d!+}CK(a0L_t|%6X2W&cW8J( (u@d-Q9YEiH`}&KJT x3"ŢY(H۱aWF,ApdV?pu!Va}Ĕt7ETy׉!(4^ o)BH-@|r0ް@ظ 7p&widg vIZ2 \^9W`Ixz:S3!i Wsu#y\!QE)HpA)ho+页XiYڃ]YaBycX X) B$TJ)7|Nx9W_*C DmigNۙZT$H5 u '֐ vp|꧀ZxYI{W}'0{@ `Q8*23V_܆ř=7EWvX1t>+9#F5wF$8oJW92pYܶ*F}e&e/ԤG;Qs0BaW:7Y9,IGeJiJ'&H${kW PАA p0 ۰l"pذrB'vR|ȠK'! `Fa'niv*B#ɩu:LypRSa(BsO,$ o4K_jUh59y5=6&T8J)sTj"X gK<:QE*iʷ}@j*[:=F"ly"Q7 ~*;5\*  A @ 0J@ zpc`''1{pypd Khw}{ 1ge9.8nEAm x h6dLgS2EH0)?KWDXXy,-5g٣E։au7c4 h?iPcn @Ɯmp,eH9Ҳ"4m,JaG,yP}p3; B=<}&t[o42ab6GSKořw;k#$nb?iN,005B`xjh8gM"b3т𼿂B%RL5IޅgR#O0BS}0ˌ"13}*l»[gɬ˼'b@#'~@}&<\]9#1ېCؽLHpcV 1зU5hs틜^&YIѨfУfᓍYƨFVZnꂭ73a|ܔO.&,эNя2#(,tq*,WӫK6-9=u" (1G>]SoԹMJNCBa% Y zV-5BDHZ-s bBDM#DfW45b{$b3%C$,By7&.p5{km{mii fDͩ? dxB,RlXPIF",2CMN<QbɉS9Yr5kReΏ{ N*!QRM>UTU^ŚUV]~+1$Hô6@۸bҢqγ-w|$\Y ~짠Œ]Qc_[cAJz(AJ<QMm+ER{#*z#]GۍzRŝή8ީnD!y HZ4ѢQX&B%T \ o#O(V hS &ZJh8¥}i i+ICDs"qt.H!$H#D2I%v@  C=C0,d!<ȱ2c-LJpÎ7MPj O:/;ԌN>YHRۇ#ntݶ+4.\"'(K5VL%U+BJ;& qp̋8P`ϽP)>4W["Z [nee"&i<РSBI O)v5(E,Mt)_r 3b'b/xpkʂDC-AaE&yb2Ӭ!?,s,Xy),/12: 1[ЁZtGX[C(8ӵ$Cjb k\j{JM8(hC O ,@a'nBB$GCɡVtpV~+Y&k IR\rh]m6F3Ø.?Fبqk;r8cgy矇)'x3C<1z^gbv  7iMQ/?jR5^'ua[n2@#J5lTM! g {0 *}C9B N b nm!SR( Afd=12t 9鸧VAwUDF-HsZjĕLtĺs^I`4c<F 3CZsɋ^"HF6ґQTJ *yIݯ|닠4>t1jB%bN+a5e ӺC@L)NEHj=yC${gr+DM6RuBɕv|BuJڸ+aZUb .tF).5O,S$?T*%[\ƇvuU3$G*Υ+`)PgK;[Q]i;*)_k>vW.i(*|)~GKni0mG6AdS;^׼ yjTWA{D^W T8Ci 4lc 82~8p pv݇3eBH&^Qj0$(AV;̆/ VB L}CQҘ19dlfAw[Pj9)OV^Li t AY 1'4Bȸ!% !)yrB9jGMQuoXX*x]E([ǻ;Kjdm/=B$P8w:5"ÐRH%sXd(\y6gV6 ` YJmpb[}J&uSSt}̉/{L.ϔJba kxRV2S[(8&p?a}؍>ჃBA 7nH@>`dN " D@aC8+%}X rVx : Y)RSxqu|^! )Y g%Ad{ԥs+AZ]C&ȉ6wF+l D㺶[ ^۟[˵jJ- [kAx z>jѧtA{uJصf~òje 9J+>B%e3aLQ S*0⇍xgq9%POr\yq1X9hWaU-̕9Ig2 X80ɺ$>@y8Ͳ@J,?Ҹ@(AʧXJX)K:`"/ 6<0*C.3z|$r/ʢVZ(OYikBmJlܢo 44H0*; kK 'S&#g*88"++E)@V(R== cY'#E ,4E\[d< T+'ZĻa6тBa'Z(i#bGҺBʓ{ 0z ⚺ "r`"Bsa5SJ:=ȌjkOҊQ L$D,K! d@ڈRF,D\>Ac{ \29kEg>(Yd@.EEW9@)#\!LEeT2gL)]\)-A^Ǟ<1{(ؚp=x,%b6a3.tZa<=  LY =zY trJȚtׄME,/ ˘d :%(1?@@+ɱ,9gꃐ TdyK`"#pZ ;x@ƃ Xɤ+;c;,ˆ(4YAƃH,!#Kb`lGw"iiaL@ ԋNY) ^;'lHMlCg =ޣ!%"]4Rs1PѰHӸŎۈB9@x}pNLs x;1&\ qS?JJb|=Tl B` *UP!)|Kp">ϫJ!iб"=ǣ<沭5 L`J| (lX- ]d@yYmД+k$zW@{ [%e#|C =cb'cB؃1,>48[>ó&E!E-}2䈄8=u=@P-ۃ(x+S( ܃Plp=h(&ZΥPMm3>= vvb>k!$ڋ]&TX@KGkkNta A5c'Qya%)#c.GaiŗL 8&c`@r p}A塄э Pއ90]]}0=ݎ6+zchPU^CPdk(oX婠0FY \C Kݭ~.,F5}yL_ *ĺ$R\˔[dEC5pm:#B_b&W )r -;2Wpll&=$)y`.,ђ}/pEރI PV^hӝ96e}yЃv 1Lo7mȈץm\I& ]\i"j1.nBCtJ*fv"9MpԤ(_##w(FvM bc.p 4 H IWPDe NiyX0T=xk,VilbX އ# ,] ,}\t%!.,^In&"_j^&@nPnGBbWY" 2:U[.H#j)So"2-`rԌW.B&/!@/nB~6C_⤆V NiVtKO- 2@qpm:iX?![d &}lʚ tK {r|gbbn@ז^Eb>r5Xs-"2w8]w*k0N PŜ̩vny(R(sU\}}#xK`<(/h}0^:M`ҞyU*aL~ _Ɛie"埾iִCqq#_">vao4 f}_?vISy&45)!#!~gLLҪpٴX)/2ݩg@ZК7gDVŦ/WaPC;3Cp>?$.{eF1 ;X>wp6n`'LAݴXŢQDtRKluEoqգ\uW5GVhQethޔT.murZFnb-nUftSPmj&%V(DX-idV tm%DoZF\iK&(dd6wVIGRMZjF詚*%X6~谟cOPRGcR7ŤTYeX9 T^YXHb[h*a+v`'^.;״~Vr&!fj*T^MJ-|VU]z:Zfw!" r^ ҍނ#\ɢz~( %>3@<3gb 7\OlF}:BPIK.a;nQbUuXyn۶CnQ kpMWepFgpV5smIdMZeGqOgʛs޹矃^^ʡ氅[4$k6f=+7l:+$ӊA[uwH֎NG6YcNzk5bVm qi>u۝Yſw&Ei'$5Y\"w%rJڹr; Qd h=Rdt#9/iB2$,791:H^hh)i[;bDH&+ ps@%P4e!6S7,Zq,S,ƨ0||Ke)a/,mIeҺo34iN|0E)$\P"0R)1Zd޹bS;a ="GSB'DNG\ N6ҴyŸڲJIA RmƉ]3!=9%n:)O{ڕreibFdЅ? oH&Tײ7 sL晗n2Sj\&s&ʝxQ)S K+.ɶZxyTOWf)ɳ\{LM6j'\2 xzLCa(է-m TA=9/Ld :hтu2C, 1?\ jPQ2!1DvШ|5tz/:Uo(W3I ,|,M-"`9Ո<ܼG!T*-̢-(X6)Fj*ms22\A(82m{G"tώ!/=\ T ̇@^PSav`.d`G 2’ +;Һ+VB߳U{j1,5]ip,&_R=)3M+a-6ɫ%PL5bnDEIjۘfy-a"Ԥjj8xƪ#ZW:ֲ5km[:׺5{_;6} )Hep(HGeor}-#$҉k%RzER[B7ţ™K&S,bȐ{8 irEFԝ4`\5(#yZv_SQ-*6w:||[<29kn<:9g=B:nS$I¦P^/jvx?,XjۀhG;'ߛ~?sotZ )%'\"(I5NϞtj >ObdxPn{i 'S+ށ|9Rc_=[z=kOsOD59RP\$ۜ҇B@ e}~!ͫ>߁yv7oJ *3=kZ"hb-s}.;9"ۧL7ɇܖ ?ݏLXd[_O[TN:VT^MSרY)PƤ ` ]` iUFje_e;!GNP ABEA`DԣN0ۖTAVވ( Sjʼn q!>`[PNP= xXD0`XhY ) riUTiڢlϩL ɥ)^ *ϱ+DdQP & %OA>(AAiRO$•hݗ IRiRǟice*a&F DXV9R " X8JqV3pLi|Ke hIi)C)Eȓ7bHzN,dI+dJbiU#QPV(D"OSPNcqB!pP /E!>Xr?uY>װ`&Lt4a_bMftMK:#]][Q!%AQ㩆Xd` \Z,޻q^`b`TPN-QPG:HZɬdfj&̡fzJ47#dODD ry5q0!_mzLMIyb=c~|X6 Aͧee[bg$Nf#iY`yZRZa$6d|Qa_'fjÞ]fghJvf"*V9DMJ (!QO``f DRfޡMcbfcXW"wl8=nczDG^SjKHʑ‹)p 1bU'(jx)]u &K!4%)gY ^&_7 蝖Lꩂ .hL]XAZai\GbQfrhAXADD]s[5stNU@.ljƠ_kR aX8`nlTF؉k4`Cǡ-a.^x V @5`Ēi̟+ hLzjiצBhhk -,RY!vTV_Hɘ:Ѝ :Ⓩ;Y@AQc5EbʊZ!A(XI@(OzZX@zZߜF W^`|+d+'vʣ"``dpkڒJQP͵& lĞY!dmBЩ-$2DL> !$}`1v|n(X]h ]I&'EAΨk'TMeq?MkpZH+D&jŤQC2}rݙ^ ْTښo -ݮͩ/,\ČDB mC@R H>C10x 0 VQT]¥*u*Ɋm.5.&.=9bv8'gVv|K ؝aA[^Qa ڎdX'. 0k PR=B\&A-4JӵQijylrKY`>^~CP..Qӱ Hn̰2-3 2s1W]@1/dAA,A]%ݾ^")* ˅-N2N2>Η#_ǖeRplee#Xx J׏z>G=@0DқabLEdgTafPi41bocd"Udabdb \jK4\ĆȜEcFCE00L@Rn0.ЂLFLK#<@M3/˹KF4-HIϜA6&/.˩$SC\L@UY@ 0y4D4GOO4MQ\]/ L3L^kJ5KQtua+6]3KG^4MuN\\4G!X- A!1]҄f&3 o^3oeU]"e3ӻ0kU'n[A6vepb>B`S<)pڟm )F`~kdF2B1فa~!:jԆO|wF.}w̹L?LӯE6]GO?T!WMoT3EDuou4/AAUGx݂AX4Wr4.$sfDYo~oFQK[ˌJN[9ua##K+8a;8d#Wl#Q7yL\C#9vvckrax腮%6*3bmgsYq3 pYjN\jU11Jl~-͙aOpC%& ?{\a"n"fzDJh$k_2A|o;'{[4r=@f9PrE_\?{4yO7n'ADA/P@UGrSpC|A|E.A2$gx¿#o>~k˩FhLIrcN]rk3x??70k9gO_@ه$I%;aCE(gP ÅZrpCb1bƇ$?zDIdK,V9f2mԹgO[ ˢ;yiӕOF]s)L" }bM8$2ǰ9A"Ҭ'sv)ǒqi.X0SB$q\qp S=ַqV5ͽ({,y/g͟+oqֽwo߿>xǑ'GnWs^s.8eHrХS~\-ﴮ$WֳϞQ^y<`?{{Ǜ.y] e` ؅}SXAc9n;/9OF`/?(` g42Q?yIpb+ˠ@ڄHhL2-r/7ͭ}z :ʡ: 7ΊJ+mNPK4L%3Ѽڲ. 3n*mB")8*4/Zˉj[?k;%[ճ_OST5D%mSY6.kVmmѥoG 9\-R}{wg}(}˨>{]z}_Sviٷ 3b,?0},E[tM5C /*o~&!_1=W_x#gz]B^j|. ./Z9++,(0(Bmzm!#/;JS֔:JPsP봴>ӭVT3S:-koe'u$~J'E%WjAŒWXW6r|s:TWZoY,%m3Ra!̢/)Y4Rˊ黭^k#` (, ]|Cw Z̧}=vE~^,lhx_>.M'A!]@@ />21%Z.B%+PWE)P#`h0Jd{h?ID#ckc"0$l@ 6J{H@$nBSUnXa" %V+n:}o ťRfaPÕ}vq"uռu#"]՝.Oh~La I jr9+W|dX,X̮ y8G)QtLe.ʹV,T4sß(%,A2b, -Dof;M4=T^`aFT fGtys'7dyh$4Fk_{"D[Đnڔ_Q"E`IcC9 >0p2dLD&F5"wj&3]l䈩K.WXѕń pJ(MSqK0<(œAVGuYvғI.L! X9@-|*(Wg^:+̱<d0BPϙ5iQ{,dA!ljuZg7>0صV`&o2fu(7͈sOڒJVJ BȉTb Y"*YV1zU*@6MF!}ޠ`xGѿk+%%Ir+'oIKH@Z '_*)PIaK%YXnX9Ie!KX%cU|]^v-$M폁d!EvIoN({ܰ{IN SdRʪjxT*|7G $eSգP*U=XTdr–iroHRՕ [Gڱ DP`X8ƵaZiNԱ,9rtd0=+ֵq}k$brQ  )TKu0N cيfmӊξYӀ'5yx.|W VOF$z3WU17ymEC巣gBF`"j$WY. *JR!ܰC,3ホ s5(xֽ6Qr+wyVZޒ>!Ql>hWUk><,/R*^>iM'sGg0̇3ol?G+gMmʉQ|ki̭;]UNpp$&]eZIY8#+f#f~ ot#1yoȻ8Y!j3=EEzȭesv1zsUloUq|UbS 3|F:z=Uv5&+oSlh{yJ_|/:5ky'/vyǼ0}b$D!mtJUʤxM.bRO(nOrĎ JMK-.R\%5Z)* ,BM8RKVP̎.NXͩT"pΎNŦtdbT0~/-d ,b6 n K`o,ٰ ? 9l80!Km$x0$N̲k$P"N"8.P.V/T lb\Sjr2fQĊJ >o֫:oҞ$ؾOl,F#3* l!Jlܚz`d-ɱ"C(љ0۱7zT3!$ LmLTv Мe!]u6tIS".5׬8JAs#IPY%ov^L $@LwүNx H(ELıq*!2"9[+Q9[+*)3 <$KQ+%1@,\b ֦(8A!(A'@kJ@unyrTQrdPÎ"mN /eVeQ@x#q0y*.ZBN=p-zB$?sЮ ̲Ŏ2F+L$q/$b ;0+]B= ,s=3{ؒ!gꒀ  Q9eP"6 M"01bza'`he1kLsDr0&ioLo\rTJRlD&b,GsLGeRleM0kqNL4mu8 ` j5XvH6L_NetMٴMM4NtNNN4OtOOO5PT`@2/qh (q&0C$C;C݌DMt'@BML5v i%{ ˆٸ􏄴!)[rOR_"0EvdK5WFmD@(%L%)M8`\ɵ\\5]u]ٵ]]5^u^^5_u__9PGm ,"Ġ 0Db-&t]8V"lР Eb1 P"/S1=U@C"؂n T4Sܭ*Z4m8r74 OsS65M0oI50n7?iۮݐZ0O(c,yxiKU1xIe$U5t[5oo_oo\5p p p͕Pm& c@ T@(FuzsL 4 b1arǦ s3>R" `1B!1tA4f FTe gO5g),H!jMpgz5:q Ӭt4 vTz%GԖHBτBx&ؖo oG+O*vpw@wuo xoSHupwIUqR C$ w9t\  )Amf1!66 cF\ a D'/R f/fA'giByUt`v6y$_%S/V;BK ods"Q*ʄ C()aˆJS/gp&+XJްs>rfZ5`A\@\mAl_E; UoWn]^EP 8L93)"! /0 6h!#XhxYr(5bSf0Ytf}L4֖7ZmhBP ]/îX22 M2B2my?8pi* yO$b|9&W:%ZlZ9RLX7yOk_@! \@ 5`h]wuv ^Z]yaUPaUѕ؁\׭uL 9 :\}™YM !(v1k75w mL,';-u7#'9yZ8 ^5,Z&9zQRvArN~ BL`5Hm4(a.~i2*" z6ZwK珦wgm9Y_W8 bWu_X_ɩ]Ƶ9 @AV`\@ \Ԁ]ǚcCbؕ\U9^A^m[8 ]Pn U7US`'qbbmJ (As; BYS*e `C{yَ'KԊST[ΌRw{'7KP57 rg.Mȣ9,,NYh kϦ{ZUҖzX;Mk_@zL\KYΠÀ_W]gt@A>$`JDD|uq90`]S\ȵ?`5ڽMa\ H+%-4sV (r`L`*" @ bM ށ]3wl|z]h9Wȭ @@xByyUq5%t8l;"0a&Z[*kuXtiW.~ 9KE".[7 ۶ 1Hjbkнu5=i_U[ ^U젙}z]-BG8C~8yaZ^]z\A8 Az١)^Z쀽UY=Eps6 910!Zsu@ "Bf a@~BǞ2ɞw?PXvpv|&F2UԹlWE>x [^'1ԧ`1sL3<Ћ3&{&f *,RETX p`#.XpE \p"Gzpaɓ4dp1ȑcʜISfB6c^XcM=5"BΣH*]ʴӧPJJիXjȡׯ`~ AjF!xK.+r÷ +u š0a^č!Z 8aW+Ө>ٮ :tbAzZͻCݳ ƕ %آ-e%Wf6裐2ieuWwkcW. k*무Tu!B}2lj m`)$at%QuڥLdaѷ_}ߔY "UT9 U̮KGtnV8o|H`/VоVI&Q#݆HnG% I=ry;H"G_V.2%WmfKҫrD[7bX</2K"MΝ"P$P!ؙ:oZ:IqLʠ':Ae-hqESA󇮝2]Xh]`haі?(Fu!2=CJ8Uqß܀4BYP`źD%WH9h-i`tD\YN9]L0-/u͛Wl w+]VTDK]cd& %"G}4B4r $"8Qj6  ʓ@<#y7:&hmWOKBBey.7IѮ>!f: k)i"0jBk6pNX2"]@30Ƌ].r@EBuhcy]h.l &J.ZZ>0ާvtҥ=ARBs(A(ıHzdP,H3RкA *e͎D$,W3uNG`2O>1cF)r+Ǽ:/bQ, HB2Wǥͯa%PKAdTʥXdL1-Ha FiQIZX(G8M̦YrnZֺtq p" V(c,۝ ;\R{Zk;%O;r\0vA՗aZR`JIhQEEQE!yĩ)RjḲ}U)^^IH>Ǧ^3-,dX\^ L>b(N1faa,h R1α3J"q 2NoiWh9X`[vu\:r )!+}V;;V~m4UruT7}xxGjUal.#*\vWvG q6WBra{L NH1v`rш-LհڎiDz)jo^ *>&FӇ929b' z5>Aȗ%p2l(g`(}jS G U?<* = Y`v]r%LAI i +5H!g;O:#6qo`n!+吅p %`礛 Ҡl!ᦄ6}"҅v`t|r+ ;$:?N20HwiL/}rt$"?J%r'"vXxmbb8Qp:;z ly0Sf`#6a,'pzɱ (@)e,K0Spz7hsyv6#:H[zd E:`rUn5n%C(SgI#;E!fV|19XŒȍt%h"S#GtOJOim8J%p7#g|y,=YG=SFpbY@q]6(WHgъrLS0A:Zq7V/V"Q;hUGRt'8R_ys{tVW3c2j#Tv%ɏHbH/TU"g!lҐvgPz`'"pZ|PdiMQPO/)Ky@(x;)6+q]c&i ʹƉi#ye#4R@؁@U wR#+(F!':H\ζB5 nf"(ȕB6XY`Y5\ܵHj%U<^FH oa}iGq6JITzIS!G-U1 e^ .I^t?u|ŔL8%5@ba%r0#V 9XjbYזA9NHAO(krr*(xwq7;uq!v74i!j9J1.yyj3;i{ F)WUm}[Vg}0nm yybwB-ƕ熨O .n`{l>Sz`w_9S1Sx0fvxV e[j8pٍB#Z gxF(B8D.E.gkF^ '(;)~h9>hvd s>E ZǁMFh+-n b]ljrV[(U[=!W;h;txS:./mq=XKȮIv3_<ةV\\$بtNaa?rVH-AC(P#n._44KNት;6.ͶicCi#ْ&mTd׿< sΏ 1}^\"oև%+.?qُ\ǭ[M|pfwė6;g/kC=  OLSp+? |kؖ3DSTqE[tEcqFkQFd<+ƓN@T(ie9|⅓,&"*h"^i?4i]2$}vhh":$6qܬ (B0$0c"I?V)ɝ,iA1Fr'9tɑ2 x} ]HRI4 *L`P'&+)\nބ M % d@ 2+xS "3@Vج=ښ:O57똳0ƍq׵W<} ?tc\X2+A'L^.}ߴM`¼B dlA?׊VziviEL$9nM>D:SצK Ud;)&q>p0X+D(d2GAcCZjë1"<Í(9B34LOd6FRa BA ) Ҡ6+=$s=&>p/8<vX0L>~9ᇃW栄6/w#0dF|9G /x;Qw!(@KSMCz&%<8sԝv!cywX#LC+o1!}=Ғ_oNId6Hsa/}K`3jSL x ̮M)(t2Wt+gf ?.MY{C@iM(DX; JgL.1{CP`C2H;+Wq C}X_ڤ+yM}̷49W ɯqUR_RQHfܑ2ãyϰ~#^&`ęԤ';XVw˳Weo{+XViEz@Xa S0)V; ?, oxGp;f4}@2ԷSHU{ ikY} Hї;1b R&v5cAYٹ7 ڨ.4QBWrm|⌥)3Yzyf8Y\56ZI0aXU5%nq2k\^ȧZ;^eÁ毇bpW/FKXҨ4 id k)v(uȁ^[ܰI1r;NࢌoE9BK^\)Cw>ב5{D!IC݁ })9B2!mA(A:pY,x>@4+b@0226}ژ*<*;X5:<6PO zYqj K5"mKHu*2j+.*BJ;C4t!;<}}Ѓ [1 ?x٣=ĤDوP 3P :Ap4@>dz} 33`3ӻP}FkсEAD&苿2xh_ڭآ*аKR;}x}CZx܇=|Eq3aI"7-Ca:AIW+pM٘xL5ݒkj) l -G̣MK|FAZB SfdI<ܭM`,,ȩ.Uҏrk),*)Gy)H2l(H Pep18I9I<x-8  픂؊?7]5JP;' dQ ʛHTdjxB8A0h<o@}xvpp6`m :p jQv;nHĉ=L ǴgE?S4LΤ4>E8LǜMMa)0*}$H:PMS<;j2A;RF)RK)GM|T΢2969U)ݰy$U˜ !U#T)b ;W)WL Q %Q+(8}M2aXvQeĒx}ĕH˒A(y*@P4}@l(#nRQ\YX70PA @5C͸=L3WZ{@Ł+? ZXD5Z4H}SBrFpYO:Ջd\yHkM},.p yzW3W7)پQXQ^XP 2qp5 ZX6rCS<2@ij*YUr2Vr*WAiY=̈D)H H-^JЄ-Iف=0MCH II}uƘ껽S)~F[\2n2s.l֕邼$- O[\c*ʠ*sEKD9; <֊fҊI2)컉(OI0J>XJ_SeHh 7 >f+EJ@S2eEk;o.`A C uek<0Eip%m\Q`Z:طC݂ Zf =ʩ/>+ë"BP)4X9q @h,㡴Q*sUC-F)v1nF[cR-K/h[_b(s1Bn*{+w1ި([-QN',*p,k*9.TKcopnPs׈l@P Ќ#D ^Y`} 5IVy0}XqRqqؓ>Pޚđtp(Ki6=8pPlhE8jj ntPԆu˳af~؃p"g+C+In28؇A:%>{'h԰A%nt|iLmvovPl [ \h>;"#C,!S6?P?4`|\եH*D7`Ϯ!Wv ~ۂ`P`dIPⷋ卑IL <~UM  ~?!AeA L JPLئ,Ơ;K#4B*D?E+XB 0a'Rh"DnP!Ȑ!?I0I*U1!̍1!2i3>%,[. М2o|%ŕ/=$ifɑ0#ȱc̈ .u"ׯTn k6ѥ[[%j*J(VZ7}];x^`^% smχ{?*iL >T.̚7s3ТG.m4!9pZT |P­ ;*[me+ Z@+OZ)dݺ}}()be>+}' $ =';k~~Ӕs3f?FSUSXNJ(HU6RmEOJ$ LDQUiT"DrO-d~>XUWyxa\7q^Ec}u`V%V`]S=6a/*6YJ%wa9&eyfjԂhv_#pĩi_VfCmd BK}v7y Bb2%F߈^vPUP͸E'zi)1EIDXIYiI҇p N#эZR"vbŦZ?g Vi~d $T`vmXKr+[-6*VK2""[_/ <0+hWiELeZx}d$!&(1L=K(!q^6$!9O9Uy( Z-Ճ>cGBԡ[? M|V}XJVv]E_֨`u$r|kA8g햿 +8;q C>}w)S7J!HGVQ V@|1ybjpo ]L|r9s;N|aΞQR:n6 K 4P(DQϢ^hv=xY|"JW{R lLl%ɥpDD9ob `.ew#ˢw-%B)2ҒG -C)Qf"Xq䲧&M =ά2!w8+kٙ=CH_f Afy8YfG DY84SF FMt%73`C[H',*$@y,QzfA%RI8 Mh!OnuޫoFˆF=hm$kK} KE#o @/ne2*|2)P:0BfjY.5Á.A b:ªtBv`8R8DY?3 pJ51&21-l!nKMϝB+#䓫e{ǂhҎB4~94i9ڡ :T &I M :0xr yi: th0O~F%m[˪6:bCYev(B?m)@,yaR}o95cj}T&$\A2̄iAQA w;Œp w%͇$MfL,`vjqЋ"*"("ܦBp#ٮY>fl") mL[.GGҊTL:TJD|,T2Uc; dQzm欯Ds F&d2/.EJdƶiu1<k& O+QO.tGW0IO( Xծف:`Rtpİ k] vp 5@_TW  Up܀uA pxT\aA4E 1ktuo:!1C\?u/Ϡ1eb`ϤkkmtIVZ>QC֙,zUH_DʎbՓ T%&F$$[W==H+J @A,X# C!p0G6\CSa-%^1) ^u13lAA%TǬڿl9"V"ZBU% %k)-W'[k#;"i%R͒l Ё0,k;0e}5c} :a2c3J46BZ=cg1_ycljc81f^=ffE%c#HS=uŊ,ѰddN-$|lvSY V8m DA:crdK]EW` $w~IV֖L܅[aE%hmLe杉]"fЁeMDV([b( X*FZ繀UFWT`p[\(qpc;hkh\>h7HCA(hɑ8f^b)nOyNOKS)]QNũ>C5dCҦܙ~'X$HwJtraC|oMx&"ϗF gbDpA~ॱw oRoyלn`K((h h!v"b t^~%b+."\ %R+dzFZXʚ _0uU ¨#r@tkAb~ &ـ;%6,>WI5쀃)VXf q#i^iivƑU:Ff$\nU9p4pk.;57$[@8C6L,BC96`C95LcA "矈=^B9`^@3H-hlbx< p\)VD{/ Cn$ PBD @0CkS<`9K~BM# Yemy/mݙl yB?CH% d^W§M"^I=mjIM"cxA giќ JάdI0cE @zHy2]Bdhs}1?fw_^@F^m` K**GzNvV`Mrzo=wzD@]Wmy)wD#e FWe+ ܁fwf\+Hiegr$LK(ް|BO@X%P]ui$F5\H$AP@AbsFϲl-͹>m'ymH -iZhPPHzLX$jՄ3vqfʛmyuDݢ}qn$1Xd_„E*T@P"J$ Æ C"v<$G*GnҠ>X0'$;Mc"9Jϣ C6ug˧Tz$A"խ>\pY07.hx.\jվ{-˹ EvV6vrdɓ)W|sf͛9w @ulx6}:1":hvDسv# O#HQl|r'3X%ABD}vH5)xKU(Y(RX" Z@a!ǧW$8;) 轄vJA*( L¾j.$NPÀ2J *ȂQ,kh?26Ա'-B?,. }kJ( 0L#-qC 8圓:5;}Pς8vrmDb ٣<̰L31%:i}"l8zu,8BZ74M%h*RHaXe0 Ry5}C D,% ˺<hPLQ E4c&X[HrG+!cl. L-.g GBˠ2"xɤK@묵4벅dAM`mIH::fDasM[Կ!l@qa.SEI#dn:I5 ʥ C=ߗ>$}[)7w'$u("[᠏d# 7'+"s0 -D,)]O# \(d(~dŀRC6"4>FP^t"hqNEjl/t @( ܰ) [ p ql@xz\AA36WA*$u:GƑîI ~!dž0Aw/L H$ k :U.}+B *$# L^i'l*e!+f@r2yxGRT `'2aQvi]W-$cD~jdF@A䟖!/ JJh0!DH]XbğfHFDQ)L)CNUIHdQbR[$کP gDoD 5II .b&EƆY0EvN\*իʬfEX"y8u*1k!ڇj BE$' A ^ <`0Ї=tl&bXJW}Ðp R[ۃWF8 !gvг2j+U抯@rj CA qCupJmJdˇE X~͋%VfCR:ft=TD*I@u!,2*D%b5bB|h|%1'#?!4LFR6O%RQ:8 @0L*h*YzVN*!e3g9U+cd7مݮq#WLi* =/Jk_xWy+\)PVpECNqL}sMpkq7+=XahnuÐ?Ys@3tv <3[?C`x l;MU w ` v82RfTx€'BSI0%g#Ћu\r6NiPP= `!$gayTAjqn,Xɰ>̙KӺts`,[܅ps n+=uVzHе93#z"ZkrUݭpف=CECvPІ> Gx$<\T`T3:iEbjWQ*r.PwU+l!_޴$D/#3=5Cnn'L H( k'%ɄcRG?07CWQC2.j!ZP$ V.p2r ,9N@j@" ΈVN*@H@DidJNHQ2Q2 a 8 8@ ( ho`#fPJq܀D@:eP鶬sl$ ~b(̈Puz"\PI,¯p 2mI,nо"j VnXJd!  0!v ] ;!@RR pm vB@G_oȲ.( K|2 J!=^@e:, BʗHriP,DR{Zi#C#$ݢ$7-D6_5hiVbS"6FXO4uqD^;Ȋ;q ` `C G4lD 5 HȠG!i$ː."EgTҐ(2$02& p*\oӆ+0 $l .H Oz+FAw. `'n`-׮0 b7o>D & L#ZK5o%r&$Ddh8VL6(CRI,kB fBVh3JfQVVmVTX/WUBmMe%C%_BW A \HDp Ur%" weVK /i( Y'!b`oj v [+DS˲n~KLߕNA Ϧ/- RCRI6Ø$O[ThSPwVLf~o&xF;Ӣphk' ;l+!ZUV'mU2Vn1Xn7X;Řu%D/ l,S%iU=~ݩF'y*c~&D4 "v*l2""rE  Y'[(GH:s|UQ|! 5%f6jJ"kb/ -SM㠀f>QA֏A3F'o+ؑQN#yR5̷F|)WFII @h c…Jo$d4c<+f:/E$T8ˆ|Zc3gȕ)Kb.$ Kjh?lhƅ h8&Y㱒L{♬RH9<~X/&7>b]VQ>#5{sENF+wdNE$#@~Qd0`Nϥ PO*ف2zh,5LUC,A3:*zy;:; D$&)j%-hѶ5ZpUa cH,@0הYFc!x$luFySK(BRkjQAՅVq6/Ly9fi [%R Kш.f4a~3F$[\P`*t5Z E=cj2~\5:+pX9LvUK"BŶЉ*^x'X`DY!*354_s>^+%֧>l9!8N 6$#cZA"z"b bvnqDȲ^~e>vµd$yhh:qAUɫ9X _sx!TJPm($۾ ; fjtQkqs}mktD^"a`?1=28$1Tc5"ys*"ކ3+2  a 4=16a$:TY0U +KCd"p < 〇?$ce\!֝\"o1)Z:]Lt1 ?Ğ<<3/j@b} Gzo 6z\K&q|oa EޢG:'z6;:|l. Wb>~"P>v0T`"}VXc# DXE ,<FD*,s"A4k~D83̛/ hgЃ  40ͣ :u 4hљki5֭CnXgӢaB@(AhmKmRS'1Ξt=KV(Չ . Ō;~ 9ɔ+[94m`cΤRāCM^TÜ?bfM;5Լ=\w-ٱK s޺Q~`AyD ;iM#5԰YS}=uS6nolK%t>l p`{Gl `vs|X4B!/Q bXHѢ8/!CdQsLG!(c{TiT_E(٣$eHԤYՋo4P_VE,PW\:UAo1Olх5^uTV|ULr&r* ʛLjȖ!/ś[Ec ou>w!rI"fwk !  E/{p|m6/?n]]-=tj;fHΗ7 &߬-=N ք8GWm m=#~@tQA}XSSICYCEvhŕiC^_d0 8h}JX &4g`o}1Eb*,p >~Y@B 1)* V5}P#~'9dA+XJ~@?`Ly H;*a +Y"w1^I"rd S*V_e\+W>Ёk_Uq $%(8)LR6$a9RTF_YHAƸD,szR/E^\Ž W%/Ljr5NF& HpFDa?' k3@Dhf`B^2g)&;f t pfl_0nVV/.RC,mf5 -UҕXn@ ?.i obdA6}Dk+Z hbL8FdaB $ha Eԣ^W=4Rp4/ Pv7% c44o"IHԇ/-+x''$khO!" 7$`Z-Zd+`5 !8 SI!PJ&Cz,)r7ӎRATSWpC# , 4GLB$k91NQH+6lӚ]~aӻD6.n׹> d4DŽd(d- ):'uŶEV@1( wi bE_X9q]Fh"rҗ`0UcFT bP F4  `4- K :{ABkN:ygq길żkc29c9C4ML⒋҄FDbGt8E+B!+OmWUib-z;jR*5q_ÙpBXA 2wU*! I(^XR[K0JV`4ar+P{8()!@p-6B,N`ܳEeZm+(wYh٢=|ˈXH2^L*5Ɋִ%R y"oz(nﶎGQݳ.F1Neޅk2D߈K|$o\ @T&j `s 3@;@8ZJ]|Ɓfh:KTܶ m*3̸H1ZJ;]5#g?K'逃[k!]E+V0Fi;A?̀dJ2 7 EvZyO)A ۂg]V!#Iz5kr:z)0qh+zi؇0L ]>XDBD6Jk¬N_VS"lBA0vv7Etl onEcm)F2%]ReobA~:3UnuZ pBQhp10p!(#Rcq"H36_`* Oa*;6PrI n 4!L`v7L!A0֡% !N]mG9vsGFCtc:ȃ4h04d(QJ` 3PUv].fU7YAQw'xAQch5#v+(QU?e2%neTl"yTGłHPa&lłfCisxXBVVe-%$j="tVV{`S4HK*2x=TVi"VZN`UJQP0F U^f7jďrFm.^wpE"pPbkdpe~0]DoTRmGHhto0)"y^xe^•p4p$h7a6n@M8+0@A3A Р4pjLO˄NtMz \4A O`m gKF +uס!ryv5=#8EySW!wA9{"@v="\lXQz#TChhs%CCXi+z QWV@#!#-# 7&K2&~$ysb;Paϲ>I}P 4g}?'$Yς+?V0XCV"hb}0{VYSP<+RPjsi0H<~@C+Vc(F`(0$B~:`٢(1T9eF-f:Y,Gim~&oqI9. CG?Z^xD~@d^ho)I^Wq9IUjd`$_JpJ3b;?Ж6aYA { 4!P8WMȦ#:8d2(h0!hJ8!clʨ "4i6QUcZ!s03gx5)uCke{PC&n*U%v#%d2$Z1'D[%KypXw`.b@mE>{U%{>Zw,@=Ty@u,㧫R%wr$Iw QE@X9lCI`"&w"B3>6OU(pIp}ɧ)%5j( $${V0!*'EϥC@M~/nZ,Ԅ-M#rݢuN%T^E@! \MρlG}Z F p,EnG_  Je* ^v:h$6a}0i@"|'kZ=1 = Z&ax S,WP*I  dHxE1 &Sd.)Qn%@?phI;<VD Лn]8K޿ <*ݪ|@ wrDwpqsaK)39ffe z ;gP-{T Ƕ,;QBBh|H*4@" p۹ k@D%++nw$lHe;ٳ z .KZ[zQԺ.F]QȶNi)lr>ZHCQ51>%Dpɭɞ[DIdC\&KRp'0ԪZ5>'"@ Ung!'p66N9[*C: 2y"~r >SR&b>rQJGwQ>Ep@fKgZ*Sh#chdR%e,b. ka$,X}|b:1>X.f%vZA-+°V۩=昱%~BNT G#'j>'#0h\ *A\3,` V0WQƒJ1*52H ຈdLl/$YSE[n9%;t nIL豰@4">v5cc"| Hls֧H.c7c?9p@y?p! gju' :>⫎>;j:ACZ;R:=kᆐvfoq:9/;)Ds jԻN(ڡg|<%"||,cS؏D ; L0gkV2YDzQ:RH I $ ~|"JAr5eZp5& JW;ABd!HP}`0|SVB"QOVu"A6LŀsnJXk3زB-E]3d pҐ' Az_d 8K3uTa9 hUX_dwcG>zLpCiN+9x j!DCT*ZQ1 bUZP A@D68r:3S9:P7'=A !Ƶ;90' ϸ ػ|CuiV%Pad= a}` C*li! s"+tZ0Raf܈{Eryj4yo ߰p%UVBf+& EaJGTjpT` MS?u(A.X<?%>Z(P!$U+Qw'm \b܆XYLir;E5dZD-f˵ ,<4)B\`hV{(y,d E2chּf܌np/\X)i}<@ovQ7/5tVႈ8ؕR l}A$5pkvXQӳ{Je8Ȝp.qv*G=ΑEnP4IT4'P a՗| ,}@s_>,Ok]JzCQS[mF Pa/zQUHb^uBd1-?x%HFXNh/ ?+IZQi Buq5( U,%[2gvlPCAYa4ƅ1LcEdɧ]Ӫ!J{ )ز7g7p hנ-)HЪ4DA 8B % %n}v0 p N2šfbsگd[9ちS}:v؁ꨃ0254:h~hۂ?CI;Cقç:a(h#ߢA+20&*=aÊ:2i <2*C (9 +Cy5i2!;9Ei#@ `C"(@ڕTA h 8؃AH]⫴Dh RY)#2P5,9&N۱A yi#fcpa@H!"~; j@fDv/r6xZI`9kpq 3"T ڢdE6D#". ̢LʬLAZ8:CV)2,:u8Ph)T]%v0 =05L ؤHBc{%-|2(̙CD -1Q&,M⨻[ʈQ eQh> 7(8 pǃ'(:xɰ;+)+zaBG偨Ap HH); ̓L Y% "7Ę DΆBH],ˢ8D { +GT`IO;{Y6Py<} /RJ9R(҄y@}k3RA8 :.7ǐ=W5$$@ X(ں@KðG+@.M`IGC)؁Z f_ `F.`k+n8I}.< yS?˗ f342ז[>䉦B,fθpG J ( x!Y䏦(I-=9j5$HG)iZH<~7B6oJ-R9,q + 2,~1M@1u65@Jbvx qQh4Hκַn>(@x%E x:; Y$aXSivᓞڰ3ɬ Ǩ2;&ա߱͞ r6smSν6e8J(nh7 7R#fb3k1's2Okve@[ ױR 3js@B6#>R2+ N61i@39r6B>`+qn"b`Wo<"@XT73r24a~Khwf`"[DjkO3vre}?2 p5"A fmqS :xuO1G-`܃0=r O=Ѓ;. =NL wxaQuQpEI**w/<M hUxe KGfD ?9- nQIYvᦘ;~?DeGQemYf?&jrnƢh75g M.m^m5掿|H(5*WV +%8 :EX߻MŮeTP1[*c˞ jd\D  I`,XB˨qÎ=R8cƊ524bE._^ 3" GZp͑n(ƒ4]Z3H%mҌؐaԪGF U_\i˛&ݧDÔ;W.JӕYke(߾~,x0†#Nx1Ǝ$9ǖ/P{ `ph;&gQ:6 kq v+f F[ fG>`aÝQm!Vq'HTs}P{@QcTW zHRpHr*DV,q)YaG| T/u C{܇25rآz$yi}v| b߆V̡V* x܉wœ!WTNEQeskzҠh¹Iߤi9Vp3=P>^yW;TP;enajTBJ޻YQn!m&>bLcʛѼ,q~i{d+ ,>0C/.}3ׂg  @p ܂g$@ :ЁϠA3>H3̳:$Ѓ` Z: q3`76vA w6 dAZ懵!n^ԜX /HIC Q }XM@;d'kPÐ.*df+ŧO}#2tENҝ%ib(T;!4B =$a% ,X! )OT(!/iHG'T 涥+uta˦v bBB\&l_˚L q#h1Kg`%o UBQe+`9حLw:'T4} '@a/v?l/5Pt ، o^>cOpd<1V+d_ ]p8P}ppp(`Q5+:gA ,8x}40#&r!XafWT4hBI,> "F~E2Q#Qv:! (NVhmU% )\p>\'g~M86-`82Gx$QZ X:(ٲBd F% fIKE}JLdu9;53 n,OfNgNN%?dM$BNbJ U`KIO4<1u\TTHsR(;  bl)/b؋>~ NL0Jчfjx зX+89_Ѐy-~1д@}=Cp -m56E}Ɯ[0!Xxr3fhBct0p~e[]F_)$;{C @4t,7>E&M0"AfE[*%B6 EH;$->L>yOz6iH=Pa`]%^X#}ٸPALL D9d{E+i 2T&)H@ke~H A,$d "*@ز:(f1D朓uc#ރv H pRhGmzeraQΒ`́Λ+{'̲]ғ ^yc=Zg`Tg[WLlT,W;hyb/"$Ј ZzB/ ZLecr`裍A |myvuֶ8mڄ0vtu+N >4dDq1f>5EYa>Q&!姖ryи8 '` )1lZG^V?~a2OGе~(8A}xJ Hp'{P!A*qKuMz(D|`vM7>LAt d:A~0! RʍˍCt 6FtńQDMhRSrP WlEDTYlS{$4<;z@T]^av&A}M6MM8CdDr}ř%Hx xPdNxI52at$3)]:8M9FQaL4UJIQ`![I;]NR2eSƊ>D9.aFAF(Di FIF!*""IFh$ őqBN%]VOQC @P(e }F,žg8@ i  G.P qyc4ɛ Qx~P;Pdt1QGxEX(\?Is2j6S$aq\u j( ʠ<[ h*L5\@x@#`ӥ8&z Zo͂BM,/UgSaɨI 䲂!sZEB\ŲgKd!RhkDkXBaύmǯdDh")%96"@@+/A!Q}banb"Hǂ} MϚ] 0hiHV\r$ȍh7BDN''O j:^0a';c}9ExI*` l$ έ| LHX{AnC\ZXI5m$"M~D^PPNR`\>-L:+Ĺ.aN,&3^ػEn FHT`,Kg%i& Po&eҩϺљzRR=iE (Q!zPn!IJCDP>X9c;&JNd0ɗDB$Jz mŹsZdErCZ@@a!ZX[xIJP1%ƯJSrܪlΰb@bzNL"DҪkjJJnbqkFƊr1΄}f/RDr( [tSb{DaHȕG~ԭH\;2(%Y|Sut@N\@x } $Qp{@tNBXo'#^R zk*+MB?POa8wt6ceW乺E#\Jmw~A!ksjXqYw}w}WZ NKvŲN$H!zi PЌ{) 8 g LtVMƖ6}}hcdq)D8@lD|S 6#6 ?0`*+۶c |` 0[Ԡ|r2yz0Dj3@o}Y(ќG~.tS#GDǍ*3R. Dg>_RZhDJ7&w;+F~CwBatv2nQQjAԎ PHc!p\C,HT !DXXI}t{ptT!+prmyFvPlkr(EmF"iĕk@tC@CĮk5˅_/M#Kt:9Q,QC Jrq:*<]]X@nT-Hc|cԼFa= SLAZ7:^!3D%Mk!SR|꧖0My>>7|kqh F"ʓ3̃gaH!aiH>t#*J^:/`?|^oΫNG>"DCmM * zd!Mx;e5@)2`+sTPX !B֬S}Z)Xۖ!.RS5aEd,) 7w.MϡG>zuױg׾{w?;R dyr#:Â\"I DBH`r쎎FR #+TZ*C$@؍G3H 21V 2'K j;+詧N," #HD)f R%H"0ċ/H5U  O|klT2[m6׌umeVg:au2 3RND-sMWu!=0؍ByFp#> gjuD%R=hM +'C +Zڲz$<0@d)M`07r}\īyVmBQ-viф6'ThsH% )@*Jb%eIoGTi 1?Jߋ56sqP-'Kל߾Yj굥 W[l9_gG!ld5J j!y2A`$vULpÂe:k&͌cT2M'e'zH:PE!V&ŵA,}Rct,e4ŃȬsx4B=fYڔMAT=+ƚẕMP14 4+=A \O 0g<3l\# 4:to؇D5 ͡@(2lKqҘpJD9a'U9),s'3p=]QrLլ`)"g<u8$8 q2ieBfqgȝU݀*XD'JKvNS[* TݑrWg.CFs-߬i-vݬVD"&O6g4s}f=0}s~q\kAzp? ct&iC8аqFQ!'Az!tnX ̧ ķ4  L]wgAjt-+RZ!T<;mcªU/Jަա,.p/mepڤɰOJ.!hF8&!5D(!%#-n]BYUcEP43IqY0:Ø -O1K| mmsƪ[.W ĥt!iIO9J,;h{U/@Q0H*2uX4@=)KuiA=Ԇ4L6=]DɆSD prjt71VKVZw%T rRcdw7d$ 4 좽*w%,9+ \N%p1=L/UD15sE>Z1ODqBZyo?O^1`q˖tI yu/B;u?3%jx}wP\p< ;} ?SqRL/sxǫmJLj&Q۩"T\=aIWƁ moE(h,$PR*MY Ӥudp)(P~bJ. `hR/=8$b^磒vkr4>?&G TCRB(->CB = ha^b a> 8!b` @A>n욭bL*  6kpF f cxGDδ1D)9&v |m2(bn#UbgDNF}(n-Ɯ: @ 4Neq:k+(-&E`n0 %r²D/zOd0okŎF00iUV.*Ȝl1g$3)yƩfYPj,P[Vtqj11C` D k^C? `>&>~ffȤN0/Ͽ !RÇ`>b o È"1njL@3'HIÍR+%uI pRfo &bFB.& G/N:@`D ̯ Iv!΂,61 eS kJoϲDwR7~ Ē̬ c& /q\.Z܍$sl{<N/#b2 ,gy)ͪ2,&~Ʊ4M4٤t#: dC=j ad~;rsQi(hr2CHkKlBbLi4Tg@:E& r.bv4J6xFrTx'h\D6EpB%&$oB@M&b"` PIԆK:mt mtF Nvǐr%,߉ LT"\U.,sS# T?+ I.xL&mv*nC 4'vIw6vA5*OJh\e CWc"75rF"wnL]O4e%/K^.cc`mvq76waIF|Ƭ̘0|Pj]vWwBbb","iy))\L`J2d|IipHB ($e'STWu/"=U"Z8!9}BZ0dVxm~ V:TWDho.&87YXC\z"RCprzfOIs rAx˵ô:PJg|l~?CABx>ć:Z;A9Vf+dޜ|kCInbQp l>)l)n'XHbcpHBwU5@o&+ O& (9(UoLS['`-},`a HVi<~RX?ӄ:wt]f]U+ŕ{).-+s'+I&^<.U~9C! t^@Q_Ǘ0=+Hz|kq5BM@̷e+R H*\ȰÇ#JHŋ3jd("AHIc7?Hs&͚a鼙s͔KEc /^ K}GoڼhӏGT̪r+˟]*hA`@B}s](.OƊQT(D (P9sˑ-X̙E2{OўT|Y}gݍM/.}ȓ'myq7O.\SwaѥGcWAh@"p39Ftףt w|QX 0vdxը[HVmVq c`Z&sMy%s%Y)I}i&b|矀zG"!&(B@ $Ol$ n RSa>"*/?AT~*/1\GST^*C*&k*``r3RCxnJIf}&x).^j&lHg^j&lⓋQ)\'ݔsVfss]M ldzibv(1֘jIܜ[AsY`y\ZalWY§*g!%F%(F6NQLAIgiM ӏ]WǰXwcjdJ6iPv0gaNGe@nfኛ q3pfqW(&o~eP9dw"褗n_QQXo@J{N5qN};L/ DC,T~G_,VMCEB c>COLa@ϋQZ|M-X`.XAb ܌Ѕ/bBiEH+B|`(a S`Bn:)G:bR T9Nt7Jj6L=$3 g@@* HPhLcKҶ41KP|Kxع򕰌,#1x,wv]R@h yd  aXC +_L =rvEF?}G)ΡdzE_(50V #0 RQm&H x`"# AbVzt! #򨦅qR, h \ hed*9Q<r'0iA-\bc "Dd6 BG f !O j@9=* )7IK S:5D$ux+rsl%ILM;CRbNn3(A3{V h/`/Gc;Yz˃Nf)St%YWޫT %t;yQ *mZ'tVu"`3Cb1=(|k-]Wj"SQ4PjxanM*U7[B8zׅq1@EifJiPH|nD I! j0h:"AL/>%0A}`9O &4ai> 1pDBZ1V0TSVAg8]w 9H dqM0YrS g.مAt˾Y&BÔYѥЈNRA~S}kOwN/&%`PYm/G>֙Qֹ=؀7ΘdzFPB?N (r?fQh@k;T^ xjxxFnw4 >Fs{la Z Ҍ3مok2(L8K>A+ ㊴8t1vq&)M(d`8(v#2`8+Xa.ZL7ڴRoN3pLĦ><ǹv]9$HHl , $R ԎNqP5tO'V:%ц`*MJ;,^ z{\ZKK"W_=[E= >-xF iKjadBVaH4YTn$"w0kYcC6FuSR70u~%r&U\&'t#$)ouYJYAhw{7TXaxVh:lEx})'6{M2,>+Fr<{K yÄ{s\;{+㳆0@,Ne(m{ YisPWspsdBHGA!/A8FU馀G"4CT37#%}p}P3W0{v Hbj I`9fRFpU^q ,7aXt5L"UEBG,r_x/nr12' wdy5 "Suo42CS+2vv]qBpU.tEvD$N%̱ff$ܗW&[PSS.!"aFS"%PfeaW#UDڹJÑQ#6o/?HW{Ձ>36wf-tϱhք{w$:䟤'/|'A14CrG)€tAuZBB|w}`%}Y*erEat!2QQag2UtqqmD(EbXa$@+t=p ;@$-VuJF02S1#ӗ B76K5p$`bif+IvFhf&(:ZX#.jai~!koRv~4El6)1QڴN{gPx&ڧ3zwd &3?:}ESBr1J5}j Iʬr%(}KUCetyTB';31b) HJ hD1aT! %^6sT'3!y c5C7 uFb좉p#vXe DY뙑yCvOg"%8NxPBJ!Wg;"&ؙt9~C wL;껾KR۾A ;JUKQ2HET'$aЇmE'E4i0~V="qKas[Jri|Pd*;4$!Da.7 )!?W!:C 5i!emT\/Eç[B>sK UGqdd,ub)`nA-.Efc5dVWs8evYp5~gDXId$p@E^1JXD%cD}v[ɖ|ɉ,p;Y'#%8W&G2^CµV84"S} 'LDw +J9wP5VV_ҊyZT 6qS!O] ٹ§{s$1b+14ټnP_^ 9"e4E.hZA-$x*r4XDb45#rFuJ0Vc¼$#Lvj}XY %6H&R28%%9YXZG6*v|v~ndhJ-@ ɯEG)@ p'wpπ A h} ;Mrg\A&/@ T^s'őiV?d!{  7Csy+@8.U5Xi”qa@=aC1q8 |Gs@Fqp4WBr/u.ySsHhP%'W_)] -AqSXY;0|H4}DutvR Q|%&$% oZеsE8@x鳢ҜAhG-KM6@@6&Դ !5Z AQ }5U@"@ ;렔'pf A >oAπ !*ͼ;VFre޳</Y a׹z5/h)`ˠJ$AU!"rw5RAhmaRh@dA|R! mC؍ɘ 2n`%&򨚷NGJez v[fuҰ2nᤜ<-$79_hKFƚkv^#H'|6x-Y|̈́xŁppgp_ۢ?p `UWm~-6=P|=k!aP Q&"yXMf@ K(1?-+-Xxm~a^gr|0xیn( 23#yB2#p`8sgN6V .IT%V2S͘AdFtS*eKPb"tсQDb5"I1+Cyz%<5yŪdʎ>7feHgR}jYAD_7[!FlZ~;]29$;1t0tk6 !O]h]Ly0{t1,6,Ex_|Aդ7!֐8 mE.8ov5+6;H Z;8y}7ʁ[ͤIKg-hq'GʔWh{љ[8yF (}AZժV*ڵ֔^r*lد(PTB EzEQĈ[E-Zeɖm-[H$ix%^O\r寖fܙ0\[P.SlaHX#B $F*=w\SdhuN)%雼tjc0lS^C/8Yͮ{iRו& SYabŊ*+"ȫ/lK8 $" 4@8G 0g2Q8[D8fԑ=K 8-lܬK D$y\r&PD* rK.K0sL24L4TsM6 C=C0ڴ,x?x}]xc5x949@C T%j)%`Tԁ@TPHTQ9P,S@ Bd ho v`GB&8:&:Ǝ;I*RzifÎE]hىɎ"j?i\OüDZ\0BIL13CC+ŊMJ#+*8N93-c\H; .ӺR ;VHdK1ݘ4R jɸٶ3Na&{-*@;RȐJ2 /bm0ok#׬/ .k L¯b30[848Ð QЂ24νCXiV~P2+#H I"> BMb(4},_Fr<[lty裗~z꫷KdAzivtҔ]b>u'(N84 `֔N/S"LE [!zU +JK r "pA9nYR qC  O)>Z\!%L xD_) R/[h(~9üH4lK ︆ bIzlʔ&9JpF+P {XAf6K̂E9 B Vp=ۋZN)xֳ#JFU&k lFgt Ѝ+ƹoKa8ً$Ԣ,,"SffCy"uEs蕆'!QĆhM1W;GsqP*\wQ%cS2ˌ",JY _E-zQfT3 < L|PROhp)CMJk@GX% T:UxJP2 ,A Bu`ra R'.k5jӥ~MZw'WRbһE&o 쪒)`Eg2KhFb6I֖t Ї?duqGXA"+! T,7G͑P b‘4A#MZft)%"L\6ʵm"F;n cmEKܖ3|4A@ Mg@ 8R:Q2,@K G0.gNĆK$IN@Z@bxüpE} ~;N.&msmh֊y%im|cXz8ABvʡUT>~ h~ B+ZyjA bj%:*>^:DU@!>̬JaqB)<+^{ga [ J0+ C QD*1^dIٶX:qӲ"ԁcBՍظ-F.i4Re˭tOCYż0$݃2b[k^%ۺ5[\*t# t,;8R2'tV/-bPZ5jc R8oaR xϢEspU@6LǽզA̕1hAy$19%^Qv /~OFr]rۘ>c~&%*GN_K{K!Y)/e/it1s U*B RVlU ;0Bh^J Qu!5@]&tBw)ɡ_EJOLZ"Cd\bJ]GƆDn|8B F=~{pð۸,xŎ{PXT8|,Kc]cK(iDZ⺣먒nʕ.wsq؎s|\dD[KXMûp*L a [u|$9S >rC  ,! H)$P`fsܶTYc %9?9AA3)A:A(ڹY$9EE(9!*+QTYWz-!.npYl<B؇.`A3rX1ت1k<ؖip^ Xhwѓx)<?ؓvag8)2}O/9%Q'=&i1o b #+ 7ڣ>0B#U %Xp]}+9h5@R틣.$ ,ʺ5"%K#8[ۦ c3ʝױj)Xrːsk&Q8؛I%{ = i >ɼ?# Ēr # Xۊ6)iUb 1PѩQ24ɅI ʛ1=.a K]EY 9Hɂ$Ĕ`3>BU-CCt,aZ+x"ȃ{NE3/!ʻ $M310G0yG@%?ֺ4Ú( Y %qɄ3˰7zk5բa2 Stk @+}5:xFձ?q\ݱYyHD>s?%ISJ!R"-ҖS' ( /a:5KB29HJ3Ҫpa41s @S/ ;QS<Hz;1΋0NY,=>(T;h=Dέ`NN+(B-hA= КT?NT*,#/U6cE6ӋS 'qp iA(Ș }7E'rQS @})h@ޙ/N@.$؁}(}0H" .l ~*/hĿ@W}P9 @  5RMX]щ쒭)2HT!"v4g-,Qi1CYdS)AهZbLFW |E-d +X"Ѓ ÌLjTm*z `A4YҪ>Ü8Y͋c{`Tj #V`EfJHR[O&A3,a:)0쳝4rޚj@o Z10ӆڑUA/PM]]]͒!06X[*)Hv  Y1+Mp\SbP8~=PN- ڭࣾM>ң Tߡ+$X d"`Gk/yZ Ѳ\/&јQz]1&{J<%GZ( Q I55X8y[H[`Ә6];i|((l]#>b$Nb]%yy'^\ڗ4dQcsz֙7NT =X+и4F=1X;,b $XlȁK89?+^@45ZE'NcY=(@} А%X_Z蛶 E0y.-ٝ_i$^SS5@t86P;Pvl_lX%É6%eΝٱ]y1"nbs>gt>g&N&6#9پ}a0@JSYL{+e=K֛u#8֣6 }cJݽ5h=iskuR8==4R g?:2C+/ ۞Tu-X/ 3  eR  i6 f,dHfRmZm--2pF[$6p}/P0jJ[ XPb,8 ɍܲ.pk,QiJ$X?Gq֋b%A5G>}1  X :Rz#:؞[ ݥ[V'SMB(H;;0?w{ +( vɉӔ<5}xCJw!wѧk| 8غyw>U@m4~E_wE 1d QPo{10NF&UAOə mkz("g}{ȕoUrmyu[ ,h@x>+h"ƌ7r#Ȑ"G,i$ʔ*W b}uZҬ8syٳ9`CNژ.W QeWgO ٕ}aݹ 0Bv "-7jj(*C9wDm *[8EujU`yq Z'fBh~&fTGNhp!l> >7lP>bb3o>pO=Yr[ɳ"vؿǓ?ɾ ,F (3^yvH0wY0`X{DAGp {EǛSP4+\(`gm7HUX`uBEq5WރXpaAhT[I(ą@X%Sdx=l 0ݒc4]}hskv'dp Qk6z(*(:Zx(lSX5̣ZPSG "4ڜ 1FRlqWa}WBFY8!]i57mc4䁇7еw-j*N:W_aE!@a¼iBeǻKGP;meUHgF:p{ *[mUi0}EIq]V YPCEL&q!$WkW!o"-}_vPK)^ ͳe\ЄRSB( bL?pAb1(|J"%)ظyvY#2y qBK# +4]8rAF a:z7 ϯa;LP~!zPIez<+<6!E|[kE[̳`sMƀN.9oCX VkW@ r v`oqN S`N`XI .+]!@J}*Nl3;^6=7)uMS0V!+]4#8pq Xa4+T'GHZsuc:˽.OSsâiAGM IkHR@+@a KXBmm+ ?TBs}p G`B܊!0!^&#x̡Xa>z6'uxdN6Gb8  If+"b<ꑳ<':i `U:[bae A sh'B@OyUgsW5@ %4Kzp`8@]\.]tX8RdD(">ϱ⤃k| Z@Ab d4W*NBT*$QoxCĞYqO ̮ٝ8:#%/:}D=ħ {X8@gjYV%.qɘʂRs1Ξs)vyύL(*CL%9藆v&L D72ol4JqJA.bG>Qb Fgڑrkq)%=@-7٠ahv[4覻CjHwvUj?ޅT$<!ك1 Fp2.L$ϖ&LTe3F3=AGSx ֏#')@ p AMRK,S/ptZδEߡqtyv.8;Qn! w>mzzO1 Be(N~7Gb:AIC2d`x`A"p9`/$ HNc[`0?<b;YшÃp0CԠO1 ҔTF0C-\!79@ $ըGF5gp[+IvE467C-k6V-.+,AHM(.f;qt5Ivӆ=QkGBMU=v.riWSވ6K{f$vZ:, @MLI8iq,\qːO w?д˰n4Pf'd:76znMb؝A==#0XvʖxCn6>$7pB:H8@AUNLV XP`5A4m:H4p5d7]D© B_D > `G@i< NfA KQ ]5vLUfY֠",q<YnQ D|F6 n@/FQD#;nJX܄̃p `C95l>,E86@PN ;THM =bpAJ=NHA57@:F(9Xô8pC"]@8C6XNd9>A?c@ZIuN” NNKfiPTŌWqV X88Qi^AqeSp$\Xa!ŀye\U35=_!fp Όt@5[7VL>Q'uMش|N-I&NGv-sZpLN"h y 9Z0A+alN8N-4nQ4Q ΃05v"YW8ѣw~'x'KlG<6gFhšGe { PYĻ`DUzȒ]JUB]\Dw Gxx85t8D\GYեAY0".jZ[-m_q0Τ1 uΈ>r>*M[Z'= zh}܈pml)Q-AG&EbUfy|Qgn"Ee s< I/6Ɔ)mİnLnt!wv֗x6>*F- Մ{Bt39U%h5՚dьW)\DXQVvdhļԒ\ehYfADAc#Wߵib>I%&1G Rw؍}H׉׀><1|c $>&1ol0h"FDܨliibwT ҙ4ےƩ*Ð,"L__0,˶lF@JlԋfTY9H5!WE%z ~ ĝzە𙝝[]gW!}S$}%tΠYH䈛xΞVZ\']1H-@"L[b(0\ Ԓ)gV쒍XȖpq^&+h.۞ r HǶmђ(ґX벙bjWr^f&(\|/&o֬/T[~YaLA]*ݩڦYm:g+k,Htie"ZFz4H b!&0GrHx\H H'֖-֍\-kNxnq| -0Ʈ!NmpnlJwo>1G;2k*(*LF^tLaxD(l*s6Aoh֐H=&׼h6`g׏an`DTDq X剭Ʈq7|4ㆍ\0GŮMisDܪ ىVl새HIp}p08# 4G,xA0V17w7sx* Io9Qq:?D W %&/"-ClRq46~ @w 3+TD1<,uR#*-~|1ֆ6w8ZJ8jD\4u]*W_)3o42jYCbfajM;SvRa*l2|N ,젎޾.R٤hYDJniDID4I 1,>+LP q탤7/s)o63ʲATYRq)pL6hn3]wvA, B<CyD@iy2em^/lnjwt[$cyN/:*l .m7nwԳ LKG*D #FLJaX<\\c5OGKj]TGXfjX+6cxܺsِ@i@聘_^ڌE$lGjA`UbwVT_p:Gj1>@XD%H2*ǡCDI2hZI+p*(`.ˈ dMQ{QM81Qr-ZӬ.=l~FG ̄ @AA8tbD)VxD!npG!EJH K(DA>G (%О@YTѝI#\Yѩҥ53>rʾ"[v-RV:VXi׮=KWq͖{WV,KJG(gOb1h 5b j2ÕlB!ziׂ\bȾ>KlfOPa'Nr5xteG3n>zP'wu}ĥ7,"-L#: %z Qfr) A Җ SFi)?QOt!N[:5#/w4ѻ4Ҿ,tuE2-[/3L9`´0mÒ ۮ6֬WMKL#¶f!K8V ˊ?M`v@>Sq ?1cVȍǛo\>!TC(p"8 ,}HЊ ,/6$.^-ڱ& tjr.o2OGwlP,YւneMO}ke #{b$صpu ?_lC:\ :ms|rH(P7BUb0 3 tTA?TbRث"P-򲭽힛jВqVZևdmK` bb$cȺClM7|ުZ%--4$*uF=^5@VH<#`s@i{!+B1^&|(oZ# l,^TdY3~lF G KPy0p &P0*H_Mn}mnT<*i[Ԣ-.X/F,Oys7Fy" + YHCO.XHANgG16IPLI0Od#^P"@sQ*U#H%|c9Fylvπ1_1gU8N5y?%k-vnl\V8fnBB_{qs%bZY lcϰS80DmAcf;gA/'C(‘gl(HmA8GHJS`Q6ha4%m,}(zXR7jM]\(m *7 bnXԼ])K~Q IiUD1pMBArk5hM!;|MzQ JYұ=%%%;RHQWR λ[ǼaWYX.u+`6+0,ff4!{`\HpSVD i'7݊uҡkMjj[WX04! Hwy7=LKdB 탄#[bSUF<-H)$4LYum%DJ+Mxzd-M=j;&ʿ^p:ZhDa^:zLX䷿e뒙d'ɮ%= y}2TiIY!mHJM#8AuO KWySʘpYT"pz & z">j~0F @Mw@^ W}]-a>t sҙ$NV"l7,i@p:# jAesDӄ:[ZZ7=jN/TR 68@6Yx7\ lxl#{ t`"-hs# $s5N#x Q"[xcLx@bzUq"ۑЭ ja5#WURI^ro z2L2'S”NJYz ЌXPV̱ݗ.g׹v,7b$t9"w<Fzp"+2H2nfeð>v7M9-RB.ka 9eu ZSNoBW N]Ň}{(^E; ]MXUSHII=|n;AX>\Q GI>j[a5(](ebr>th10>IZU e*&IMLlG„D,$l竬&h[܆2i~>#1 ,.IDī2CqzH9gbcB1 E^ 5x& O?*J<&Ãʢ=Ϣf |hƐ?po `*Ro?$fdGn`>. gI H6"`eKzeŊbh%*ݰ66@`dD*6ϮĘdOkoϊjsѐ\DŽLآ<\Ic J *+.\Qb14xڸdkq.>j+=F,#hf&#>t:IQI"+RM j t/+$Ĉ$G d$ HÈfph#C8(nіg$(GHrl*j* ~ 5$y0Jb'w)*MLz~Q*GS⬮뢨Q)IEND&GKN+(Vr1DB  Q=cRCJx$<¢ej>D-Bhd@Blhf&%ER#h)UD"Dj40c5,-ئfSC/Ue%@2>&C@8D9SϏCkȼ0)+d)LÔhL˔LŴLMrB*D4m].,DV\V_dF }cCDZ6TE1LVei`cNJXANO A'0TqP/%6\זmä F"txa\nw"~V`WLބN qNdo LbxeM8lX""wrͤMvkbu90Wވ1Oc 3 88o*F50`:OT-Q+v-t.rl,q14@FOWgF@EDdt5,w3D ZNcGfl+buM`Ui5jX*brp9&FZŖr:=" VD9g*הIQ I'Q!uxX "VAo !"R"PLMP"  @ &b LyLY1Bd#"r[!*V*eWsKxo`0BrI+w H2]( i65 N28(aP671\CIl RQcG4c3 ,՚6 5eMC06rZG6 "D"e <@;0RD|.PLؔ\H#cyM3Zqan5bC; >Cf s'YKs͘T츋t vYo`y@y@ybx [n axV wn[v۽`"P (^)A_Ak+{VW=cJbPd10` /Z}#0 ahaG{V%wؚ3hPɢӧg/2h0`ZA+>b]Zi`ZG|l6rphMH6 )5v6b4fƦ}x6`'H)%0Vv}91){*!58a__P T}PancvKYw9ҒOs&Y&)ҕV5z_Gm@Ĺ NA{)[{Ι` W 趼˛$څ bX!b(bCt鯢?)| )a$"P&d!R p" &oؙk"n[^a@qk^y!\?Zg"`˹ġ+[22]cص:|/dOF͝ +'>p0eo%,(k|>(ٖMIN0>[66i7,H+,_ei|m G֐!1e6$RgcC)$a"H@""q,gǐEYQ91q(gEƏ{`r_*H8ŌWA9rǨHhjNjuR/J}SkE kZy"8wxE$O$;є%%xٙ?y@9!HPm;}/xjJCMKPΖ^5kBh ՛ie~ C K^-;eYلUULe\9 $UWZ) 9Fi4#Q8PTEE,I}\JBX)v`e~|dcJdI{ܹ3_wȔ5YD!()ѐVv(YP)4-fV+}jL6e!(JJXfGgQ )risD(F%@refI !G5;61j)TQYW9m\!M9-W$qkAnQJs`Q7UuVK[8X5VY dZabOJ%#Nv5Fr&r*r<2*|4AΜyh| fZhXm)^ ^̽B5VL]tYg]P] pJ^^^R q-z tM!B!}!iVo,84"/#xӕ=8ne;ȋ&4偭]2V5032# ;pQKOI%YAAX [& E" #HE%XTHC=DM0! bEJXR2,q6mecg E g3fSGU L @A$cBBBt^\8@©!j$@ #FP@\aE wZȓI$6ƒT|oW3XOoź#PiNY]vH1}ȌV (3]gņJ}(7CS6:yJ74Ig_~ٔMAw}8H-i'aoRJ',j aOg-܇3ɗ4 5'3s(t6'죺`B3ƺ 8or p``O3Ⓕ1I?:l5I(PU {<.PV砄M'Xv${TVV>,o\z*J$ˌ/5Xegd|/s) B:+NIgGR5E[ T,+S*Lԋ,bԹv m NjGlX~-{{+| HQ>@ !)l\Kbr/>m`hn8YC`SrL3P0_K+'\&W{6=0jD[>@\K ` X>M) A/ͦi u]Sr AiXBr[/* ``7B/vjMdpIr_Q+c$"zh/%j­BC[uwt{B܇;HU{hC/V J{_\s0K;aKN?&aTU0W^vCF&^|sFXGZF{/;5V{K{()' CSWCm%D.=Uf{EHA&wp"@wB(W(!@T5h0'Q`$RH2Rz+#Zx$)$uVuG،<e,k9[h;E&&3$ؕ@QX*[`i|{7-wEc2#!0 hSxYQQvm-ZgD( 9;>Ԙ(W$;4rp zX%'Cuƒ^1I k0I)x:٩ɝA?P8DٝiSf5xs7mFm8OBIW@Z{5D&X ɘ a|IX Y= UE؛ 3Q?x}!q~u@1֕@HlA&X @$MǡOYZ2Fd84Ƣ5ϩԒ[IxJi0r[ʥ]pI^H)ev!=8Bf٪A ݺ,CJCXpou0 ;1FTr^{z(JWlanQv҆&mH0L,r+P^ұX)?Q#,:TQg0hJ<A:zb1*0+ɚܨGx;a JFcʲPJ[G=2R>sJeg1k:u}œO##F*Wk-z58Q ^$I:CVoy$ ~z]l 5D@۬W%ȍH9zQIs0-`+q2p{0Ȝ|@ w0|ʁxqLɝπy˼~ E;cXl&Gʫz)ѼcyZD֯`%DfWv%n6>X&jb* z({XlF+I"w2s )@'o+XB.}WL'7& "5Yp}u`$\r'@1m\rjkˤdH:G A֬ZmB鐇ܲǏZ1<5 M3%(*jV!g!Gx[ \K˟c_ ~qguzM@1Pua<¼|ɞb ~ j@&mب(Sb T`؈LDu0e}ր"q|Pؐ|ר-vp˩j[!۱t HW@ }0vxl <1;qtLzլd e<{ԿHS} |+{Vgc·u5.%siW!UY,Bt&Ci{–(R>=SWаmTAe#$=C6{O%k0XuvRrFnJOBݯYd|{'{Z|-HgJm֪\ǜd(dyh2Z=Ӯ{9} 3ֺa_t y M|MAxp1˂=_83`330phXtQvɇty$uuWbN832S8cPz1רI{QIϐzQzAې^-Tݥը UGJ:d7f'v=lBYRv~Dy td)@f @ 2 !A ͘V0_b`RGPnfE=uTy6,n?x \%)+K;xo-WiyEg\_gGĴ:C1m91yJ[dAb.=oZNR9``7.\ u66'ui ɖd,W,~rcn[m3@0sPIx0 ʱ@-pxq_^ל,QIOS%Ma\h֐@0ް.u k5pPp`k!  6qb_ϐ@3L OpO޿& O_wZGꪫ*Ѽ!9QA" 4XH B gB,@x.TȞ`L(,$y9sϜVϏ I=W$!dBb4?9U?/dBwVȾV #U,Rt}BG";tA%<3=$IqAt3]d*}?FP$HL]{sAtE,[9ؒ`jҭYךg><וBF+K_|ǟ_~0@PAp A:$}8pcv8'CJgC'=X 1Cpԑ};h4qg1D9xgWmiAwqv3{E'=B7DDTK}R@Ŋ'`79g&~gÊ%E辢%6 &,`'|jJ( B%Tb 0ꊩ >%~Kbz裂V +x+0l1=[!h=~+Hn1қ !$"/-&F{WfP@߲'%J˺N+n8$ PM袾NޯS,vEqtc=7s?=tG'0:Op EC:6 /|-ђC hR?Da1Zy0"2k="uPy7y9 C+K;}vtmo@8L?=CӋ|}y!qSYTХv7p $nM#{8`a qgn<ҁ0a > ?ӲBĦ9r"ze\Ji#}o}[׷D%hE8½} Xɔo~JJ0P)X VL'M p 2&i@.r=JMX,&UJiM4GHCCh&f fxV+(D}qN36Qtڈ36fJ1:YP0 ``XB6цnKkq8/]A] TsRk5gV6\B8&3:q2gԠEhB dDٕFvb@S#Zla'EAigRݻCE|_;6CPBN 84R:vCtX.e* CY}ij^7 x! }[pECWҚrx-&2ÆÙqBW9/FZ=r!L3 ^c;( jM+!{حzkc{x\`P%$!YPGXESPˬw2P B;6"}vBI%I[,."Em)Me\SzN$Hp8/DSfּ :,m଍+rKyi,3f.&acLs.km+\@L9ehe.wT]{\}\46HmW=u/s)^pdf]CK$<Ð`gD`<UGz&]? T(@Tn]E0vCuP뺏K}UdhuA}Մf>ceuCY'RVRO/x:ih-Utv3@dn,;m F"2xwd %"\ag2 bb&BEH_tG#Nu-H>j11L$Ggk R `Kh‹_Fhfl-ծ߮{8' 'xƳCվf@/6ʉ0R1r TY2#0Z={J;:& %` : PB@i2댱8'z0`2l'* B,@m9&$28c$ð ±5DøtzCxljk##xr@;*62;C"sGH0JK|FLR'Il;Ek;o v28rX1X+`5 k<0 ipDQS 'a!b+! `!b{Pk$imB@ˬ "#"-rɀ14'3T >@ 82ªѶ 4Bx0H''x. k2"-Bɲ;Úd2*10^:3"@#pC(2><¹K`B t@4##ġIz; FDIItׄ؄y<2P}4A)ƇgZ")у/)@RQ\s?A[k"DWb͚,TtwEz R~BD+@p, fB#  ;Ay,ͳFE}EYԌ @K KuZXm0TF#cL5yzcù!{`# B0-)̂Whį%_ `- Kn+vͳE_/;W`2RMݻ\U-"ɹIY}"4#SE@pe:``2J4l6ت\K-·S"A K7E :bj̔^68tDL^">AK51-ͦX̄[ڲ6 C2ZDUS !L_ؕh"y;<?>INYlqv=oYǑce2m@0U7;+O +ʄX˵X2B%TFeCЕrXA˸=YCUհAaa*Y]2I%8U7eT7ޠh^Ȏ2e^]YU8֋U*~Z1̩c@vwx&?zƲA>B='D'WD$W۰$p71X{;Z,9a@=Ј;k \A\e]R؀˄X>*>  c:A5&%پ`"8@ [fIѭJYyBf d8^^nL8.`^z:R i^hg{fvk@}VMMp.}`梻7)W]1M4R|)H+>h?1NSc$AР svVUam8l RC%b魎腍ހ$Dli2~t]Nª`‘.TFXd^foU܏^oZ[R0[o_+ko]ЏzDOOfU\nY&lX$.l F-te3U<}Y( 5lk1S9 1.a 8>X)Xh[\cHo[~he}#>\d1"+f8 '/ȬYčwv,ỵ7s挸2\ uʢ/Gn|ˢY' ώ1nV`mEL>+QpϜɌ-$_-Xx'7|}'lj7bg X ch Y`fZ~!!QWSLEj ^dv?f0@s:Ɵ|`VX`Wb[r٥_cYg&`@  d>4‹Fy'/QyکFPbA,S;e>)beIp AhCЄ#>hhsB|aQ(q!1  5)Nt(/e)T&A5[\qW^eSl=ӷJ`]^=s3ttTZs|uEViAuT%.US>cǴ|eڷo@·aڃQp±}HZm9ju8q}J$G NrV܁A-KPatF#wXyCFwz1@HĘhJd[-V蟁TW^&r"L5dkES@ϋH֙ȓYw-HB";X/Xʁɾyx@1Q:P֠ e Im?]e! |a١ÀiF(ߖB>hSe?5JCJ5]awxT"jqҿmuv]XC zg_gZeb8Yٲ2n eȚ9ZVjoI77>Jtk6K kL I[.)i+Zӱ$86mcoI x}Ë93.yRyY >"DԢqSj0F)Mqf6 \y(ac#2|ґH!N*>^ ԺQn|b>Z $)?TҢX+M rl!zj AU/X>΂UV8I2Nya(1Bы9:1]4eQRSܰ)hI{4qx[Պjm_MpA!YS!lW}$`иQ Ljzեymbb%j(BS7cXwxlRiȞ=ko{oÂphA([+}Jb87q;F6oA @^_|!zrYܴ~UlI|K4\xNuUR FLSC(֊_ ]TTڛ%IRF(AS֗Ɇ[-yZ}臏Ἒr}YREסɀIi]ڕZYZ<^ W()%Ft) :-  ZLh^$J$R"tH =ؓ.́.4PT{=q?@|܊*TA\47$,TJQ4p@D9` bXI0 +D,Z,F ]W(ERa=Ut>T`SN@QV-c;*xu^,m&TYMMI*$`V]4Qd)jLH_͝b~(Sd XAv@! DF۱kALޑLvs8 LZH{LMR¬*bwj<p[r`6h(H3bBƎHT%h4Ik h4I kZ2O5r&+3lj$J.Z$o1`yd5 2Lp*3z)3/ v5lI0_nF@Fr`u ZiiS.<,XA $٥"Z4W4;;{*OS1FO"Rq&iޖ5YyhP#wr|Ji6bD&"'%$؀4^`m tDxPrI9!Z-ө ZnbpHai6bn"v'[k.^^)bd*Jd|(H7 A48/^Aa[GgGnbs$Gv S]xCb$AB䨖r-H$1ARS$i<v(dHs[tÑƕX5#*q}rc(s :#buyq Tp7BxGe(N >|4w{ɍR074 B C2](aȌm}(qu\3M2aU䞮b0~l$1|+AEs>B0'd@x.? h/ >1f#npZ]fo!:!#o[2_b o@ HUf@j"[3ed^f+&H%Mz#7w@XFd_}c= ;C4IPL?DC`$H7ÁDB,DC47PCĭ4ID SAwL|}x#y:׺n0aFni*iԫ De} R̸Ȃ k*-pXZ3^碝8>!_Ns It/=K!!Y bvj:%—S*kk5aC o bH4fc3Eg;+p7wq}'0HAszE_ɢ<@#>ll>_=t:\psG۰Gp"QV7c̄+,x !9%Jԉ!̤OF:jUWfMj-2vl"ȦUVmXoVkd.+ZxƥV׹-<"{La{X,ݧde `?cqX Q~3^v8n̩k}Ea6ӽ6ݛYdg;kVdnFv%Elm}ɎocF…"5o(@ rN*+B@_+sBYlaQiaW 5 <@k3 YAaMtV}( 'Cq;9c)l)@.yQl&JHGЖ44mQ&;v`5Lj!;v&oRn`mYV' EgVyƶ}J"˜jAe>Ċ^h gp+[u!!Pr 5wx+Xh:ZzY-=D ܒUcڀ!V$ٽr)Q-ڃJxЛ ?OwJi> :?t'@}*YeqcþxL._-l5DNqaArF$s&$P"4`6@ҐDD"l!l5pH28d MbBC!QRZP*8L:R0[%m40fƏzA_lnJrfNxqy t ;b8C%,3V'8N!1FVt9^|C,(SX:eU{^I6R&p"ԵTjrbtݎ}TQ'ū&ҘڇccGa`% 0Y?9K姩{q1")fagOŇLsЇL(d\o\(!6@Ċ!}̡hN-B JHK{6wp *1#5sNrי<BOF9Aɹ .pK|-_}c^XR.}`(([aipuE dVKJ}|aM,]! uF@*3JpUsd]U-keKT!U(K鰄%׻JzEIx><2qi1B0l@]ggb"s&X _+ik$ӹʆh[VzӷA[FoS.䀊**?0vi RJZAuhcyІr"h 9 j@cR9`Hv bB ! jr4V&#[M2:jAUnp<0FXb\6moۚ3A`ZAH@z>e4eA;Xx㲏EhyaF^j~Wak ZHq__.N+6!="jσl|U Kcr&q g P=|[t7ǗL mڀv ~!@nR]w 9%^ad$L JBm Q,`>Nr4rYb̿x!-߫U)~:ݺ011X׌!cC M@Brc᪍ HkH0gLG{!KZ-h/mW'bBӟU8ѩ:0{2nd ~LK~b6ŮR}B5|&ʮ;"oIi"H!eVK"P`^aVFhPhd%I.o>\J:rJcNB>CM>[,+P5QM@ TAGo&u8bPecގβi*w2"W2` gBn -`rbu͂ mJDV3SG7"oTGK޳NN}$uom=UѠ_X=D.})rS"9}RbcB01pU#ׯn + caMtbframcbLbiA)2+T b%bdCvE^J@`yi7+y[@@*bFg64LI‘|+qV[Z)T3~/dhv>\UVrb`N1{u:s(s mUOI3Wi_B$su+ t//K)OK6  BqSVc#}|*|J<8`t:/ZnG}p0 FtQ!`_eOvBd/W!$Ć8" ^8bxvH *%b$B aZ@"* 31WeiE檦,RCp2%AP%nB> B(* V5/R p(uݱ/ ,X=ꔨ[Xo5r2ctD. Շ8AhS-~JxnV&# .ق Ӯamv9*VH`4E !:|xJci!y>N)DM dy8`ABuB v! `n‘cz{ejc b,6)&* AywJSQJWmJ,zo*/)-[8=6Z HI8l()ZO}BYlN1a|j| 'ԑB7JM/3G[sqbp.TJ/Pr6WmW]g-y P{GuON vx$"بl"N'~O x9de 9zp'*'[hyw8`fy Ԁcyy ҂ĕ9g4W*U"@fSUbJS| *,ط WĠÇ+ &Zać/&TH1E(.:4} \FXЊM+sɳϟ@ JѣH*]ʴӧB9Hp*ҩ=u֡XRa] ر@.\n AxE޼w3g?tA^/3[Y?x->˒&X֭O*ΓWREo,Ihɖ!+/p9Ʌ͡Kw&A$~X2t) l\G ߳G̕?oxz}{ !!BJشד}Md KXGt}ǀ =hQG!Y JG(XQ{'`%H6V$Q ]K+(|)ӐF r,S54RI)cyAuAT} mtۙГ dA*!tzy$yG)SWdEzݑ1LxU6裐F*餔2%E`G;^~5VvRc̄SŖ[\G>U꧈])axAaUBdEo4pn9%[ˆvbA ‹[Qł/LeoGM\';G|YDB%e9fuy70!ETf$qxCDBA:L9t \!iXau}!4fa͢؇ p%GF,h&'JDx9qF!Ǵh.6;er簓<ۛuބ$q[\N3JcH$ r$妔9=.A Ů9~qH]NR*WV2uaa€[ʝb;? CP:HjR% B]aAmy鍂R!pP_BNxtkWRWBV.H$uKɏ |[ W>#_+B؜MM- `$5qlIdEJ}j~*kI)N\eWMjWkH*yPtZxeQ{AnK\R*KPSc\!5x6>9iFu@:v_$3oSiUxܡjW|J᡾ݑ~vtR@Q(EO5MXAQ!AER 1A<#A CP#u!KVDzIbi,p%'`^,X%UZ`Z8Et ؽ%OFG]NvVql.y46yECZhNlFNi-zWܲQpsS !$vB1~E,Y(1)Gɣ(ЫKQBPc ȴt!&%af쑻q1c#8t!uBl8Ėц!UNT4$zfk8@ ,qscnЯ4c"tzG1S6ޟZBfOg77]hšlcdy_ ʋ{2ћQ|n:;Ǐ.V?͢ 4dQ rbX $g bPGTgsi)v$ZS`L{DːʉBypc5Eʅ .՝)HJ_1!S!%! E"vB%M8Wh)t2XIK6zqwc!rxU90S1WH.&^|Ł&!Iq57Juz:<؃Uz>?I)GVm=Fu $!saeU:VP}REpB"Q#b _6&E0jp KtzS _1GEv.`/Se/VU}0Y.GF݁FcD#AFuň/"i"XEi- hESnwGvvvyEW#xye.|4Iqd~7coocN8XkB،И@Ԙ\ׁz&G%n7D73k2ZwP#3!*41Rf { FlFD*R{@K6`5#O NUQ6J5BT}0BTTz`c4\W2_ap5#I4K-5Zb+`H:aSH_X7w9 E03x]DZ4T]Y6fVJ8PW&6Fw Xie@醍gS9lB6g9mԸlyZ.pf+@ 2rӨy4\Eї5)ɗy @qh 7EFrPx8Q(8P ]YGr h6Rf'(7Ӆ]DT8'd^kAU3&0 !'h9Ґ].X9#6Th*4CH(A" 9 H wxl=yW%u&XpWeQfI8o nW6%V8٘'Qw2a {`wr'tepmZ)Sg-Es\Q.T~LB]@`=;{bqPAx[0(F$n1o"%G6#vr80 ~KHwW#mAZkr l}c!>C/%A } E|iD YEPWYT\a6~zUHIFH02H`yŨJ*zw"hJ)yfwewX8(q8Wwm"Iaz0X+ )yr:jR!vKz O9*@1*T@;:ԃtM98z ;R!fٯS-/y1*7L9:AcSX2k╿2AꘕFrl5Z7y 9D2JKBT5^)nnA$U訯z!yynK Z9ٞuCx%J8V'jY\ٕ{XY-yW^6SPW&iz/Z#;g6Ȣrȏ<:P9v?Qj[˯\^a;(I0 ْ=қ}Vx!ӛ$R؏ٓmٳ}ӻS״B$aϖ%ƍ{W.bTXv(<.q$\AROEM36kko粝ۻśJ yp޻xQ诰 ^w礜Q+CئvXoU|26#r۠Cm3PmƦJT׬W0l]f{t6vn4 d89a^9)1 (H}9(!"/9HcKx"ˁ-9&Xh%qyՀ^12,0$ J5=<10;DG Rֲq}l7 [':*.:f>2拞j+;9;wn~@~Kv~R#Lڇr縍7!cFMh2fWhɋ)|7&hߚUjhN,r}ҷpNvcRTU.fټ~m<Ǥ;J^!V^WWV K0Ċ ShT(`…)"#$J) *ˆcj$IĂrx1aLɬYԨVUPӧL:uڔUYJ*WXzU,٪M.龧U۾+ښw΅:Hѭ]kZ5T,۴`O5Jը%pEK2pئ2[rf.X\oUuGWbâi$HXj[Ȼ1`pDw)طcNJ } J׮eW|ɗ3kv/ mqW@~3Qhښ>* o;bk܇jb AH L ;賓+DSTqE[tEcqFkFsđ) @!CG"?tEXI^gɚ'\r`J(4  1B@ D;tå3HKN($ܣB_hF)CW^QJUŠJHB4̗ tTG'(N!\D* 뾻J V )Ot 1:v3 ;fkP . "l5k/su*4kpt mMC(*Oͼ+ߒ &`x/7H1i-N7Vpں*7~. 렾u]pb`l,p ̳n]o7+=ixa0p{l6lVE1DX-U'y1$}DR+&%瀁JCUTU4"(Ux[0r2LL?I*|@͔h >NljuJ0=0LEW(sUS(؃hR؁W*ѝxy m0b ~ݖiUT;lPc:.vگ"ja0/sJ0q* Fhi|^#x3+ZhAR.a4 obiZΊp2%+cjgdtqP)͈j"lR! g?"@&/,5qxF(` CY e`@vF4Qkdc#m!8R;Έqbɥ+!h0FD!aH>:E:&A>R_.Ɣ5J:iHMd+kwӐ1K׶Q&WdHB`02VBNFO_-SjG:LPء(22D@T1чlɦ'=Ph3F!9QJp(1V2;aL1IP8̥2Ԇ.i F.)ohG=Q+Ñ +E~iK]#Jk,`j=erN-TY|\*`˻0hhG4T j@Y>&SA+P:chdl#R`CDNpYzkN2kh6 y) !>!RRWgUdJ}`F&,|~#xmgd{N4|Ld%h!˦,9Gxd5uAF+0j(S|rf|iq{\&-瞈ʥr'l&+I J֐/ Ras-R 0Z5 w Q<bYŬW'uZ7h3튲PK+"ͮʁ Bߠ&Janza _\bH7[#gb'㵋Fh/5J/I:5g"7#Fe0Yct|f7^k+?T~2TCUҦ)vEk|̺Zz$KV_֗\NZT!4K"UVn̢bVqeWa0 P^n.VH! 1CT/Pr}k"E<P> C& iي4[fwgdfw{lĽk~O L*߲Kע.{z 7[lL\H7]d i(X{RM|ZxհxKmz*60Pqpbifa 8屁}uF ) À x ڠ zj|2+nlBH)p84*̸ ,SFLHID<7@4x0P:Yy@EY`)ZD ;l!@< M)qx++1h">ZɥɧL=ҟ*n8{l4RAl)K|K n;:vG3$Rhsgl<2 7kBiZ1G`Tb'i%Z z" q>{Z=˸ zIO (; $Ca3:(<@$ (:;XoHvx; BІsІJ?K Jd9p]UY.#1؅,]`8PC C1 Xpjth8)@;8No܇ "% j;Іtyl@p eOYLMAOE[ z6i2ǏY{ SЄS4yYB,ڧ9.ڴSºM.F0⹚YH󀏣 n<@! N< &+RN6k0UTă[ܰ0@FIVo%9KB)ȁg39uH⩁yЃh:`;%6`m :3PJ1 !JD5@*%CigXJ™'/ћE%U 8WPmȃ7mEk:n`r-};nHYY_$v@Bpsm:ȃi0 M5++#pGXL M/T" +6˸ Vm)0؇27B$pCPp) -DP׺$ t_vR3 х_y8 @Wq^1 'Q,x}X)1,@-!t؁.87v}=t}n&aF} @B 7`l證=T 5=, &ރ% &%=+̾t,^؇:.,LA T/ j@Eu6.g1Tg4L @FB-G)#GjcH95H,-]`m݊p5Ԑ9A)`Fr#>F+D \9Yhfifjfkflfmfnfofpgqgr.gqVXsNgu^gvngw~gxgygkK#+|%>Ȃc +<:p>P#(|c0.=+?0c (n$>g9*0PH=h ?6GڞarGg%L0sB l8LZ+IWZݧf~ 7v9ރ>=#ϹP?:Ux%X}Hk^_]f|Vt4F%3wTSu=I5-5[\g~Nl^lnl~lȎlɞlʮl˾llll#mm.͆fNm^ml<>fуN"^Q.;p6+.=ȽfAm$ރ}v? Ѓ݇$f +MCQB:ƋF@!MML}aO1FfG#dIj㵭c\hϴkUuV/\պQ6X)Hk^֔VNG fȅR{lØV^3Mhmqqqmr!Fm"?r$.پ +n 8>(,/?|r)7>`+Vh s0, Fr,nY:L »k4ԩ24\D?I!{^Roo?CeMh5ۨLV>(,^ @d՘B=vB.Ȓ1fk[ijד`uK*pnn1V[w% s#U6MLNcT[j@-TC@I"vlBF)>`:,b_q !Nby:#șG(P Om2M"I TyǺ V)Stj%Hj9lp{/#vO{$vo{!# g5n-r{/fn=hmX>n[d =ĈIQT tD^JK Q,U[kE pqjMt"" :;Ӛ+ 6_k$0 ;a}U+<"k"e*IFS߭xvIw{lOmm}"{T(H;Jc!#EpXaÍs .)’{dYp(*Xa‘=jXѣύXHO%R"P`?׊_ vZVTTCǶv} y̗׻wR FaǦ~ܺ+\͛o (<.Ⱦ :{v7KϜ/j(Rv8؛z<ŗsh] ? 8 x * :!Zx! _z! JM{B}DԑG{G+NQMFo`+dx2QZ2ΈCNF.tXcn{pV,NgYPUqW[)Uwh d%bI`F_ex!9g]x֙"i՗_ZDoaYI YeIWwbujõVvE Ha 8|,j3s*xIh<ު{]uJ-ea{.[.m/;E{f\6Ta&@֪<^|=ՙ{l']YYdFqb 8'c%ۘSbZ:[BuUh څo~k!&hLVz#]d-ƚwڡ>cdpTM먦f@VȖ9>{8+~;B>9rדR_t \t K^H n7{|Ts1m|>RF8yb vgTxNeTeڍ-}:igVtt] mǬypDaCIT6 p_[],=>CW򶏽yf+i (0c5#C(Bz+AS!ɩ#M 4\;XT=2v(Ųh1TV0`9.ȃȺvH`#OhE- J t\3L7a>r1l5FpȤ97P ými0~tV7i$ (aw`(0]\]hi=X@-s@.Xβ\& 0_2$LJHt\ʊfG8wCtjg" D <שWXyMOV,(2{XIêpJYL¼*Մ-4@T͊܇X]mGtvU+i'<{? PZ<7& 3ꂘr@+@&2W=Բ6*6@?.Vh@@WfV?u]sO3t֮ S VŪ5C-hM 34tX%QR+pIc.Y KB@_ZiwK`ǘyGa_=%ur: ݆I1E-@ \OZKfA?7f +d]R@0 ?:[ 8Njx6qyqun雒 "ՐNlf;+8 q`/γ̖s[6L n $Dwi䟚w)a[% Y6X40FR!9.EV6qRL<FO8PDRzoD+C,+؎pPӜ vuhC$ab,'>%ҕ&^#")nb$N3Y"+ę69mǙ\"Q].$Rb,b,b%v}"څ(29#5%n4~-$ޝ(#$9*chXAYtRh߈E`N VVyA zh> KNDy`e!Qd^@`GȰ]hHptx9ɶWhe PB!H@'A%ܤMd!B AJḈIeHN*>d!taMFyȌuT hq>$BhvŒHg͈AW"D=>@WԑA}YMU(JLd]dDqE\U>*ɶY;A hCB^>$HtvDXv>h8AN\`@xgyRRQ5YRM4] x!@,#vRE=Cܱ=Mhjh6Q@Y(&h$z~h5#Uh-B>*@mbtݜW#6Y>hbbh>Jh~h3臚( cnbEb]Ri.h#;NWp@DUEdߠ DHPԁ8ČEZ^F=F$ߑP c.O8BNEh_gMjIHdE* b*i؈؁ āPqT L>M `A\elQeq Z Eo$DKoډ^䄝cTNl%V٥@T|%g>ovgġ> HPD„Z֗PC$RI$LXAlffjC!APD>cM$ŷ*RiLAM8,F؟l4j)UA:iuYvUv&~Yt-}RG,!$u2/,Ah*6~^FA>4^4U-!=YG8.-&.^u\Xg-"GVh~i.]G:R>dj4ߪi 9ߧzE)iB` rVElDK+x`0p$DnztϪVCXWA*gB ФIV/FCKx^dF@C8qC'nj ]a>n( բ.(86h'Gx P^B1'."3*s3s8's4JG5hi^3ts/1h 4ꇘBo)a/G. :q@JM\J_R>KdAY <,/ C.N$^Iw5%rQ¤L+A `O,XpS DT'uXdRpcp*Y EY!oHy1Ql:Ko+R@qNGqHԟ*!ryD_OtEݗ䫞ZASbKApd!W0Mx*>_u-f n~hå0D4@LG^#l_W%D(E&{AprDQ]n)2|2 )z뇐{wU15XX;?Z/wT^=\ Rm\@Q>q~(@^]pY6^$Z]R@hy)288)1C1W7?3JhQxCsfs.i8)x(_x@_#;X4a4G5FȩxtkFcNJ3[ 2_>~QfDNNdE$P0@DUz|"M^TEXH\poRX !|ʸLE]E;3D]GJM۩9:NLR̹b7w4rTjak0Oom<7wp qdx{Of ^f&m{OGo* 'Ŧ3G ͮp=e|elRЧp} H|2Q\2זwX|J!b!4A@2}7|.mlWLJ?,~x]_x8#-8%V}8y*nb՗c%88-%:^_A:x/}&=bu#7CK}@s}n"5v8Vi(b/sb-ZIyARa~Bj+i_Ch/F4Eo GMstpYg6, gI|/*,J!S0ŖxT@xv %WzSڷ` pB8ŭ&ār`r|D}JcvWľ"XPa1O }}020(Y`C#Yp"zPT8';?9N|X"@# .\PbiydO"Z4z1"{Nҳ,"LӂA ֽk'ҝFJb+4v?(Wcr!sFeCKM3=v9yŸкhxpÉ7~yr+>r%G7 Zٳ[wҘ|xZ?hYۻo n;Z@Zk=3 4PV]:..CP<[}䛯ԏ?ql1|{L-Y&T̊} ;(!dh*k+ KɊ=P(%% ;F#8򮵖X+,PbOcC +;-ʨ]s*2|=Zb>H%(d >0Jj+((}BBs%DVC \@"-$색%%cIJHu?}TGiM_K Z% )+zIJ(j|Z]W+xT*ڂRjʾh7%&S>bMVXaA!x(y=0c$]+bK:4 i%#*eY^C=>x7 ݣZacV -c *e+꥘ +./W-ҧ`,t,{ܷ2 -5߼9.9.H|7_NO_7 4@Ő=FNq]wRޅS!A9'U}I&_k@C̟C(7y=XNҔP~5PSR*P9 USS/AN Og UfRHr?,i,(WjLSPK((yH;k/Ɖ I6A AOC!zhJkFZ50Um2+U{P^ƲUj(">p0XA j4KMPb3#(afb&,L—4p!_PqgFYKRe-#`'r$f|!g&,FQ0I[`>(E,Єraeb+DK Sb N 9Lg>\YMk^26r[-T$x _ߎ-&/[:ϞEooh&H ƲJS\ +^p|Z0' H\sρ8 TXpиs'aZ/ⳗ|{Pb/"$y@-K A]RYSKSS'\oQ[8-٘lopE|Ԛ̎0h]}0@آ籭dWjkr/9rf=s5Vo%=\yp3Pԍn݈1&隿{ғFi]R"$Fp p}3 @܎ԉ*t kfV)(ŏ x%!ߢv-ڗ _Pכьy9_}PT0c怩9!ӗHF۔VE[e',\'0_TlyHJޭ-<,/< zʔ+V‹@ QƼ.N|-NNnDˀ,\O&pԊ  1gI /ȩylʄ+LL L\Bix.D̀XJެf,ƘK.lî68f"J$P@ z8 f̿408L 1DLٰ*>+b,MyVۢ8@bkJδ٬ r) (&JFH # QBQǑIOy 0Q-0i-~ǕɷɔPE-@~&Lo< /n,$pF8Pj.&!'Ί%""le""`mbcn06r.M4n *Q+)& .ކK-#nIFQNl/ҌomR)?6mLL*-y0 11S112#32Q glVTp`$ib"^ƈ*%(OP%{F+~jD&چe( 1(ĠODX~`("+,|e3l|%U&@6[V 0F&@bED4C=Q.<.}&rnp_5۬l֋t b8a8)nA "|jҩJQAiB9S9y.A*08s(DGwG{GHTHHHITIIItITJJJKTKKՑ\pVQBhhK  +"Ġ҆"*eYY`@`7_7 ZE)O`( ،NA5+@T" ,"*" #D)%Kn#9$WPO%9onb ʿ$`j kIfo۬AF nNF/ $ ke@ !it 5Rt/,ER\i]{q J8__`V`` `aVaaab#Vb'b+b/c3Vc7c;ct rNQV.ŌHYV)40`TN"~F'5T8g9*.b"~YJ V`I a Xgu֞eUhXZg8U$TGT@zl%~he*@@ oO1O^o-Rj, S4/<2٨j)C [nFjOL-/LoWTk <wsWwww{wxWxx7aA2!1u_fpWq fmI!}%Xr3L"*Ǣ"D% H Ԥ 6OcJPN)7}fҠS*aK[&y T v!"SX6&آ!,m+i+\YzeB^hڒJⲵ *ҌD6ЊbqpF](PXpcƐpe0,`` 6weXA'Jd FxRA}ͪG^+o"W )1Wט؍Xw jV8fnҐ7V$ڢ{dSeBdee4) $ܨhz`(KU1:I-n򤁽HRtJ.6VBR ,TdS(n` W@h ͢0u4YkX/quV4MFݞRplRDtʚ[]un ڠZ ڎKʡLr/.s(7WX+$A6+by,SAZ[&"V^g J(j V`ZI 6"$I@bFY▋ֆVIT*&fa b+7աšuːRszj/ 0tBm8JBe`9ZB-wZcwAa%ў٘†0?pBڵ_c[g鸡,">o% *Y\|6`Fl 4(`>ن 482I| ! be')!;u"!mHն%V抾h6mPHT.t6nw(6hglMBʶ]*Sҟ\Ru)O5B=`eqQu5u5lil0J{.yRiP!p j˳\˷˻Ux~,J&J%|NhR RljשG|] 1N0I֚+&S 7O Ï5-ӊpooI2tOR*#șA= 0J;1wc`jP5/7EW|8Cܷ뿞]ظ יrͶfLS0 R~ݡ6*7kP! ,|m% ҼWqulZY:~y֢E-nUS C&yCQloռ\ׅڳ*ZwDnqس^^A L?Yc,>?ϗ '>*ũYȾ}Tاd` yQD&!FRaD;B\АdW.dȇ.i.B,ysNSϊ;Ƥ 3gM/QX-Iz@dHEϧGYz+ܨ鶵 5Zl[׮ވVH$1řےԙWOȄ U9t}V:[:ѤK>:լ[~ ;ٴk۾;ݼ{ <8ĉ{jD _g58uQZ"OA6G~=!JuAS0`"C7E%UH tTGPbmYQA!Y$XYчVWBSvSQT-Sd+tFK k &0JƐ|ɅVoaAaeYUGPWzY@L\5fdZj`ɅԈ^T"RI_,J'\zg~ hJh{_Vb 1ك B m8HWH!}:AͅrXz.JhZ|hih YP%1vz'H .NxjsE YQXwXBc-%'jP)]P tBM4jE/[b=դ=` 4s")DY0M`NE`Z~%!up'ak׈ "G r0G/D{qWCP9q0yt'ޛ#PS=Y֔\oy53]VH^eqWGt9T5Jf얤rO33?5|8YtO~柏cBxܾvFgK3iFؙ#@+H }Xч;A8B~é`> |0gBNAD!а}CnB! {xũ0"qP NHȩx=!&Du @ r"38bL@͎2\lc{ÃhJ 3kLb 5!QGfX X$KV'$An5R>D;IDJ>'yeTC*L!*J-!+H4d0KRɰه2R;&M $LPK14'Ϗ"M\8QO;5%TYbtW̧Zrxe,=/}E/ьjhg)bDI@D?,ʎgl JH `flȆ=g@> Q[!QHEҭs6Jđ {v(RSg >pDJaULCjVi`F~)JŽs@NqGTlڄ("Fp+( tK`tS C#WN#=,*!V"%cvcHV \wR*4x$s2[$1NZc̻'urkR٨{ whÒ%5o: 7ʡ`&suGTUB1q\d}!ex!$Wb38AQd~kܼG-< E^ɐiS& 1kLJG$ҰyPd_\y9d"7r,!rlY(j>%$?7dRͨ1{xtV3' ?wьn i8($bctIًyb*\+o^h4B-LUi[r\zx"(8GȊ;Ovi$]{X'3$Ad~^''N+F̚HQNW&mW_/yŤdĜ֦-+nhR3m f{'w eJ+a6Hk|;=t]ScJwKDvGC%qcxQSr-NOJL|3Q,u}6kD.,J)]l;TGFۥ`{=1zLwp01FBڣ{認5[.R.=r-AEԫ~o_~o~i@o#>M! =H__>Jҿo$}J4ߪ>~W?"z}ڗF*O+QçU}Hh Ȁ ({hȁ!zV0}W 'r?"}q||)0~~~EU~gTDeT=hDՃ>xSp4g}hWԈY[ȅ](a(cHehgi7,U/H|!ƒbBm4pzF-|wt42FŃIH BX-@7h}u(hȊcxHSׂ~}~Xt3DmwGGEwPHT҈@}6ȍZ8}n؍(! , ) H*\ȰÇ:Hŋ3jԸᾎ ?H%SZyH(Q r&K$)(`ρJѣH*]zTӧPUqʠFuԒ;yFyYa\Z>]|yVPx-z߱!b40ŶM̸qʘJ^8φutwF]9x5c_n)[dۈcL+yΠ}x"ȑ-R$"ON:"_BֿPAr ӫ_Ͼ觃8ߟ߽(`v'Rz 5.'X]rEd}am8dMV-,0Ƹ"txsŭ> yWyBLJy * }Y%~CVwIMgށG&L]Y!8jg`|駊4„s(LiAgdHRJc~B䑒:VM~b9*MI*Jvx&Dyi3檗c.+Yj2;lm>ZvZ `:J)z9츲>ܦ29t:ܝ򚯮曮)˨lxnd/w`Yg][FvZW^!;9g!,rNs("KЍF)Y+يJ|DR gOP+묎'=ц&'%B_86DW B»B !p鑏LB#uİN m|hB|АsOp $'V]O 54졘K|Sr?r$!# %$jl`}D3ou5a"! K+r d<+-VP! s<h-Q_A8|Ѓ0DG'3o<;S+x/E68Nrg"_ɳKr"*0{X2AE$tZwȏBbt@#Gt?X bG"*7l!kJ-GWT/k L \AD LnxlXb $ !"BDB4(!6eku:z_Z;ص}m_TrV<} IW;z۴e10qI?PUÌsS-Uss] m ѓ Y̻W^y 0y]* @ Zq)Gg#Au0aA<rm|"7LL+TTrDZߺa%c΅3|Eʱ\;8YEˣ{P<*L -D9 2$hG b J&:J 㖇lv#gKA + Ss<⃄Pn ~0)CjHlnkm΃m[lڡ3 *1y"NGV )SO.#Cv7vY5iypa9#YqD@b@J2$K0l7'D`0c%8r7J:;=f=PTQQGyQHy(3l|Pt['(c:vS&`zk wp<\pk LŽۣmֆ0L FI5U= M { &Ix$[yH;ݨM р.~QINͬkA-TS O{Ej켹Uԑ  P3g+)nӰU+.z+ۑ( VU=VJ613="\KBۻr1yc;ZcGU{ǔފ`yG[U3vb^ͨ, .jlSJnk!L˜'!J&̨ԧ+vԂ lUyUJi>[';;ȴ5T"Aq s7ڹ.kII=5^!e@\{ hL:~ʕ ~zj꿓;b@W?w>i߼(e4J޳ʺCj1,@4 U,SmԿԓ|> v? nP˾L w? =|4>5P/ۨCZw~ AӠt bFqcf.XJV*vJeo.Q4= o?eyL%^/Xd\eF*-ͼX[w?m ^5۟[Ӑ,LV`>{o9eVRo}E.\p#? %2JX4[Mzpp1ʾ8y}w  4FL98B2˰sjߩ0I6Hhϸ^i}"zNo_e!E%QLG 7j%?y%e%~OFm+Xs',"hZҊ[EqZ %b4(F(јILi26 L}"j2V{ &@H1ƉQ'6*)QxJ뱗6 5(Q,)Qj*<Ҋ,V" H+Q'N)3Z) p3ELiW芃Cp,F#O%eiBSLL"cJ,LSa3H6pSt+++mTT9^ĸ -+~˥N0}v[-*8vR֤# J`TEY[]^[Xݖ/ ]$ıK+$QC*:l蔀ʐrD,A;t/c>P{%e]:e:Z;U+DHp=W8yVnY|5`{JYVmI1 SD/OUZ}+,['e,y}Lfߖ9'ÝԣC[#z`>X[m/Usqʪa+(B T"аp HHcN$eSX5e@t[,J=c&n&]ʕRJmzSTO3tF%DN Is%,B RND 骥>XF jYI1(+gWS}TXn)|O٪!{)1Jn = `FV;4CD=*X5թD":$D6&Y&[#8Wmvsu-tf{'('+h:5$qxU;aQq+`ZWIpj" & ָemy %ʚ2B\$"Jt'v 6So O.qwZE^VoNXdW<~Z.>#lLD kBڬhnrmQ~ x'^\RؠMґtMW@[~ZZDl]Y,HR #ruS}B3N]nJvݸtWQ{|EGjWm[hqnUT{5xF\k|qZno]$.э8wˬ b5FJز+Qit vas[U'5Y,wyEWcu=aGmgE;V9=)wJ &cPj+y'=^(Cp;Rk(WAw3XK5 %[tAsZQrpjzy`[%^ySOS˜~~L*}O6է\V]ٕV#}(c}u}*߃-/-^y:c@(K? L>Q+ u?\ $2k@sqK> SJ+/T)%:6c>jP3Bڸk.+,*A'2 l;̷(㱚 '3+519  ĿỪƋ|@z+#K@s'0<2'ĩ*?Bp KDR Ĵً$(R+S0kAQaT;Э6=VSD(mcu?$̿@;bEʸK:o\ cFһ?eGg}KFgFwšGӵsCO47t$ r+$EO1?tZ@4-[ bX?+z Jȹ&9=tTs /7kÿ,+ =4=zǞ`l,xsG*lD1Ԡ\Cg\)+F+8(l3p-ƉtC'S0[ʓJ`q\:dD9J"c9ĺ,87<6Bl2?4:BlIe1`ͺ$:ȏʾ˓CJLeA17"4'R EiA< 9aJB=Jl4=L0!Z`ŝCd|;IR̊ՔͶÞ۔6ƪ"C`1%D/ #у#;7!z; 2,XѺ<9)sr P$tBAddN Aԣ"WYJ@ɓ8>A KK{|35L|CG0P@R5 !H)HLB?Q8!X+J Lm3*i񡪡 RlsdɃG$rO|Mөˀ5r@0-Һ^ 3 UM8B)aÀI<͜eeJU(4@Ӛ/l! {1y=S+Tp"A?8T-#`8W`͙NH~5X?!IB!ܲTN#-YN]1LG_d.<`|54FHH Y: 70 §ٔKI yAPh)71 S 8Rq >R-mH,FFIxL&)AϠԕ <}E{Pt q 'E82-2L56L{VpvpEξbIF:$YM.dl3B QV]0BX4]pZyLcS,(ǕHyMٱF uMv>ܟů5ڇ,|mh;f g1ƸV-SQ^EIMьBRmk.g'dadUh%Y1_ QP ^=^MY9>H$_E 0%˸E@CHd,k4wic,&Q܇ikS9%\ׁyl2fTɛ|1a : r@]]_\HtIL_,k.57BbkV=i0-؋ʒN^1C`hT RΥ0")$r/ӪkYraМeƑoZz-!є }d@#5Y b()oABD0P:zY vE+$sӴݥE9dt 6k/'**y J!M/#(g.RlB"=YG@Y8HT^9Үa(Y+<c{}4.$W9'nQrdԕ`ɱ#A,@:m+ъVA֤ʕ7sQ#K;;D=Ѵ8ڶ 3 }V_)]tc;c U'5UK|znN:T4Tw 2#r?Ōo's\wSMx'8dag:c' 8CuUOWTݎ̜vmd?^.ws:.؟w̷7+^eՔO|8xp,+HpsmrXy}Y*p/3Y"wI8vtE[]Up)sh4E]k-dh!_)g fR w"fRCP}FXB-uX1i_I$q[z)DYVLqf)(-ZU"f:u"haHIR{N8cs6 5J8c N bO8s#z_)I݁#B2rQ@{+(]oe& EmU>@Dr8AٟSF mLRm֍WEh&ڵyaq*֕nEĞ浖[Tġs)u^GWd7[ҝG}MW(+0ފ+FjO pHZ4_Q]B֏F]c(-ڙR"xPY[fai ]*42x\;½%-J̙JFfnrs)䝠pI֥>Foo0U=6Qq?CvN/+Y·hQ*hm pBhsGN9[=Dkݪ-7uK4Őc-*@ Tt%HFgGx\*3iRzxMLO~lq^6M.oyR$>UMV6_j} +Zh?y %5Fe+Z!a0Yײ\BYi =A½ೣ^V8T,= %hT}MơV*"[qndָInsV3#p}'txUqn `(^հ >$S;ڕip"RJǚ W`&jRzxS=d1|ϕAzY rX+AsFCçjdy)Ϩ3 Z+O}"TduG3 8eY?B 3Br;V|%a=1TlB A $Q?`Q+p}@j!Ϩ4֞#F!c=k7Mv#qHtQhwvBlwP%!M a9k#p%Z8-f"s~JDn):*\(2T{J8@;UmW]ݙ]YvMqYEY% ZlZI>D:@- DIxT>\ VLC8uyDC4p+(!5S WaDr^4A`*!^NV$O< % DFYVD+qD,)5-a%G WI}ٝ3e[BAT!b_ }5H5#)!L" m [Y bZ5Rwd #v 5u"gct1Y8GX!§&R`XӭuY6#HQNNAMw,:)H 69,T\AWS"JR#ϵUCγ숩pաU@$A:[*bUbU.9At]DPmbeuċ)U1>Na,ݝB@A*fE mDvU9}6=8>έE>Z::$ᶀe &+cFib*b?Ɲ;>D}Dff edƩyODhR~d:DvG$SI^C N M$$j$FjH Ld@R!D!=vg _r "Y'Mɵerp%2  dΣT-}"qaՆs9)e6n&k0ӗ!W`o"1Udc!JGcWJ8% ?Ds9B.؅.$ɦsdFhhE2m~FvIg`b:EӍLuDN 蜐}RǀGȐ#]T\G|%HAduD"^VÉGEFCX*~yۧYDUi]%(J53vѪ`")"\APˆӉ@DC٘ Xj&q69I+OݦjBqdœH&BEk| ;m,Z$$B)hҚ+!$MÚ":ZbIi\f$@ !>Y6 @5 :DAC RȖ;Y**#VN̩]hgMzLH9*RHߡSI0`WP}-63yYY@ jEFўy4>(:m-u @6O58Ր-4؁`1 ڜEa5 ĉEY!XA!Pk4,>9caR ߚ-%Ay5X0I 0C4X5v}[RO^]"/ԪZ"[4k䢢y/jv_&,b~l&ߊX`H'1xjcmԏ{h΃OyI=G ש(0}ZQP%ȦN N!.~b<V*E yrV yStIxn!O0A:g#¯NSvWlD%GMOҐ*qDYX+:I0L4 mqC&!8UFG4Q!uA#;Rͥ-FMȄE Sf2F/I4BM L Q-=I)3Ԕ8A#$Breȩӌԏ"`J M،1 A2!v: #-]pJ\D#bNPhr]h`e+MU9]KS,q!D =K^U 1s mP83BD(-TIAILp>B( xM0 sotE43Ecʕѐky2B )${Vj z:R Iϴ[ >G*A].FpUF$<C!StDAAH1WJA9 PzFT4i\j5N)Ԝm_mZ[ԖM-\ }RJVG *D8O{%sCdQ4RBĮ6A$oFH5Jyb|EVk5Ttw3Wh ;Fq zHq+R\);IsP뢍mL"4nAnx'J#6<lAsF!N|4LldAmg)l;Ł'm'wunj'W/1(icNpC$Cw":l 8} Aú%X3%%(B0Y@N]j?Hٗ &&TF0 [4s+I:84 !g)yD }cĚ:H!~!%Jș WYk>5\@mتZĉ d!4Auy?,A7fQ¬EXdCv-b_(4AJ$]O&zaX(ӮFanAp4BCۆمDҟߥAZ\[ "A+!H P2]cz_1!Ù?anz?I>j$yC[H!DAQSfDGQgCڅ,L G"쪣!lc%oWk\{GX:ފ)T#}RyMRz6dGF} DEᯩ3].]*I8?:D?ç6)ɧYA*BO+mEMabZ! &‹^ ]tY "!H𙇰 X AN/B)UR ĞK 'GrfFq DaΟQgG3hp`^%Rp44_1Hń!B<%ƊJCb+YtfL*;B$y'Κ)tg"IJ*IrA%CoS"Y+]yj;qgѪiy*ڤ> S>ZLJhn[G=|qزelC9jWl#27ȃ  ̓H \h3N9ϊLilǗ" HXI0"!*諧J"<+F jM6X(JB0ZCM/ڊ#"sRL72$$3?(l%&3+bȫ(qg∣CVH7^yܸ,(S⳶ҰT@胶>9DPR[k'DcL`Ѹ,3iBU ; $%cˆڸ0C<ך( 0Qv$OH`-Lazu hLNPZ@V34JA eFʧ-GUCr4D{z`Su1"X"`b=%mY80!Sc#̻lU*VJk9iI(!t⌾.;{j>&g?*-;%cr|k:!*ҵf_ *WLpvcDLjҵw ^{2ؒzk:" Īu>@rD=ucNԺ(UdwBi=s"Ny~FJH D/:򃞬;Յ ǒIf@QGлN*x |D5yE`}@FCojCAZ/mO筷udT2Imz+B0PD: ͡z %- X5IBEP.!8ܰ\*AQiNBi^">p "rDw>E!I㈙$!IF;82 !D}d#T$[W6g*#a K nlY+RE]ӀFD*(Bf2+# i,- (hk8G,Y6i$P!ѠC`0 @Lz*'P)HrėrPyIح5/Yѽѝ% jhDhɨΒ'gx先h]Тt J0 <=HGuC38*A6 I^*ޱ4!9!BZD@Db !$>kP04k:rE-);[z${ NOd. Wb ^o[UnWFFN N/[. My47V)E4 n0G=9.-bhUk5nd{-/}i.-]֌m-[] NukZXV4hS⍗Ӿ,CiwSWD ܳlQjZ׺](iOj,Ҍkԏз:L_A@ˠSmss irC3woV :R!-&uR.rl3%:T࿫gR-mYYVu7Oj჻$sj)B/:hKW]LJ7&QK"f?-e]P'\-^hbiԇJMZ,y1WR{*,@ףGqc' `+l9\lhMhHd'Aȥhb"m\aegdaqhpAD1P `#fkfeࠡ~,*10NXDbbHP:Kohģ"j LM`Z)ć9BDڊ+bs0 -*!RB8aAVQHk /#M /kDL@ɂb!'}CN @[KbEGE.4D+P*(7g1cz$3'PBҧc(e($va`[,hrK7. 7hOs0*"fa[ωʞq@"Ő! I"`1C\:21B$Ʊ8x&I'(M>Hl^q*&R#_Α9D"$ 0JGP§(!/&l . ZPbr h2B2 :uH,qD-CxA#' ("P.M1SHj^fj#%-|*b;IB#)Ɨ:+QQOlFȲ. Pp a rC%5!OS V>Cu"FCLoZYz'!uºN.Z:.)! +)#V3M(!zD4_D+(F>7us>)#R&=WǓa^8JA"(2; ¯D-rOtT ,=#ElNe8OA\T+nWXRkr"Da @CkǿzLE,]0{$hTSv =cUbPl4ID5b,ex&$U< r%&qm3uUWHA&fH:S:b @M}u V]c O(EYTT& l$U K%/u@W[Ϊ#fsRB<R%SeG6jTNGRȔUιUQt3f5#j³px=g8[7Z*!sd`{)7d~:D&xD`as >6s(p]C RcODsmldQ ,eUFeb1cS{{jȩ7'AO?ܱPb$' #G "ANJsÏT[Wqb& sג5"xW A!xv+ vg Bg%{QV;$}ž(a)(}5a/%ӧ!4QNK>$`R,sh /\PV^t&BB'.)dGg*gTOhu_׾ WvSLfm#piS9Ԑx;_DL) (c u)SU5qN!H 3 ؊IǪj!u=C14c x 4x护Knx""V*Hv @.Ecn 1׉_[c+;T իof?[8lco37#y¬" B ,Tv&+Bk.YMäxdpBm:s\մP^+ k3*rKM 6ҋs̻˟鶝fI W-+BKyM`bL"lj̥cNjLY|IdZT"dee7"`MB-蠋𬣟ܙF!.6ڎW!Ljڦq*Lini(FjC[5::ĬZekD M'MiWS]#Ǻ:1ϞGOI^]E,QuoŞw"-jIQ:B9ks '%4Hٚ [{˸̾J ,be 0v+.1Oȩ廳8[2{{k;' ڀ{jNM[zڪkY_G: &Kzm{ {&:xYaydZAR ù/ƛċPvyq'β{z8LƟ -:2|Ík0+YX]+  Hl!me:m`v]vMZfV #wF/&vccC~UП"] Og."`,Š2N2)hᰶϟƪh3ӗ\cRN'_A\F)#Nr89DޅӰC8͛;~ᤣ<칉{LGlbUܽ[~5i'BLVˑH/ 7ќoτU8v˸P[P;bW$… :|1b)y7>Sv>2v(7f![a>5Se 7ժѷ̛; ԫ7l| !C"jř6U%ZT R[1(@Xb:` RQZ!zV$i 5O{Ja=`!OLiو:A3Tbh"_4sYhDfڂkB&[W}&nƑIdQG%oU^%x0tu^~ Q)9G݉T e啙h9%URvaixTTʋ{n5VIPr8ۆ}6'Ugqb}%PR~TmQթ/R>*TQE fV%dGB;ܘdJV}yqbV״^k:u f`2djY@Q6SQ4 ʵ>14jIG0$V6!{zOsVMTlE(23BL4W9 2JGͱG/qEPՐasai^B+/,o22"!NӰH} +ШaE%f+GkQmc\=lcKwj^Wq1RVnEZR2DI64u&lsD*Q4\G44tPENyW#'y4Ǽ 3.TI=f1}d3@Lj.;lpKɓ?VlY8 A|k`D膑L;o8}) A@d1x֤0P(KXҤ" ^G0RJH,(!nr( K+vXD%O,d\08P˴ 袈'yp'ɖr"$6IH7)72 cjCҔ:2C d U!uZbݔ!b-:V'y#r~L|Mʒn o;r,'DJE L(a()qe +):C,yJm`"a34#dڠYZZ"۰*Y=+gA0VƤHqlÑf2Bf8HMoϕ!-d#?ĕ\'JQK+U|;`Hgx$jfTߙ  #|ICpL`R@QB<28fiH0Qe7MRTfCQ 22D8kZ92)\CHzW|e`z˧$Tfsy±p^f3АRJf<+o2ѓ$r";W}*K`Fl_oV݊J~aRFlH8J:&#Md3AE|+$'6U.vd9Zg3pABe=NkzꤹRu!TnD1vOP8fPA'blIQg fltk2Mg`p{ݟ_6l,V|+XHtp!]2/.HejX&VB`P Uyp\$| vK&[nv\S2 JZR4  @oC+Bé1lfdsOүfNn+u[텨Uw $b-VK=Î~gHJ wz@-G+i2"kWcjJ f!{-)Iנl0̲ۤls{>V,+ fI#+ePa Thysu7^8=(2meʪ[r!om $>* ۀ7Zf'Z|ci4N^9 ܶkYfȜ<>S>7\2ٯ&/j~WRzk퉿dTZNpտ9u]xY rIhEp|NXfZYK_=6Į%t{;^G#=sE%8JlcǜjjR2Kjssn::"|UTD+'܏$cއZ Ndc`_$P.FOuLґ2_nDgcyf}uhQSuE6z`yfHp^FJhv*kvWrd.S&yյF)"c~gSzRpf7[&xFcDH_O whl|}Qb? H1but2Ƃ0%W3CgAG$B=('D8؁FH\zM?z}vtg{(R9E]#_X&W(F,xv`i|yO <b~reWfL,GWαi-8|%fvGWTHeD"emehzhxTvKa[&mLQXA4剁7TJz'WO@2i w_SQT@Di((ZWŏplEf@א<1w%0v|J n8xA0ӑr(R7p='qCwOy1P)%׸[8Cƌ9y8 0@ 4wN3S#9C:>(%xWUY q82>/9k(%Hc,s,>IK0VPPF!'&5wyB`3!s嘅q?^(uЖ*A u z~k"Ι|u pCDG/)joz.17- ȒX,x6X90%Ev_Lj,1ő4b@QPSTb1vZic\v;롕2! <֠qiTi!E٠"6j%Ӱ>`c V4o ~8s#? K2qpF79Gs31 3f:3<?M3 (1 p:qnb" B0{ʚ o9E..Lp IaeJ 9?&9䁤JRxPq3z2)ba:CtB<&lJiW/"3q 2"'9 &aW#Q i![r\$UdDQt]rN1 @5nITsMq  CvB1, C Z:+;5DY z2  ;{pT{pv[rKp/ 1RHS"A!0{7[B\#7:9˲A1@QxϪW{~Y0MSʳ|t }&Óp$ oA`/P0RIkު9}p k`C9i AP#*څq עe^.&&X"Aj$+"]]A{"2kqM~{9XRgѲ (kГ L*-&Ck jC{QۃG'c` ],!1)a3P Pxt1;V'r;[Ȋ"z* &Eqɒ[A-d|‘!85P$7-:Q4W!:)BċJ~-b'pv!52);oEcb(3&Z$+LY#+q';$6PHsc,@ (\+\*,<ʌ4LTÛ]ͬVq^$TagRŴ"a=zX<~L 1=";KQ@ȡgkq< m|<9!0'+&,[k"^';0c6}]>ɦ g>;(WdJR}`q2{"~>jAq\/Td-C6o\zeJ8᭔ rg=#ēA- /S =S2⑚pzo1S@ ГνģX<‚aMѰ>s w:s+ $xPć^7†f(H DRJ-FTENęSN=+3đ:,((4RꎄLt,L̑ SnGMWv,c}IlM($9y1mE)Ӹ UpXI&eS%{ҳ, 5rj)fYȫ9*O&%%y`ջx}*^_NƺZRŠ|vEI}+?4p'z4is?-h%h9P44:Oi!t?1"1rwȑ&;J AȑCiJAmCdS#;lzF(9,S0rCID&Ҍ&^ALބ71J!#J" ܧ2gj2P!ڃ4#R<4-1=(5{oJY#tdgt$ d,('sVKA+h!(R%OY UX =?6R=+<=Jq̅FKpE!CǑCk"(-k7@Җ\$ VvTܖ[Md7[2 1S ʃ1!QFS@,;DֽmL٦d&Y9<W0S@[eV A‘E=İd("e>Cyi{46ْ-5r8C^fL~FF[+NF*i/ڦB@ڦA$mPtvW8YԲWh dE/{EzKh]-5B%d=;yb{+Po єm, V!F?9r(ʨ1l'i8H%H0KE:@4gS֊xdCCBZ2VP8ib 'Dv5Z0BV^(e0Zm;+ m/zoՖ+4$9вP1$qA6S!RL,we! T8P$!3|tFh.ٙfӑ@,T[z>5 *­l@uAҊL> =4dg[IĖrf@FRy(悫R/h$B Rĕ .%%IiM0Ld"c xBDoah/1KA"~8N^KX(=péU,S d;g[Nq2ZfhGDSVHPfF #ؑ4ZDiA-OAk͉Dk"2HZYaKR.b%VI$ [Y!O)A>8/v"mPK >MoVBIx2JFb6GPDHZ⿍ RwEՊqLYh4d jQz6sy Ч%"$Ƭ`Sw.!^b26-dD(Y#|`dXz,n.| ^;Jt:DGHZG̨ѿgZk!B3k D[lDuB5+<-wh@_ F %9qH%:!PNg+ (#$Tf"L3r$'QT;E31Ci0shYD1𡺎@x{^ʋZ+XbØG)؈z "i!PB{ T3n(/[2]+!*гS/jB*703h(ٱ83A9BȭBPMS ̙Hՙ#B32,hEh+"Ѩr?|8CP?YD0xW@2ڇ94B9)=@fslq?Yt2?:H@:CA QAz6tI5A̘FlҼ?+Dp TȯS%irl. @L ;ẗ`*0OZLMU) @ȽJ6 %\4Jڼ:%yIZKtNx $Хϓ5l=`c)aƧD;@ GBKC _NKLM; 5JP -ήDJhάt͛XR$-3wDLQP8 ҔPϰ@ Ѣ+>6q f0xR,S@lԋphlj;ST14xHmK89ItChۡ/hW/k!Jh1*xB4u!Pp)hl*/ہm&EqP9P-eĀ!#=P mH8S̥%Q ;c 2Mn+134۳6J<ID͈VyhYCJY#㖎 CJG!dF+4»+HHV-hdAH<@X^ UsJ񻵸Q?P 'W!֊ =j a<2 86:BV)LSPPyZ!#Zf)9 @QJ<0I!1 2񿐬WDådN}׌W0mDL85XY%H+UNa;xHԆ"ITi jueAF専iK©Yɐ xӕ0d<§K,6B8ÏوA"/;3))^)8}( ])8.eA*/ǵD@*}}`Hy51YaȮlH#KD#P Q;} 3;JݠhPb `͔D0<kM.Nޤ޸EƈIc0/\NN Htr6HE3q4~ٰsw@+PBѓ Jmc~Qɪ8 }u=0sN>=)P&ɓ0`33cv d. Pϕ`Fx&㸼VCl!Ð[hP5y9&Mh Љ,ӵbf Q1O83b]A5># rX>C}FK̈z$X hb;Z"NH4ӜNȿAeS1#mULiN1!x*͋-E T-L"_i5 ?+\^Bdf nV Mw3jkk$LMyy ɥ;lv>*ռ-pq9mS$3;_]L ڔ4&lwFzB mHP'2 d[]M n KZHmŮW3nm6nӜGqi/;3Y(92 vrMo\N%=K,갅LAhBl0mC +c] \_*Ue*ޖQa@vAX@&/ u?c~qTIC,Kd!kq;sG2nuJίZ={ q.:}%KZW7񠵘9-2Ҁ#ri5n9+e^*rf+nE8d<̝v 0[)eS$Vyl>{CR: ⏅<l&[ BPSBrS>&hGQZJ8__iQ#kV!룟A<z-e8[d`Q71*}goX$.5្%̈́Aѵ5Ս_\xRb(S[gː2n3^sOVVB VROv&S NǝWQlBPbԮ o WӦ pWs4M@GRz&>%,tqSY~S(qt*lm98XLjgY>Œ8dhga8|e&՗1M0'WӖ$$ J wal40aDiHHp47^Uȅ0Z,z4̜#z5֮_X}wLEe*sVB=*PJ(%C4Ic cT}s{M8%>eFgE(I?UKXUwu$yY{iUםtQ(wGb#bt! m3|U@ (X)Pu/rdE*ˆy]MZZx`igL6&d\(^AeTgg >nw'A"ɨm!&w陈i]w[j=[\wU{rY!_F"_1`fe}9%]g_L_ ]vt^MQk(Jg%Jo{?B[ꨨ.XT`^)h#\* Ѣ*ܖoU$Zʜ YtۀJ,1 [k2||٥b`u/ZuK%:oRbxo$s%Z>#`ߞ*!{# з_~<692ddPvI gTth"LA8) a: (vH+Nij-L(ho)ZhmZ; MivU\דl_Ѧ{HʪEV*qrP1i%X1xw EԠe/bQ;yA{* %1V/qv(LaHFWb}xE:NhJQD@%A T]hgJQ̦%"*(ub^To:"lǽMo3]w$^zE"ⰇoQTRǑō(ܠ 4.[9)b*VcZLFZT0$&Kz !LP%\tvc&sU[ жN*5Qz^U0tk*dgƋA1IN &#Rq`g< C LZ(cI_мqoK<&9,U!<-#!+Ţm K&( s ٝi4a#iǬd x虓DmfJXOd '! a-p'Phq2hZe@(SStJbQY3pK-d x(_.Eٳxm*]dJA3e[1$~t)%*ঈn lgG?̯|+&€l"zVpH2?P#)h:K D_ZJ,$\lܸ6 Kmd$+Hqbm)p}N{WJwH+]h`Ӏt7P"o\% >PA!ݛ,4^bEb+Hg% XpC~955خB{Z~:P?ڻ\U v;24HHgi蠏! ?AN\'A(b [Iw/@P88Q#:+6}(IȒ5VX\l칁!;buJCDgJvkWL)Q.aYfP B엖 B".9:+E"fv*tBJhK\bK^b|"1oOP&k3(c\ c]qqk4V'SnD:G. |i9NY,SsQ4̭,PKK#9^Gh5O܉a a҉C:Ch zG!DWy $%ۊ*ayUC9A9F,-W bD%IN*j\&jrQE;Ym%.g;sfNX[XF8iag)}ط țBq+8A#!C,BnoQ&d4,JXKc<+vi?6I'gqPӺHK(b<{3{*܉:y)XY$HӧD`3G%vn2?_^r':Z yv:6S/O-کJ( {`ȖGT[1ֺ)D4w0^I\F . zdRTdDtYQX \n]XuQE<1\W4ܖd\H^$mAC,SBESJؠB C!lZX)D[H`Y$Y y NhXDN!mJDYXQӽ9ܯ>-O勍_ | 'G҄v8 ^ݣ^Ą%cONLBLI7-P"$RGPɑItAyUVg ^jUuUL 4,^4SlD !X]| F@gGծ-Ţ K5%n˗g9UmU6'yxp؉(%`^~F~H~ܐ_PZ &yhjQ`RAebu }BLAK|d˵$.EϴdRYhX$}fڅ*̧} U }Om) xXglXex@u"D~_X荭[ PQ˹Lp-  ȱm ВXE~\U '[l) QKD0B 2aL<\{r%rMJHWѸxe䈬Fz*VłD"@cE"p)ol"j *P+}F 2D9zS&tΏ}T͌ b* UZ ~W揠:݌h$Ӱz M%ˍ, Cljp `Fq``Lx jLf&z(y@aBk^QjcQl eXȜ(^ t(MۆXI- W,0-6WkM e-KIik& ll*^–j|"kl}&%,k5@\|xɑn-xmP\~h5K.ehڭƙOzqM ް۰jN4َ+fμ | Nej8M^_`^ |ҚoVʴj<4NH ۞ު~IȪHG8~[\U/ +,uTnk-! 6B2MЕFG͊GV{*.鍽(ֶn0o4*OImpîJF)Dي  -/z!(" kQ'g-h-ԐI[ױjkL{R`<NϷM[$?%N&Ͼ > Gjݹ[L*̠}πѹ]#CKp/3uܩ N!WɷfZ갶URгmMq s*pJj$6`+ Trҋرh6a1+1 p1 ֙HIS 3*hˇ)ײP*gJt)c76|LĸPm# Cg;j"+uܧ>55sHAKt d?8mthG2vX*h tJMxΉzMjj<DZ8(N׫ CQ>iU!Yrڕ=gF0cq-6$ p=U;ڤJrOJL#{aaWT#Dk:He*:Tթb&Q^$:74#C_m$.JH:LrĈzD!P}H`BZX)+ 3RC8 qw(zpRhBo~hb7H&v- bNW "7:dbGH{X؉͞ OMb0Tpae)U M[)$~\?s %}& I^2,T>'!Vp`B*Kk:-$t'\'O>$'NB>P̓s]PM#E< qjaR媴SJ2(TXe\ȉ ō(DKsgD S Fs&7-_đhqT5 윶7G@#mH92!OO$ۈj@eKX 8vNRCr ""7m*CTGJ<[ŃK_j,t衐+BvVQ VCRBeȸ2R hhk}hÊՉqM2J(2 ̖nԷ ~flų++\*JKcQJ ҆?IHD/[#BcXTʊM 2Xz ו'sng[҅;aa h*v9E>oE9 !qrtҸq-Wi"pC#^2%&Ș\҈.iH{_&(X ;H(RDl eM T]# &Y9qHCFu"8b~&ϖZ}7ԫq(gKVU'w,Oflw1|E_}3$BPRVhݥ 7ʁ/J>SܡЖc?{,L0 GpCl:P7޹[ϳl'ϦJd]=?ܜxZn=2+{6S*gJLH=:V l[fl7dH 56dG͵XJ˔q]+fHZooJzҦ6NKuǭDpP# U26=X2r;]SsBȋ"n 2'P"ޱ.)xq#a !@ы|2[&/;C̼~i׾;:.G-"wU_ħȬ(0= FHiyL0gvFzF,Rb OhH dgn&Ŏ]q gƭR/hJI428h'O Ƨ_&̥Hhp"@\$RMrp܊r.~P iC+f)2%,ch√f/[ cV+A5!$Mn~X!ِp0$al `l'S}0&$zV@i !j.O  #-(Xp@B4Xb3bBLSe&kJ%0feNC4xD%$qNDuH"o 8/r ]J4a!wo %搰ڂogMfIJqm{8 #Ods%Fr(+"H !EkD"Ȫ<g"&"Am!zl i|&Yfcw2rנ &kj&($DJArV28vLP*҂ {"o1 ȢB4<~2 )`r(AÆ!$bJ8gI1 ;T&Q%LM+;0"d,e""3f.*!q+K%hgWLpZ fV0D&p%-b*e:#9#ĮQXb<+4BeBgbN:l" J+c8Dłd;WG$z0"0"(p?@ ;;#5qC4D*\)x"b1?r+foD&=4BTLTp%$*SW ,:Rf;r<\OIpX=qF+S>F.cZ?űL&%È-:5HLk4Ke9K]dRj0Р>`F*@T"**5 #Ϧ4hL3/SbV-EfBz4L(('64J5`$I@BD7"b.c+ DK` $"6disռ8GmLO>oCN8lT@K&L"QA=Q<5Y+StX5BPFL΋Zӫ6DN>MX#DY 4x AeQ4[Δ?ytN[9 *R]HSѕZ;#A9"=U< 9/C\Yh,LXLd898mq#a1ASրQ:b1Rv 5?x8Æf4%V@TOb,e{e,U#֠X5>KBUh;EV68l&qTIf!$ b/aZ~#w6H 4 6+n`ufjt6p⫪:JdInuX66'(A|"R'pUC*CEr-f ΢R+ 9hZ0Hu!3FavG^B|3(OtGGXmK3n32vcI@' 4M-%q0$$DvdVMT)d&C#+VGK5*F@փ$%Xj[QiwdjT$#v]DNFGռx?oQ#UCTF"umS kn np,4pkGi+A jEg-r Y } U=!b#>c+K NJeFV\DdbXoHs/`@Smk#\gd*mja6`_]FJX{O_bHY2U[# sB"Y5P86Ir898"5^D:T)*袣*izD#Dmag6*&&D:eV ϦfDv8On̦$09{C|uwÛ%G"* !|5JQV#cw;2\ QKC+2uXNrpoy,@{dhtriW sGY޸BqDFz;\&ǭ"Pb01o"$UdY'// g%sgS!HHC*Hq#8oՙ ^^vZ\Y1n-):`R H?곕]jȕ@ !(rdGC^ȓCC^A(pH`)9z2WME N1"LKb΅t((WE.BX֓{W-*#qH( \JJ@ `¬ Ji#mzH P2rƥ{n䋢ydBFK im~4%n[0=/2؂t_4BmfP+uq6&#(|J\q+ı@BioJL,Ci}[/%'vmD.1; tB *4xI.b;o" R68cdP#SJKZ&pnI31ֶj&K)P yhcEqheټk ϓvGB#n8طCJr ڝn4~ɢwdME&lysfPPnw5Ug)>3QLiM8o2@0ކ&s&Yj҅bvNmE>$DΟY3oA  '/ 0"@mde͙8$=1kpbժ@n$*oGfG2 JSֳO+wmr/v8' YMv|u= APƨ.mɉ*.ډŃ6wx+*^K|˿ ц]KxE, myg`oodsK$W3@bY+&a _E q6mo .jsxIųˣU')~bEF8 ;U&=HcQc#঄V "D# 쳲OIW(Y(T}((ň/ZyPIE  B T1KE!i" )R""^MGH0tH1#ς=92P B|-۴ bѳ, "P"J@4'5*T$hsЍC6@I|jF??#KLd _\f+7W'ӨOh֓WO]آ0ZO},j֮̆֜ga'HdN}SOP>i-Cqf1 ?,ZҳTxVKKr1mwiG[a\hqKZYD>8_YoWh(YQS=%E^V D<"a^MZX[^M1Dc2Ǐ 2}L+P(M3)SOxT\1R)E^S֐BeyXd)RUzvJُg!ٙU@%8Z jeCAsBm{+A9aM4v)Vq'4xX!"r]WvDGw{<ۑJGl|.S6H`4yJs5BփMl1wVV,VRF{ܢ;mg[ZI!i%[HUpKxĢ4 MSԔG1XYsrGwYXNf*i%ZuO{y>4,>>}*4p;lΜВ6ǝ@37-3Y,Duӫ{!YDi)fxQ:^*j^d+DckD+"i:!e$T"'ZksIe)s^) 5g@# 9pDA‰[V+$?EmoOibDTc+ ,ht&"q MAJDeWHHFhj+M 9oӟ|(@( D48$[!O5qH$.DDa+d|"8>U' x..ʥ6W\C]C)zaww'JYRM?QbrHHOIR ؁=t ľ:߁敠Y@Bϋ,7 .t:bV;T{`ԲWJWe?ÚVsHvIV'Nӕ{ch&6U9vV*oֈ&.z/<™:v1hL\blGaHH8l9Ysd$?-9 -+yꡗ:]&)S SeիF`4$)A{/6\В72}m"F%4!D>Le͐-ANd8rݎe2'lNO v[S|&RΦrpE\Si`ڻUgzeѨ*T͝2kbgt}dMqp~O/ qdr?܄_e]Ƞš|($3Z51^ S5݇= iaI~Z38-uUښHE?$@RtWZ:iq=|}K$t>lй a w.e Ҵ~ZmcNWFh E#uuFmc i ߆ n?y6mI]v*ow܍@ƼckzNqu'MMZlyr:wosUz]"*\p%m6g\BuIjGR̅){F uX Hvc!%y#cZfwsM!\ZW}w}iXow\F "7rXylfY)6"7yt~jw_kTMm#t\W_aZGhUtwO|SH|7OgC%aw{gzȁp)HP 'fPUb)qvd'FKxs-vo=s?HLym4(stp&x\`WZmR7;2^Sngk"xBeT6jsc$ŇbdgLk`WJifqgׇoq4\V$Rk"<!|~xԆOmHyH2u؅&UO(~gu\}foh7\XY'IT# Oae voikUbwaC.DWűyJwUg*ˆix`7n6qH~IU ʠmyg,'WIL xCuk٧rڊ aWXrFw|`b~̊MF prb;OF _ڪ}0:;7Ke[uSh\K" GrjʪoYdnXH2$xa bbyY6X'z hi{c6{JX^)wLVʫG%i[6帾OH а:ᢙWVūxKi$: WXZ)jZiljRy Fg ̗b:2ە|~HꌯYf$Ѯ\ɱppˈɼP̳^qyA'Su;w$E'QY8 ёB94Cb)3L pC} A,($7s7e!&SYyT+g KW H[F\בc?1yJ=oxyeyhxvuFg>;Y&ȺkalcǨEͮed H(bKAA53/}a.g C`Q 4șP: =Cmzn<~eF{";:mÚ54mCS9Y?eZ亥8=me:";Е%mѦ!+쵉ZсC@nR$11I4S:óIp@bNT*Nͣz_nIƻ%JT~q+]zWY`쉳d^ǁ'`&HDƐ 3躦z]/z~~+!1&+QX/ PIb֢b;5#}#qI˨cI(MGt'XLk8 $b奔/$lC1:M94@3 -R,$T$+A&+G#"osSGd T i,' HL Jɢvz,[TREN^I$^<(yehЈ[i:U}^y?BjRI\(J5N]+#sy瓋P:݋ ELʦl-1MH +R NX-Ax˵'FfJrkvia;%JR#J W\}) ;#"+($ Ϡ:ֺo-BH(A$)g}Vs܌J~dwޏ,sXQ:NCJ$[${ nsoPB+4q$D_ 0(c&-8k?*0 eJTY JŰɃ"?zhkcr}-Rhx'-j15_Irdzi\rS!ݷK:sj>dP?"8:l]j]n+OcT(jZLI- nn3H_4U eG6hqlf n( 'a)hJX(ϊh3 N46CbR[{eg'[KRL-DA᪢7a ^ᄒ.S}Ř멐/n'6v\_ "C1"!Qœx[Hl!c[ae87-n2o)"%A%pZZ0D,-tP\xב~z#D(BM#lҠG+4Ex$=z">)QڽB E9#FYqHFSchQ̟ rxBlJGwz2@tjig4(qcp+_5PsR"ؿ._䰲<%.k&^ᤙ`PBǪ) Bgv߆Q"H$ < [G4ōR2lU 2[ۓg P&pkm"Viu2C9b?^^R(өA{e&%X /Wɇ2c"LG 0YR ﷨ϔF#an@)dCZtRn >XķɚCpwѝ!b"78Z#2WإwGʊdqH(܈7kJ3=تboΚX²O\x26$̰.’ X?ަsd-$5O|s]%.5Uj=]SO*_V”CVE1>V^*>!mL agn-kFdXTi6C]<')ixL氵4 ^C=7ODg 4@'zcjN@hKy$H@P!.ϛG}RS$':/֗| \TsPKjI!]7LBP2* "Xqrڀ-iq|\沗#= sÅou/o/4 G<5A(.s |Rb9idS6j  14 :&㫘鱾+>i8&! Z #!Kj AnE"h Z"h(7.# B#"hyS< <1@$Q:<q I!SWW̞i$WxC t.ϫi@2x;NSA":r[½S`3B Bˏ)ǑѬ)Afz>Y2u>C  C6Zk9 )k BqI St!)QkˢMQ sHi&a,X35I1 ?y?'C띓 bAYyLKi5 =sAAHY:y79b+wy#K,нKCH'ڐ ٘ɉNȍxJ MH4[NPNlN\̫K DHHVìC+ J2>z$>eR侯O5LĔBM:㌧̍l32t1:N | uN[ q5Ӕ"CTO228{ћ>Lm LQ:k[L'ٙ!NlЛQ|ȟPR Q5ILQʴ ițhQS:(cS2:.2 &Ŭ Ӻ*%QcrP,Eήh-N=Ÿ,UIN8e SCA]1ܵC9xN=ǨHeQY-4:q,=I=Lԋ&[VV VESEU\ӝ`85UZM%kR,ϰie҄mXAXUS&GY~TG˦J[Ճ:|JY:| CZͽ%TH7aiչN`Y+٨E|P7-Sʙ45DkS5;u0oV4T%,s= vaɜKZ ꠺ ;_ѭԳj=P!݂-ȻHן\QV \αV4ˡG^uZZ&|qeuKP#ڽ s&#>kcp+H}L aNe ֮ `^oJ'/R#ÚI9ܦPU%LlSMbPP%P*U{W^iFKQeoH56a彡5eQhd Pcҭ@(WdexRF㳥M> +AÄ'K߭%g>\OHIVVMh@ɷ8 PinKn\ sH]#6M]Wi >T%.0^RVe\:"ӥ"W,ULg^Bi Y4kDm+P|ekqNEg}TLJQ96WCe1>d'a?Ryjւ&-IYݵNNb S潘LA~ihvόmUm>k ZU؞ǧ57!1Ū_^z! Fط_~mS{=Y ] EF;:^hj39b$fmX{ lкcb)ZTIᾏΘcZaGeAqA?(#*FR`E(3;τsȄ\NT? myisKUkTP+WĹ1Zɩ8O1;6QGSd.~bǔsIϼs'>f단dO ^~6p['ggCʫ簲%M}-:Br.!%jlȕ3{DND Wwvwu ϼAE!vW@Șs9E?\~Q4Yӣx!=A9\vSbH!wR}t~a6PE-\Lbt!x h2IjFW+L!5sp.o*vWQw"1gLcPxÂ,{0fehpx> '4jV 1/'Z4(rL/ΖJtwFCA; FB9VﳏzAGTk<\^uJFVOZJ5=C{a:@6CVĴo1_{>.J4t.I&XPuN57%؂?i.9-RU˲wC/r2\[0V!OzYt}A"P *ipC#RhQ" 7rPEHBq_U>r!̘2aVH9p“JF,G(R:iD3̈䩒)Sxu A5qrJTI̗8o%Zת:\{Tdב])6ZihŊϿl;BE+hG1)Ѵ̙}l МCG4[V]91 WI^!i5]Rfh0pdj"笵NV $nƗ~jӧ#>-8r(ÝeժzE,ytu.]I |JU%xE^ %qIb_m(]FKix]^e`N7"9hFc(Qg!%t.dBՆFQUIy0G)UA(7gT'&E^LQz!Uj%#񙤀>V B(  Qc̑=_i)e~tJ9dMI :V~}Zd¦O*k*RȝBb誊zL54JZNf֢d{bR7BFvfFs.e{}dPU+Vv͚eΫ +ĕ\,hG0֒5Liaݱ€<#łdZ U>jY)e!)KP7JXaClK2g/Oԡ$UtW i9$ ̐L^MG>_YSy&6kd%re#S^Q(Y H^"Di^!ISVI#s{>|鱛a%$IY͊fH$%LZT`IHNua3(`fUV$9vNCW4  Or蠉)]ҙs&+KD#I6d[ndl{&)Qm 6}pmF`B(0DWY"`&c d +`eYi)PJb*iPx-lg;9d= q08\9|u\h3L"W=X$Ⱥ'Q_V[Y"!I^c!%+)S7Rڬ62t,m2*نR9zq= %ku"GFҖI5aj)H$( |62]#WV-0 A˚Sה\x7;~v&Wmg)s\?[/8oL޵`繡fwGj!zBOd ]Cqk|6H*cLU-4 GJ\"W)RULحq2zwqlN::ouQ=$sMiwN][Jj}$۾A/gQ*dK)E2K0k { 7$;7 H& ^qʦ;"ybiw֬ncE [HNzC, KN9 vhlsz4lΌl7b? v4<ޣřa*f7l4w|0Ml/w o#;k᡼OKKҡoiN LŎXh5jVQy}Wx4j2U>ABT4=K)M렕m :5Xt aב|m5{UK5ɬY-ҔѾ}DIM|͜HWBDGu@}LA !R!j`^t_C` ۱HDt Qٕމkt֎M%`Պ UR YHP<_ 6V 9^yYj2BxYۗd 2 -"`Mذ߲8 $Q`H `Dրh4_M$(9E f A\}d65Sn_ʼeĖmٌ\cgГX,xב1@#!Kρ;r1T;Zcnx7bKچ.I_UEЬL1_0{ QNMRĆ=bT 5CnnVGV9b[ld>W LA1!A EkXz!_RVAd=ӓͤ ۞Y<^Yi1iǡݰ oS}S:e:&ʑp‘ ^Rknńu&AZ* ^~# IMՈGH$]s[I.^ VĽ]14GYW̑w %;RO#̬)'%٣j'gL -P$W Vd@ov$-A@aGHԎP$ZbE=FvWFc8&UO%eΧ! %Neh`WIRS&PsSb'$e ,\̦xd:VfE PA *͈Ɣ T4C4=4Dm,3җ>C$%TVNՊRS:&kfEMe yfPyn)?:S!u.$O.\L`9"z^@_aAt:w'PP"=q`HiHa)FJXDKp laO 0*0_72+圍aG@RF$ _EDK1 ikfXz*;Z`ƈ_D6eXdDJiX̾JfN8WXhl'>kNyPzeXu(pXknJpjeb9\Qf&Vs(ΜJpH4$'lJCPe`1ȲfHZ,J,w.q3^Ä#LQPT_)rʫJY_, vZ(bK$5.΋u&TUݢ+m n}D^r.L,e[2P-/+R84LAsJdϬ>āIA1tq4S5(+_& ԯbzf=x*V_3^aMhPx12s(Ofd oڙR$1kdY+d2//8Iai(+ 21RA>;+KsL5oNI]Jf+2Ogmّ'}p*H[$WTr@m9sb1q,>q:1-lܳL3LLe\-)v*q\/P,>􁴆www3d(B|MK:]IF"-&3C}g ~a:UQoV0."n5"UjW84H{'*?sztd})V HFP 7M0k^W8jsT?}#q9\_#7Ff) JH[^oXA-- vs@#_M{t"_4X5l緇;z ;ecvR1>Tϴh՘{]g;Je;ֹ&P_)+1٠&އ <^Bqoa^EiG{ 6ã_=^y_axf=)GԟӻDg8){0% X|~ 0R񠾏WѴzUc>rAJP.`Xna+Z SiH%Yׯ?@EF5(E0o}%]6zQs3T߱S"C۷aD!:,H,hcHC4ǔ'ÍgP#E{T H$)HV049ٰ)QgR:j$Px0hsTR>J$ʑ+TTb9"PI.%fLn&F81]Yjut-NXЛnȑd@截7ssN G^GE,.)uNٴ* ~B-ƾ͝w1T < :z٩cnE>J6˱(B #.!Gh̑EBZɳŶJ3 tE-620m>l 35 ,4>[%R7V\$X[hɏL(0=[N rJˬ#$!c M|'Jo=Mk8F.ެNiȊWS|:W2?*,*ۧPNSH: JtXit\I4Ԇ;`P+ӱ.EP4$DoJkh*l\;S N#'$1nзs"cΦn%,?cjTŠ}05t|Ő8$}x4'?v䙩4ziؐ4ȓ.N%dJA8F0ъ),L+~yB#2C%]MW҂IjF0u[g+7^Bh5S wMEd'JN:m)ҵ:<ۨ6Goq-*.Q^^'ʑRR2:zh)heX}Ƚ(8DYЩ0]]6t:h1y"#LWPWx^6h]k 1*K5-~^w}8`wUT̏;lB-K'%]LfEKrzNz= Q6nFu?vq4"18"VA,g$.Sq1HAEzȀiL{;((+lwYG}̙D+&y>\OD H1#$uF'0XnUI6)UX'q{sI,Qz>hrWƒu9b38(iOcC *S39TD|CZ? tөL%!P^Q $$!F4D/jѢIh5 z'nʆɠqihGLj|}EJY?ʸO|d ntNRϹ"?PIRfA&ErȌ:G'"|hhgC^r (xV@9 &3{r8XjjSfȸT%bl+|f6l)HXfNu `bt&˸9$%In lg%JD:7:}G..]kQF*N_(J(ZjK'v8ϸl#Wd 8@p-m7L x"r SCc4-\z VhFeCWY9Qya87.p"^Yɒ*T_H5}6$ib' s˱$>EhqE@ڍlsF ҟYiUkvh +qV )C! ,~+!^H}qY+8b7"NE9)KxY(Ee!HAِg1oX"̃-L8Rs(QZa,E9Dx:R V(H[HyVh16W]2uK],H1",*bOqqCUd${C4#2դ 4:} hlZ}&\j^Džbn(&-{PU.6:^4{pZİ3 ipLZ2O$J&='Qz.đ؅@ _nI",j]snEpoFt+r54xf|sWp %q+逆/W֛dGR CD- [ǡ'URo 5; =^;3W !Oō.s[ Yq,Q@興kM*Gͻ_az.C_sa,i9X:rtcL^_5 MgWL}|p@ew?zd.q{L{ZOK[f$s}F ܌#.4*̃(Mأ/+ڢ,l4I1W4Lm+/ph 6^bno҂OYt80̼ ]ƦLh/ j4.|Ho E(iֆE.J&. & [ʄц/">L9FG֤&H+Sɢ͢i7~7lP@NZ j/h0[:ΊFdꏓcB)~}0L.:[n6ڪ -)څH0WH!Gϫ+:> `Ap6C &c M煶BfB'[Ta(b˦"QLHQT"#xO ٫zJRY&ެ$ܰ&QH"Ȟ>*NIh~N%l0^" k/.dKbbiB-!>!zdL (M(&B@vxhc|'J=^hf3ִIR,] .4CpDܪ.L(-R2I O0*<بfm\2lm S,^M0/"`V|GiPgiif TI+s .tjbF(i7nS{S@};E14c 0J0{.S苃+e4j4 { kP0sWj<(/ .#7`4(bVƨRfvv 땬c< FN ERNA Ea!]|or:#F20ڮ.M>~S&ՍZY.c22W寠$'-ZKE2T Ԃb"` cO%EJ+Vke^^HM-iPfeR,"ԢN7K9~*U8@ 9qmH#6|.% c2r ɐ<.!`SfW5 #P$ʐݰPӏ0Z&fwr+"UƎv&'*{(zQPU AD/tVEg疜f^G20\ ;Ne;%nv!K&Ȓ"Iq$V$V:b vGId3LB/mvfD-Pi&?Zf[k匂a+EU b}G ,NiT^TQz~jr vo1dC6MqFUg> <#x%2JspRГ(\0KI%-aRPe{!4t1'a*P@/!haQW,hŊ8ddNeVb@T!5>Ev+a,VD.2.}^7B;MN Qv;NRSQrdCkKq͏lxueRfx9X`WXi_'!W?-p/I6̰oqdgӞG1,x-2{PsJSLkaR1+ >m^#|4ϧ7'mE,Oo/:_3o4$ K7pH<<Mb_KX;9SDLa4ZwHyGaXOFDGD#2h.X Obk WkO MwuO{8k.5R[%i0/T9OZ[źKKYV3yFÏvep8#"/ڧWZ;͂HLa@kA"*k|& E8}pHV k۬es;u1o֭͆$;D0_UG8_c;/}BM^ ZYT[饍ЌW.7-23?9usS.Z?㚦 -mu)U!^B} ,Xʩ, DKD%IJDo`"7z2ȑ r'ĕ,[NL%H\ h3K4(B%Л&=D(S55VdաN/ ])Ǝ'h(IYu*Je[wȳz tƱb}ɔ'gLI Nܧ!I^IY.BӢWYL ܋ =Jơ& ݨќCzqT?LZ=/Y'7"sE3Ό͟^ 3M'9E~SnقYͺq 铈SqY]3ursߔTpNy7LX 9KQڳn+8 [A*1H/= s9Nvz͐[ҡK{O25'PRD~9w޷7e=d8UpnJGp}F'6 ]MtS;&Jira ' 1a2; #F0Opd!VC $mi(6i0ivLBhRvaЄIM3^>We|$%Qwţ[mMu; G^Ov&Y(Փ%0~DDܦGZEt`2#=!`ҘRmK؆,>uWTJUaO)VO:A؋Bh>Bɱ$8/kDAXRvu߀~K3%>sjpEHNa({ TK\)d]ev0;}XpsVhOcհ>c*Kt *ý W[&SBuۂ >콲lek)֔;M,>e Bi@SZ'ǨkJS_COwrW'ͨb? u+c_g7⊲& W]TO,[DA+K?r^3̟mP) zxP.ӔͳS+gd0paqNx,-'@jX`|̣340[E3a+!h"M͋%g#(۲pY?B}XS dy]EW_nլj"{ɺC7s7/ʶl#=7.BlJ!>0tW-#vJWJd6C3KEvWHYׇy9{tta +Mc aGHYueO%[CTAG\F$tBfDgp6iLpdl?/a0P wv'quj"g2?2)LfKEa~'){F`ՅGGO]bsw}K#]LB a8SW|0#Tg(7VVт KV5G]ۇS(b!NO|H+{"<dJ`4aDgW<(l#jW5K/P+{G{*6X0c4&zEC1[nwk]ansH_;4-@'Yd5pu PVF]}7]SJz2~L7+/8hyx;%;DqWhkTc_5JE-':g sC(!CWc 5sT#*ah: &uB=y4TTiRP-?n@95a;;pD6u7Yǐk-a_3aueيZ8P9El*wSm^&bHr>XhfD{e-rbY!9;g'9; H2KB[g5 -1)~>g4/KP;F)0bUJ/cƞ8@'7}Z6VbnùkHWkE'FH7[  xh`Osc}1z`dd`UE#!+:b10 :t?If jyHm#T+sOqH\A,@cY`DLxܘžw'PB#EIZ;8jHM3$&w/xe#=qVi53ACj%Fd~&a^6C4Vz P_FzumJQ_8A"pdNiV )VPYEATzsr,w1oקzǺE &G2Hz (T)p 1O-2 y_1A p*pDm'6rXqmC'IZa669j/[j>nhXUU"sQ]_jےty1q;4RbYd@t*T'BurdW&l·$H~2dhNt`JR=Ď@ ' dq 9J` Q:mp>$Ғ6{ܨq%D@9JFCzFۃ3 E&gx[m~\JE86W*睬t*L'm/ ٺBmT'!$ 4f:FA"ETibBiq;۵gHF[@M!$OE3b$t U%Q "a@ɝ$BIܢ"LX?=rI]Zi\ۇ,Q,3pkPؼ'7T$F%LJѤS:YƊΰwE:^J+Yb :9 ]:)yB)稆s aj댑׍0dˑeq3\$2BC#6+-`QȪ`$FJ$79jQ0o#Ŕp1qfbwG_@PԘP%7 [`x>(p#&#s`4b7,_~. Q75'cT3nLV*ȅf֌U%yCgmn _y]X3q^q?pXa*D!ӀAK,%72 `/-aI䉝z*~;H*3Œ[ aY9p t`s{2 [\E#Oˁ5!+Dͽ^h% [b$H=R>%HPeD=~xP"Ń $xp_C AD"K# [DDȂ(UY2ʡ#KIԤʗ >5ɔ(}RUV]]iGAN uYW.8\lVI JDPII3x&bZ%5I\-bK7kà9|yWeVT )WURsV{2UA4nE)+PhH֜JPz閫C]͊.ɖ|s%K+gk6Q)~9<Ԣj#SAk- (:Q=0HZ;J23'jO>.ۇ,2c0%#Tp& blCpCJ4ZZy\A̘*P(0h(o2ԜbC‚P S$nB &)+Aӏ.kBlR0O/LQիp*@?*-N߃+DJ4ѯ *c)PO=h%.ӱ9@=YCmO%@rUb>,ze41o Uѹ羒NJbD іȢ Y 'nbBJ=TO\`AaN|IAG% U|Cm_v%V Oe\u-?,2nQQ d3`hi# ×Wў+Ȋv;ȸ)&1+nLuɦXM6% !C[#vq U,ƒgP4J%Ы`K[U)&6VR $2 \ԩ VuL-8U*\>[['0Pl|^{%nkC "%┈^Wh1B-Ӻn_ý("vT^[1qՌWL>)aKAVNLdg#ezU'x@TJ0cK6i$,\aHX'٩]A43y(*;2T&3q4 = [*zVċF?V(A%<0tQ`&( NoHSӾ 9~x.%E.|F$Gه!{Tzq:,|YX_m#bͩ^1CA.󣔱39C"QeB  1CZXp6)=ʒQv?J$L(,8bgÊ#!O ^K.K̘-K&)ȒܶzJL!p%#MB6ԤlX_h!1-$I.{Pv҂> CeɬF*(,2R;m@Lh7lHN2jv0'f0 >1WIibkNG+5H(R- "-†1ux1Jd>Ū}X%!X:<-(O@Vc|- @R*Ib#p9_{+0dNQ=S.]8 :iʄeԂUhruЂ!q~XuOa1h lS?Uι/i%+$ A<"`Ҭv}49(R{ R"`Ee SZ0A8I'>9~[ FhJ" P%qިy̳)A"ؔ P,XDq$NQ:9ljNva9NYTp aPx ZI*Rg7UF^ZAXkoWY-Kc rPtK\PAĶb5u,W1quBRZg Hug]ˀ9cy{UU"+/AS"sԭE0pt_}gF#[C |HG[t:G98UD!/?/4Vyin\FoZxDD>ɞuC9P9AnAq0VBH J$ .]2Ep-؜F\F?| >$]dF}ɨlqԮrhKjyAIĄQ{2g/fRڔ;[*q Q͋Aw{Adq,FZOC*^N_&D<{T- mEײ=%rNs3 μ L O]} JQzQ a?PH? k&3{ᓉ ‰@2b4Z0 " ++h:bp()?A&&J m@h!11ypAi=S  p +yBC /I4 x9B(J ˂[E($ӹ"ȩ>ZH*'[@3@R>}¢0"P"(/RB!|WEV1Or3KQj<%! 1#l! %<‰CDV9B0C[29; l4Wö`9:$c A??ӹR}@T- )[C/S@p-̑BZ3i0? 2h0󎂠NPDᨌ #๶k@VS*+ !ͫ&@1)1dYhɠ#4 3)0ndK|%!#Bԉs%؇&&|Q#qŲ@Dz Ep3{5$ DL:Q 53Ȓ# Δ'ZqQ00٢Ƕ6+ہ0* ^ _biW4`4TA#(b@cQ+$() 0# 0v|% +a`"DQ)JIq&g"m!AKbЩ`Dȉ0=i+,|9j^PN>`^ +-{ "4>ࣼCi鰠 -~hbPkF(X60 tNg#f][ɐk.Eh]8ҸC[Adf]KF˔tţV-FF`%Dhh2cciaaE"%"AŊڵ獋8 @H(T] DHB"C=!m~)kߥ}Q/N"H+}0(fs /1 O2c05F"0:Q4lO*L#(<`嶤nQʅ c;`]_ o$B }';j4(W m3;=5|!+ݷ3;4$9J@N0,2=*LPA[΍L쫲5ʓrN%3q5M4AkF)%3gZJQJ)+d)$ b3$M,A-F I"V-٧pWY*jEHbQE~:P%#)r*KI)X+t|ӑ!22RR̙E}JiLY#3ђ8vD)#N A$I}E4,Q$"'-tA$Z"--@yBx_'P8վpuZȸ{FZ'GZjIJ(KŽlاi׾$i& uL{^5 6tH+P["(,n[hƏ >r葟n$uCW_T@ hk'kj$ZJV@G^IFaHZU9BVbHaumuU(XWA4+ēp@=UTF!5V졓A FMPY!^PZfEAd+[a]6yWZ e DC<3F WSTOoْO!VX+pN67RAuAUν(WmzZywsi:o啖Lߡ`Wdzq6ޯZxXjA+ޫ& 6KOJ\^Tn(-aj` uEWD*t nVWCk!A*!TYTC5dHH5AR)m)Yt Z)طsBwu)VCs֬bB?HP*h${,q4t'E$VӔme) :mO8 :3yP k8*t .JPj/eOe H3Ddțl٫p#,-<2&rV6q6*,(Wb]~;!VP+;;Nv(52ĎK#װDtGs !W _G"ZrEǎC @l* XL! Pu&ΠQSY2$. ) 2J=qѐb 6l᪨1u>^aʹq"i擼^6--hj5W6ajqԏ! 1'XK T_qsl`BWTԇ(HU0 I\6=!8E/aUMZ*YҒ+$Laa3ҠC#EX+\VXg%.(!</ l?)O6i@at>QTVy ]҄Iu{Ţ#ۿV@`NK**h^/<&7ȕ1RH2iB6鲢t"{V5 Lig KAZຏ<Mgh8R3B] ^P3ܸ  {3Zo^DQi},Gl*k=M ЪqP![]@+O3GYY\P$uMdO(j>ܴ60[-y y5X"柏E˚*d OgmGj5b1@=6-8S\ЭwiDz7Ghp(ʔx`ZB-hIG?(> "T7vIiȬh{3.ƜOtMgaC:#_vrD $}R감>Vj]TrFw- c2qU벩*Kz2 r-v7IKv6<:aHҌ*YT;c?9+7Z)N"ԴC<JEx~Z꩹94"lQ٨>JKKjD&wF"_<޲;@&L{5<匯*ڣ.ݨsdNUeYb oO;ٯ!!pl HmeM\mCh Fp囪D D>=LđO] ûņ\yǙawE~G"dlp _֧M "NUхU}zBdtI]WÑ)~ >I!TKQ=$fAVċUD[dx VTDSd g0 iċDgY ΄GNPD|T8Y W\D8Uw:KƴއG8v8E…\([EDUN:mEEǃr2Dy+(n$KN**zVET,LT>J Z D͐*ǶnP'\e\ϔ&WQQfiEȅBPHN e!Qd0u(,i;tVި-?5+Ԙ%)YzQʆ.*N^qa|^nڀkP' RPQ-Bnl\"'}xNDT,.wΌzUhO>.BU"#bB}21Ed,B83Nꊴ`$ K1=kqP ` X1]]JllZ qaRʸJAx G#hn ܉+R2kT-%/yֽlE^LxPB"C;BBċf Q {#>AeS4 %$.D)nN,&i$,}"932f#*2#6 Q"D;Q!S R;dLC oΐ3dӢЉ" aխ쀛{#zٗn<1]fpnk0&rUaXt=6t2A60%rIWs@L$;^|@ϥZqJ)e%Y=!g,ܥ pO׭`a1CEhEJ{|%ey+VS˕[G=Gin͕%eဇaGץU@piaHZxX+XSvP_!݆a){ F^PLow,jVMjOWEJWxlapL]dGUI^i@7s["p} KHP?QeE\ʅFagwzFv|.pMLSdxfI}spJdƚy;R3x +qK='s xxA`&yY=zf[yEɃ73GHӶN^y7]$r}#-|Jywίzs2Ncܟ}2%@-$Y+RGw!]^uW|E  a{gYaugǀ1a;#wXϑ7fk[!fi {!~BM_gv@LAHAYI8% J8bE$%*шc} r H'Q$aJ mQqڌFA0 ϖ(AQ!%S$[Jx +MԉǔRlT3)R[mcF(fƈe;4iQ J~hʩ, XcWY4Я|~(}5(Q̛;Ah4Ns6B=ВͰ>/bd@ =  Û4o^E342H~)HB)j'(Ϊ *<) :)&zJϥOCN= Pý)+Bɼ+'zL>$m@Ү;,C.HPhZ '+Az"".̐4@M8JM("#-6mCh35!/( *T,I3$JɂWM?4% vB *H@R];ElJBil ԁ3 د?b/ O$b ~Ϣ#s*/Dh&W E&,CEڳ<"Hjx-8/$Z[[Er_Ep}J'@5U{,Hm[ˑ"jAcj!-'EwW=:+QT:PK " (I娦# a^][$Q %q$ %e· U<)Id9S]vyʓ!Df%Vh6ٗH"G+Hb?т }It4^~H4IM8Xqnn\#XUl<`UwDI*Rc&)0gv+նnBu0UȔhsb_Wd(k3g^}fdLr]i()db!p#~b6'WJD5m6LjחWD#aANXj#2IUV)5xt6Y ϝLQJ;I(:E;Ph”⢷1 s)J`CkC;:(Եk~;[RyNg5z`%]PxgE$2'KjkHEbTFB D"%T0LT,AS$9K43 E #SS&$DLHf1/"Q ʱ4r\jWmvrDX<DV @1BU[& 9*OcLV:4?T䙝UB%l&!M=Tȉ-6iYi^&٤onАK p[ X86m~ӝY0Dz + ia} $,EpI6Z/9F.mTT঱M+@AfRo^ yRVFRIPSxvsR u͊!ֈ"So_{I30[eWӾS1RF^Ԓj}޻=gIc;=[Y_rA0龇b`i^&ܤ$KQKJ^̩VI6 A Ae%4H,K0EZJꉓ2Ov% $k.W) ۙ30J&{Qn{,G<}'뽟F{L಺@d9<h0i:_ܫ(r5Ȅtnr\D@bqo\KDn`^(@!5vas&z`k=RtwM{⭭r7t-AbTn)ڲH.Hf V}%kq  f>lpjJ .OkIԣlwT:g G4ȯ[rΛ* UNF*b+(ĜDH_Ш.R-b*HlրMlx/(d.!gSa0p$/50AjڮNFR|cE"#A@d.o<VJ&Ҁv,W8Oʏ.p[HZ  RhȚ\Ⱦatd̰bJHGsΊ]r(̛έ°LM(!ʞeEB!ѯEP+9!~9?iX"J_(C@bǝ`#(Z*; ^iY('D, $mW`Bl1@+sO/VC`=,lR{&QfeþQ+FEhCkhvE~AlF!R!gP`(b <Vn"vElZF*E,+& H*l&kC.dr PEҕް2@%NLj.JN7TSYي#)DPDeLuMD˕" k8t,76c:%42V`,8~YQAf<R8#t9:N`S>Pnc2z`!4l3`&Ys=A*46&"ehq d?V%=M\E°C2< GW|3&Fn+P c҅%EquX_ i7(/.Q  EPI *M!1EPA;a&@b#% (B`K$!2t47N'3AS5aD4"Q 8AR(1 /A < *Pi `.ʾ'Ptd< /ܫ/ˠBYb0j!#di;֯vbJ Qs<(4k$7: Gs_Pt7-L IXvBfאTsl (T âɷbԔ,\ fO#M N#3 Aj>-C4z#oB#B 0f"RLv,fpcd"%B!fЁ@inWkphH[DjBFB#gFb[ԐjuH[-M*2.-])&.U = k.(/ cc> "PCRNP)  / *P|Pb;pO+KAGh Wo!*,WIV"υ_Ir@(7oVuj67lbQNEHm͕bvxȲBTH#@!@Nˢ$#=D(%@I#5^xb_86i6V9ЄQ'*00 N<"z&O╍{ifmhl]Itfmp2$6 03Q3hfz̊և?i)bo66bJ nTk.VR+h׎;tTwd)jŷy)glCH(IBҜWAƒQFg:efhp,6<4O+9D <`gCbK +"B>S)I`I]g*bi8s&v|ަP c?&Hgs|O"d6ZW6AڢW+.9uB#,{a| E`w5Wӗ#)ϰef }IBQNyee.yHɩ|WovgFҕa&εk^3"" P;+c޸ϳ&#u'|JP1; U\$E <^_]Tf܏W+O2kM^VGvDձqx۪h?df`މ"/-R\(D{E"v<1PՌn@jtc!?B0#Ժ&#sZ#:##=:7э w(%-r/ܱZT#6^*@Buy޾wGRE[M]^C>D濱g0'Bl VƐ6cQ3Fql>ͪ*@#pEJLE+jDBQ>=1bF'%:|F<)fN~j~$ɳϟ[`7] {IJj# CK(8ٰ="^aID'W[Dx)*+lw(bM@dԮAYLZD"M|_+P(t#Rg!&`t$$PG:uqB>f=yyQ _,zaʊ,7Oa~=NNH%>|ǪSvG ȨDj#. y JD)2H"C+- VO}$V`vWd (QG`'F4 2b)0m푓~-ڈb׺K!4*[:TVsVR >R0o !ː5'ff 'I;fUg֦BNhI‘Hk w1{܂tckiZ Qkmީo{Ӌqgf>r@Y/IjP9j@G0XW\$Fpi֪k`d^.[ <)FIf i+9 _dIDh~:+6vGynv+ʤLmQNp4R1#<3,6f MOJ}gHV[m.D.9%Q+eZPj +emsQ> Ȃ— ZA0II_Z.e ,D8wʏM,IMj9rgnƨVZAFCM#dK(x]FC8M̗ !kryҬxbY6xeH ꠒdV%M#uM-ɼLSn{@FXzE2wZH?)lEcW^U"kr B3HF,TEHo(Aj mށ'p=Hqe+ǷK+_3Σg/ _$i/PvZ4{eANG HiTZָ]^43Û'^&5d>5{̥E϶҂QZ0nE):֤t&R$=)"\vRervb(Vkم]uz#a 0#*PVh%a51)7=o+g;RsMt*C6#0'~YdF/Vx}dXg=mW;?k<*@F7;w]RY9M/UeC2C>k?V"\ʱIԡ~'CcуGk5cA\Ȉw2vf(|H; `]VIy8{M32y&o(toiG5 I;ȃu=\!Vl~Ro!]fa/Qx?Ow`wH*t8W|b&;&Ujg@'/K;8 (5A&1.-6dF6;9u*lewh1"-Ǔ;uD1$9PF3 !1;FؑZw\JEi4oOOxnT+LR=_u2CRV1$0t;$~ѓ*E*n_/qYBQ2DdFHHk1q#S XEGn*axHY SGJV1r-2f#2.y1g)C)˶Gi2c=*"o{.3am.#q9IfD;B,as153)$;WdY(U$qsPstx){k4sm![Sj܃otN2g2kE'Y8[<(G>)U \Fy#˚3L6 SʵK5 s `15] +(ҋ??VO jM+"Hmkb:P3wl.@ly}?09REV H>hxDf]0ma;ECH8Uف2)ȥZ!J8fc$%P+z5~q^LWAʂKk5K"iãGh,o;DCOjFd'wXE>~#]Hj?AWşO$DC4aƹcqa\ vY:1eW1W[|)MEɦQL<(W=*냁&[S)\fxº$ d"vrU6K4,_WJp5C@gtL(|kvUyCMa _GCFx9!&<և([S#NEE'/?c9=dFSzn걚y$eaMS3DZF*#,4uGPY1@Y5Z˫Ɠ{ v}c1TX6pbL NA˽UOTTJ5KQťF"Bf{Beh*.)  Q^D7 ;i.}jL&W'PAcbua~ mT`EYST` jk{kQj1`7eHy1Xț4C*NqigLGE[>~$TYvM!0L^=}EM1!dy^J|u j\<( qvqY&s?4B #)#1ȸ\M0Bv{wŔ iK_tjfruZ"dm"-a>]n1 _n9M|F'{®)zC@s},qm _vVڄ6h۳ذ͋[+7JQArH*dS8E@A=+j5X˘Bv޵St8Nik +]c/!/mP)fIGWlf[[}(_Y3te|m8hefyl:1pep &^چP;hly j'4:HNQD󋳚shLf6+$/4΂ŅQd~v^dud1>Fl@Oa&xZ{r '|Qdˬ){<-q5)8}usNʹ W⻤yy]y@\uL|PLSݗUS/da]B;эSaRl_nn/ R¼D/Sa2Fj+.aj߮V4=70 Z='~fŢ5llk{-ls7ι$A nP(`צs#k|1gYD[m#^EsIj1 eY1E;?HxlF EB6ڹ?/_^k$gT[},A?CdkoqԞN½xLlP6I do,Ҫ6KtC?̲w?ۙ$E(%H ,P>%"ih> )P#ÁA (Ba} D2!fdN!/)Vn"ٱC)HPx`H#1^ 0+ϯ\nBTCDm2%IU##irHzd +nqSKd˙)Pd}(I"M4%CbM XIz]{6g{zH1Rlȕ<9r俥v)֪/[k֡kXhIsc7YRheBD8veYMԳJh}Rh%jB!x4,,δ2@.,f*:*;8"\ɰ+p[L2:zK"Pق34*@[N #*5( ގ:.J" sͬ|5J$޻p NH'5|;h@r(r b <(})})i#.P%ܭK3Rb(3#,? V@$jŪH g1$,1EZNJ8r5S-,#͌hG<+KZY㰹՚N,4#? N^(Y$LX` Yk6&6&FJ\Y/ok(o\ V Lk&Th-ӊjהl-Vu-&-9ݪSSd/S~'Akv-r{2,;+?*O3Z םz:]$X1xJ&?أJάN4iD6\E3HUcg0 6.0ʑ$HG/X"*bK2k&;U( ɦSLKGK}uiL&;wRP,P35);[ZQV5\ 751Ցݿ5Xu@3&+[؅80kұNlӮ5!tW9u(dl3C/aL$f9m"@L=&N^bp {ZQz3㊚h&R0WB˜Fzsp̋IZDsٍMsRWUj'.$ŮIN3BMLJ ,('  _M1^iLbE+hHa1Qė|"󕮈! )e8Ǡ'=yo̒VݔT/#$!i_\s(zajmMi`GAE9@"(Y*ii#Id>)Іr(@ Pe/Ť r#| ´D*R5O$HDpSR1bEN dX0";*U`{IE?YQ< szrSHElǶ\>1C*M/E,E2t]Wq$:NZ;$xuĎeWj]u>˔K/ 6sĈRW #^qgC|W.VS-TqBifZMlwc߀)AX釐p3 YHEoQ%}8%Jկ4/)j5)JP c,ĸTQWE‚X2jhB’pQ;D9`S3OwƏÌҥ dܺv.b.teCti= NGK)d*R2!QbTDX1 l_͐/PTc`M*qUBLrsq fy7heZ8k뙯],~ @^҇#3rrRs~K^{Zfw fX#&|Zv$ҁՐYv\1? ]B+P!R)6m+/x;IǼe#8YWv'0tۨW` (c/+$" T._?PsTU¾k9-㸫Y*-2k4!60A( ) y  jiɪɸ$x&!˸pz+!.5G{,&m?*8y"*4%`Z:aW /(h8k$2)C;#+pbӋzzH4 @p*8|H gI02!az;‰`a6۴Y ౢ=Z.Ѵ\a,!4iB1d>+!m.R ɶZ ).lSe{D 5D1Ӧp,C+R)9E6&?8 Iō38j +)5zs0SɸUyXiL !!91+Ò+P˲!"ȣ(- P{,Y!FވڭBm[us;@`3:vJO"8+4#IfsJft ?d +HP#gPsQy=Y4S C 2c@YA1deS 9$˰\ Ft%F19u$ *ī͊Z\`<@AJ B+C1jIPWK݊AC@U/b³$:Z#TT} ˋ (dŗpϞi{I{L$lx a<(OK_ݣbDID2 0Rɶ(Y[':$;) µ\F0WO_ȍ$  fT*ٹf` z&cL]af oa,]*R ;ilBUҩ"$B`[ሡ&  Kd=ZXЇL:Ѩט<_"L؇hM`06.%!癭 2D9J^\ıJuUtĈ pMM- UӠ5c>,8 ~CHUރ%CJ偰*Nb"G0ABQںKL҈](EJVૼ)O[#@A $`Sˎ݌QH*_Գ0)T͡t)E.|q %=ݺ¥:pː(@J.`EC"`={\@*ڥ4KS!Vsn~\}SapDuÜ?h& RvCRnd hL10(b2UC]-Z&cLELWo޻ߗRۭ8M_gbڶdb8UQ~qTѻ@e>k_fV>Unk6+R kbF=WFCέak?;eJ x'&@L%P4U,g{9?$ YyC)@@'KEW $ ,ðAL3KaĤpF\>) B.1x/pKw])Л z0Y.5c.٤L%Z,3z͂K+iarkGܯ 8dd;|xğ$qܑ}RVO$@{5MyƗRBݤQImffY4hu^MNOeeEYnYHbFeYuukW8 fVi$QUVt^}Sd8ȁhhX_:'qp#nL=YlIwP6`e{v z gp͆U`BlٙzY_JYg@3U#[qȔV-6:_N֖faRO6-69}evcYILF}eagE፲ Y)eXZwi"5(n>gcKۚ}zV"zLfٛoލrv⻬{r[[ qMlzܢǩmÄrʗUaia_UUdHG2M8E ΅e:YX⴫cd!_,!zmbij9YnH_T rxx)ml^3om!ȾeFvq8$k*g4C.HR;Q`sX&8-s\2G,X?eGDxcMQHK$p_i{XijpYM8E(|$M` L6wؓq>GGjO93C\AmgԬ(XB&bCMgH; aXz`Q<~ W Itn>!e A*hz>U/u(XKumtɐd16U$Xa x[?D"H W2K&mD  _9nA U@*yE" Cp! AH_IBw4bK(1|*"'8A+ bɢ ZsF%#t$ F EB(!ݵBvq^5B e'q^ ~`UȄ($ 4Vb(F`krzMUoEٟʦ(hE)H8@~}H:Ҷ/ |RgQF+iCe(Q4T$,6'I:ߋ4P—$<bC!$.%3bg],Bz'$! =zI/vz9:@~0/ݫ*1`#oi5N'Ȃva 7K(9B 5LUc:X5oARc{J^XzIP]۪D8a^DLEf g+0VQv*aOFr(%8—T@Ao=!=>}:6f+w sPg.DEޓ,8$!VH'6s>B;FL`[f.5|@]#{\H A J/i~Shk=̒W9?m%Vn_=O]<ߍDQyO]{U|d- ہ@HqT@eO8NC<PHtz- %Z}APQMC6a6B)!6 Ey1OIhF!OPM>XK >l4X2݅#WVmeJNJ~ Le5Fox"ݙb#ƜvǠ]BQ(6y9VLx q2 U{lbybEe`DME$AB,ɕ`-TDo 4UQ(+AhUѡЗD [oe B5_%[mcEŴ`CՔM#ޡMЄbɅh RaY#jVCY nxGY_L吻̉PM0G_KZwT.ɠ!L` )(=lTXLD8Hj(BP>~ z#Z~BOEcglZF,=*a_y0*,BX;R}PkaV>F[HxAE= >$ir\YA뽄j$AYcAdMI`kT Vd $G_GKhGJTFHxa\RQ§gnA+@8WgJl ]Ph{QAb bۤ"VfeC--U|}Q-TDIZfA4sc1seR+[f䉁A"H*"FZd'X<]hgBXI֩EBگE!'x3$%6\Iy_qX%'FIP'iω֌Q2qu'J 4 Dއs%Iġ>DX!J,i8aWweX>$ DؔtX 'R+DɫA<TGPAlp.B߉蠁("@I(<ILb8\xN;c4(*5꓊a4]ɪƄDd`jfD1f$4ME!"͠iOXAn)h}kiLX&ʒ2 Б`g#'oGlIJGnZ'uNFN[ZfbǤ,Vpkـ&YxW$F\,rꉯ͍Tթw p '.R!a =,Į-,M'XGlP. hLJRHߪ1%؉l,xnjVMdqg]lOj" z~_"Og -Z\ͼnRAl^M-L®dթt!yKmh\HP R/P#GnΎ͓koDDriPݞXb>|*T"$⾌}(Y%ê,#_$IoeMoix T- J ^͍8ągE\uON 鸘 zR|Dq]PNr5%0WD~dK ! $kRe/ܘݖ,&jqz p*0RinM!R 1́ BE٠j( ehͷ5ƛ11 QŬ<̯LljWinaDz mFEYmS sf(Iro)w0ʢT-;LnF0hh{~ u2PE2s!L0+`#-{PPCC˵+=RhA\N (?UF2.͆XMY5v`]JuX`^FQkR" Rl(1pps")n@";YUqwnPId$3kBLN6ES]__;2O8txN0A0izؓN !0cydC7q0CBTe/80QXƙH3#݈昘h>\^ٞ1[&Sό jpX$'lԅirguLYw0  m9KĜ^^pYWA|tSD$@U,7tAP~PL$`Xw"(Xqur!IpvQ/BzA^''u9Z"rWԉN5w =L6K.srR:Vqp%p&#$<7Hn B29ws̚uƹ)RzZЊEm5w*}:Q4R1E[0DO*6 P}GaNx":J([G%>y{MiEI|p!D$ϤVfq#n糈,VZVvvGLmW$Cy4&ǟ."u:HΟNZETK@2qJ$@2t)̃@T͉ؖrEBSњ2LZWo_j:8S+EHrRdJn&-Lpͷs/ͻ> w6濤.r2e"y Tvv"2d$G զ%,‘܏"n99wutYvyJ(ђ} &TH8&p6~r-,ZRBB0ʪŨ%F%҉ rB˥:MD jD˳ањ,R1D&2 C"Tl(2K4-/\) lki IcWF#+@.% }8sz8;bBeg؃i"C$?Ҡ$9\*+==%)(8NWUPE6z0H5tצ&׆n7$/,( ]á@LMC̩80Z  "jv (Fb> LҶuhG0J¸*N3')ÜI'&uܻ2K1DbpO+mD*5 y0G'+8y0AD6z肢$C:C4j2zC֫:2݇ ?]#t[NJ }eE\-CMZF1$cN5$n5ї@L'C-*40CFE#( BClFlBƯ&t394Ip+n5!:IVR˗QSX{ gܾK5El _{J#כ?{Г c =E1UbTE 2eG淤m1N"6Y3_7e_K봒5)'CH,1@ zP$FPĸuuGP:EƤ4F A/YL9҃d"F4IzQ]5}eqcf2Kk_ W,M cb-$dH0IAY"SC8A.BA)x"ʶbbƽϋS蔷#"~I3* \*:vA凤OФ e0ƪ`` $E'4auЋ=yPpFԽ$>s (>oR wJɍ`Y:i<@q ?'̑XRej$$ %vH@ %a@LE U/h~Q}Ě8 h:be̢kMȆa]/ DגGL,&YI괸(4a, (8:*8UI<p=ayE2rCXXLJ@Z3h7qu0MS aCd5YʊgdTg* Ta+:ssqW\﷽J]Lߒ#L++Ux iUz>ȭLA+`^qV.}e̶K^A5{ _Os~xM("Y淏>䭑$k J헱 CyR0DET8[3nz{X9b=_=!0JF񤸝]V '+X\F]5"zEQ1ژD^+U+bk1ɵYS94BP`6p¡n(!1g;/EjdaG%[_L`We [:ZJqt/s,SBU9)!wH!1ޢ2Es H"'{Wk!-kYVܫ3L= y0_)NcH$_PO0׺{ qSfeES˶=QPܔMV!e'}l qzFP`)@y]iӣR$.{ A[V~؟QdvwLLi3^~,0m\Kw1IN5p%EMX0So9k. 嚎M74(~"jziy֮F [61*aѹ K%PNrl3Q&OlT/Ucjcrw úĦW.<P=2*$|_J)˜5ZZ[0yY\g MVy,l{#B4>p?pϨ$> k+8rO˻PQ Sk{.I0L_z !zŜmzbHq(KPvm{p}L}hDg.eboN" &*c#";^)03:H ˊĮ0"K>yvn]//+g.u(8L)!8Qo" KDnz@qH@}~#d@x]"<Ǽ8ʱ>"#`˂*L$ahD3&"-V.*1,& *+PKpMKvo x&^02V2+}fͫ f2'yR&d"CPMRirKEP0f;4&&2[j6D Ӗ܏hʲ%]&2ך05^8*s8i-(rb\ ,2Lr*ʦĸ0..d>AKvJ8#Lz8uMa"=Yv6bJ~qB@T)$f A 8B=bR$% T ;ѳ?%3N2Jz,/N.!pEFh xH ;Lx E2HDm@%320!'+H=䴸N" >&VYN\= pr<[jdpekh4MoN$4/C30 {`JdCBH RxȤ& I-33R!t2L3n+.!J$(a!fVDB CgD8gUԉfݬRiDPP;g(fLƎ**~J{]QTF%zbV2WH & r2H\#&8í`MO bP[8_F-ŵ{F9AZN^ctuW48,OUhFIgBK 1HysHnDbӕUMqҫQkӓeѺ.TuG򋆊/b6`'aO8.XALfF:5m(_ !iTP1J3>cm+[DP?SWuvoQ/m<u%LKuђS#7z57P3=ԯB3bky-jfP#m>fO{NcR@!tmkBn+ތHfRLXm +H$M1vd kL:qX' rFLu-@L|CDZ] 6 %EP*D3&.ZT `kf&\#$&vx5׸4dm v )vu+N 4$i9ZYQQդ60!VϏ1 )llH)4]MABĎ݇td4'iG=.'jC" 98Bopbyiba б6BsfCnZxc)qo(ff Q=U!ӟ;K`Văӗ$o ҩҲƋ3pb3h-r⬒b!B~PkMC6P06puK.Tat$JaDž!QNU`iMmT$Z!D-Cm:4 r%EOZ"Zbi=Z$O +Jz=eO(P &dA 7⦣W$4sRUD 2hyRKdF4Nt)L(`b2sĦvЅYP40mD2al؈͸H`vg8l/fY/@ F34(Y"@"ܙx2b Nz&`#O>"' b9FNF<3#d_'*V+-qwb,ZPIpQ|m f:P+j UwˮMަ!)n|#SW/q7ܘJY-ͼ58ߺzIB膮;\TB;7x/$y;̙B[>h5M<2W 9%ɰEqkGJj^m M eSO ]0‰y~bjr:M5MJrϤ+ՆWBKKM6QX&#.0QYH\.F>'@x/'ف^|TԠI ^a(Yϫ#Bmc(Y,/fۓQŏAzҲZ[X#Q8mO k5 Sj'{.L4vO#2\,Vo+ ©K:q ]ulO MK6t N7z# 7P 7Je-Qſ8wF])+}S ^0zӿhhy&j6Hx::8 m` unQ4\-_g=qH/w9+@uP[Tcu3[|5d,%]+;ϡ>53SBEOsԀ҂ch͍RVPPAn\)KRVSC9G4f3d$.Tm eS;ytzp;,,zr2_rI]\3"$D)! E:ܧ$}'ZXE;zؑbÉE~|xRđY| 3ǍJ.:Ze>+^q#Iɧ% }NS4ge}I).?V jՆIz$pT5ZI奕SqG&hNu3޽tZ9S XԐCO:JtT%\\rZѣ;)MyݚŊ55n$%۷nyzDQg=K~I Z̡7ύ="TzK;3s|?"KRJoDIG%YeylPcDQEiWpi%vX~EHER~}w r$\G{eD]o&"q pΦdtAz8HRr^xYnaBC)fz\vc~lz%tIQQ2QbƖI5& ~d]W_{5VAQ!{%%huah۠ky'̱ 9jp'duIfqt٤ wp+F9 M)S1Eߗww"L 1p 57$FºY팾%}]25KRmF3ꤘd (gBQDDYWT: jh PIiaC!bv{ڙƥs;(`@tF' Pf ;uT&oPްeץp1j?佌"ح ZkaѲN>aĄ w Z2 #ۅNS0S--YYrDBɁ% HB_9G_BѤVaOyꔦhs*EդnÀ 1){eNs˒x8U` !"5/& Sy䅯m7Qڔ(!]'"TB /&?:ZRH$HwjJP+B IS#w0t9@LC-)p6: #ķI(f {(1L >e3 I>=S Y=*j; Жb PoUkL#nKa)ԃLeFM פH^4SAL LRiE(!(ܘ(J9řd k1 aI+ih0Ii"3I4^*-1I wIH"҇2AڨA Ͱ:$kŝqNZnL6oڪGIPS.AH6cby &]Ze^ X2fk;! DQЎ%= b DҢc٩q@=bVHCPBLQ{: AMZ{S&AS ujղ8M[R9΁NTJD#`a fKRr%HH::=.)iQ@TSbͧmUtQS)!†3Sn7-6u^BPԚPl)aAD2.@J:}W9dA_Jdf%qfy]b*L$FD6Ă ,ZP#GT.+e8eDBwoSLlў%Aͦ 5zSkL/sO1ŧ~SX)LNH  '$)fK3'qDZMm^3E͵:@>y9}1 #<@6u75ؤY:w촅PɝК-Ic/B0d(xi,'Hz68)GEd'9ٜC _GN|Q'O5iCtU^a+h]S` -^+W1~~dVWЇ%,XG`"44|jɪn GAqVwt@eHWSE]юlD3οyJ/9e0RGݍ$k,8>r S|59EѲþܦ r*}` U^T6ZamM;`e--~/Z3.uQSy/%?mD ʱ}]Sm@iϛ[^8NMHRJYby1fbgHr@ʢ1"1DQ9az3tMB]JU$ .a-Ƨ'XQk2L>51]3vG17lIV9A }O^Ios[f 5W/1-MQTQ.j;c9HzGU΅j 2B)6g#<ƔH#hXd\{7q،;GY4ePD  xq#)N5')pH'.U8G[I:61qE=rGe"$i9kޗ6$|׉l1Y+i ߴW$7R9.pxCeTM֓PisI&G*(/r;V=vfi:v(9lW7!】HMx%]INU>&vs&*386g]t'BDlu'̉V Hrde1@Bb:T NE .]@S :AG8xy.6]S֐ny'P#-<(AtsUxj6=ZC[;5gАn=$ms6gvG%cY8wd="aCIѬ6 ncZ!ӎM,q2ׯQ;rz' #$##E:Ĺl*5vw!yW+-D C"qAƸ[)MO3d4:ImlԉA.G2_:ujy 3VXe {ײA;D~!d #qN'Kb9* B*%:71Lӈeu2're -#J,~W΂CK>f2K}9K諠p[~~@!Fa]>7I^ R=aA XanN%>gvWN0.aRqG!aWgG ID6go3%j%Ż@DcmPXv3JIEd4R7Edzl{oX01ۣ'&r7Lw\GrMacX&:d=ɷVu!TF80E(Qו]e&T GVpLy |?`N\7|{aI-G|miiL),WR`_i D [P2#9Q&Gh=wfi۪5qxzd9YXXog-⃎SgR0&5QP3'^w $Q [ʑxf' La~D IRavф$- Xڔ7r{Qb P̯١U K82. M![ulϸwMsLnWHaPf>Qip"iT)ng=}2/LN/ZN7|G|y1zWN+{ş~ۤ{+7d <S53>r%y2뱰lkg.7 s [DWw\iubP |^5akN8͹b{q?Q1s2'G&+6rnHkBvJSan9ә&7ejccK*~\⎏4,+ī7eq]\pF{iߐ3vܨ߉\6A-57+\HH1Cdo-2h"M(ڎC!CI`{lw1'<7{n⊯Te\jˮ6c$ѣY<="錊=T3Vĥ,nS݊>QD,D@ >ܧ0bJ ^p$7>iE"ƈM*yPWGeh/ iM/wym@9ّ&F )%H^0 ԨJDʄIU$FP(*ATrjؒބ kԁ{ `l-{_v-jW`a2l/rh;!H *jq Uu+g BmJ}wj˨%GLʝ~&1B>jLyi<2X鐽 Q*d"koH6 #+ Ϻ>%k* M-.`,$:h$س06v⌼. 14BˈlcQ8"J÷b 44!H\Nn`N3݊p~k8N0s1I%73MtJd2cn9.m̆?͌2/9-/KìS@ҳ1 %ByԮPh 103C|+T"ÊRhIk,,23 걫Ӹ) ´?24=2ܰ4s@4;O4M'3/enQ zj#0p!Cob{+4 a]m^+k0 \d|fe!9hB_6K_[ w#=+BK)`%1RS1F=wR_也eIr1g\ /rdDvA :WY7Nt%|hQ2:#Lz%&*xM.<OYEzJt%5, bm^c&`*ø*1tG@->䌟t 1sS:mvC22ɱ X3~&3(PT$+,Q8{W..&<"Z4ԪVY_Ċ}hŃ#S .c$.S!( wL @1{b:2o-Z 5bQgh C٨RD-JڟCKb>C1A#  1ꦾ-A:-@5?*>y+ɏ#)$XDɬhA⪟qgٖ@4bJ@J?+h Z`p/{H2,|E }~ӔA1[H"qDs;CJ]dRCA"KLD$8/75L@%aH|c F !wbbXfR* 0\;ZPl5Ry%(lH, }؍|D+p\G@k>`E@F<؜BN@ Q9TDix3DY+jO'y2 ;Ql!L,Q~:O lO(*6YpL`\z7MIe};Є8Ĭʟk 57XnM͂ +&ЯrK ŰEJ< %8ѵ3C; 1=cT5[*"=.Џ3 =AcPӡ$:(]L:9yRdeB )4fXkizS87SZ <Φ<*tMeIc'm+%nMJ J͟Nh @؋MTФ?ENWD(Xm ? * XJ EX{Ԃ}:ݜ6BΕs@ XHG$O˿!E)΀'(E\Qne 2`Cs'bm峕5ʮg7݇j V 'TH<@GWG%W08؃W%.ɰͼ5IM],8MÍ J14GlJ}̥ZXAڒocJ|P#eq> Gq("UM\JJU;IYAy!Ij\lh!$Xb6D'32Ԝ$S=dKJ2+\KDXE[ G#p I56MphxT*T T߱z6^zT+I]hAQ:U!*q:+Ux[ ]]e|Kn$50Kүh8Ҩ e&!b)P]< ݞME;0,d,=DS)sSPFIxiiMz݇ϕTWW<`8dTp=-N$q a›ϡQ#/>^[m]A`>6Z򭕚j>J j3G X,1MƸ#q%鐘; )Ɛf8+͸S[Dnm_M4H!'-/*r㍕c8QcN݈L"c@6[+[CHFNE@Y*+AO6+=d-b3mďޯ,A;9$_%1>Lh&YS ӴdsИH#j]bkb)K?ݼy.PⳲr>"tt\H܋f$`|| -h?ׂ6C[*D"*> w B5D9N#7=iB(6m7X2l| X^^-12վY˴-575l=$D.\F l2ZJ@9vZg`܋5=c>9,[+P5X]ʕnYh?ܰ9U9Ep uC@0l7F2!Qy:TlvЍlcdv&f8Uի9IF-)Z~V ,c~3BCd9`js .ĵX|.+B&׽_݇M+ W8rAF1x59ۄIޤkhd>S;(VR B6I%Y: DQ1J)= 2@5=֬( _0Ct\'C̊:!q V^e.YԫUJId%Aàor4Q}U~Ai,Zˬ2qtj 44!钷|)cBH2;5LQ-m jP<0w[HIJdVms@ظ)[qpr-/&ZaceZޚD*l*%V$@ZC'הbM[EAZ^-RK8.q>s,Á(Lh+Ns RZd$  "6o ]PEu)&ŊV*RQ.)=rkPV^MDT%[[T/ؑ][}EkIلH<|",f+ٴKN=7өE,TYLS9ǧ {'Jf_ZmYp1fyr2Id)!Sշt4P.){vы:W9yCs.WŻ{Ѧ~B+#x55] HAIrcEHQ"wL1MRqؙQVd%EVQD ! NY-!CMW8]AWFU[2BFR8ddQ$ ҂ FTg~GZbIZHf_A٤d-QD>5{}MAmUUIe%w#BHVf IRIv8N"eidtL#,9Bb6xs$cMiXn.aU$B%uJaE.gZZOXaF[ֹ飈fJ hZdX4.ZD!DpJ"S9[k>v_zTshWT8Gکݪ' =ZfΑ*J$G <""CrmeÑ 1 "'$('n:ь -= *[[~z‰Lz--@z$ZӤńV :!SHG3!'ӼT-|KHhad3F*cYqv_J!=QQt!mgux۔=.D22qӂ-QZ|:M؀WdvPJ^< FI\U%qHgQUz by4~5U1(5 W,HUHiF QlRjdu=|y N5N$, lR& )Ѯ"4ϐKL|qLPt>OՌi[Ҡ Bw?<+CT0I^&DǘδQ]UjQҋ"kL*qYgj("P"X2-B|[*Tp%OsDƛ(cfuG[TD}5NMeae@O+7YP粥MY(/_@j"eGRi0+Ǒ+q^W+M+id @XF\!!_I@ȋ=9 Hб [[,1M^oSlT4K~K%^0ls.@UdKm qǑhAͶџpcj7bF2\<:Ȫ#bVV)DJF:Tv l5"_ԩKLAh) Ҽg2ղirCm=&$Qi*/qaxp<tYD,+gȪc+ҘM1IDr*˿8B9uV^eUIEb.6(2q:nϕ4 NOmA:V*V8uHU[k:Q S2< Q핿M( ,J%KYbEX@[^Ng]$bJ+ ^ٍ9\Z,݊`SFQzO9uQIOk'X>łmI.TV+{vnM+0OO鱫^:zWM }WnL$*D!?mz\]kw/kP1Me*{?IuLo`"yuK /k[>T`!"`;GC1LxK֙Eф!0ܠl @Uؼ]e<MD -1cD05JVdYޯOd!<]^e \< %(B=4A h-JΡ{d`@=N` C>ATBS=] n!"uѠTU? zZN)YY'5aSѦ(_mr̝!Aֈ=-m8!%a$VI6!,%|,a &}+聠l&uՓD%:Zq|"xMhZBԑH}y%Y'D`A=Z!YQGF/D<@OԘ#zNq9J:WB,HGc>GIŇD ɜ8:ܱP@? 4TSM߆4(N@A!ـ (AOؓN1$t>L,n#,4PܔOTT4@OTFL&!XMNB6%'aU=R$Q#!I.@Ime9VD R:Yʍ^e@ r0^ Ch xڎdKA8i5ZNOt̞ 3k.@dTP!9fKLЛ:iDzȉKǗpdP~D/ lHſPR[ T瀥Q8IJЅlWLT@|ruHf@'Q.sձgJ l]h$T#lԯ!tHFq0P\4TQL(& ʁ@ t h)#[Tu* sf_TT$QLAOUn FgycۉfdDn}H Ha|ĂPfDuuJToPb(Z։DJZ(e§MHGەpK{z@[$E]Y[ W0 o$s_AČ(3B#q&~j&rDOF i2!>f2KDr9~DŽBo)ViJjhd(4%g ~j녎֔ xL[(RUƗz5 g6hr q(Dƪꫢ&*8 U$f hPi8 ,bi[gF'~+fs Oǜubݚz~ ]RdxQB]p'MD6ZhH^Ģ'MHŋŁ"KfR( H ۝ƨdrJkspldFih*օ*ĬE(xKBx1y\,uh|*`p hMGv4g^jƩf.LF!!K$NȄ$L_|EBVE@@[lflIG(obn6T KoELl^#-ȮffjJ"AtMTƪU e>pEp#,hZps,IzN MN9I`ҰcAYJŪM4p A(5e o T:M@C " UދUp̈H#pX=>ngiynx1zjh4&f_*8En,)H):164*̲{ƽY>2S.Q5jB6 ء,UHLA<ՍBADO!XA!ёS Ey$ehqA fgnAdF R$ȓ0iR!Yȡ.PGe :Bxz2wT8si.GEKu75d[sfj֒.LO'kzYW7YWJGaxf?O?F隗Z)'II DPZh%?)eTʈcb)ȞK/Æl:.#2v> kẉ`wHzvdgon]( [8-iUhSAEeIk!A? l _.kHzYt'؈ ~d+A\Fv.xdgH R@)ad@c ݒu;t"zk:+IPvsoԽ _oõKѝ Q>T:=p5%bJA!t4<Y1 >+."!NC4A !zV@p饞 vV 5:ЦSj?c,Gbtz+F d=B}*JHJck š# p),j *l3C&$#Jf3$," լP+=r䙼{&a$+dӱYE{qs1?% %]=V!+(!@0`GDχa?KJ"2jkZxI)p9VMY{+Nd͐)E l*:h ZuA^Ulmpk6lqsLl'Hy(ϬB{e[~ *~Ĭ,-fzN+l Yb }pfEGJp^l(')5bI E%`[ضQI.ZH>0pS+ΒCl{Q*ZaC4/{۞f/: bF.?@ەxIT#2 w\^z F)ҏx)%΀ T$6s,Pv,CP2G6+Y!ɱ0Ą× eL:*lYk+Fm! %yǤc ,=@F3jUI[D5/T+*њ{4"ej9[Fmr-H 9!b0eC5F5rAB4!SM=(Cmb)]K)I^B%hQ#ʯÝwd2sFYxG,B4Ea" պE$ZNS(=<[4N"녲=94xO>!RS#Ac:jVJ@8B*6+ɧht1t-I`-#dDTrLRX&(߄k;hL2{"Wg4QA] Yb2^;#WH{#SPj +B2HH=nng+$jTZI`[ƭ<9(G# ރCRO8#&a‡p=aw$ރk㐆xX IXJXa1h_q$*\ H8QBP6N!>&G *Fd0s D.3F hP;6ƛx3Dl$Bc &8&DS]! B<Y\g8.~PՅCcBXyq!,@FfIV0/`0^oax¯¼ X!@ S\2oVi7^C&S(0n85#7v+ hdm[!l)]qwIXx cVAlTO8 Nksx NWj^{մ6rP}kzkM02ݽL"XSBV h*K)q)\#pn6 L,!"ug_8LYF!$Cɶ! C[A18T ("E4ϰ([J8 e).^@ pPLViQZك$Ae >#$HEE*5R > R!zkitg" "M"M`FmKm"!UD>I2̾9tp$-ee*yl"p2#e$' Q#! sh-{'1l9B }%1334!]J"W0b8-_NmG2_ !1.WM7w3V!1os88S*$As989$8cHVP:!9s9'8s<%<[;39>39S93*=s8s<;9>S8 TH8s> AAϥ=AB%t8A1tAsH3A9TDB8BAEIt@?sB=Fq4G9AD;SE}9SBGH$:H8FoT>/? G4DO4@9%gHC @#>3@i=KEEBML34oMTLtDAOKNtNtOLkGeFk4OQ54T?;Jc4O:!\V;;4T3ATE?4D>aAMNTF?GPWuUAM}R3:GCPMiGN>h~O'oa`rW2u'^en#'cG\i)F|؃M癇+wU8ہ(b@agLjuhA&%oOʨifo_zM?"S[nx>m*}`a)ixx%(HG~I|"ykraZ{GrZ9G^6YB(Mj,u}xAElz)5ze3Q8[`~3Wprx^. ETR.u`"옸'3KpjpJ8ܚJ&ۣFj앐jW)WfLˠPrJyA f,mde %%d3۸q;fV[+|>H;( k;F -Uµ"k` { W>FV\yzE3Gic<@H-(#7Хv뻝YIqOLZql񔲱Yu_YxR8p{!"kKrX~AsUxz, ּ2Agwˑ{`` M͐52 NIA#T^oZLƼi&r?yoⱙ!8]0h%з~.'j/{DZVNM?#o3 `ҙz<(oy k7#1SK02BdZDVV\6EEfkV Cj2ȦQƛG%!<wDh@ w#xFQIcBЮm.[K-hUnkgL }<#As'8-</co𐓞,M;@ 'MϕyMme-`mf;ΫewK]2vz3/c^,erNډG)xQ.Aip _R F3-2S_!*-g0pN|w]byBsPJBH  MƵ~@RF{>GfAŕ2'InE9/䜔%7s/~0E Da5iA*{*ٰg2mR{f {m˻pb\6/{RنςFm!~PReknq ;ۋM1SpL6S[hƯ}!YOgZL<攧5dz2󫶨eu S|0[j+gkl3 d"vec+$503!+y:n2F/Wۢ! hizGKH_w;#+ `=:yw.3`(˛!^E,vk2mb@9JFŪG;M=ޛ'syoKK_J5 gW^nr6u1ߌyFJzX-~9ѷ(1r}}}U13[z3{QF~Ԕ&4$U!)yT~c7r Nt$jx23<~OŁ4D+X&s}6y!y'f2 q|#]CHz‚4&Wi+R/7|s';B0~wR\Dח?%7!R^)Gr HNr,Bc)(Ax*"Mq\)3}s-OՅ9X|VqE,qh5$7Ey<MHN8yQEַ VR/=X"}*cr*g wi}>Z$"qܑb1Q8X2UGe2혎GS騎HHyS)Տ9Y)͂EpPH^㨏Xzq81ySؑ).yTH`(98y& *0yyH9y)(J4PY yA)ȑɒAYȑ"b9dYfyh(^Ixhh+ Xؖxi1%@y:>GEI)C) ɗ#z`I9bI3+ɓ㈘)ɕ,Y93UyIpXN4yZɚz霗h9Yd隯^NDn8[(Y0Yaw (ܑP2H\EZBV(iw<)Aꞅirˑ\{Q 'j'']Z(|!cϣɟ%hVwDyAyGFeGLjSP:FJqBIjXOڤ\ڥ^JC6J0VQYQV]Mzr hO*jJ-$g[YAdlZS*{*8Pjգ@ZgoڦJ\5 f}ʩe ꦰd0FGG g@sPVdaګE\ L*r4xJVʧQG*ZQHV ݐxQk> MHJݚ| RzaXB%l:Bʤ bڦᤎjrTԺˬVB{0 {!W\T 4Bf l@ږg@ JJ:h~0+[ڧZ\CвAJ8z)*k-Ԡ۪>{avʗ۴ _6P.B28J`x =U2Fu릛jp z2;Gxj:@t:kc{rԖ]1щ%Wʮ1qX?{˨eۖ I 4ʯk۶,=OkPuT3ܐِw  ?ս7cн ? | ۚGgsfkD ÚR  g; +ּ֫ V ߀5{˽\Y+_VS4 --PӽllƦke8ٛ @k%- f:{ -@ k)ԾAM ꕶPێݠ=ڀ5{y훮]ޠǁ! P3yup2tSz f_ƿlk ŏc1;0ʬxIqy@6'cDŽ}e40 @ 4x$qԼhָ3-TPT.J1Zٺ^\|߼[5z5W+k5i06ܵ lFzX_ FqU:͓ʩ CKx۷6ۻM\ݣxs#f s{^ C cVPl= ڽFݻq|?+}ސeKS@ս- >V   VzƉsk{P6yQ֘]FӭmYHs0T z5_VUz_6>N+}OBM=$}b] [_nm-Lݻ 4jO; c`xn bLM}S*祭_$\>' 5ܽ3B̍UM¼;-|[渕n4L @f: GMjZ; b0{NGݎ^zŮ Ԑs5Œs5ݵި|9YܾJ ɼ.QGP:nN﷼`MoDkKEk>m^Ďu>{,uG,p1pP4/]}"_&/k@{R][WՀ 5/l^cڀ &7sI`IEa=;l ң.@ v {CG^{pcfl5O伐/z{gN^×xj;t WJ/̶y;2{5k.__ eh=V߯ͱF*X4K䢎soC;IxFY zSp#mYLtm4'nd>ZhYQ0#p!/۟XAS=iHVz IecJ,ZS=h-%6(*Q*3$͉Ei q۩T^=2\y:M9Jʶ+}(La%j_=Uȭ!b("|a}i|dC %nWSێk˥kW7Q /Ww=3Gw:f -fOı VϋtbMmʃٞ>K|vhk3'("0#%+~m)f ?hA {, TH;HKu;?!P;B"?qK3No  -=:,oD"H<J'1s$}^q/)+Lڼ )yp)D(B(C *8TBTT.*e 0Jhlpj+mϓCH0{ 2LQEI%Ѫ|̾9fOt4æBFc>h6{#+@9會o^yGWOnwNK+3^Z$qQ 醖K[en&E̊HYD(ݘL%>$LpfdO)m.wtKMU sڽTLpb^XIᦨ'[foNff|^wP&pcX_\ ^1JՐWYvPK&V¥xYcJI2c†vrrUW}*_h)92pge|"ಖ8lٖ椦\8}F\gUVy/n8灧Vw{zV#۟hdɥQ.7#–h+zO d 4TB:!V@ 2ZDWxkS b60|:VX,=Z]pB>yQ ׵}F@ob"qtûڰv Cb@9bۡ/E4%8+Hr@譥xF uB궸/*0-'CqZnc!w!kKL@"~zɠH&wP̋גQ}<dvMi:e gԑfI䁎gSh0ۅ^.RHEvBkj^w9 K{"JRiYܼ6b[EQzÝWɚP,aBF~G 9!c<8Qj|oS;VTy\H6qXcusd+yDذOK+PVyDxGc͊&Fhb!Ti %a$ezT?m؛C[e!+0S?Σb?"?vs=3;?s38k?/x{zj?CB 1!=.23yA` ?I B@ ʠj>2= x6I")C1&k7S?dȳ{.zu0A{Jk1Q hAJdY6Jf)11BztRi).ЈY;sRz-_;;㲶:+Ab 'n0kt,|Qo,+1spU,may[ܨ-?~=@@!ij"9Q$x n ?R4Hmxr܇,ga-b)K#[7g|F{py[TX>plh{)}y v2t4@(?}`8H<W8߰ WA4% *P ?И\ŖxgHJ3A;B7uP|}KBKxmІN.,J0I4 # Mhk?ۻ=i̮R+Jt/JK8hIАHyq=xU$%G膈LGؚ"*0ٵYNɬp{ȩρ G kyq8~.OyϠ +mh8JW|L N]PJ}B:^ c4p8,\FΞJ7R?DJ MWAAR)\BP[=[v2!4} kX¥04PΜ{Edن SĠHQGԄə #e7SN=T3p),+(RU 0mŭ!S͡mP 5%v?GӸIP1!i$و8*H+TPԼHe$/|#;3=9e V.ϕ@[$259=2~vPG2dł: Z]" '- D4o+<"`,\@C-u<ڪ*:,ջ*z&uKIL#ʶ[7Hezhî3 V!XNd@w+xF. FA8d62jffr3j&qޫ7Y^kn';Fۃ^NAJ蜶NdiJkchl`{jk+t.k>2) ^NHSe +>&viЃ"X*쏎k'bM{e[6F"bq1m%RtNL.re {lyF#r5#'nd&q^rbmKø)n*;-oog (=G^1g$Ug9s4W&5 +ki"x='j(Ys3> Br;&d".竖p.=s DkFp`}tW0I_s.oje:sr-*R?NsKWXTi[s\_2Xs^7_'/Z j0c72qB+\[K4k^3''ZOA"_pq0wAC0&/g`)2%)>:2nDof;r&ww3yݶ-쒼BnE=hzVx&쎇nVfzϧ\smz6/YBui::ook~KVҠOá7cv܃ÉruK4c9:>4僸qˬCyBx/^,d>F]HOmxYy\ r=#i|{ Q^ɖ_$vnsDG涷3W0|rЇ4{R+ :_N7>2ss'$z^ H${J?Ҫo+ + m!Ă(h"ƌJO#HGd6?%WlY2%s 6Z-A'PS4N): 2]ȚU8JwZ>Ղ͜Jgײ8ڸVޞ:n[c j%= qy#,>\RlY\E/"ƨyˢ-I啴,7W,$>t-a[ Hҳ,9HJ3GNp:)]+Kb{w9J.5VqUyg+_q/f\~}V-\JUA9Geǚu|X7p#ig!Ybf8IŶEE]%e}kIv>hK6FRW$ht`YGSI*Pouak)+gAX#MS8%ZC$Cټ- ݤ _Qb&7Ads6i +pU7}BmdcHL&8 -@6d;ڨ8"H8 }jGEV͠ɊCja 4}rj@:;D_rYR%ήMVtp% 3ӬJ}'ѭ+xM8ޔf椚,ze&ms6Ane0~Mjp >no2Ѳ3~v'oizZenH.OnFBL&U_];5ze0SH% `LXm; & !-P, ֺw@vﳇa8 476([jщ.ڈ䲶O;{4PҎ%M"M2MjEoGiTu~V6]T|U=+]{`>Pd)o&_cFCH,<ͭ38urB6oM<*;L;bOp#yr4\"T"eѵgr:YB:NS%.<$76TXȊ݌4}gɁd Jp4@>>2 y^^pfH$z"D^XnAt pK^Ft@2T=#SPp%yM2*v\+Y̌#f?IL%X9WA@#f2#%Փl"7҈DJ(I~*9gӕ,C "IQP.(ť`E) Kb:!-oLdL d ь#MvHm|}#YщB"DbVGbPJVl! a9Yx"gt-8{HVJ=Ak0Y4ݼ{B*J̵+5RQ#W**;Jv+<}4vTUGk2pհI%~L,:(YvlA$jVĮbhF"A!bbj -YB`RH4Sp* 9dq1!H .Wu'4 O! rdKݘ&KX}݃3Gxʷ2Ko%!J!]K~&*#:ѓX,SYZOebNOA{eqC,HԀk n5)ہ\ߩD#C1EL3܌6E%~ kWZ@p,c(ۺ"wO*wNu5Zцn"4w'~m=06}=C7`޷eU6!SZszS sX`F'qGj;6yu!+w3haj)UZZB10{k~oBYT٭|C4D r۬ N@pѫ=Ǚ@7> %TZt3PƕQKYo\p8x3`X欍Ǒiu- ``dF_ʙJFT݄<c$ MȍM kO$|ڄVy R a}$5`K \i@ ۝`u0\hMFELX]@E\EDMRuHŊXEI]}b[@g[4ՙqZ5Il.20%cIW+lHE,`rIY1JH,EwTrݘH \Xp5" pE 7Nb[L5^5F"b7l/8 dARF\(c2ƊIcn`|#DFG2G[dK 7#Qt}aL9KHE u0UGT(J<+@"O|FjdMS%ȅ^H%A IbFXYRX\SR5+2Vre?YZ R}0e-R2bD_, c\O1%Sz%%d@U,:&hl廽,/F$E&qTQ,ÄpMy"vぅɘ9bay7&&欉Ǡ OhIR LDGvLJ'T/aDGݢDxg^c7WtHDl"a('i IdytinǓ4U\kiTFDrEk2fI,?r5lW5gAg.Zƙ`%CY()@x݇"!d:$NLgl ʨ21AAfguf 5>5Wx"g[ #$^#DX(K,)iD)g2wcRTBI[N?'bAb$-Md q&tZHATcr /^]=fT0%hؔ@ܠ`Ur'!EGjr)xUFrK܆I% ~6Wai\Zmɚ]}V_@ ЈJm4Lq6Dʪ4܏tBJ| H OxŠ}dkLM+T@ K8)B9J+, l7pdl6KHųeӐ}EgNԿ]!ʨ4_ܗK ~Cpưl ě|T;ĉ. .ź21 ^'MC7Lˀ$g&X6Q2gK͵wMCE җL!dB YiMPlIM]M-Š焏$N7,4TOah-&f)yg3Q NR^AxID OEj(vE',]}iB4UE68x,<D o WX!n茎4XN"FF4`W6 ߄ΐ @.8br؍X&t2fHa Zv(=X*& F)yA }   X )q^œ= AK%/q".|\i4npѾ{jYW CHA_WMnbr GY %AQco3Wq"1bD VpJ͂Ķ['nԋc 3($3DO76oWi1. 3:"\%0.c})12;slA+3HSl x NHHrKEGceT.PLnzej쥑:FZ,#qA8E/Cc'F-OG-^őM"mk43 ut~I3fQ#RyIUr#vЪDYM%b#W L[3ƞX*:DɈɘP0 UÊS_{yw NGw4M$SwvuVH5I_eUj^b&J5iRp54 f?^Sg EyV)Į-F2N\?`E@ʦژHEVj4-[TR4%FdcEF.Hbz5֭Yho zZ[3YoU0$@@ @kߵ96_ҕ&=3fˊ_l82-x6MHak[jljtꗵx3_Y䢌^"DEWU@($r387uK5<]FR}@ľL9=10 <{#b{EՃCPt&2*[9FќAtcx)Zc|@qr.]6jE*uv`.*gJ~hi];M\2z(*<K]S:y>/C:פ3|2nd"aRblK5;>VLQraB 6DhE`De3cF9vqQFC+Y,8A"Ą)Ҧ̘{{O "RzfQ f$8&DQVy@!7Z%kX.:$,ͦkٶx&œc}趫ԩ_KWn΃jL[cʲhodMվwT1c͋uFs.VM4hiQ'%H#ÈiCt`¬޼9o6N,S&Wm۳YO{|zf)>Q ;^GĎn튋sLGCJ+"؊9{ &GQm@BDHK:ilDIFL'=B,q$*Hb=J;WR'ӈC&o/n&Gy¨ -,qEA)*:iJÊ=l&;B9lˉ騏?'z=m3C<sR>hZK{3OJá} QߨpJ/#6UůNJU,}*yK2{@c} *7w )Ɛ<*jZL~3я8؃pThZ`kNO0O*ؤѼS!ʆ};껄N(v4 ^+bع42"GuCߑ& %*ұZ݇i rĚ62oL?4h0µC ItD>}~[5xN,¤oWx%no1儠gXP/Cxhn4ާwY*Y\QQ]J?: s?zczWVĺnX^pZ\N]11~xe؝҈~i?zVkVvI5Dvڐ6b熢nN.;jctz> +.PigٗV8*..uW, } "E"D*y`#>$]ƶ@ #`T$]$,3 B(O dא$ 7X}#Ih7Z<;O&Ju7XXP)ю>}8@']13Mr82W;\R1"}JV $'+'J56Z0XB-(vNۺci{cc͆o"F#aA1"6XfJ^2٥@p:‰-}0I!jH/ (DxI98]30Ge ED&Ep9bO#%kƉ7/2GIr8+AiȂHCa+KX9ZЩ@IEad>rk9Rֈx|0IMrEswd%2=VX!Rx%5Цմ*u PcJ/RU`qַ:BD=7AqF:pШD6krWMAjl4YkJ:Jmhȭj65 D1 pSS0/*)r4Q0dZ0qlS Jk(6,iuk=t[TdL*sɁ5< ѥ5m"Hk~_O^m4y1a@6 \ E݇|FZ{JHF-0C1tEGĬ{ p$\/)J4u6 CPRZfJD0[%aΖ A3~4P5>v4ʒ &{~q?N%cU k$WeNV ;'y_9WbChqW+bAk#YUT?LiKMlgZ"sD:JhYvMp ̠OdzjMe"kiw1]ɪ"H.MM$`jw-:Rk"  nj4G$d,w蓵MXL\Xiq#푓u盗x%VkCR+Ɩv"sc;FOCƣg)ØQȮ"%BrviF*z+\aov%93stŽ([uYcs.'N‰B u ǐȪz9M4GeC6*ܬ3hhP7C} u|NcsI׎tQ~ !}pc[[/I\ny>["m]B؏OOْC*<$+8-GhO eobWҥ[`6jo"e6P #x#V/7DKcP@>t5g*$$Kxnd ,H",cNF WAVE ia)X`]B&(os%F!i-,zƍa&*A|@dA$F"a% yK" t\ǹ<$ˏ)a )þ!Dnmf0{!#@ ,".z, 1%ga@ODD+L*P$2 p΅!i'Lކ2,Fm0q p Q< Q 2 bef5B "-nepBFd5C-lgCl!/RT;h9d)H.Aؤ##KRp\-6f,ws9;)~j'"4@*62P2:S2B;*$23db$m:@(s4 A/!$<["ƮcB4' +(C*|6"R*ԟ@&F(%$) 6jf(r4@DOQ\8ptAU9,X(CB%}s>#b;dC945CIIDg>>=C<"r13XCK!fQcD8", #N'c^5C0EHv7OB_M0 ;tBL RLǔ%Kc-M3|&TuC,t+{6t0CJd!H pG#.(&mhMlWY*|a|"Vo{'F2]`uduhG`y:ly+lkvuh'rJ[u#R48TU3218U=EuTMTTV8"mr@1YJNqK# />}@ "BfU"Ɏj>|v!HNggi dPOr'"f6"B ecV cr)O)hcox$ _*cRj/d5va%TV3Hf=d(|N"jb$@g,rO6 "<96/Hblu,WǶ T1R׋A컚v@Rь\^&"J )x&tJ#/]2U+".0)rTo&188T–Ů7$1 C`Io:o˷/ }3Q;Q'#Ϣ^v8AD@mx"lA B"VBn?j,AR/*N~1"r+WϞP9z{vs)c))F6SS|uCϷ)$8,SKrbYz#\ƈ3X 6y*bc\}7#/">}Ղd]gkV>΋8&PY=Y ZXz1LHG.ƈ!o$2K Lx ł ptJŸܨzl +- p/"O\pxR!f0$w"dg[Po XwcV|ݣ{&B-yyC=cA)309V87 ^( nP]"PZ qKStXfiPefO}RF* O$g50 D?,c 0a(1lЬT #@ oz`|QDDKsXE:9S9ҩE3;2e.'e Asʙ& %g)`Am+"b02Y("SԷcC,2ƾ6iHC+d2թ".C3uQabbQسgF\E^B"')@Bs{"zsB(AE;8ǒ˭bݶ/2P5BD5޵7#ICU-:s{/ףE$?]?#{/dSߝ4CG>$K>MߟQS;BkRe3;!3}/|0t}'& V͙>1>&P]ڙqs᭒յs^]H3{~7^=」~حsc#upIwB qQ]w\A_D=aU 6Ht IuNswZgyE^ipZyɗ}s!mٶn5* W/"Dd* %XaHeOӝ0RZ׉(fh-F)bdsjmfp?7]FY'oМ"WWW4awyҠ)'VezF'XW :wǗqE(؟:瑠=)|kA=ѺkyJ*eFݖcc&)j *\eEスb-sVlnaDO=]Mzf9BbzߵQ,tRk7s\7FMn׍S8MķQ땵 XrlVT|QTTl#ـ#M M9*[:6$;ڨ%~Kؓ[NG6;j>, 5-o \YOqj0<㴃+[UMUqݸ!nkՈ;xOzR)7Hӵۂ~?Ԕ\C@}TrvCu|RKcjhs{Ȟ{Աy/hi[27a#@oc58Ljx/%H?]Vb/*wcDdAL+Z~,ӷ%g#]IOR6yQ xGHhB+F6ZȤj%^ Z*B- C" # F6W:a"6xEh7ڠ"'bcaJ22k+Zw7"~1imW,FGP M$9т6Pmmc Zh%Mb´^CK dhGi5}M92NqgBHp)0/S7QWZބil ߑCJ%)C6:O4L|W]4+KaUVg`o % R#AdSR!^ H`\6 n\F (FH=tb' o룡҅!"V)f>n!84vj!HE/QϏ{G%G@v,>H. %̖(B6)`{ğ?Ǻ(`:Hdlph6jJs3E|\Ӱlm{ԡ2āCR]HA޷Մcv>j;mh3j\ፃ~OY\aɕ-YH:O^4I$^l&ZJekDv_c}E8#K; a F)k 3~{mޫxcOqLqxE3aHDFq Q`gt4׌sی붱iXVԶads;҇Q,]VAl. PO8b+%vȷqnakr[e2;3);aWs%֚,cVvz08&#_Fm M %Ml^3"SB<% 2/ͨ}tnFd"T)D_ bĸ?#ߓAgxe+as23)Hf|H_>1ԽrEKq5eAN3~` <5mw^4Ah-}}YQυN4&fN؃ Q6J=,NG#Ɖde'jOTYBZЉ yuܘnٯb-O0p~ۺ5nQ頕O}l!ח{*w[:;/k/^;^#CZa]ې3)~M۸SWV𯳙 Ù S>rYw*>g!A]F5X^ sPuaFn# KGmx+6:pPа>eKoho(Y53l CKv7&Z5|c&9ٰ _G^8_(aYՋ;WQ|(IrmtW62A4>Nrq>!:s%+m%QHא5Np{yKIe%iDk6-u{֦ $ ,}ƲX%P'1n$f j MddHEFw<C1l$ /RM aEx0 t> !E$92@i4$5a~/5xEJfCq_i Y 8 I ~I5Ԋ1X<9vF԰S=Ǒ w)aI )aDٰ1NϐpCMJ62C0I`o%u?qgA12g qya w7vҜfO"pEdiU%b+)`,JFsDb (낟j#BݸC#:>764s32\#}1QA>!2e#%Rι)q@+BJWZaA];,%OI"T2@&:z*t0[QiUfUvAd{Vp=7=u"Ql'ٳpgevi:BJ fFSvb[RYTn=CdtXa8)38v$amڣ4#Yӱ~/alr* £D(৿! .>{z.IM},_XzRk[ ^Kk+d7(A "GY[c6sF QT@ {oJ`beћ~Y[߀Z-Eu{LOkS<C U>Ҁ%OLJS*2Xlr444GzzK.jAJ'H3L4 d>m{K\JF߰F0[KjJiTG)DSdC[II$XCYT.4DhN&{- Ng} 3.GrцVEcT`5*{6#n?ݺI~`bSBcQiZ 隷7eLr'ŽǩFZq1z^TB]M(Xh%NnIYk3Vn3XeY|*3L /uƕx+UYXS;G6VvHY0 UQR SEJnlxXXSO)57ccgiTs{xkxW`tX찯ɑ a,NϠLB[;XҶ4ҐF, UWPLrWlj&tv}^{zt@OyK 42GUTCFb2WjdM#cs%m@!SuKsEVA94cfEecyL='v_q~!&ufdѨf< o]*B*qqH},u `G }p=2fWt{{ZQ[{x'}iD94GB`mD א{ ^oYW(, m+$p)4ӳ7 m=}6Z\_DԎg&$ԸS20 ILDnUil=TgAi<йֲ"%n&]atMy5l; 7\}?Ti=pww&6 _#CmD8fEC2{ˬ NӰ1("]HW2svB OtbшK5;;!xLe(w&F|S94֧tRBg6,g4 +2RhSRSE3b45@Z\ EZ#4QF7X~w& QYSvRF{Ea8Mr$l.)7a,y5%Y76Q{SgLDGqXNPů݉+w1'QU|jb86(=MglGU4hs'q!TG<,C&Tvp(YIOu%@{.id?aSRpRP[L7F/~  CpT29櫞~dU@4}-O$Sj ?hI}"x[bXE=P֮@c r}/6}ȇѻP;X9/a[ 0xUENBV/t莏3ZQ5,CLTI`4fIFE^2Xt{?0v-˔}mfB X1-ڜWesqlMcEÈ,5:.EJپY8S$yEM*!Lfg3, *W=,#ps\R5;mr5;UmMpBtV\tE>݇w);X`::~ӋƝ[%wZxōF|prߨ]7>j̭#McHرcC;XnΣx;e>zɗ/gjl,g._+4Ҧ+8 B$>k) 2ϸ#|ﺅ@gt.*6䛚GBG%uoſr$ͮ20S5j"p/ s[8)cM%sK3ekKnj$STE<fFnt|sp=#UQM SE9 %,X4?6TU4WU]5 AlMCl"exÎO'CNHϙ:DB]s6W#ԱkT'L_+42Ŝ , Pv[SP}uCܡՓz^m3-v9K[i #K.7`K5r .r6<ɅsrE-JtQ‘wvޙ+(oCףfY O+byg\bzwƐӨ޹,*lB2[g6dבvx4yߑuL窉4*뒻}睡Yo~g'kUZvlrz?sZj+u G%LwyF c'(hDx/ ȏ雮g%Jz*G 4ۓxVcTXWVߧw|v=c}( @FphC N|au@ %(<"D_6 .-ك$DHB+P0lgcgpvsP?':F=$p`XF jG714$zhb AA. ! ].LzGC!4؉h(g߰ %4+0)G'x?Otx&m"@B%e.=PbJMt>Z^L,K"YlqcRDUBb]#\^,vD 2cfm0[ d,!Ŕy9Rc"S-G\҇ tq M\W?oxI.Y0)P~06@QBFng.Y*7AJe3!PF:rJ>JN`ҙ ۛЅq YmcKK͆JI:e-$-Q2fW6˽'T-`iߨQi3܇gl9Q$Kh,@O:oED!7$lf|B0>?EϖHHOA'ʕgr̓#jGFV$e"%TBeI&@7JT3,hBb?$S5UFBԡjŹn[Ghq,5K:ˤ><1-h0MQp&T2YmkAa\7?\Rq_M-.;uڐ(*~#wSj7ldR9ȅm?{kJL'ҢCM)7pSh18&j[ܛcM%P(Tq8Aq|JFsVӴ,ǹ9Y^\*u ː@gaJc!edג)B=jzMnDe.svy49Sj[JÌͺ=.HWRgaǡ"Î+)6?%zf<<#r$ 8JEF4A@!qf(tamA0VU:*-L>Vܱrs9#\8{R8֭88e4݂WgߒJ7*ifرKodȹK-- HZ}ž2$CڅEW+ȖMD 5eMT }ݖjI+.^NAga98RbJiԳgy´ȁ2mn:Ry@<#ߙ<)>iLƻ9܉{6 Bʋ>$*-='x9ӘL3~ !@ _G30OA>߶}pGlub=Đ>jp vV*.?2Y;^)36щ"tًaУgP( BC-Lqr8܌ےbaΫc2](?.{; pjاE1K3ى(.;/<š!jN)`A 9ዾd+}{i>"j0/.dz7 j30 K=8#BHa87In|Ƹo`+TA \<)L2 &Sӱ2OAB,kAZ؃#p;!jX@P!Z*nt"bx۳[[$h>Gךف= $9t/=d4|Ɠ)IӤ14Oں=Ѝz|5ht1+J46 OEQT@YlT4 kE{@c2;p -a*gp,sb&S2óA# <Fcy)PoӚ Gy(ǻ0KјB%Ca9TLK̹`1KI8D #<)dzT І˃ oʯ)rHM^+?ڌAT ja $@ Z‹-LA' 0 My5|cJ{l4 t+,8ֈNRɐAzF+4$naM!P|Q ЙIyO' PАǕdauy-PgaҐ2äkQa!P()Q[p̀a!U Qd*5 0SJ%]T 0OI\*TAYY- 5Ґ>x@RQ(1%/]=MAT0zِS6Wr`/=؏:;TZAu2FcU ]cTc}VQ@N=V1{^i4eVp !dĻShUW-TyQB\'PVmO`}ZwX)Pm? %XMex) 9aUJUE `X$PVV=WיY*A@$HT"+qn\˓xru jZ!_8]s&"q'--#--ΝʑxCqIG{K؃T@zMYBYT+S}mJC՘5t ڧ\WzMاw Y=h0HA6ɤ@TU8F&s[F Za҂)!meTq4YKE=;/Ә|! 12e!\B\ Uu\b=LX-Q H;W<=Ɉlң } =@iIyCM1`㡍{XiXqhӲo݂8 +4'e`Iў 7C3|0|v膴x{ z!P9˟'ۅhӒXn\^o=USDql`O}'OHoWlųk.Y .1[8i@ ;*(ɩ-;RZ7l`ؙ`nеN?$Z(5 ݇+$)0B-E0iW>! /F#Odovn-F)ؼ/ i6%6G}(JІ+'ͩ&9n-UI jxQO6Ngɍ>I:@HK\;I#VR׫<+-q6 ۇp0 Mer:˂15Yd/]Pźrn!Bڭllj{ge{\σ珶 qr;X(jL0i;֨> )Lm$, Yi-8E3܂ނ{Eо&YWqyLٕilŒhJnl=606C>pn87\ne6u ?mzN8t EE ox _͞ؿz p{DSno۰.^(XԋR wml"(g@ډ(`Z#FAR~L0l W^Mžp̮@1.&j)A4D ǟ D3L/Di=RFEi2G~d5WD>BF GIneY"nJgr#†et59KH63\< 96#m' u-Uޑ2g5ӷbtZxysr[IE]R Um|&4b*Ţ+gBh`VrPڃBPEᯋ; Ii"9\*y)>)΍ L!{ jVr8q yݟɧ8Ɛ(G-Jļ)UdO w9-JD h`?>YLc109F}YA‚x-ɕk]WwL[dX2 e G:`n8n йPZu0oȤkȂ/;#oo؆t5SοDFOWp7`,H^ ai@ .7ӯHT5Zjl02+pߢQ(m3+.b̸ ǎ;%&OLr%K#_Œ)SE M̩SƐC *t(Q%MFiΝG웲ժTiz62kR=;l Ȍ9ɊM[͟bݾE)iѺ)#⅛WkCnK܏DTtژearċsbɒzUk6Y #kɼ8gz&iS6)c@q>홧J_^k`YyTVS\Ls1-{U5w#U >MZ4hǒ 9ֱ\ڗYi[SgJ!W`^FWTaR8iG PUXbzGTQ]Fτ3jhZfX䅧^(&ɞf4VY9v!wB{FV)FD%S_ Bԃ!iWn;~YI';\qiiqȨQz)d|ؘZnwyFْKX1%g?()Uwy*c!i%Yh}]y9RV9zܜz~jRSX(z,EVE{ )y$W}"ӕ9*VۓfPUgͷHg_w+[7|zk)E"~qk,G%^'2K6Y̑Y$f=)v>#۪vi&wOܔ;'m ::cZ/ `` n:S-/rI%,fJ} QWD !>XxƓjg;9ey*88g` 7CW59s$n{IdZ$,2mK+0;,}: @ef@6@EM&A|5zm}l)?Q"UdA]c+(MuK*NMH(\#=剥9!ޒ%*ĤL)(#T;SwUҌ^?,(a?d'gXA\]Kao?ffĐ&Nt;22mmJ,l,CQ*(@o%K%}qQkX*G~rCq|dcJ xL̈́O,tlӡ$o{Ic`T9WvAi*ߐ[(xʞPwRNE!t `R2oV'Ajh kOWMሹ%VCjNDsUTΈu/QB L^s,bNQv=C^z5IuL;TPVP\&GlUy/6Vp8PQ޶jhZ*X>k22](m lMFV+,`$ 4K8b.Ҽo57d1=XJq j{9KnRU,+|=`8 O4FP}PwKۙ^A 1zIF}H|(19lI75Ϙ*pFD^?غH$HN\[8!iI]nJHC 3tg'd%n|/n6Rm$Ȫ=9I\,B_˧:Fڟk';QU:r]4j0'O!8. ,x.,T;PDU_CM}X`VP8靚)\QaX_LQUeQ ӀZ5E F8 DV+EHC|\DBu\ Y8h-H7ЂD[qDf}Efm8T!G44`!WD+|6[KB6!NRɍjB\Gd!T8aFaIL!8\!B0C\5<]>0D*~AD;h!9 >A} W>-@8B+f"!_f7IX7`C6DȜIX#`)r"8FxamtD>%>th"F"a$VtL"7a%4C@jZ)7\ ƈ jFBpC,HCD*fȭQK6E[3 \u$8hL6BaCB#-(A eK;BV4eq`6* JS^%r06`5)BO"OHT(LdHZdODD & ι!L*rP6āJVAXK^Hd}PW##!\>FnPJ%%`GBd!x`b3(R^ş:Q%FEB%㊘4h夘Fp\RF^4i&"KJ5>љWD^EeۚCdF8&|F6>ETME,<^!aEIhqqCBC>ADG`g*4d2eK"rABA0#p #@_ZX#]zvY0t̄7^vgrr!`]+N)(v9ޤ^)I1_f KtE|)6))(MEEGI47nމFa~` >cnbƾuDfDȞ+g&*pٙ_ \`+(Ҿ'n^H&"dL26pE (YnP+J\ Z9R^Hq:f*.+Z6 f{2mz40ּm*lRn"fMG$9^DB^Dg Z.]Tlf~-uB3ED3A R,Tj6l(mhBfK/B+EXg񕚪^~cnFlC5&jBF•)70FXi*+XhfHxT_$joUI HA>.uD^,Uhg>kN > *jb\DRAo'n[ZAY4EtÿR^۽l,霄1Z%(M^bi0iRiI4 _PG۟Ev&āb7fDoCD%ȀpF$o_ӏD/i|-H`^& N>IBBOR$QGX#gQ 31WA!sdSBVaI!lq {IV"GV_VdTs!#5G7E@ ̥UGIV͑e&G'/&R"b!9d*LITp ݊/F\%R1_QR4R!3EXD,|[T5h70;Bl`(%&R[f%4S2>p-rFpDLUkV_5>oMt!L*Sնqّ[7/"+uˢز.o-cDvԅ>\$r6\K$22-A[^CCR6AdC7Ђ$9b#J(C#Kp!l;7C5">vhM|~5a%qlj a?_g7<%Ka6GLZ:$yGrORD!>4jG.JE;3061J,6!K""dMc[M%h] 2@vj3B8 S!7lE 7#CblD;k7Ttv"8vha$2r3΀瑱D1E<I]k}!o^ E%\|`L^2/S#Ƞ۠QwI_B1v8A9yɈhؕ +j<f1PU~ڐʩ2x6"Vq 큄enyH0rQ]l ȕ:fKB,N#r<'%\C`u>=W]}Ҕ J?eԿs1}T23@X8p%J VҦfWĴ ّŖ7q>Q#NDm6GWW^MArMV :O>m1;;fM ҳ&$KnKG|{0ѣ;#HNgZaK2IR6kɆ1q]Lfʐ‹FI6ܿK?Kn݈}#$n*be!kؒiNM29z D CTE]7/kV ~!N GP,Jg?d o}y%gAp椖⏖p$wVwXƶm Q)VlѶlNFF& L䐖2Gm$?,D}<\08fЙpAbeh:r<ӎlE?n / w|ɹ?fȂK^1An>ks3#4$1P26bs W*VRUBO2BpFl6"L?g2B1w[=Di#RAJqJ^YBTђNGO܆0*TjMPDT(f7ZS~' j'GB@LeW,[ń=T1mܧbh8`c@^xS,gQDžԫ1R5?U8 N${q8d&j:Wh+<9%&b?;|Gc9E/9? tKgRګ;p-fu~<^i#0^6]vNd$i'@+ "ڻw#}NO#W8v|(!{'D\iyv)¬Y:}s2ٹ¢JlуҠ"#%4}fT-f=雘эJ0*X%Y9,z^4V 'u `4"8bhν#+ 7'F W p0hxG%8ND#6d3 #L]|(ɨRkDTj(ˡtFTCDg?IZ"ϬPJBgLJ31^"g4%(Ù-$|H>8lA-> D cִuM?WPC@rm;VbItG viS2v,jVpP{ ,9hVHȘA+t~BDB5N6Gmqۏ%"'_Eu34LKD w 9N,Op͏\WxoN#Gr+^UT0~4W$^(J88 }f*I@G{Ǿu[a9Wl1F\fhH|eK 8H,cm9 #R\ci-H>(޵ۘCF663#w"ZAs3YPPI5sCHCKGK}*wÚY,q gi#Tl"!Vxx g,Ԩ?ސpۻj禅lFmӁ|8S5?X!UѢ3D7ǡ!m* >\7K#HebRnmlf#ZB,8ٸb"='"Wp,Ut2R$Sا R WT hꗢ$L;QMB$@aezwXI6ĵf{dA7J-SHla%GIЇ9<qhPTNqQÆ+`](7RYTv=mJE=si([aLҿI΄j7C eM_*#z ◾}~a[Pt,aг ^̄+Eem^5n$YVcO_l!a;DK>f' FͲF4\.A>+1FifS55 A@Vnm$! >bYJ(AHnEh`L,QpX"7b!%N(,j^%A k|G 3nfᭅ$a |H'&cfhh$ag Sb`L%Z) ef;IrPа$Q2ށR'Q%ulEC&9 V"65*BBy@ P0 '$* 2nF,.(=#}1'ƣO&cۆ6v; 5Xmʢ,$"*_.,VC!=)Ă2Lw<Db_ B`$0κɫyz-ْ18 .>2r72;2:ߒNcV.2ģ:!͎TT y?R"4j~ԩW>5I DJ9S8'r8k<--4K;!ٌ g*> R!31?3)8<8KB3D:?O 4C54$"C<3n?,24 SB> 00-2-i 8 &N[w*bY4"+J`B48ڑ,:B=43l/='7|(kLQD47=+(=cP:<1(,t*/E43JIf1TF3rQT<t+TI/ՍC#V= G z4+4'1Ғ &8NM4S1.QQ?M4:"N=t''G< sVHE#9ZsTsRkn=㶕H%%tBp▔V'4TTTԤO?4tUUV[MU(RQQ y5KGP6=Z!,EPS*,T cGVT.UN)'&UL!uF:4e@iU6QZ'e/uSb379Ue G_6M=m'`y_V8?6$EuTPuFuX(35RbM{sܷ33vTryHT`%u: }u^7W8QhVVw;9Dr]4K(MExRSfEV>u/` *NW 7Uu!xp+WF&I =tW(`xs3H숗',o9YweW<ry &t|'6w?U*_hX`YxPEM磅q+). V1vSy8dRM;8vN4#6'9X?1B!A[RB 94V1O"t5VsAq5Yt]<"+Yٛ/k5bi9:˹sRUw׮qcz  *fB$;c$cDV(~JlR$NۭD"(n><[#yrbg'rԿB[a s<+% L *%^ *tѣH4gVVzfJ,ZAiMWd һg:6UOGRm[6S;vΘyӯÆ*^xqƉ3eFfń31v0F))<B#E[$R蜁i =M5|lqޤe3ܜqg6 ^N{9͓o#5@T J4㨨?+ڔƫYV}IVòي{̅^#6fs F&QcVI Gn!lA&\q t@QhabjЉH_̹arniU9Hs8Rٍ5dLI}sEQވV`M1Wi7ZF~z}T5#Œ TדvY߄cZIyv7fIFk*idifF aFI:I%:tK 9r#U62٬j[rJRCUm}ښ٩Q ǢahPyf#ҨagWڸ5'~oEō!{S#182:R%Kԭ&5ɬs%Zif)uh3QǵVҤNHkj:e'-ūۋ!v*Oi \}4 Q-j;GA-jt+ـF<+cGT -| %l9߼mE%tC$dYMG޵U)ӤKGl%g6ƞ4e}~]dA)`8x#Ϡq=* 7KvӲ15w!ԅqaxSFΚ:U:tg%I 3NRR1ߘρ:ARB£% 3I}놀.5 R4PQ|SIp"I<:MW"uřaA0uQM MJD ^. Dpt䘿ZB %Ɩ=I"~Bq^ܞGɱT!#&"x$K9ɀJZkǡl&"|#Xdmlq>8g.'hX6%勢uŠ ZR(ՐZF*A >])֊Q h)(ψCذ=f3-'@w}V1m i8.;z@*<%_[w &V4oxo;,MOFmVo*wH]IK]C}/6b~ b5z0[c 5#|Jyd y bfPW> S9(50{g2u{G{_릂1wWw#f8fD;sGGOi>J#F*51-A+ѲNUXXGs'')O[{0eGVYL5w3ep8waq'7h€[/ wP&aၹX6KA$R9vU }qH =m2=(|mB1DX`FFPE>-͡FxjS~Fs7ss![N< ID+UHX|jCE># T򋭃;}{EiyVva^u\Iry93_(?āl %"W̥kĄ2g,MuGtsJP:T#K >TP:ZoKhɹח,)!j̵$DwVuH7?]͖B\s+˪ˆ: EKhUKĶ"zEAdȱ㯶 EPvǒ˧SkX<LDT| V[J[^*d_ɷQ!Ao \ٓP͘|[լH!9I-*4n$=aatJk6uMĦB̧~Is+:-mi%?  z\5Çz[!-4΁M+AP-,k*iڨ#$*.96m4>6" Ȗ,ٟGU,HoMاMlNDmyMI$Թ}AJĔqu͸]?ޒMEYG˥̳nXΫ_nݶDK4S}" q}|{ZL焰XTOD7> C*$Û'շ"^ ٟ .~%M-UDê--^,-!ډ\^]ͅ,u}cj-|=x1!5m\ ~)>(G²uF-QNȉQ^^}g;Zeu8~ڍ8VuV.f!oFgx-iKȸ}z׊ʈ\I੿SCn@]$XN`|ۼ3gBtNy.=\NʩT=}~ܫzۧ^4^KV.>:UuؓE2OTȴf<4ׇC+OKaຶ~8S*#B6n&jv)%.H>ٶmξ,{;Z>W%)߭!KWKu;@>PI+ 9ia#8Q Ґ.2rqlQl)^jpK}qWM߆/r)GtŸ-4*4' Է۸@ Ao>ιgljv1=GG1.(c'i$کm!lF#*췿A׷$lҢZmj˭:[4KlQ\pۈT0 Oë8-G Yh1AoMzHQNzާҪ JL2E,dpA%:RѢZDQ D !VpE('BQG1eƤd 9LK=g%Zt(L.Y&xS")WY WZCϺƢ!}ĉE-xoX&|cʧIfرȽ;wn)Sac~/?u)RWfOĜvzk%$9A+)2ɡa&^x,jJZa|%;8? ML׶ߗͺos6;C>yH4#i3"Lb*G; NK찒|N%ՆSC`"L/RP k o w"랋NWr,#䮻^f>y&z%>ipʚ=(ђ#+!|PM8k3O7!|Nπ|HAz27t#PC7s"dD63e à 4 #˅tHU&z%paOX+1FKZBEr385-:EDY AEEk׊*(dTAB06U`di5$D ^A!%J%QmUL^sLb1kʶqlvD+wAJWL4Q{AdM>շE Zw ^&Ա|NDd* #(I|D'1]Z!׫e$];eKᥕČ')I]|)縖]y#^3S $'N9Hs4wq̃4 O~<y1~{={ ;)sZ{SnE^TfF:l :'7(RNJu.\rmi>+,9ԛ Ԏ J642Mo+<գuB!8+ Y0RԖTAK7j.KJС/)atplE!09Wq"G=71)X>5r&巭p$eMzj ]=ոWyQ6s]ҌvVyIoJaԅ50-^HT>rw,+Yq=vLI|kM-S)s2MJgag?3S~=JZ*azOʉUj(Qln4U]/-zT]la5D+*f ^N<'j u`u3;/Ga } SJ%ºqE9Tc' uf۟]lR/|*ƜXhk υ0 F1ѬdDY=aTsC+3atHg'"2XFu]wHp^[Ԉa'.!K\ӑ͂ Fz;raJms2\͝ O/,M:GoK(~ ksR4Тdi*$knM9f%%AX-VM`Q:h!1abM6pd& Mo~\q{͐HJ_PܚW,|M9F)q X^U>RӓnM5i/{[d&(mkg (/ŧ;z1l-}[[(G|=Q 9ӑ( |dSzƚ3:E1Ns<:Zn,1,n()[ ]'}o%ۍڠl :G75)<(5__g,Qh'vIewy >T8{w2xk%TREK?\~OHS57/7i(<{+b/,2:B+,ۛ#G3pX1 |tXesmxks3>Ջ{k(2??"9R!-ãXcU$ ^镠2+!28C.@j@Ss1:t}؃JѱWG}*؃N?(c-λ~,d]KCxRq +"yHY=qJD#9=.o"'G$8 f$GDJ>asB!+RY,"F=1 %CZ4?"بE1ܠIEX(l0Wpp)C\?XȆm KKlo`)=T4ApX0l+(I!: 3k;$lQz2f$仿EzJ3ZIR ~ȡB((,xwBHx0)I+=w8 8}JH}K1vGPl 1$Lqf IC=xmF@ZMnd"}ñC2'{>-[ ;ұߑ|DOJ.QƉ*EQ#I!]h4Ʌr}}A5XWKALɃL̴Ja88ORLoK, ͜IiWxD0"Dv:0;KEP;y?T ,z2˸35N3їU\Ԋ"Hp@0w8RpahtO,h"}8R,}e H eXҽ$S2L%8i -. -CRIr0eS0-i 2e6Nu4ՁM`Y_1 ⮈H" n뿵ݨۻ;P)ꁉaZRdO5؇r_,X0S XRȭjyw#nlse*ri! ɡXHx8WrU< 銹ijň^aw oO֖ AV0y3^W|/.  ;#TZ'wAw3}wұ.¡δ7_؇ԯ(XGpurެdhغ73Iϰ7U~}lҦsdk?j~\xn0s}cm$tѾ4v^רoweE\˼:@p%JLh „ .$(p Xq(! Dd߫"CH1}Z̤}PF o(eQ6C}{I7?{ ͙&E4mf8*)8e攟3NJMVk8l~6@GĖ Z? >h#KMf5,!/V2X oXcǏGkLZbի1O\\qK.LmԩU불 '*a-6{#4SPYrr%>0&_fbl&wߠ5} U6yv]5MA~M5T!<3`QQI7>wU˭jP%hed-o!Dr8fFXpatZc:yycqwtņ[tR9p9%vmuy9ٚq>TH݅de1N@8~E#h6^COf%VdE\H#dq[a-&&ڌ22jkx(bbfIf%Cfś.㫪+r:t(#5&֚謙i(`lyg S1 W6*qNn,BV!ee󌻵\*mF gԽbAgnXi1r(뫾9pej+wlB&(Ek{Xack:뭎Y0¤ُfbVT<3%ڽl-6dZ٘{fq~ڨllUDOT㸚iUn}",R{lFʂY}"N,%J9ώb⟍+0ƦN`َ6г[ߌzz #L*Msiֆ۾7=ȱdrV~^1M˫.~5̴=<[>y 1v.HTz|ٵ~8+L,Q NhHS@j|t#ӣtq^ V#O_ #ANe}]jDilW6 jR*d7cj򄅾[[HgY!' 6.- "RHzYهBJp9{6õ}vEʛKp#TAʉ H!a#4n*McS GFfpe( NrsR0F5rv@,x-5*P KQA{W_S\_Xž Bp^]WD)dlXmSR⻠HrM0_kgsdՉuF Aj{CR|کM@F hC VW,+(،g.~5 _$zصC8eAƫFnBq u'c*qK*:|9o$kTvP]tF&E2t8MՍ1Y|LfO£ ׺lC'^k|Mk}J(n*fH L8Β}@&7Qyr=RHHr5 .}7nǡ&+eϓӲk v ~'TEFF%XH6oS䢢oGv7,SȀAo{2vrJ0#IAw<L~g>9%^q Z N9'Bz$IUꗊ9]nTMܓ(̺͖! 4!Ky.չ&X9nWRɛ үMI%a- 1Ǹ pթG!r)W ֦h%4 Ս-Ŵ =Zo9UQ%Y6`W ΘdX0eݒ` U"]@@u)]~JT7h J/E!L6ҋ2aUC74yx!94 驎Pk)`E6V8  SVII!مaO bAM_4KL_1.QXh;F]⾡}ҼQ5݅" _MLq"s#6K kIWE(̑D35c2^>Rۼa$Q™M! h% < YˬJzq՘,qdXb<>Y9"LnvHXoXW7#TՇD,źۿ8>P<6BX,eq=`DȀ$T]qd(`+"I[S 2hOZaQ]N!P]I"#MbeAn$+LC T^55hTP^f#tMLYTZ̛`9NDބ$[U4YdaS>%rY4tʪ۰~ Fq$2nZ, Q!KjSv#ZLK¦:R|z"*.&(`am:†>"!4YU QNɁ,A7I~\Jōm|[Q-km+lϨe9'uH>Mv-bi*1g0vY>YQ:F+Ut]ZPR(SD=DIhgB>$,XP}^ᅧޣJ̥j,׃Jh/6[z8f'LVFDoQR_7^ч d(&JCpl+7(;Nf*/-Q0O"Xz5m|07%!7-Ѭ0/-ղ]RvINƠc^LR@&!ުZy*3 IR Mڮb'rXk 4[?}Pfh푩\\pkFWNIOJD;x2.\$!b0*+oXqd"R;N LZ`26*:ǭ=34>3qYC<{K֤B0 Hf!:njY!S1o]Rs`t'sw/vuݰ+1._v|!vvyZ+eoy n/.0=vwضij{/aJm$L:1tګ]DSȕj2OS`ҐKf齫-BhS,u@.k+aVgets4n8(\hWHvA" NEkJB1Ũk%ҥz#]BO3xOztSL;w3!$w}b.9<`}kLغ[F-0iQ332N7ų?{2Jʵ6Mdli3-m8U+OY3&cypk 8M8dHJ]oxcHʥO,bc˱vO˾F!$Xxvn(#tqMh)oQѰiq0{E7άP#J6_Mҳ6R[Ǔ{l3Ig$kvAUa:MfRys众9sLˠW[=q0$|XVA32cUy +99േjU&MTC%7يY"(No{^ū9I@d=Qe2(3U ٽB~_ab; ƪUYAHc Ĕ)J,(a)V$,P@2$H0E#:G#I9`H&Yh%J D7e߫J^ysD2ghA09zd4%FTPBHV͚eؕ$_b ֎s6M}iNMЊw +6DOENٵbUiYmybx!k +ekE>Ie&\y =w|e`)2XqВJ> W sλ8$r߯Kn}uyl}[/yn+uб?8o僽q{]+];B̳S5̏z"I'|­s* M>Tn:Ų곏B+05K뭵q6"pů6@^DHSɤjq!diFĻD4.Ea"*%*PÞ8 >#*ݘ%״;`\2+ZO*olK ":r$ 8Ҋ3\ L+:4+O2=OJ WElu JFCEQ>P7}5DR+TeY%xbʋ c- Of϶KOXbcdX۶v2`)&V0UB^ĨUXm8kt8n-C8do!}]ˊa9W%[kg_Z Sخ༛Tl y9ĥ,X{--{˄]xoFdHYp`Uf=^G3sD8A)+5mL-N ;c{=m_-HoHʭ,z0JƳDT=nZ27,(n.gr*ћrѭě ́.`ߡ21 T%ϭR"xVk' E_$ mu.1X +78g) `↿?&̓+щm!BeBjJ_hv8},]5ب]fC@AJ V;cc`6!ဤ`rB,Lv +P݈Z`ފd!!TxgakPMdştf*Č;V[13uYC6g9(f#h(X%.8@Br R'5<^*D;F'bS4~)™ArbBQ }D Jld^ALfXZ,7<^)79,eXQ Sƭs < nbU{ G@vF4&$Ju#$ %򮂺7Tss0Cv6TN\OAԨFSG, q)N"nPIq=i*,}4צJn05i%BήS(j.Yaw2- T`$v;,̃,ºҭ)ossS' )#G$.p"{>&gT3yO ؠ2# E޾}S·b-"]6turV5k N̵C>/\DTT8ݿ5:+NrjcilC8ǜ5YeDžvV˪j^iP%L ^{ $'+^ \B8a(>Jilܛ7Ne!u!;C-IӓK *aiNs4՜:P^q6,X9lqB ˆ%1RM&MP&gK% 1˸4"iCەYni0 R͆MeR,JY1ڎD"Kz/',َb \`T qF 8 IO R {U#wDW0Y` uc:-t4d ȸES%[Y\(KƮ#-\!1YW@~FR  Xُa0KQEl֜Лv-'|A0sTԼ63aX2}ԇmwwğ89,:8_4|UN|s,)Jݤcr!5zSpl@ *N^@M5lVbfm5Jlp0͂k@k<ฆ(dn*4~0f%*¼ah ᒅ.lwcb\MZ Ċ`MEJnF8:KRRL+qL0B0..k5`8$"e fKEI"EPÎEuZER?&i:#*X[IslR o:A^r0{ JE`Fn2/I`0ĐXEVzjl}F9^&'d^kXUT-:[euEPWN/r7h0**Ae\q- Q_ځ*NԭLvbϳDmB"F0/g@ZPE\p7$ q]qf-Uef9wC-f%Fby\|P1 dg2nU4m o>P2%1p"OF1@cd K,aAvBh6p+Q3GR  i`Jr^! fG# dTR'A"J%CITd()*01+B24tRz$RA$R y62<(bnpN%|^įHhtXRH(ek½^#۶):,1b\H&@ƃ /TD6#&0'QI$RR;̇:4b"r 9f0"2A"GJ4' kxޔ%jdʺ:zVol-5jd40F nT a>$^r* #p:Ft҈ìx@H!35M9! z@o*h@ !DL ȁ x9ʑ OEJօ@1eMXg%$7'A=7$tul+I. |!BnMhsR\ʈ%v~s=e&꾕/&%*8_u-ׯXD" e%8b)s~ L H+-  k1;3 y+OBH[Wy=>+'ğQEM"dns%"[mOl{[oܦ@ugkn \~*nyo b -Id$6+6\ .Dč[, qh,F .s(# mDm̠ -ٔXgkq5mt7 ǵuw %B=5/ګ<9T2{t(frNnD>H'<&3̺nr|UkTzlb'}{cnf! %YO-1) M:벮^hs:M f*I ؜q`_3n_Vf^bDMa.z4MnMIiO4FKoo3Z264?-PYzh.1h#eϫ0KbZ(r-|(M!ZX ~iςƅPYr ƫbz+eD ,hZծH9)&Y'P݅;OhyA;YR37>"b?Ű,K΢+NWpANt18YҒ@ŭF(ו8$w*-|h 3F1 FE cqǏ1EړHjB$?my7De\Ip>8l'=}7('%8GKpG.c.l"T< X| yX/zu<=!ǧZ,y-yL$+Xc3ḧ́ܲm^j,#k:1V3\CJ&ˑKDy 11ysk:I}Ln-2娿!@*wN,[2S ;3ݡ {liis3'Giq&-|L`l9]fHҕA&Y2Oڮ<#(_ r. l`^y/QBcaNg%lΣ9+R) $ $#3'l|I}%w2Y,:8rXY 9r6tig>FaJ*Q(6$JD[-ح"ᨣLcPOCy4H&R"6";GMz]N]FlގW5nNTV]VEWE&IX(W4Y۝b6(-Z#S!dpzV>[kw6bXGH5ʫM=iʏf3O&ˋ:QD y]XtmEMhv>ؐ@@~}fT,9HTd{ji\R.g 5S]T.; m,^,N_[>2~@Ħx863k>Z QBgdVZǞ3t7Y,:r=OT[366E^;32^DFGr?I`P.5{&\:CD`swQ!۷͎K z[/ o@]2@g5+ʋ, kpzw N:Xt4"Ex&yYK7XI6fDyl7~.[:`c[[v2(0'*#ԣb/8|/4FIM^<[ +х_ "#")$WcN$RD$n}(s/y,#T\]\9 _fWm><F K:C$URN:v/xDۉ֬ETBk$jH y[(-z %pdV/xū01BjBi>%,MI:LHҔD&È;6oTQ RΔ+ģUU,JS'(ehjEk"apccgeN$D7q)HΌFvE-q) 3>w6?Ȣ-AY@!4ED *֑fKV:E#oj!*p|]&ni6cS̙Y64Ù8q3o@cKTpè٨$2%$aQf2tI kv)ߚlja|eMB1:*Ng o7ȋ_HRuJ/c1[#d TEzmGNY~H\HZHJDA"!%?n/b-pYdɦZϣWѰoRI?+Nv6NY[ bP,͢FtWhö1 9#NIw \F86Tԕ|ܡ]v"{Ȯe Yc;ϒ՟qr7c!{ ֞+򿅘ǔ|c̈e{{12\c~R3Å.X;Ot˃nfqTV Cb6Xj\26G79RfGv`)Xuɡw\'ae ѐ v+yV3)BtgO9~b 3I(HkA0 EZM:2}+R^j2۠V@dn_Ja!m H!.d^#P n2~GxsGrtPvwdYtiY(QT|ZXOE_@+1^|zC;y1 `R.\3 [B\ȵ:Q͵ >ұ5S\Ka)AR?Ӄ% zba> L \zCm~!ƒxZՇd&\7x|h"qXkih#Wy*n퇈}x 2ccGc %% a4{*!'^%b= +$%NMa$~%:%LfL$+ í&=Ԅ3P)JRz"\5=S`=} (Ud(hv2*H tf=q:bV+%OX=wv6P(viC.AqXs)67HqpYOSy 5)DgyY1ԃ30-|MSFA0a%$Gb̑Ą >8I1"H@4RB4)2:Mr8BJ?)q1"{P'S91# [dVѱP5s66K)鶂dd聖d#Ij yf?ֆ~7pՑ(SA!:Ms9<95ŵ9UUU;a&3SكȔ81;0Rj! ,)VM vMjtGb=j)_tIdt@ i:8×w4!Xyhhj8xvxb-IzW3la{FvG|f.0)glQigGVj$epN9LdCi0-uRLB JAV0 _` -OYCND"QBAWrT#& \(i fS5Lj:L+CNPX]Ԅ5 jU$:i|L(4tLw;n\L洳Yuc'1|}2ܪ&z!]*qANy4\6WV6Y,i2V J~G *!"vVkYB~LzKc%ˣAV(APV[G sGfj}\Ys*jOlkdn^^;7ed6髟I2,7Eelé{ X6ofp[ bZw˵ 8ʜfP@&׮|WzGy䒞J 2Dr}I7=] 1::|xZV@L |FY˒$l+&M8b'ED++lGcz} }Ckzn陦٦sy՘Vx́R#T#,g!,YRv ڽ#lcm˛ɒ=a356X4T@  TѪ_4#>ᅕ! NHoxWl>PŴi !-)Jvfr 'Fr!pu,ʘIS} ZZ:G' dQدzDYsƭ SJ;Z&[5N h%xW1j':ka+J (i,K}ԏ0RU݄M<)u;\Zz<[:q&|)22)3y5y31squ@+Iӕ4sb/m1s"̩l/XM<Œ>6nt̀~p[rg~+)2<SȲU&!2f^&㛸CDjq+FKOYA|.ҷ'N,-jH:㽓o0>vub7FDg,i[!|qβv0zY[d3t%P1F7 ;CE0ZƞDi"jeٮØ5u~ JO6Ot(\uyvǰҋJ0ojl$^}&ʫ@ԽJ JdK˹L(N1TO\Q:ː-Hkq?OQ|luA^Ke ZyOyszBm+Ϻـ lt/X'7K`QFvv"heF;VIʜ}L!mwKK>.L+*huDg?A\eT㇂Ln}SY6Z⌢!O`Hq1)S,(p>+ >hHxĄ=~bHEnh"FYyL5m\˔qX3%*J}AQnQӖ@ꛟ0U}6DhlϗWQk7m$I<)8PoBVN>2EgXhԛx$/վ1uv늎**QH2Uܑp&=.NUm[G+x$m_6+]ֶ\yLQO(e5m0 T'*.y& ڣ񻦾OB"l!/[o D23:3>KQ Q䌼NtjJ¢l.ҮJ)*MJnDC4l@$OˊOj4"% SO1V< B}$= K$ٻ]pڮuu?3)A&\$˩VtI\Xi=RڈkŠ"7pkҜ-)*FEkK/o$,n>.Րmjnv31{-^bA ]GspiyHlцvzQ]0e%Qu~[vpM;0Qw>xwYoJ튇I4P 6=AcJx3`"%p;Gzn);A8%4R;qϢ*AGGdۡ^ iWhy35D T@msW%7hHBDR V'lD Ǥ陋j 9ҰgŃчRĴDLXݝFALm̜bl4)Eyě5DnMY­Ye|E\,D.+[#Gt;` N9.?҇eMsIHF)zx 3 9\̢:&͇]4l&<:?)7*f R$jFB1RߎQߦF?׮ I Fi!i8K =pKG3ǹ}/]9Fs (f=!lA6a.;XzqM\ImXkS*8{I61?p{Zŗ-UԀu49Ck9 mHݘB@04;1Y+].J+WvT ,!B-K q6םÀٞJu2}69-1.XkU<Ǒǫڢa3Ѩ:R W%.DP >h3f; 42_co61RR*3 W';>\7"Jڈ8bmC f - lSMf8[ϡlaYߗ3XVp i%q).'m3$6 B۠1mX5xQmxiNߘG9ۆ͌Eѭ >he ( })_s|c!qqmt~ϵ8lpQu%A.#1C*Fc+%1S&wy#С.Piowlmzat&QvJ9A`Ht7R)u W$>VG !@q| `lA2WiF;瞷`tR0ՐF{^"=~Ey“X(^a)Ikq=Чæ,r{ʹ"1ok}R|4T_4~,V.XƆDoAQ =~&#Z&8  &~ t + yH!mҸ*pgH* J 4>a@ Y 8HۗBa@8ql)l1k?Dy?Ű0&psBa%߂j!^!hF֋&hAqC [1&PCcYK;'؇t1ٝCߣ E9%B6KY<"rBn76DyL NNG ʼnȊi$ ЊHN/q+ xxDEA3DŽY 0 S-xH;1@cKFZ1nk>ɋ"XtDD**@ :ÙnHŝ G֩;]A9k'FĠ| sHȚ9 2Kl#o8SB%+nlx<,1{,]!dJ0;L;%<H؜IC A|^Fԝ@OJ6Ek*Fk+9B!*K,A\QýH.B܉= $P-:$ϐ9KH"R%DƀdE´i  9J{"O񰚁pj@SJ0/2Ӹ:kWXS(S ;]H;=EK `(H?I5VDP98&_\˵*VKl0MTq +%}K r>6Z56ZUSw@`>ZlF,|CiM.%i׾@$%XVȏ<W,TM-XlĴ0DW QWF[ȕ Hh]V#ekUѵ9Հb#K#-5I^ tXGKM!-,8屆LaL Э{T4dE["8 qՓӶE{s'̈Ҥ(iΚ׌9+4KeEjCC"R9qBQԋ: TXsVKձ$:JS2< ]8rpA5غH?LP).Us&%8`BC\Л=kl)XDIT>-Er]]RQ ]%BU $=Mq܊͙8`!-VGsWH {Qd+H F;W؇Y2Gm*@|# A4+׽YaPt | 4_7 tEYqa T[x^OE#V%-iaZW ^Sc.GsBU3^V!O%ۜ^ܬrc<^E9D5`L8D)G2԰@ Y>R;ix W;⌻PNI,VQ^>> DD%!\S@lT\n~e. eg(M[p"tOChԍ A k}&(GGrVm*aI$4.a>^6%4ּ{- Eho%5:._!a5J]0CVe!= 9ε&hظk!cSE҉e)O4'(IXGUjx=1_ j=Цv8BoN"ADeqkF#0wj!k jI\i!5.ũCRnUkukf\e;h_ 孜V>[sReƫkohΈ*D %-47\ N%l6d91/{_VXTZ彠pbV=U@ fl]?aQc,([l*.m)ķ.WG&2m+Ԩ| WjI2ub'w UhVq^{&VVaх/.j4^aXZ:A#Al36s#qk7`Oq(_&,jŮ 򟊂-GSWk/,{15Z}tFn!"4lanwI-Rj#vFefP\Ķ:ggĈH$fJ9&uꢎW27)uR.TeS[{T,raW1{q:@uטvn3~wQ0Chd5vs[JwqPToWP)xur0{Š7s18ǘEˮx`P9gPb2XrDp` zU бF1MxfFr͈8-7=uk7jZvX5 %N#U׊ n8y<߻|ڍ9%Ę-D _qDϏFs z>&19ܛm ;roȞiq.mWRۙQnOc}Q.~!HG>EAscZxj};}!>֋oNF9OwxV碐(dԐ^~R9dL.((~g(-GAA^id]|=adH$Spj\0 g I7=e'%|!QJ7I{,):&r_u_e u9J*(ާ$¹g`^VfQzyjk(5*sA% xg{슦r ֚}j%ZN"nT0%̡<Ƕq,j.e%jdg7yyVTCww⦟j 2 5JU$Dq̫Gizn-h"tUM)6.t8L &y6,jAwI(T"ypCuEeeI+mK%٪ys>\Bv|χ!7[5d QK9 8CRHN,p -:;憝n/nqක8bCɠTyQ|IC\u9{Qs?mB`+Cx2 pk\z< h6:U^*X6C PACF+ +W5I8ڵ1%P,di!YU: !y6:f_\2^Q,[C#t Usye3ƶ+L a%iyWreYڦMZo[>>+`%>"&Fἃ4L?YAT@)^'>"5dd)%aVT͞1NeMomip1^Pb-Vb&j׹y^4Q%YHRD{Qa'@4HVR=LAdD%=QVШS->܁]pyO'&)mfc1lUW)aL~'sMe&D~LuQQ0$9Bh#X b#1'}Y& u.c#N%"]Qg*%'W]jgn|B)Ҏ,R^ǥU_!U lVHƠ Wa[evj6, 6qeH=fRtKvj—|8+BS>nxTB4؁B^~#%L&`eC=vW750)6gD́dzQ-{NXD6OzQ.ۂfR!~U^+`@l ΐ:50T,8CSY4]!"AE"Ih̒ExJB`-".0zObY*mEBTµ Ef1ު@~ ܹaJЩt4Z:}iVm$MD喑]!s:<9ZMx`qgVk JJSؠZ!ʼ$)TQ!^NΗRZV[6iu`MaAX-.zRC7pP F *YPIDlbEMKl!,Ѭz͚>jj檣jELMڞ\ ]/ 2-n76SY~]41f76Rl)0dӠ,tl)fn Ȓaazp̯90! ;\ܧ9)&X1ޠE*Ȃ#с/U w(ߨ1L6؂Bh7Ƞp5^39b(V! 9]8z2`/Gp{zgԍxDR) YYP8<MYlTX1qdRX&!5s03Lt@JNԫu6ɤ*r+KEFd3=3q\ o K-B 4ܳ~-8b#>"<"E/#wU lXV!K@Ai~CO@Nvj,tOt #Xo/>)FUKZsf (aV{G0O9 Xԩt:y=EhqChÈ;Vj<᫾6’%0֣o!Ao68ӣD>eEv@BLo'E\{]LDKPQ_=Q #U#:B"\7, 4VDŽLha$@$ƜxI#"\F(] 7bh!TM8bAU8V4wDi$ (OX7VnoWyM0#P7hFR97n?m~]P+hJ7'Y`&Th4^Bv)q@-u"q'fhYAp%مH(Y\a* Wړ#hCezŐid 小';h*DT샱:EDPsӝXNn7~Z}Tb|>JC McG+ol7(j:te DPV T:'"W̜hsiU//[DRVwls@A,0>"qbΠ@P'}VAWh_ЫIEaz{o&pw>#1q'=4Brt|.@媛 W8B5 ,)}p>vF'h.N}ѣUAREU{g0bKUc}z{LEط~uRĠ__[d>U$[ ?\@D(#}+pI)u5F*W[ #{%nB,-)nLW7i 0*|fv,I*C_]S5?dmmԑjrxco8ᥰJ:9Y+̀C^`fZh`Ęt=>acP^ɻ;֧<7sp?ږ$b#d.J/<%{V*"%ߎenDpD]t K5pipbn)%]y v`HZ-a3Mc׊c,[i\@ۜtWIG1d=5]f{5ՎnhLjw8w}R!<8$+,>zs]N k8r$%@)9? ;8 1x|{〈=P! 6Ҝ@;\{rPP!Ӎ V=ޑdK0BB0eTworu̡ǟS":G*cI+1s`%IDɍѐ3P&Cx+Q^}`v<w=Tpt@DP+E( XltXpz"1խ&^f!D< B10Y2)yIrkA<35OJ)ӆC*ZRA# >ڕRPTJU-퀨]~{+jZ8kIU>)%kF ZfыzQ(?Ki^ NB& M[ ưqqS5U8`L`Jy{Qa 55ꦬ()mX*׷xv^keѷI-AZN h/QY-E!4\SWr eC:<4"3: ǐ:F#BQ^DDU,qh'^9LM=ʢ!̿6.Ub ig9Z2SDYv 8ɵ m1ˇg:,hEe CHnyhC:F9ty-%wڗsԬF{k6QK e 2rLRSI!}Bn:IҲ]G& \%yey$umDiwZZi,b VCMJOba&mk9fD/y 8;i!ή9ʼn@0?Ď/SFЕ G7粴h=`GzG h oH7Y`b 7C:Fc@q-!i:* )g V䱺mVj4M]M SifVTqߦn<J; %"Bq hq. YOB &@HRƱ'W"/Ĭ(頤)S0 v*p9Q 9v. M6vNޑbށ}ZGN2$#M(ʦ6G>g䐊 RNFoҧ'K믴 ()ͶL%A%qrf2.ɑ'SI1%*7(HJn'u R,2XB$ 6Ҁ0\M%;b2VL%qf /m )S@L*ybsRQIh/9H17p*&$Zkn)XH.5ĀN g&tyҖ9#Lq,PҰrJ+i,S9'9'S;6f!b"!n§2f48#39N61M?i}>(*-#?q7+(74@2BA{N!H;Z#V@s^/Ctp4q(I` BU$Ka> ;G?TMQh/QF(>:4/kk+-Hdݺ\wJR B2})nJs4ϴ+Bs> 0tGa5T-!to>r Ao6FDL glcLͬͰIB tFs-#s19 &.RJ95F)?s& 'T[!:C%oX6Ӻ (66ڴYbnr\Z-D탒ZcHHJ{26E2gt3E: BsA4e_K7FJ| )ban,0G86ea(YT^I”, Vϳ* HS/.4iUյi^BQf9USCfGo, *o@h"hJaq-S*j6 6uK]3VvM,v4Wi0eoOGUS[@mutm6uYb"p o !T',vp V4)0㈔n81Vq5Ewxo-((r7s]Pt{LW@A5IfATxm*" e q%npRCpk$cw5HKPt4nNڕkLks;.n]y b:5.Guuk`>̀`I"}m -J2Fpd6:bIא|ujS]hɴtazyO+fJt(P@vv*OU {Vu>̅lwG'D'2v{>@Fp2Ԃ9ȎW@W9 66Gx>tFv"KpmϤ7q7pTh$MaK9sf'׋Fw"Y89R\Հ=uxGM431Y)*@=X!%,kțVrX Vu/;8$֕="zPȆf}S@b:D#JyOv[)>ȍ\B|Ѵ=rts"JP{9-ёg;r'n6#%-aI:bA@jQC+@w4Pz $b-0LĶ{m pljP 2,A.0D^AN:?5 ;""HEs%=E϶3ų !4@uW +XK zuՇT!D)c3l &>Gv53P[~xc;VI܏ݴb;`JuꊘMc8^q!8uB,%뿬LEL[DMDw0 @;+7J&'FELX| F[i 1!ݳ[0CHE?ҵ_M%MVZ'|@4b=s y>Zp;kb{ F[Rqۥ7qkf_ tmT^7͏GMB Z)}g#l1R 9Qē(\ʓ/UV▅I0_)V BJlfSN.mIJI=yBMuׯ`nM)6͝O]%)*ɝ+wKmsսLax:%rk/z ̦H3g[Jrs3c ,J'pv3eOĦM/Yى'.YrgFΜ- %q΍}*'}}U+y)ٷQ.;^.^ոSۦ(m_6Z?-odJdMd\TbOmqjG:DM瞂XODYƩXO&S&MYz7o؝(J}LMFYc)ewqdbXhM_mA)eb+s$X]}cPE)iբAH$|N^($yfA%`*T QbMm6ZqnD^u[F('J1w7`zzrkR}JKVpr_fOQ#ER6^BMd5$i޾[._Y* fY~J0b{j'ui* a١MCawZQG%zk޷%z%7!QkY)d]B>"REtԦaw Z rB젇 ZV.]r.鲁7a: i*ry ߺeǴyQJ@SW;d wrxGp&tT1OF0/R*hhM+x@3kW{reh zE0&搙QėWVwr`;9E\]PHN܉Z.ߋv5S-2.ژ%(GKf݇=KF !u,rg|7߱WT#(Oq= W/vbM OJE-40X ~ظ21Q%ddymޣNwܚd]pNwP{`-A5dB:{M+,"* ?l~ ;Kђxp/eEjO{1pȱAG+k,E0Vg'dhgm^ 0} 7iaBXFTF)p#-)(AQ:|g}ӃI>B 3hAT B48,8#P8Kx&RׁՁW7O ^e+GKYH'z,A)X6>JZMyfI##-I2IR= ۰! ]| WPB2-enFoGuPѐ,>҃x1hBTm!g*g.'(.1=x[x҅7nO䋫L3{~$11HBCAbsI(B %d}@ 7}3gb x8=@]V ك=E5-$a({vh<718+1,A\ KyKNOど'sHECT֌HhFjv^e+kBr6~fØ9G|[L%a\w y7au`b@]̥97`bER+CbpFC2!,IǖW8-!*aBMEl!Iǒvup6A19` l,yxcq'Ro+YLBC=DM$> EQ<+vNh 0Hoj8wX ~VO]FNMЙzYtB&+%n}DgJ n_v|1rfqҸf]4&[ht&Q}5;o'E./=GC# t}ӗ>4D#2yy8!zI8TωIs UcKNJtql*Tij|gT14"'O; weBWɐ,( 9ڰBGB3MXyNJB @ᱏ(jѥA2U(i#ƐW<:tZ{.9È`vf7Zj3' W U&aWULɧ ƍҥ-qJUibPs#/ԕDw8N(`RmQ2rᵂ95-* Ojs2%3qK@iQzr zym9%G@p%^|PjswI8=ҕCi<-8gMA֐%z7<~D 8ݐEBH貈3+\8ޠfO'A7Ř实Zh^7e1PO*%+Wf^ ? qEd&|NkB;e|#E(汁gw7DG3gBq#~!~~a#Y;V)wjvצZEy1Vy&i#q:a_^zlY|ѮbT/b)$&ݰ-yJ +>P=MQQcG]s*gTШliwʗz1:"$ø*)"k{gd٘r<,'уW!}clpJq_Ur#ŵh!5Z4=y.զSVey#owp6~c(d#%7+oFN]8`vs[g!p*CkE^FElX%:A5Zvk` xtg_tmTs"B7΀,+{/σ#aB7ݢ@? ]Gic?5h0{2i_5H,qF1v"rKϴsM*TҒ3ΣTZ<ʄlz(UlXcxINm[tQ=uM%[&mAWl2GJɖ[Ʈ6Î˭AH'-lU&\9\ twr'uL[%9( Dž 1#hlKv%&FV}$/l ]9ʑ|G9m'FH6jo|dXuMFA1 Q<+I<'#9|pdy5k>m`ϲTEdXLPHs7{;n];ts@iNJ=+Ν̷`Ë z͎BZi:Bmk!Y\Ĺǻit(V,>19j*ni^Gg{T=IJ=I5 IH2^A幀U~g`Gߍ!&({"%SJq1}lE1gzةռ՜` c @\t~[]ܗ;.< ԵkOΣylpĘ*rrRMľҽqCDţUtNK*18 KtrEb*p~ᾒִY:WZ^P 0"T8EYh續S~K~9J8O\ZПDZԡ<M_nuN{j鵰mh ߩk&cʿK,և{^W?HmQ@o}ncUS0s͞G ]!sLcrY(go@tUƅu?m2eQRA%S"dÂ}+ \Ĩ0* j!I GZaG+!r<3aF)(!I%1#Z(QB1sӧNP N9E)ԑ:Q%˓cY^B:bҤe^]^y5ݼl WzվJFHۃVP&5s&H=vZ8϶MƥY*FG\.`]s~Zms*\l_]FʛL3h{vN_lNF < ; S*2|qYSXhAhW&A%Z^lH}ɦ31z23o&B~=#cJ@׼.:={Zh=hېU4# |= s@}/%"1 %3IhU•D± RpF=Y`$&4}NW% [qD7f2$nhrH ߵKL.=) DWg6;!bxhI :$iQXʶXQIhu؞3,̢hJ~$m5-(ڃi?4b"ض ph6viL67#7.≃)Trg0>ipLDZbZ~#̈K^*QJLɎ.#%ADz+Q4W|4K%Ĵv t-$NԥDq'`WL{ Aj~舭4*(dL"P >Nc+RE}Wd%acp9UEYVV~B/;RϤ@kJ[A&3U>*.Z)-fYʜpG4F5&Z4V"a{6gD S"J2)lCZ3~UF:bF&UԒ eJU%Wx6X]t}I$eQ'!tm>]XeK·x6 <;0 a&ՍbJiq1<9$Ƭ fIW=1EY(Qoyه!KYX!AWZOhm,q7h3ރwg /w59>"H ЍrWy-K僝˧K;ϥݺx`:ƃ)ΐ 0d.lI!PnO-N?vΐhϪj]gAr̵ve񺄟|C|Ϡ ;P*Qҩ`)&!?1h}caeF_7ڨH%S66w]wxE|lZ1\y4{Qq}̔@xXB'z(aG4KjD! D÷Q,Ј}5Pl 0C*Xj#oؾ4iG)B349, @׀?c<3i$4qL*Փ9&B;*۽#[3a@R:a :J Ծs{eҸ7,V<ɩѫqR9I&IA>pBZ5rxhm648Cpm!Dt@Ç=GDAA!F7D9Aʠv+r9 nv{)mK>ѿ<$=p@d356 eAj&p*ٖe)lȦ8x$DBb9EDҠ#zC?3wrF%OJs [ģqؖWGrGi.@8FnʆuYHZ`)4:Q=B~ClQg`|;.32ѻ~R6=v&4AC|8p!$`$JǓa;,< lɣGd>{)@EmP}0OGK}(4`rRʤLSD!Kc!AJ,\,  j= * 9h |4x]1@=rMol!:c4@Ś`ItJ׃oA "N. O1qI:6qJI*v!oOijLKKY܌W6K=0̿XM@H̆|1S4ZF]Dգ :L4V> ͌фF $u%@5g eJF$1Սb. /]WiSM7o NܨpS2 48WCSO+$kPq*N:$AJ "p>?`,OU$j !L4W.$x'8KhBPA .E+M6P&MVl<<YN'=I= *T:: +p:үưM$XٵÄٓWq ~W#LۦE+#'N9T<2 &ulNJ$VtUGuw)oɗozo&}&tt!:pPdl3l׽F~vB*Y>,qٌ|֝ϤŦBCKI ,}iݬREK9X_AH~TmM]Vm?%HCd{ݴ]ɻh*ؽWz$pRi<_]l"m^k=%eUa }\_=Que::m1IӦSQb%`jBmx;GB(淝rB+aBoض⪛ lh&rW*橆ͦfEZX7yܻDG9Вlʂj{w08;wXJ%4^4f/={T#b>u.}[dY6cEI?bOMbDBbWP*mA;IUv2^/FK=ŻC+>OG嗚 qVS&Bsf{zgehFDij1D.* P"ëihH ɚ(M2xmfxiuˌi5abx.'yW +?rRNkoꚐ`!؁((T蕑Gr03klϮo'*,)/^20a0jL~۾+" CF,F֥,@KC+4m5G#"~든QiL <^҉og{:0~ /޼)x-R1(m*ٲP>v,Ɠ? @ @Ml94}Cp*9Ι[:;"7#!pO#op):W $nk}:M%ԥ Ή]=N*I"):{1_="#$h(9i02/~>כFrA1At%zқqkփ#ᬽk@͓Eo==>s) u9k@q7/ 6y2' _㶪uδ@'}τ'G".Ćo_;/YvEn ȸS'vʊJF64PpCoȓ|CLYJ˜`T-a, tL1W-NE I@XW>3{F qPf̂,E',z-&*+Z--o#>kq@} Ld$?m0?LhZ ;X\}4!Q=XJ2#zz3 (@*,l:qbk2V`LJ(VmO 5 XfӒ[5 6P`Un].o?[Uڧ*Ѷëі.ţ0](lڊjߔ:y"ΎX  k`֎%R}m=u:Ţ؃}};S\󊖕isM>+V*=0vޅCp۞8qX|l%SR*ieK1[Jt-X8Fk%J*RʏiEJPW"S#iYbZ T;ҼfI˫0ײIKp҅KUڻxNSݹoJ*Q"V%ʴ{ 7ޣBТCwc}2NZeW?)-r#1[DG欌e}m)TtĶʞ4'3G\|Ȱ6p7 7gEHgRbܼSʵjp:;9P(QF!uz)vKrZ*7PTYʽInfyHe}(U-VhZ krV㋜yhT+(Z|f$k!aj17E>F@Gɥ}$!4Eti78~ i85X^! acwSPքK6-dNG6Q@``QEť)c,5Un4Y8֒{lCK59GKI 4_6( 5 N7τfOi fӧOV8i%^;|'8e#TdXSg%pC$dq~в|.9D3iYTFdؒzmRV6ƤЁ cU^b;)[&=b =#$%niV6K ;\U=yD-*Q%ԐĐ75dQq2|i);U℘[Uh.KOHQ!sa-w IT65]`w@RwL*~ɳ]->KS"f*JNESNy6 E 90?P" c0u #u-*0$%o`@/hp౒k)4 "PE=aKυ]FNts SB(piz`3o<Q+2j-IQHH]c" Q"x_@Ap\dzTHFD.kHȶn; D\ xx1"N`XO~8:'QAq,oIu%L$"|K&-݅²""ݦMERˋY+Fp\SQ8ό{KQAzk hBEQJHW5ݢ 8>]KX*G]6àAwM(#n|#em*=vHC-RiLaHeWO&LQ"*UaՆ|*_x(Ȃ#RbYP0|2 #O+pbРE lC8w~ \lY 7]<ֱH̓"W{zV ,t@C 'ŤK}!:aID†d=l3V%܆c8F$) rtu4V6f Frg}˲ Ja#ޝb.1f)]x㟼Rճ iՔ}~:O= VoeG^_!8y_ _Mï5o{ ?>OT̯mz~~[?=>o4a>^D!-*`_&BN֞t`:`5_Y> J`Q_` ~jL BF``1_ ^Z  H!KKWKlfai!LLGʐn#qKa:(!aI![W 5KaKȐppK!Ra" !"!r ~"$!LZ!La&EF"q*(F*rbm)nb,"/ڢ"0b/+/"0n c .#4ZX.2!,#3b-W:a%@ab!57J"ZE<."@I'v.6!#N";n!$?!& Q"!ՍC b<6bA"bfen&gHg~&h%hfd&b&bf&k"&c&lƦ`%lleiަn&oZaeefkivhڥkgq~r>tZt^fueuu"so~g^_f[&d'z'zflvd*gtrfj֥vcv'~}gg}'~g|w&{xm~y'Fh{f>(nڧ^h^p'|uvb!%, c H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣHaXʴӧPt}VReSWݚlX[˕-ٷpך*Wn[jvUw d +u1n[X˘F.sblzʗ͍~,jkM0]تj\olN:vg%6УK|ܩw#g YPmF^Wj{M]yN=~Y\9ue z'jUvȍ{޷]rG{6Y|= (_蝌4bUA=֛V5'օn!J[vDb0>碊8y%)U`NL9;XdUjn(wihy[9PYUR ^\2eS6Hnpʉߤ'"nf>$BX;#;PV%ZVXi#J˓܉W䵏^6hCwhriZ,Mǝk>X;h'tb<+ze @v#xNZ*u{P3 r̔ŕ ՝̕}V^`̣+5ƤM9BW1 eI5Vts_H6`cgY^[ZX!ZeOm'n;@&86"~6YV]p7˵o>B9+Y ax ,b4le}S'8e54VyVb>N5pI3Mv&'SgpQu[K>iWU>dQA#>VC,Wc]6 JxUA]:}`,O(q>Lm"H)%WQ΁\\( =x݉W@V;8^-dfD QKJceYjX`aeEM;yVH7WWjțISjI8S!Q*&[y#g,֤ڈ 68w6plcUBp]Z+⯦a8"AVj 7WC~fv(Jͳu/EиCPˏ&VQ.+2-iSq,5RpTp&>ѡ3,{<ž4. i߲A SA?E"Qj$l4\@R_hYB9aC-_GUsZPCUZbx+Udx!hYPT=t~8bie ; mjLhG>ڍ X/Xu-+x6ѷqŠbQs7ai EsF޺u 3[b!JɖܔWn<rVF NS,-Cmu+;2G:ItciHC_-7Cˢ ? rӒpU*NGg*/V_Z9/-E<~6FI`¹Z`+/>2zDώo-La=Y CGegHI>-Q!@hϬ;9o C¬mrˌS ZHg7JIBfА#!W0];anѫ C k\ [=ƙ:ճjP+x9d 5z[ٺKguKcrP%Z~4`_xfvH%-Cԩf4 hROq;K8^u3x}<y]׫O>d~nLGRl8/x`\n, ]V@7ٟ{Fi/M"EC:|rM\*o{]R5jAZSKhU{U %wj,Ouju,=n)ɣu]Jejй^ғwEE܀GܳY}q*y%{JRa>ro]`?\2u8N>aRioen'7gbZ7-l̫!SHOϿ8Xx X跀8Xx "8$X&x( "()P!(5489<؃85-A>xHXFI؄+hK>HQ818OWN؅^`GHbX/0l؆npr8tXvxxz|؇~8rRx؈wR8a 0V؉؇ kkx艀( (|{P膼h pxHxЈ͈{Px8،HٸǸ} ;kX(8רx}(爇8mvx㨏(10y0X 8ٌiُ)ykqa،ixnhuho$lH iJɔiP1hP2yYi `h6FP j\l RliX).2 lin ˜a`t])HH xq9nH]kkؙi/VșaSYp)2YkxǸ XA&YhzI `9qhHGiـl 靫Xi㹖Y/ 9>9im٩5 {p ] {נ ٠:ɨ  򠎱P0 z:p(Zو1qjz +z:Jq`(z iܨ> qXj9E؆ɤi:T=I ~Ɉ *ࣘI }Сx *x#Рcf T+ &銃PzXt{q٢K Z`) Xyȍ9:bI o9N:FJREiȆ5m*醌i{ *bi!Sdy Ўtz8pmIꚚ=y%ʆ>1J0 jz뚢#*10Z 99'⚌ax^i{$j{& kQj"A.) ڰk٘.D@ʮ#{JM*ˆJ7:{ڈ_JzlbdZ@)18;@Ɇ\ijzm zطj JYh+{ki@o˙$醛qHˢ[ XQ9I*up6 x[b$:+,Ey{w۹{kY u[+9zۓܛʛe;Ql&K޸ |ͺq}Pzlrȿ& "\Fk%L;ZâA ھnظl l{ڰߘIJʽd',$ B{L7UabIȼ[BQirܝq5k]z^k]ˑR;,1jit+1J8{P9ndle>Fcibp·I nv ̕v. ̓ʈ`߇rx啞难B^~ꨞiNј>xK븞뺾N>^Ʈ>~y^~~鷎c^~(ʎs^~..>>_^] @?_- o߈q^L|8E-X[ˈ"_(?&0IK) @Q X92󈚚ت(zXjd\>}ء(Kκjڧ ! <?+ pm;H؝YƋY_߈gڟӝMo9;;8{ۢ9 zX 6w9ٚKٜ9թIh~ۢ/Ýks9^ݹؠzЦF8*aH#DJ،XNCi$'vhٓm_z~G+N%y&nȰb,+͛B*25O Ă+bJ44N LrO,{h*qc,z^ՃWpϾW$;,ɑv(UESiծe[qΥ[]y';Xqq=>%2³i`+OHaR\H 2tl4"oN|ewƵT+Nq 8CB/1-2NrU/u=ӶgYU[C|V_}篿+L6e3܇2՜j"t- zBh:f:ݬH7@bl8Xc'jty緘vS0Dѷ"d)JkRrJ,rK. AHAӈ6&BC*pTLtj6'Eۭ#?MgGc;&{zG>sRI\+=IPG#5.cuVZk/4Z!8=*HR[1Qu=بC UkRnBs=cGOIJКB iYm*:ym"4CyETS۪Ǟnaa#xru@ )V㴎ǐL՘ %$wۄWт7v *_Ci ܎JCh2)>jv^gRF+ڨg+g?9!Rbyh+_k Pݦb|@X0ύW(y칦+Q"'x9!ZzMJ6rɝ,\['=V#GE|SdП).zD(FQS" *fQ[bHq^$cxF4n XLcF8q-xG㉋֙maIɑBif8hJ.̛5yq&pߘjf)oKDCD(LjC{Iαe!FP D=:r"YТxr+$şqܘڿ TMըZq8Rꯪ;2Oqd'=}8tdA$TD٢DB67ZEImiz=dlaouCKRRȭl-DNRWĢ*[>$[PYFAQU =Sر QZ8[hZuUrE2$meة=n!ߊtmUmZuڴCkj ^{4[ne5&peijUhpPvv} <>6,!욓(Ag]8 9I2&&4)Άbe(1pN`ȣ7gX8d(A(t)R`,tq-)(2֩O\d' D6(/d2@ CR< <|4y%䰌Miw_ puȃ%SWla qwl2IEmWJW܇SyH&/:-Z=VU2gnS>yˌ-GU;:lrsFm˜D'HO^f%O!➎#m(`bSb?NS4X[-/< \-Pi͐t/fj͊op )>1ha)3⟂*> rT(qD0v]!= !n{n~6g+gfH|Riu@޺@ά lUfѷ7?22]G}B6AF5 }q~  !a2N RyuDxѪ|U"Z=اn?:y=]Xg9Z 5G8>`gު~:.;^o]V3S*?'widXgB4cd7 J|)=;X=4: !z! Lطi`v^>X:TJٔƃdk:A @@>l6{×@y 6kH?A9 t;wHP㬊<؛8{y@Lc‘31ckz :̈=)ֳi1Hұbİ{[ _Bg䍐?;9hś)UDCj5c7t`!J*5yα}gҩ ڰyQ;;Ⱥ, 2ܢ~ʹ˝ [ȀJه9ԞyH܈ްmp- t牞2dȻIG< G᜛Ip4L!8y"ޱXBIGIʮx#j$[5ܫ ꟪ R1:h'8̏8pǶP ,ɣBi\Ŝ2T|A Ĕ#|!#/άڑ &zϹ#M fM ` 9`N LC  &',`N28P΄"5ԧObʏ 䐾򷊂(脋܆p8 #L!D[)ٴ1)jP7+5`O uyϺ*yPuAh+hO{LQZ|$O N0,uдhRj> bPJB.`T,t,u$S5YZ z4Ӓ@~T4U̎h9K@-H-Xǰy-9{ؑl+M,3 U-7]zҮyi.:5͓*JSB}xHHՔ<-qTKV!P4#0VS qEsׂ4Q19[0ܺ4;52!["W1d]";T@TXu01'[WM%#1dDE.3͞Q*jyخ֮1"C 3CZ}تXۇ9KV~5W6{R?%D?pkوM(\lZ37B;(Qk;(ĊP6\&Z$%6M}8%;%չ[.rۃk}Y{Uq?$Uz6!L8[b 5]mKelk[=-DVӥ <*mf(-7SIB i>PU6ճ^ۿ+8C1xcN#3KՍ⽼vuߑ⋰0au b1̓ó>\Du}}cu v5=7~@'^qq[71iza}cA'd6?J~d ̈`+ܿH@=fBⰸ6T¿ c݃t҃Qw; Od!LB;_LĊŁ.gaWplCU=lEh{滑iIi{{蔐?e%z)5uIn.K˚KFy"gԊL)fYzcڑ-^J~,{Ij jv yQJ`IIJ`K/G𓞥Ӣ괸IlI+3®'#{銳Mæ456& W\DT!,jgh|>n;*M nTZ]n$2n!>*Nn?RqN"2OQh';eo[qo[Ao﹐hOOb׼!B ]ܒ? w@Mn&Poo G'ߺ:(N#Áa| >pR>(F,)Gك$-Yq  4ggݺ}JLԄ֒R5>4-Vu:8.ձ>h;,=,ZT-0r*s.}TLI>S,G5H =SbÒm̀.V2U9.;/ISB?r<TrUeUr*?TEO#?*VH}-g.oXWC[_iJ4 W|Ea$&Z^'Y$IYMm 6IWM+b.3hc'4^' #uu1cYrW4p\ s"TC|[tQ"مEX11w z0xVW`7Υ-XۋBg-\8U+8 . GeUf1ݷ-y8ܑ[b *ҏ( {a܇XٰϛOԿpߍQ%+Řb-f4,ּ Ĉ'Rh"ƉXG 1HCi(#paJ-_()˂) ̹fO?%z09iȣ%f΁;o%vsͫTA֌`ҥMW\ !˜0+S)WE[Oؿj}P!c)Xj_̝Ia_a:[6i9Lɜ!R:|Wbi΢<9ñC# :)Tph7N'{1gn:7vQ@J Q&}.>n^N!&z×o= ‰< I"5bY}Le#<9f'HASmt` t -Ce0L!:%zuz~LQE!EWZ=<T~G"DcW>c?RV Q$&"*VσYfaT%~0M!vU'r=NhI:)wߑhxJWXϞ:J኿yjOD3F=R©l%SU@ފ{"g?6sԗ$$^)eiJp h%8 gӼ a+xq`Rr/yjL! ID<")`鈐H|1JF*(fl&*Qq/ơ7d(YNt}>J:]:U"P)ެeiAJ#C 63At8׶`)|MϳJn4y}4ҌI]Ie.{7BVcN'@3WL.#QôTPk: \D 7$_ğGXBY$3!с$eB:Q ìҠֲfTZ2Gdш4>JE,t63ը{NgѕF$Hy*)VGT sNf 'Hu˗>TA\!#+ VD*έhHx+`V]5i=iNFooVix{di}KdƓ}mW!mOXS3,b;eXB$ц6B[4Z,h&R8]0-麷 ]osmzD#v+V( "„ 43=0vÂSz@j0(x/d˳j@]%}M Ɣ6>`RC2ͼl+1ҕ3cg@e~1rbSM-?0( <4kW(u1n~312EmCzHAԉpeZ;Ԙ2Aх@j3]9k4hNL}؁Rz4ܘҊ4萄Ԧ>5f_dϩ~5cM\Yֶ5AMFWչ5-PiY>6kRG~6-U[־66jeֶ;g6{MsݿNE,wӻЦ6-uۻ=p3? BS83j|$2 ߌ_NRȵS|,M^ʯsP\k5ʁo.lu&P'c4y$՛W,zvzcy̡wsi uD=A F\DAݽR|a~XP?mZ-#f9jd#zP!)1?: D3P{uE,ؑw W@a7H{HWl;20vP=d3r֗ Ѧ_?:طΞ`_D0_9E ZБi} gQʴ%YB|( WQ&&Ey<@C!- Ҕ$Y.PHX EpBչ4$Z,a a*]uHZSȧ D%Q ꇢ(ɠ(a&ED¡=7mјf!%ّVUBPpaEKa^ݓ Et$Ei]q p bsU ;3YtpVz93](*bEVi$GP06ob/9S:K7!c5D,9mc>9>tL\hjmq #W=FQQ?㌸#!IO3VbXa4ȓb!\Р)ԫT/aJE! Gt?vEڜOoEE S5 6UXAj}cpUU<9UԤA#Hn7"eE@>N%НK `SKM yT$PNBXI %SZU\hY=H1ڝ$ %V 5L[C\݁.GqYR~^)&HPjd"d~eO[5ZBZ“%dd<e8c&/5?bI$A"+j&})n)Z iVF']]]h`rqjT7nP\q`[\K̢9dhATOOJ&``g-Gnj#te>:Udſ%7VUC0G!a 'v.h~ڦRtnjr -Foג}WxuʰSΗHfhA!yIިt LxʋȠ9S<_LW'FFgx-(4z9"(%vB`>S MD,D0]ItbUWQ~s. <%Dn_ 0`e_)O=!'=d "Ëo_K&REvSΧ[:Jh3/T9x{c㽧sR҈jS#; URAs&=oS0գ40 cGKgDkH\]-sk\DafCMGf'hSF\UBl^H?30, o$'yڗ4HpG8½i3j|[Kf[UgxZ_uem1Ҙ_۔$r ǜiVyt٣L022K2?!1&D4 Ű;& 7T,}1+i"caJ6:\ > &BKvRcrɁ4B'NlI*OpsEOp&3TRA?PvR=.Pj v[^,L Pu{^|[_(J%?V \`e`?GTP5:v[{IY8XT[ޕ8p"n.i\cx7pb\}i-s`Lc##fU4%yF2}LY7P ߱Ym:2lc39x8fЎLAD&,IJk٧ ^rX{2QL^q`hG9~*Kj+.s) r`ZH60S §2$̲:AS28RmŸɸ:=, "rRoVb+j@3e0fHç鋴S-j: ;,kf?񾉚bJ_'!F;}Q*d1M=0?AsՂ+[9rH&jz2{Y[e dYqVE$Hc=l4X9嬚J yRѴ{4T%g| -gaRoA(orFkXtd{Kp55fv2[=c8&YF0e3fw& .76]tlm++@m)˼f[q>/ Q4&ݯܖOmIV%}%ttьNediܧ!W*&BH1n(&ff*h,b".p<(,Loτ¨Ʋ,2U/F"O`'ɁZFBoϊJg/k:a:  iJ0m"kv"elms:vϨ\CB:h0$09c#o3JGPZ.zBPL "i V"^ l Vp%Wh$ "w2KJ*I2N$ bh!(6B%^33BGn F:(Q |^42Q|*,.}pQ9Ql Azj;H6$1RqBK>Z'ª0lҧX¬rFK3:`e?dk_?(a\+ɰc([&?!(ڄ(?(r%Or$)sE>>s1??)<4 FXf(:l\ J`l@Tł@/ A\A_A<.@*(4 Et#K8MZt(Ǵ<討z,3BE#FD^4EʂT5GT=\LBGfB&`(bt&J"# @Fn'toe$N M4W,re C眬t=Vipf;""툯0%+""1vuU p _j+S8Wu,WPfQMQ?7v$aoWerP>ra)\#e\PYv,Od$RHetu~ɂowkWY7~͐}w0B*F7bl>J|ط.)wz |WrӃ|!B A# G;ևoxvo7\vC10o'KoqWFW|'~xu1VhхkMІ;8(> ۦ`Pf(Bp%#׀SJND7?u_T ǐ%4Rg,V}yDҴ( i0kԊII7ԲPms) Yy oU p=o #DcT  œ}%QrY%qGr oyo%qRZȐ丹ZRq]UV#n+ڔ[vp/ zq4l䡤_n q7 $$\Qݰ1uuz y q.K"J6+"-sr'!s RqR'?-[, Yva-C$XH13²28:,Z]*!&!-(CDML<ExE@ZYr{a<2)$NHo7%U֮[2-ݺz)Y&M'(Hu&JrD/3۹s<0!;&s(s2YcInVۼ[/E%CeCTqJ"%TT$m)ҵVĔTnKyJʈJIfF Pt±V_IkM)LHiȟ}M<>kcKgU>nݕQxIiCܛ0A(n8Fzoy +U /*R#ùcq6XBAO2WtS$@w=YAzq#ou\DJJ.>%qߵ]LۙN^wQ !=xy￵^u1+zƤT=.8kgX$t3  )L*ONDE➘gxhBTNAdp I LSޜA$A;~ Y !e#I/R KCXL^C9!&|և<7Hsԩȣ&U /Sɭd_8Ϟ;lV]vyf,G4%UCݬYŚ-JЮ̓]E 2Q.+mK,wF}U-[ɚK:Cwݼ{FBć['}ʥ&UWj~5M۳fk?Qbײ^s,p;LX~ja'}U e]x;q\tS@\s V[wPiǙCq}etTюPaD\BC9cgzwL*G x/Ec6m8cwVDY7U]("AY)SP݉g$'\qR JUFpe+~$tM!#dӡkd#D']3%,-vXd>}TsөN,.Ĵt0C5v4M?m3H*B옥vO#SWg7qSrtSm,V]_J%cNCZ;&$4pM$hTb/Td75'^.֝^õ6[gX@oC 8;9zYO1L_/aSEJSw ]$s?THA=WROUl@ZOPA*p7X[`o$E Pײ8X _'cb/:BgQ)=,/,Ĉ5涒+hBቋ "ϸm|x#gBF{чqH~Ụ@ r,!3l# HJr Jjr'? JK򌏡,)OTr$*_ XrJ+WX\r!I_ s,1G\sl3E>sԬ5Ad7yl ,9@`l;[J=)Oms/9N t5%p ΂*t u:ЈJto'. 'D( ҐBs]h)03"mKuY?{QMrS -=&icDk>JT:}ou=4=v4X4C.|WGR1>9)g̺N LvQ0Q;"),j!1 Lmō`mcy!Ie71-)WPG!d%9WkGtI5j">v5!@/jt${POz }H,0:rFg sێՁ,5MX6(hQM\$%*VO}d- AhS[7%:iT@ "x+"YiH $Zz bl*zɲ`qS.x >h+BђS߹Jo)ԸmxKt4ʗKMdi+>fMF`JxBXOdPś|NJ4ZDMN~mqNk;yϯtq@A/Џ[ DJ* %EϔM1Qƣ87x3O:>BpC,'R-O3K/*uAh]\5).Rؽ!Y}+ Ώغn6o.ӳ5O1$ÈT}SEՎ48(u;7 UowKMU2ZU}Vo[/G!RqosO 7}'h P2zFV03mi7Qtoxį ,vU:_% vI!yUP,dp+_tJks.Ia+YMA?GS{.Ϩ٪FA;b?G;f;*!.8K 4t-irXX+B oxDC Jj𙊼f&x _sK.:na n0I7!^\r="J'e I_FK52fnܩB#Kj ִ?4WN@(^)}oqRQ}Gʁz~%zc~UygUE R";iQx[f%Cgc&7l,} 2H&2Xggc}wp7 |W_&o2|a'8[1L`S"XSat0-Bw)2"bssNa+ aC.2Ab(%r!3T%DP-u‡͗1khZ+^/1`4'3+b+d/w%X3eacc0ȣ8`/C8g=(d@(A9Cdm=E#H>~CFR㍈(P-CȎda U oE;؎H܈ȏ:c{֏)3iY SIvTqlXR)Ƒ#ivV'Ov+i֐/)3ix{w;\5ɓ?i9l$'@iŔQ qruG sR"OY)KVd%ram="Vgp:kI\rAmAsSuxuyUlɗԒwu"X&Fzb*G%ٗiH>3!~hT瘗YIy36Qa} II^$AM(k#Ez-=؂K"IHG|B56WxaԢsG.HyGUxc=aƨnHi`t{sߩKyf K hEȞ 4ItYJJZJbjD ꠡ$]ZH kʡj?١! I *%:Hj)D(-C 1ZQB)2j$}5?:yF %ءwqB tAƣI'rv+r>klWSKfH@JW(9dJl H>؁5A#AqRJC\ow' 4#fJ(Q3E uzB4$brYjtl QuSyi1451#zID8{ZGxyZyej}l(}>a|7}l0?e@Țz(֬#`|z_u'۪Vs}SQׂR *#UaY"d.=/XX7֯z(2)P.5ň%D11+p^zxi>DcUȳԹiH(H+47+9Z;3cop3*KfRZJӵ^kvSIςSuK$QzbEy3Vv2kN $ԷkkuWj^kgYRZjԷq` lkgZXu8{mڦpwoT!A汨ey)]29!qpG[Ζgv5ZsqSvtʼ_Gu + q.𼴠Zt.d{v3{{;#ѫjZ낟C 8=Eȝk Q+1Įw1haB:˧\D~ |g14aw`!0*jh=mB#H$Fh:=%좰9Om!KC-{{W)0+474#bRYbT;|Qè:?{<|8֓;aS+)(~3<ǷnyvdϚ4уz⿍`\k{m3|HKtN 3lnFuTֳb'&SyL@l6i[|°U{7@\\h gIԸ,# ų;6zʧ2᧋ ϫK|mwq&XFSE$6~L]5ϛ!+k*oe/bw c S.Pf9K#̿ ;ڮj:[[{Z5-{R\&kϊ0b0ml7,'A>s;Y*kJX]AV >,hvB;mF 梄1 ֕vsJy^\ D#;ƉXplj L,/ {֠˜} C6>Zrdx'T-,cJͰe sf۟dg9m;!Ip+<˭ E,i˷hHl\|QӸj͎<Ύt@ئxsϹ˧k}o-]*S}D&7Ǧ:lacW3Fڦ+] z;)!.؊}ZZl^r,E5N)%+,;]㛋C^i]t,#t]%q>sdұɶ" &t~M^͞*ݗ.n^zߎnVN]LN5t7~3^a[.jI:0SWQ~Bp>i.. Z‚D䠻(MfyNxB^#|Xd3mq 7j׷p- xp31󔲨9T׻JzEgm?uqoQ+k`t} &wVlwt,2z2WW&N'PBJ,L(ּ-^ĘQF=~RH%MDRJHXSf̈i${p=h4Ϟ;l)a},4c:J(֡Ez'޾6=I^IJq_} kW RQ5 4m{L3ݛ׫C %cMFZj֭]v s̚ 0Piً=ZW͛)pbR g<s7ܾAcl{Xj.n)IݍEu;=w L7_}_•MB *L6]G-|,86Db/8Ae88d>*ZdNe_8fo9gwπg{8SkKli[^) vֆΌg8qv"(R}a:%= !-ZmHN˛E;OڧPvn!Ҹf|l?H1"yē[sVU ~nq_=Oȁ9`-:J"EQ{ɧ)E a+BiTCN)GEk@WJCbi~2zzZ1,w"m"o{ݛUw>~M-v`f7-jD j?C,&[zB !݄aa)8B" қ2!ysC;DLbEBRB⠬=!sG!Nx,fF^cxF)n>DTF< f!`"q&^9D!1A &,>) nv3aeLEb$)7,yFٝG !Uz`RYZ"tAvC8qOBlr&fD!=0ғ )YpP#SڹR^`(siY6ݤ@엮:B/6!4JlIR*A)n?9G15YbxL_NkdՌFrk|$Z(u7%,m05<ѥ{*J%ÜG]|lInWӊForSfjb4RЏ"HS,9n5mQPW =Kpr[Y>2 LI([RB ӜG6#=A i=ŠHP@A B&Az)*)i:/uZ|b4̈wIƸ9Ҁ*3+0DfA֛_Z9R yChVz8s`rz ,B54huٲq2曌"%.0A1D C8JÃBj.񂠇s!#)X>J.`.p -y TTBT>. %5 X:BpLC&3,F(EVr 7 C8y;1ulJ`h<ޱ0 m}GLU Exv]B9@¤`1[1H+oG1ǔ^ksA3G !}KGI`ɒ 8s+3)ɥ4i$J2^:ʐxʯ[*S= 64&tE4 ˺ODW57K;6LhˎKԈe3t̎8X4Euɑ̕([̔PĊL@1{dP49Q)9zocԞYg|#΄ *P0XK0Nc7˹dO/tT JHűȣY ?28\H :Ao}0R.|PEě#ML4! ,%d%ݻ1OjE]s !x@RLP:@aed QZ@D(&QShRľ+QJ8ľ*ϳ+ů1il"&>\+-s*%:%@' ,EJ-A@{w{7uJU=:}@S%$S#{Y#sb)X ʘȘ )RWT;UL9D,|Ÿh !`A;.PQ`?0JGDiƌ :S hįX4hD?D͈7CIGMHųZj9؃xmWLW6/lѼtE+RE-,Ɍ=.9!г؃$!j#IY;FM-"hLZMQHkF-.Ƴ>UY5XǴјpMq[*jY0i0{AG=MsU=iRZ-F[;EZ0쉃[K ذD̩dT|?7Ҫ\ټ dd\t5J@zZ;1sӖ!L $]1@J;]hݜ)+dՔ8╶EڎɓL |]콙8]PKl]\5Q^U=:YnjxH(Mrӡ^v_i_ EF8ND9AތByNM 8,܋aڒd6ܡQ$O y S!.9;>;BFbiEw4 (>2QgS=N*Re fgUD&N9^9([ST??!Ų%6.L%WND4ЭTB8$cϘctA'9bUU*,( *B}19avyV WWzmBzƼ5 ]NQ\H[CߚY |ŞEM^#k֖Zyј8Q y'yCE۵ex1gœ1lg=\\<{hg}ݝ9H݁fh):ݜ)R<3"ކɇo ?;^%f<t);!IKh5ŝ: oy[Hg# j4nߎ *_6~``68f  Ig\ܬ09BK~Y&zx/Yin:vcQxF&#} šl"x-S&60 !ѾRh aEi!4%c-X2RZ(.\Dqwr֜=Ju`u"+TnƙH[%7:ͪJT{݇$BkC@6*. TJ@p3"Al"Ѷh]Ip_%pe@٩U U0d%Kk]pikpaloI&DXC+ S%p]dj[nKkXPf[qޤ=M `mi>p$E0O5\45.1ٚ].`53_m^X1vļ8mYG}9s C/F0[Qp[и [ˍL[yf5;H,ﯸ?G3v}Va#ȣ> oTWc6)]m*Z7W[e^73{ָu֘b ]qjv} t^?Khi}!m,r50jr/w 6|AwajҚn:uuzW$7њzw{_u`.OkسA:V-%v.of$:a=ͦ)ܶK2mޚf'- ?')mSxǓc/l9o QשW wp5Gi=q*Zgw{z&gׇgaz-Y:o6Wp9ll_ߚAWLIp{au>,O4k|?hʯv| ^|k{eG}VܕKi}_Owb^]Mxwh*~w(2OYzjB~ߟ_gyv" }`%xg:,B Kp!ÆB(q"Ŋa+͛Hy, 8{Tbo̩s'Ϟ>oРF"Mt)ӦK Yaz%ӰMvޟ=w4|9aƮ_I46퉀k΍Xy%ɣqGxGzF9[ C\q+}cwwou7on\޳=Og+arOy:ɓX'V𝗠=qWx CBXM%Vsk#3fIğXxd=(V Fie3%Q$!;ؠmE=!C QWNc٩fSRYWudReD& YXH饙g&ZKjjd8YSygml&hSy Zm ԣ^,:ZOaZ))hC ;W'37DII()wzYN)ubEzg%p9GIXjGˣ:+Yo:5[܂Pk&p|{]!hZ=6 |P̳i)WMT+3M*"r0``goÝۙkغՊa I)q^u;M>ix߹;!nMsnT+C9ꫳsKu6 JNգ.4iVŪS{GC`38>dU ݎ`zg{vSS*_䯅n)Aʚ?fv+U>"9@~!>կ\_z^cY6ϸ2#aRCA,k,z#3I<tj5Z7bIhB8K qlaOW#QZB|E ?졆ßk >o!8Q "(Jbƫ`dTFἤ,=kUiW@A!7.C`KvMɤV,f9jA!K1ě Y-R!p}ob P%RE=q!/b9L"7`nOj+ALaxQs%Q ]pɐQˇA L&=i)x~\YӘDT% 484ABpf̀ U+0Es(exwbS̓6Zϓ果LcA@AJcsψPq"m!Fi:!'E$r6X*HjU ɵJ%,ㅬL6/1_9"7$b!=9'Qv؈jR7{(5anqU"0ޘ0fCJ@(B{$j>˳lB&#k!5X۹וюTB%u(fݹ$-#& Q=ށD&F*jIy"4 l*`aUXΒ>$4 >i& Cj~ٗ3%K3B"XFYq-I,D.Qw<٠'¯wha!}n~Ms , Gͬ%+_9"||u;pN%r''&2mAvLUo4bQR}of'Yzx{j8qޒx_Ya^d7 l* m۬2yp̡=-k^_׼@ gl똚.тw3 hAׯulTD-BGG] `XP )@_[TMuRdP^*ZJq˳AI [A] HDYĺ5Uuԇ@ETjihދRrpoɖm5dq,РCHI=HIҖB}|1Ua~iXs5DPCeE@OFQ12PF$ԟ4q MVvGwՆR[Ђ!nxYj\zt%\ƣ؃4@$v$mTW` l#=W6#-fx,kDN Z`bSReĊMDDfee7$N^^h!1kV &kPكnPfٰh<s V=iFMDp^ w>_]ԛYnAecjoNN ѵ]\YhC}UB@ĕY|+JC%Oǭc} ȉ+B X&&Q.(5eс5J^(-Em>DEʨ\(UV= ^hX]`分UNQ:~Ef/>̝zzM!zi9d)fi.u gSrC9L`Gan^Z u` mSQ%񦠜**g`M)r Νa*]*`V )Vr0gpa˪!GtbXc1ՙ\"E5΁N-VWP2!IcaHj=*vօ{J(&#qH#pc##:$93LdHDXlv`C$dcp$VFd_%!%@e SbiU,or`%YT,le`%^jѾ9mJ ,&&SD&^rnYmLOi>DjתmOPkfD^m'xbg[4sHjm"r}܃`(ˉh~R^Tm/miLD im嚮B-H)]S8bi膩n.Ev**I +C A "54j [Fڑ#ȉOJL`}zu#Ar%E/N&]t0ޡh5]֝A8uLխ^)/E$n)ETѨ u^<ٕ5ugůi© F&3|-7bN2w2J.,N V $wn=d6BG駺ieM6鈑46P>vEm+2-19pjbM3_ږ>HszXlw|7s &nÉ7|,4f=}~'e/q5֬4_e^4]Խngv;wRsP cLWW5rMZT\v_xexvב3@DX->81SLo5Z bv9\8Am؆  W ;΍0Jvɟ9o,Pbǒ[\4$slc:dzkz$y9Q6'v'Wgz.#Jj/oJcz`/ȆgMN4 ӫsQ(^w (GR/kCC[C|ܸr )98y.6U1Ve MԿ+ +շ:M%P!R쁸01ƫ_.hq+'Qzꬾi{e2{|ͫ7߼͓#McuΡSI*2X4%êTo;_=s (xrb(և^c eB۷}&{(zݛx:5JI¾$q*,ik*YEDf[~̃D{8vLT_uCTmw9NhKD{~]$-9F~[{b7FKӊIO[tw̛o? \CŔzhH9?&zJu?@8`A&TaC!F8bE1fxI @iacI'QTeK/aƔ9f͈q<IfO?:hQGʩs$ROF:jU2~dU_;lهYr5m[oƥv>wջOZv<+ɳ7oċ ;ڧ6#Hy)ìXEyb4Lp ϓB4Mk #ypQGpP9Qqz"éh`=\1]J a(zcC0\WK? wC;w"+uDfdJH>qt[{NhhdZ>,Ģ34rcFrEY< %'-diX]z8͎%a~~O-+$ {E0jMص>04Z!PբfKO hF5yshC26(Pzڇ8$]F5i,4B MpZC(^2S4\7١i Lpjc:YyRuܥ2) zS#{HEU,hžP)C#uˋN=y!Z@37eД3B^CU(5͝hA"ӚyXĶA^\!r9SRZ#4XUҊUV"H2(W.5ob}U]Y89{xk';+c[%2Α\XV*J R XZJ NW54&5hHMgMֱ"ORkJAFf̂VmFϳ%Ò-U:UTXu"wb,OT[79zMTUpN_J8ϑ[qɴ2H^ BXL$0x%G ߕz#X?Bl ,%Kq& geS>k UπquZZ/~Hbc(G1oD!pg/a)ź' pWN Lj4jmAPx $,)y$)co&mh nF%:#ڐ(FTQ$؎"fFwP Su%'%B||zRq椰(\dN~'ũq1(Jѥ1E@(RɄ:iH~a LeQnJΐ>7);%IuDŬÒ(îNM!#*pɢ~nbdJ8jјTJi儜 | hA0J66&DZ2%>K:FnFù"(pq*ҚLnn봌Z)DrKhn#nZ#O$KYtNr&@ )r.r RDH r s gl.BnT!%2PY3'b"ʄl, 4ʫJlqk˄l,.1"^cEL2CЄ3!@)\.N.HPj-<1o̸YٰԮ%=$D3I>Ӏz49/N?hrD6r$@R9L *BS3N?M O$oL# ÃZ]}]U11 ]|ӨtX_=Dѫi6b87Khh44 $99&Iwq2y$rr(2ֽO~NЋris:9 wWRN!! Gfи ԥG.CK"WиqGb2bA^LUs44444zbr}ʀu4444z0Q~F#_x#c p]2fe65XMOHWsEs4445Æ #++ Iؾ}5VaÆjex<xk=t 7C^p`4ȲL&:ˎK/#..o{UͿ5k^@w8NҹMOHWs_oԩSصkϠ箸WvC!b (@&--ѣG_{@@||< <uuuL&rRAotdYFuQnkkGy`Eם~_"zl6+nI Ʉ(7'A7컧~},Ǟ={oȞ>{#)-(TBe9>1#5pkhh &,RSSEt36lAӔ?sܹ*{oʕ$ɔu 7M< ƌͶ?~[?A$23zc?߱Lg?{3<С鴶>|_ ҥΞ`>b!'ƌ"44f>t'Ǐ*Oftl6ᚥܹs=z---l޼{\%K3~26oJVhxqc9s͛dzr2EsαeǸ\.ƌVk&N&66zlŋu6,KsHNNBE ٹsWЎW Oss 瓓KxյAuO TO~ޟ'f?jH ^?;vc.giYy{`KڵGWYn:-]eKn nۏ^h4@vLFF|JKK;5fH/^̼y1bMַ"""7x-[]sԒ%>|8m`?P[Qyյ|,\iӦ-ߢE >|8o/^n3?]cbʑ#y<#DEE<C>p O# o6.\VPyC۷X.رw6},"F}wֽϨQ#X`$}t:Y[Çrrv;S'sHk2V~ 7sf?>]׿(]@PPPĽ͓O&/(?&==WӟZ=AD?jjW+ Kƍd͚Ye=Oźus3&'44/S~FAAu5MTk3vcǎ҂򙸸8bcc1b(R]]ͅ dM}}=1I(,,iQf3#GWDQQ1|#J'NwߌITT$gbݫyͷEEEDDDp=S=*``ƌ{Yc0mϑ1¢CBlڵGKJ.sQZ[[U<W{A- ׿O+{gG_-y#"™7~mŦM[8{j+;-yY^/SNAAh?vonҥm>a߾__hllTM_M_M~'XXj寮Vm}GtWVV]|)2N&<<%KWtRRr9`Fwkf7OSPCCcPQ[[0jByy9111ddd"vq\2m4n G!:: ^ߩDc6:}PuFtK5kfEc0x\(DEEPZZ`5Mڴ)3)(( js0?},yTVV{g>>`;n}-}JG\\JQQMFq3s/ңHj73&+(bGù ]D^@}I[[QQQX,<qhxEf]4hi񭃍mclBBw]j7b׃:`;կT?}m?=E'~]݆F^oG^QͻHz7kBݏ #'yᯔ%woN/ 8Jی gpy+~l(Vtzy#W]YTf}Sfco^O܄EBcp֕PZPL$LZ5.+^~#{}EAA'OfgIMMenjjj(𒘁B{".aǎ]l6-[>v< mܹ/+K"&OHee#G`֬ȲLBBߩzپ}&spNr\>j8bCzhf&LwODѣYrz&bbbX| Na-_除Dg :uaÆr}38yjGL収f9rƪUoS\\OV_̙ٴWnS'S\\ȑ#9s${ttO{!CRYrb13kLr쯧cf?݅8q*Njf?mm=ҏtoKݽ]VfUrXp>"gnogÆz>&))SNG `l_uk^3<^K/"63@QQ;9&端γe˶NSϟĉ `6ͷv45/ìY39s:9y4/C;Oxx8/^bݦƴi/+f֬R_9P.Gqq_˗dŊeڵM,+̙3ˁ_yg{0 :v;455_#뜦$WpPTT={cIKK+キ=A e C-PKJ.UOe d?!W\׾'5˲Lmm-3fLg0al޼ݫ촟@~?nwҿ.99K2&&3M*6VjcWlu|F70Pm9Q8jr')3VSm&-FgEM?5ǶДۭn\$:KK{9E $NY n Z4/ G*++9NVϮX5{n Fa2q;_XvJcMrW\}Eo ENe?}d?]pXpw 4ңN0snzcX4VväXמF -WKG*R{KьNt<4444tG:;EIzIH?Pv{ݦY߽M_or;Oss3:)S&a2B8s]9 D5Ն {w _ΆޘՉH:@"Q[(%:444447K7l6k9'7MQ,BQd}w]XO4Gx^znzSx̩m} cH4RsCZ "l$_"v| rGBrS}{-^q֕4Q3Pd Sh k5444444444zQS; $L\`\Mw؛}i./h<cH$i?Åu/^'ar"3 {=8늩([d0iwXNgk MMH(Qи)h]/:e F;HCCCCCcsl-Es44n1:݂h`b.=R!&Jzez|dzƭưaB$o~Mjeذa$&&bZٽ{w 544444+QW"jh.1zh3`0xd2p ̀u,&#D7֜ DVVdFvv6 pi:] 1(hhh :F#IIIHnnnddd`0ϧ'@-\CCCCCciFC^ zـ&] EQFTxp轠QCCQ;v;FKK ngeĈHuu5.\khhhhh vңFQ Fdd2H&,#\[iiUCnD{:)ECCcQ[[0jByy9111dddkhhhhh vnGA+Q$&)u4a lf )(jͤs]BԷk΂`c)ї_~b0w\  zGA!8%2ԷHR0QfZ!6l!X(o;YdbHe9p ΠvJ$iIyp$#K AOh8+CC[{I2rI<: ICcQPPɓl?V- ?QQAX`6e!l۶f݅Ŋq6.]2gt?_"..ŋ2dH2!?O?w.,3ǨQž=9}+SYpqx<^JJػw;WXƍWFSSV_H̪UIKKjb0и73\S|G":϶b<2٤G'WAc3#F|%Ib˖Oo+WƑ#'ϔ2eVZΉgxu LRoܹ3HcF^իF׫c02e{`;/s>}*|gN7|M3trr{FdϞ/_3\pV\୷6i'(BjjJк $c;6+uϰemt׃Zkhhhhhhh  +AQٌ%aFBLDjFWpP%6(,@/0-ફj;С1M 0>3}P^^0#M֭; e޼z|Ο$EY,f.]N组jԨLzk#/6mUpp8LFEE9RzQ)_qq)͌?}rR.ᗷC!Cη+))<54z_Lo$2QPsqɠgXf4$:4Q[hGtJeG:A֣9ȱc_;r1..5GGGb;5B{ЯQ]]c=Hjj2:O15(/v~f,3Ϭoﲼ?&**2%%e:u; Æ&44nsԜ  !qQ zEQY<8+^Lz﫠gQPddN zIFޟЁC!>1jkn nI 6ʮY!Yn30n\ tgDss+hd̟?!C :N# =Ϝ9IJJ}Fи8p7"ɘCP%\>߈rզe,CPo6AJ$}p{jGF^ExX_91..p5bbT` IDAT~F'N@cc3,iIQdd8vҥ ظq+.gzZ>؆pSs05PSSǝwtv;wAl׋y]iz%^{`8{cdw?A,?ً}@O(YbA[-\w/tƌ~ߢ ڧ?נu:ͭU$82Qv$c 5rǝz-"Pxd]B(FTl \n:yy'ӧb;Oƕ$c,Y2DSS3w5I5`xFz(2qX._.'33{lE$@K _F\\, [d2Toڧ?נuw ika8RE0fr"#llD qxe-eyMZ{m:+J|cqx<._.ƞ=1 <L&u'5PxxxhiSQQرYlذŋ2{TVV1b8#F [wh,fpryvWw>`9<#HLUU mZ7j(--{&wلF?/AQjkoVر<t:otTOI7l4zõVgœD6C]~P33(=Xu`Lc#&3qHK( AaaQv|Cӱl Nۂ I;vcoQf\1YH'غ$Ib̘,{lvalbccg˖m\[2ʕHOOGEΝ;ǖ-ryt,}nj//wܹ~\x]O0&\\K.fСq/ a,]Crr(RXXΝwAXt10 ih-X,<1Y̧BjS#P|谻BMϨG@-!##?g?>eeel޼<>c8s7o/i?jWF x'inn|rrCqq 6(J;oMI/R.Vɐ,L&+n:wW( 6J7`uT^)2AF£(AXxTq55mN: c3WiGo}!l6o6,^@j瑗wPyNa$q|[Z[ۂdbκue^-}v;S's`.LՏ_ %]Wf3˗/a׫bݺEEE%. YbFX,ݷnsR 3f˚5Gm?}TWW3fLk׾cIe9JkkjozOj@Ûo(z(**&""{JnaUZb-,,byՔb2v:ʁ->""™7~m$!`&yyj5())`۶OطϷ W05|SQA#c8*H Ȑ8v+,^ңue=NJqgkZJ"Z2&&Dbқ:<^mb tU8M-($hhf$ܙ}LHjd ǭulرw1dH*o9m[}%*j}hTR!rPIAxRWW믿(dgO 55W$ÇpS|^IWM~EKK+KlxwΣ7|HVV99;C}z?ֆ(zE7.IHJJ@ޠSc,Q_C`l|WRtM&_?=GMո5 oNCD:8~NxNZ?s'}Tq kNmǏtusÌ9O?ڵkyյ :6Zx0thru<Tڱ?!![RRqq{tB._.Uxe7Ku T?j+෿Ayyp7GFFV+SlڴǡhjjF=X,jjjijjnw㳇dYfNFEEa2U˧FOV>5w꺋EQTF0OYn&MdԨפsu]fd N~5{~P?Xtӌ?S; E . Ao@/PI"z;2:=:KKqQwe#ZDjބ\.7v44NaaKc.l6dh4_t#Gp8HJJpr9\. С\A`Ylj< mܹ/-oL6nS'S\\ȑ#9s$_?qKGqqC _$N:~껭-[>(mmOb֏).. w{!CRYrb13kL|CIb< f3 L0MM=z+hll"&&˗p6o|}!ӝ&'xw`2;w'O+B-~tt4˗/?ȑX6Vz7xm=*KRSS9s:6mP}@T-WW붿A;6oT7~8q*(tW UWٺ>EV fh4':.F}Q!X0Gr##M*?΀lo14nDEu_bT(z=緞t(p9e'Nt0,, H\Tѣ3gùp"IIrwp8dydg'<</Q[[Kmm-3fLg0al޼տ=P19sfqww>ۋ(DFF0mZ˼v_0%%ӧRUUży3}= i+#?.'N$662ȼZx 8NՐe寪&'g۷`֏=ٳ爎f/U.**fq̞=c拉ۀ;fϾi|L7oyϿ@LL fddf|vdYXٳ_O@E1~WNLLdػ8> 3ax<[\|TM?jp<._LTT$+V,c׮=e9sf={9pwq?jꎋ/vk@6x=?jÍ_%%O~;ݣp5jFA"đ=Դq'&`}*"+OVՕU,N5gu~Jw͸99yF%tIU9OW9Y.^ZK`X;53&Ʊ:*JP{/p΃:EQ}=BCC`vźit?ACCCCCzذD$.Q$#c2 z$N*B#v$x\ ")D6$4NسgoB_oX,AODCEEeRbѼkG@;׿,|{S PPOcl B  <pd0@;hokԩS--Ǡu"#S1XL(^{8vCDE:':AQ|˾} `6X0'R㹀D <ॗ~}ǎ]ر '\Mss 瓓Kxյ[ .]Lv %|fyt=UWRTTBaa! Ͼ`=dzr2Esαe~bcdJSS3~}'z ҥ9$''!"ܹ+Oftl6ᚥG'?uP vr~Β3+5Ix;#{݈.7NkVK!zՌ`4`Jmi <:C-jhhhhh 4`օNѡ\鯯ngߧŔ43jlgRYJZ[^}3 1FbP,$Il!ü3mg X,S'}JJ.=MJJ ,ZÇ~FN'7./Yb0޻ٹs7+V,`سg/sb|P\\ڵl6|V\λU}jkΣ>Bqq1MM<#ԲvkX,f&MHzzZЎy#,,Gyo(%wK(54džck'$![M-v&85BJ*)h]־%!1gaKn̠uz373qW`K !<Œ"+7-ԌN̡Jm߅KNì"` *[?++ܤ[RRmo~؈``ƌ{Yc0mϑ1˗K{^~q&X^/6ms~'j+tlVƌb8>ky/sQmvɄnҥΜ9w]H7==횰5-4%Ep?_4߫a\,^_{ǜ ^)skmiϢ鑓бtl63j(0LH]]. ZGAQ@q&aьHF=ڊv*[*n)dK:YϢ"%^ '<M[[{Z7(z4t: fA *wYiir7fɒEGC<ߏR 攄o3;rSGV'V,JW6v6L_~~̂ȭϻUۆm[?rq --7d2r0aNhh(C jRkhhhhh <U\x]n^QcT4s':Ί#Sp*(l."{Y H:A񸐔=Iβ?ֆ(zE7.I (O:^-E!;{)t/Rijj7d2EN;K3xJ>࣫~ݗn)?=;yd̩=۸GDDp n7sc544444n7և6E/P488i 뒐D YQDGc#n« nA$6h ¶fDуb&v111AKll キK (((+ ȲСEEEa2;XVDɓشi Ǐ󗯢]7^ƌ=@aaaq3 ⠩$Hl]jlx3Bqg,&{-x$/(٩mP< ,`w$V 邛Qrp|EfϞv IDAT +IࡇV`6ihh`„}T~hjj(]vL:F̙35=z+hll"&&˗pm!CRYrb13kLSF ))yM וFO0 x^%.. (**g 544444nBXXد Bo(")DSY#hwR_ieb4 dhGD3$3dNcBq)+EZ/Q9wĤ,S[[ˌә=>&L@kk+7ovi_VXXDDDgǴiS͛G_vxxﶶvFba/;<\l_iUVlY.r7l So1܄ Hnڽ$&{ ;n겺V%ʲ,lOo޺ԡUT.`}dСdddt:9rl6DQ|SEEEEE@HKKk3劣dNbH,昆 "Fl)fLXb -zF2bi5T9 m(ptVmZZAZZ lݺ ٱc^̼ylٲ|zBc]BSXJL^o" Q p;CXzj (Q_0r.F n(לu8ז+]G]TTTTTTUz kɯA2a4X5+A5aA^"양} BN{>DP*YEE… ҿNJuu5-ΫtzlBn5G!X'㷇:$$A`G'=HGu(VQPZ^hVAQ؄P(DAAΝOi?UTTTTkzBbw/6}:V]zF}vCTx$1 **EpyΟ?t ׇ@RuVP0aP,h1O!"AIPQQQQQQQQQ\CVAi/jth5#( a9hP5`QEEEEEEEE1b"NNu }1[ȲBZG|*B }TTTTTTTTTTzׇ Xd2ǐw4֔h͆IA}Hu YQFI1OSr YMg`,2Ga4Ѥ'> RSblITGAm^Ů *********=PPIb`,jFddIYAjHN6!6u>ݘO&xY"ϱ.u$n f**Wm(h18fb,:ZzE٬da4tF )LMWMGRQQQbL2 s[բu TtƷu7?hgϞIVV?^~Nkܸ1X ш(>=|̾?P5zk((V] }GaEdLF-&0x A$|!A3ǪWx(>IEGZpj+*Dbj||'ObȲ|U媠oej+ G,wX*WшGELjj*C^^53F%zMf3޺O>X,͛èQ# MjHK^/:Fs>A`ڴ\^xe7ʧ(//o{IZ W{Z{ #)vqSP$9$׉ؒ̈́CG_}P@B ʄAERĸ4ixCv"W8nq۷jEWitW|r#j]]nV=t7_QkAQ.s!]Aqm6Q=^gȑdddr!--1czj1Ee'HKK߸'|6')Ɇ(Yӗ3gvE$WζOgh4f6鬫^' F}}ZM||3z>D{sXx|e|USA䟶Dobjٳu>F$=oKdf }ذZM?Ș18qk׮' kgOv:#~=FC{/Yr3YYYˌ8rX &R?YGgH=$D*H]8"&£_|ܼC߾@ׯ_&fVۢ] 6 AOiiU 7ES,]z CR^^!;{<-`166w i6D0Ћ̌qXZ E.5>Rc:: RH"df Aς"!i/dEQp\1'|={o_M֝je5]ɶm;?gΜrx 4u>ۇYfwo{l63y$, g(a޼ݛÿa͚u9siӦƉ'X 0M6sn|>˗/С~|~gϒJ8$Kb|5N S+Ehn2νϺӮbFr@',C1cƢi ÷6SoF{z![~={8V ߚg{@fIdHh쫥\C׍؏[]w§G?~oz<^xz}+hݥcʔK}>/UUՌ9:x0QJDuu ˖-j͛g(++gŊdggz<h4GBB3fLc۶MdmkeYf:uYcXZ 4/z=tiOО,X05Yfx#h4X,fOFBB<99عs711,;woMll,WHaaǏh4^R?lDV\{nHX4T':YH=$D*H]8" 1dH6V/8t'NE].#1 $$8Z⨣ցf\3&L>'pG9cmld3lwrZt2֏!&ϫ6 M]GJ`z }}1Ű{y'eଟ~rp/^9~8'Ofь=|Wk`0Duu v;,sqX,/8 $%%QXX(?z}HHg9|]Jr+.5 7l\;߮~I~$~#>VÅ Xb۶ n?8)p8ɓEb|P6O?, Fymm-?თ<ˌ(**n1Xc_$~g)EQՏ`h|3㈂|93Ϸ33Gq/4uv{rG$|fKfK_n72ߡz(Jrz=)~qtUQ^ࢺOjdHAs\ srl|zVz6["nw}\.w@vc6]WVVη}/};QIHHEͿԼ,Yr3?ۗ޽9M/޺P@ʎGE^/ H*x4tp]ԟSJo}F/,mGT_U{q~FacrLG 8JaÆqqjkkٱcL&<FRIn޽9̙3aÆR__磺^15][^^A||_Շk#v6@+111ݿl7@$?IN~Vrmqɵ鿽~LLL@PUGk3^ϤI5-G:h\vَԿh9#'RD#_qD{$''8֘J47 < D|#4Vz<$Ibܸ1ۗ^o`„TTT aO@ +hACwMC2'k|w)yN|A䐂"75 $5@(GR\^eapv C$dk|[s#(rJuu5:0nX22ҁ/#Af^{^ǰaX&234E_㢮N$jyMLLDpF*AkП$IP yA߇? tV ѼYp8:=^N޽{7M_  ֑$0ud/u Լ Ȳ|i^jF#FdgMC?P\\Q/F`LDz'NO(ر-GǺ~FHDOFHpzDQdj8E-;[s秮ҥYl ռ[^h' w h5)i1$&7+TÕkRPB(A!bH֠ k $8 80Mt:]T_'`HeeNjf|$HJq|.y}n#2eH^#>>|>L&`Gfzƌ|eECRҥ}()_ff1 އ7_i/g(/o VVL,Nm]=xfT:Hi< }˲``̘1L>^7~r:2O<ٌ=uԻwRSS\WZ#69Ԭ~WDhgGC{跣Ϙ1;1ax ɾ$D]]5~zRٳq~O~j׿HT>f@ 0n~Ό"YD"))~Y?>ƟW.\(m;T8.NJ8I˴b1hDzO]P@B I(aPB O!\/DYw" }IhBAEΝS{}nZI=v vc0udq8o/_hx 'O5kflEEE%}ʕhjkl6/_±c'ذc`eٳ9wʒoOTv]vKѶnqiyøel\;yũ mkiFw ٌ"//KyVfsӗONG8fllD˹$`0n?v7|<8Krr(6uS^UzOڕ8qnԨ̙3r2˻bQXF)x>N-=Q맵X,ټ|)--M |Ʀw~UdI!ސG]2~O^$<&HdNddOM! (~OY %xƘe*fΜܹ;v,.k?"D\I!//8Ν͔) 'k~dwyVkloC`4],X03jywxj T\ C.dтIrYuF| (BEE8x<?~<C#G ; O6Ye({?wYY7o C)z p|Ol7& ǺQvYV7o{fOٳgo#iOО-).xVX֭#?S^^f?p8/э08JOO/p|.Ca޼9 8gϑBN~?+W.iӯ^?&rTkX, o`$%())iN'? b?GkuHӞ|,wja2iRSS裏9>)S&zKm\n7ʹs穪jg-KKv |#~Z{r n| Xf>d3}Y!#yFQ$X%n٧ > CzuID1a2"8*`?\7(2ogF IDATg7&u.;;ں~TT" Kx̜9Qsq)>x%hף&d7K/L,"@#i!UrG)]tK#z%=zF WS;_M>.`D# >\;աbbD( !eB~? ")@b\4!;qqqxoUCAE$I܈hlB;"W[?*********鱆N֨G B24 j#."G/!(4I5gH2t(|[ټy+{NgOaIJQPP3<(ҥ0nXZ-|Zv{=:?nXvxmn}%hBvŶmի+W.#33`0ȩSX~cqa4Y&FLL MG?KJ0$/-[RZZ\ ʪUd3 'NvzBPYS}\ߵvlEX^dfbu(/r$XB2>w9$0\ zEIӾ( .#Og>!77`0je5]ɶm;?gΜrx 4u>ۇYfwo{l63y$, g(a޼ݛÿa͚u9siӦƉ'X 0M6sn|>˗/С~|~gϒJ8BrcʔIȲڵ9u4fMbpVMdm~("PF[:ń@b!(R4ܴ"L9uOuG3߰Pʎ^`j1AbS9if[|lruP***W`Kz3 ZHh+AQ0u$XPdX=DZJ9 ;԰1,#H "]Q0*++'a=hZfΜԠjYn?Cde_}}bccXz Vk,rp5ks&DfÇ_3-C\.</z8q*riW^o/.0ذV3(󿒈f!E>՝߱[Q9LA#gq(h4ܾ<ç<[IhE^?\bRcP;8Rg箮%*4yLo%x^}Eu0m<,1USĉY=w 54g+vA3G/є v$G&wp****8=PPPdi9TVCBF8t: ^Oz (/pQ]ZO'5@2h$Q֠rr4/W^hZ~\o%v׷{ d(nئ%3/ PSc`0 " ȻqPodG?no_{4c=^C.]hW&2 ac%Ծa`lRes'1-NF0. 3D(iaВasi)i{iK1H{PPSCW}f5Ϯ.A7| /_hoA@P׳ Z@YVAR@~\]Dba_~,r}IՎ9dbqo Ο,=^5)TTTTz&=P+~JXA( ȼ[l"=YK)s"H%AB!?xߎZ,7tO?,n`0D0 IIIvgfm(rJuu5:0nX22:tAдD1l0/̾;oOvHzY/ pcr)@E-IiZcaHM\8=P9"`-/ 8ƛ׹q-rtC(O,S3'pnwP" 2u2Z@`8 .v#5$8.*gcS``C碪[nJ}%jyPKwW>sV"j^j:FfǗvrAr_"qY4s-G!f7)>|e|US4=[|~ؑqif7~s;oʅqb26?W֝F.w>!I$w{NȾ_F.Op æK\V ޷_M.~C'}oy4y pN]6gXVMkА=d 7 8vAY д|=I%٫ /^.roF~I^bw%HwQ?[%а\] 09o}A/jjY_j<;'b?c`Tc?Lg Pf/vT{_E!Hx,j3Q**b?}26“LJgYeҫ\zBP⨻@w0"fJ;)$-ӊ9FǠIupReߍ#X$D7P]]gѢۗ(̝;ݴ$g{ v;cǎaOp8=^@ d2xp6flСYr@mK8v6|L>\={a43g55}]O22ҙ5kk֬:G$)V^/!ECRd:v{ K,-k!|JWe0AϿ>?DuCvQ$$ d \@?a gB*w_//o@eۆ1j nF K|x,ĒhyZqqP0l|Crb>w挵id.jUcˈ3s|2[?po?ۜ#%w0=Dv9hZ+a1DNb/0z,LnPkͫE3729.+|&2~'BgMA7.@lZuZs ; =83>c 5@ 3=)=;9/g3&#Oiv6ʕ -^^I);٣I)dI"eDW?(9@TTQ4rT>p~+3e$lڴ5*?d3Ze˖`0)/pFϰaC:t^!˗/[W`Xx9r?!⋯tbx~dY…R^yhd~p8P^ pˁ((K#n9U(w,"#>SƵȣ+'"GSrp5}&݁շi,Ԛ4#e1)p5@(܎q(f#d/x |2 Z7zz`e(2VlQ)OUb,SJo}F/,mG[U4⥓aOB< DG_Bչ(Z$PJS6׷VBQ|i+F!p[|xG~婃Nlg|@)B,lz+C5ÕV ֜CvJs'IH2a5`&IʈAPFWM8>IVĉSmTTT"HڵYoWOj B| ~aVի?l%_GOZG& 4 h㣶T@80e*]<wX!k"槜{O|>@յn,T LHsd&F TU֪ ;0kԕkd4UQ\]Չd[-l]DqڊH$IP yA߇?pe W\#w2,I~),ш|["j4F*tT `O>G**F"C-_ }}k刪=6F $)?EII/ܔDH—A(m$Pf&7^&|9 1L:3:=Ҟx(ʂ;Fc>wv.UQQgm-x@H'=CekIreΣN#Sjɯ͡1n|=Ňj9SgG]5'] "(wh3,il[sQ/&6GnT#sgXn⠪3oiF{sȯl'~Eca,)q!s8LQnAQK_Hq1 8* "dư,CGFmJ+ipqIK*%nخ#m)7.@v/Oaܲj6 e]08{\\#3v9&s72vN#|c|[L8`2GiJJ޽ޏs uv>>?d2INěf38W<9f~>~K~}|(.A5Cޗ! >r3ӫ\8~>}8v T#>yXuTee7Y~nfU =vg&*j^ZINуOCNotHH rO>'{(T# xټy+~t+H&U B!U m14XVJgX=z-c, YVgc&s4LXnÌ“N^9ī ݬX:͚  4wAK2.Hx"SFi8KA^ )ʪVnd$EBH[ wNcH ccl]zLܞ1 7pt_^wQ,`(t naMl^cwEǘŌE5#hYb<+ zOW]~vϤta|Q;XAiAŀB?A<ai@VQ@F@駐l'~gI< Xul5#(h\Vv')&3 `s'T#AEEE=:F pi˨R u7 **RZ&w2~.jHҥШ\0]des&bҜkbF!,IT-(-gQH1zЊb;)UTa]J?^'>s"C MH9_sZKMOM]-J7嚘Q[xGqi{PؤʵM~Q)~g$ hPTTTTTTTeKoiq|П(J:r-sCF4`A********I7^yV9DLv{1X.GTE6jq=Y0v;(Ȳ,%Ipײr2O kHz'B-z=v9zT=SQQQPQ:t 3 t5-hDuphpЙHOABOD4-P~Ym|fY35T8PQQQQQQЕ{ekb Roe[^co"&}1I- >B: !@ Q)"( 6 IDAT]]u 6D)@$J$&7~Hr/)$|'s3gڙsμ3͂L- kz?aGwtmJO|f*rBX 2T&5rdrYu!-@ yARJ56S f]Ei*)4xvʞg`I086}21[ȏ?=˰Tl^ee~J7Cj ,5AUAˢ_@&!(?/A*K@ n>bRVa7tx"UNTeƎji*&U)L8Z4; :Tk)AqYW Z.WUrrEe@ 7P֒|FTڝ lO5W]x7G"R]g/h@ ; b>5Zf(4Y7a-EhêSy!W6 W'V t;lj*ɜ_ \C65~kUzx2z,x]nɼStg U~!r&P9ևܿ=>b%,}c,t/p vS nm 8KG+5w(pج.$xDd2֒|TOQNlv,ki#[JF dt׻:~5_!D`1$D!+6 cꬿu) r|)-o7FO6܁缼;8^RD<I;_%4bwɘvv2/p ƕ}_=Î)/++m xMB\JQr 1PYc$H̅YRnEa--@z y>o8lV$pPwcƫs_PWfP`91822IHJnrs3'WEӯtk8c#+/[=賵 W[G鬊1kSK.#׮ &8~D% ~s]aB^7_7.%e{LI^5F gʌUqju/oȵhUFHw᡺:}ya=w?_M?cr#0妑ZKvsR_7IQȌZWT )y5z4(\ތ_aryon0vFbBüz2[1C:*zM:~rcپj 1|cƴti-/ nti⿮!fK`-ּ@hqV^o$(8P{:Cdѓ]?+/y퟿E4Ln\ K+LMJnEE;{gZY"Fw)ouOrbJAӅ'_Jo1&_)m|Kwv{hMI׶xQ@X \yN+!(q?+k4Ygqחm=̚3ޡ2ϲsj'ۓo0Ǫ Qt֔2Q`vzսB&p] f<| 2mH,lB C*7X^9];uD cR9ي]NlZ~"r\]ֆ^A_Y"2g/Ef1l'ŽbҀƱsQtKR'ĤңBs3^u|Bӽ]oYz/N@XZhDZ8JݑdL`dK@n>dV!}}WnC+}DYibցDoIN$H.V=)yWݥ_/f/kwv)Oˎ =G{紁'&!2ahv/&9|l|91_pg 6c}Ά Lxi:\IlBIdGGS%Kҩ .5^\Bv+Kue$yz+-YHь×"l/%7BR#D+v]6J~iqP`uq-Je ?jyXmظ̯K6UKeK1_[Bvޚ(rJTMl/F hŎ-zٰ Si3K 0NY8ӱH@t{E]g `ϣl0x,'Ojph,7'i/>!Z'$?/ϖr2:!5L-EL2%ֲ\z+q^zvp4WVs8cBhvO.v}y$$!ê"aZ(!j[j**(3Qc1]S[4!jj;s$9p(\](ⷉl??? m`eQ)'4lReyt ĖEIGEK)B^dX ҏlTR_D^zw2&'5Lgl=^th>ⶡt0G8P(ZXpرWAK)-նX A7=,vjXc]>b4ׁR R#U'ΞӪCldȒQz<]W>^~OpkWr!ҹC7e`܎DcRts\6\nUcÃFWF.ql]`޾xd&J;i~\?$G.2NQfC?r[(NphKiNmóMg~\J,pyZZ\"dJ) cw>rC/Ru_Pi2aoaDЖ\AM И/-$Z  Dz{_PRPK*FX68J͌dh2b2$<@r֯哋42nf (x?#Jl|QtbИ<> ,GOW$}:' &{9)52Tu ׄFSb5=G1+β*jYupv\j6&wV IQj S2Wm؊2-hBxgHohRu|PRbf"l6CҩJҟhb 1RոRR‚ǘ1wcbY8t;31)2ޑlص<*\ڛ2pد_V)N  qEJ0J2nˤxuDR ߣr/S˼rh*wo n%=G ST Pki7|Pjnߓۿv Aa&-5Q)_9{v]H+dd*scʦ uVGpYUMk".ng3eDzoۯ~˕]cA>ƪos^L™%HMKvx]حo ;onqfAHy(23kcg7/mɲ J]̲Q8wNc:qUqc z.?BBDm.vi5걜g_WwYVťuC7b n `xLY(%dm+r*Rb,۳^ DM.~'9܉" 4^Rqэ{H]"n*Nyj@l: ʞ_RP[ c^=@&R\AP4L"@P); V[l>^}&09"5˳#7*ʷ!/uf=ڝ x'jZs`Jh݁o)jߋa]HF0|9Hi叜yH58U-`3YqXح&$w`=,R&W1Y̅$ $~ h[^~G^T 6ʒ n%(7ME _fLˏh(8ÖEfCU~/ϗSx,[XI0dp~r֟nL9n[%̎ xےfO`nO{rnބ83Бſ0Y,x (~ ┆Fŏ\t:+ܘ2oXϐ>399D|_ao4q!Q,'6x앿3En(3-$j4YU\>ڔDҜBpJ卶Ygcy/hR2o;{N俥gi<\A%[UubMIV~SON4懏7ܻh\[w7~؆91r"s*Os5ya2K]sj GioBaQ88͂B8327SAxBȥ_a335^tZV~QÁGP8)gXW9J_-;'jRNogwHCZ-?-1p"!+kŨ5IS &BM3~AyZ9E njNE ێ)(%* w-7xUpBi2A!˨fmF:Y98Qk$X\ sW2"—_V4uAAp3@ ܺT *wUg%8\ o(MHhu vLӪ#E]S/@ q)E\).BBQPe޲-?Kes9l>Sgj yTHY}Rls+wD[ R6%R@ k㦔34ܛn\_ @ չ CٙW X7rvd[PeſvSR-v4J9EfqYfN@ @p;p[ uB:\wzXr8ad[ٗXa,@ c XI`aKL66G [brx0O,hƚ߹1 (:UEq[ rwBcZ!-b;Ъ\ȶTiFgdր,ʤjXZCYŦCs\p[)@p-]=ٗXB.clWv=c|f h2}/zFOfOB>nJ9v'Z^Y@ m)(+3y0#"|\|6 MgsP)LF)'̗G2+-s+<7Wi!oC./@ ܖU`sH9ŚS5OL; @ :la@ Ԁm`k׆ @[d/X \y糧Ъ6) fFq#/]7"˿uW۟&H?hC<`O,xxQan]r1~u6<ɑO#r[{Q??Z"ǫ_~io4ꑏ5oqP`GQ %?@ hvݘ\"4T=3,XNpj{k8]i"f"bj#r$ڕq/]ߖ@P`QeG}~%:.]d1Zc'7}wtPbI =2֯dé\а㈃Ci&5z#_&1%F%8DA=@ BYDNceϰtpyXO,Vr+(qߋw=CZ\1"jì9c),;Wf{Bڵ O>pcL#R>M,/|}} TWF; hf>:~rcپj o=oh(ḲHNCuw}yN.:o#hBCs3 AFNdNd[_&$`tL*:G؞lŮ[6.Lq0~,@ֆ^Au,^2lӟyY`/*?aپf10{INsUN}N>P}9AZ)8^G\`l#xip -ݝwꪳeaRQ!и`'b̩ٔb3^-9+™㴽et̗ bMUOJ^+fUb,gݝt:Z!G&S:z3%s RNI):Lyݹz)S,5/O%kk5r>3Sl<OBZO_l|:1Əs IDATokv ?jyXmظ̯K6UKeK1_[Bvޚ(rJTMl/F hŎ-zٰ Si3K .|" 'DK[9gٲTNFB~0IZրKv>K@R>Aڪy=o5* drr+&]C|^.9 & Cz|C ;8HHC1U|ET1xe2|=sK9YbI3~qc3+~~iH]bif饢-͐hTr$+i-?ɫhFc1W`JR2&u\nדMGq~TWl=^th>ⶡt0Gk BZÎrYJi)(_%k^Pjjw1o>^ Gbi4כ۴&L&GR* g3 3A㐫pwVGh{ǗS]Yk) wC4a~lJ **gZ#ˏTjL8J͌dh2b2Z=9^N(؇԰[,P!;1 .Xw'NTXz}ZO7_EOj\-.l<@r֯哋42nfIRltǔ̕|L|'}5W7T~#Aˠ1Mw^4PEBmF3mZ$#lkAb5~b|<1sh6^jDZ;#V8Ɲ=ɔ}Z?ƛ/~l>̤f353}1+tю IT*'QADtВLܒMA7 t_c ܳ 1Q ero9g \kE\jKǦ J]IJz2 /ZBֶzY?7g\g~ڮ=;`{3^˜mxy%_}bpX-.*ǏeШ_ p.(t' +W(W&gVMkedc6 Pu̎PZ[yFu!RPh%IX)4|?Gc RG?63); V[l>^}&09"5˳#7*4/uf=ڝ x'jZu`Jh 5&;O~b2K1dVOOr|&L^hCOxP {q4dF1kE2?¼)|-dּ*:$Qqbfbt=O;QFJ,t9rabx*[~ï};Fr(էgeSԾú` ws9U&A5O]$<'x*c t塇q׋U1>]-:QpiW8TrS/"BGI7Yd04yhn[f/𷿽^Cs/E٪;cehDbNy0ۦc;8r'J|U?eƴiҌ3lYj,H'|9WβejW\ӱ= XS? 3m954Eύ 3OLN5.פg[(d\bc`ˉM{L(ʌcǷ{&y nk{;O0el/6e487$+? ''QSOǛHq-6:)*ѥد#o K-ٜ߿`]UQA?ua9ON@ /aުguO˯l5Apd!!!5vZP;s[1 2yrGoO>oOhpHl/*Ử, ,ͳVhժHU|u0d`v؅QG]7C憗M-S5y?%=ǞkYkhG.]eGՓo^\PP1O2_ygΜ3 {OjăJEJ 2Zֲ M4>کPdG. (sdP ˅j5l\XҀ$-q62b%= }||xصkOB]靡V4@@r~Ҩ%t]z=/seH!:,܈v~l8Hȑ]LIɎ԰2DS [p B֍ǃuG[ES8T)~??~A///GLwO.cfF"k-WjՊ !<<JIf"#;ko0sR:P(xxキ+ܶm۶`ΜYwVU1}رHNN7ŋhL2=c9y?R83g3n̒%K$ B п?J%IIF:tg6!ML%')FΌyuhr#ۊc6cB֝=^ h n{Pl85၇QOb^r% YT̑RJ@}V8~sr9<4*+WlWX,:uĒ%KDGcݺ lذv7h'|">pGUƩ+򋊊qsscȐA=zKƬY3бcG֬Y?o>se >|(sر| cǎz- ?y]w4 ]]6O<Ⱦ!zAuHSyxr<)1e?rp"~/[:(>.j*4'b| =M:3}^xIKrpG||ȴXNˬrF(uj*V^ŋHHHd׮=Te+$Ϲs՘NWfBIzz]uUWzgW2}GDEBB`lܸ3gqyv*HNN_g>eT*1b8+W~G\\r%ݵn׺^ H'6& L0YLZJUfa^yde'^#\dhp1,^EEEX,V,3&Y@G%7K2[ENCQ ;& ,V~A#qG5$ f3y  swVȀ!Z-9[ `9DIU@%cZ(((݄ D eU*6i> -L4882_mڴ!;5X,VHHH  ";;@ ;&zm4.+M9#x%v3.Aab6s7‚  3-dffϿ\n2%RڴiMiga2;v GDP(=z%%Ŭ]cFS״ P1B0Ȕ)-h4j4wsMv;&hͥ_ :=U@ &Yj;u`rv&DьY&ʬ ]ťΦ\S/[p"2 Vx_':3g>$9رc6I宻cX|9[wT+^y}eꈋg̘X'~ SLb왘qA߶T*8q<L+W~'@ A%7df^M0r8SG61^{F/ʿSRkw-df@ 8i); ,MH0}Ukn#BB%Q8TjbefV yL&w4Ob; `9>IlD!A @< :xbHk+E#&3gmjZ_:udܸ iBٳزek]\Q Ď@ ܺY޼ښNȑfk$7!(nBP[!(4 7U*>S)K,B@ @B7g )i:/5 @  W_t"'gOѭUAЬ@Նaj7r(@  ĂOU*/`\kxx?Y8/iǣ iҚKq@ hvAA Xݘ\l_A_m82KҨף&ħz{kʪ0f~rɸmUWQIg} hҒ΢ml@)S5J}=A6{VƎH\}7^Ca+ڡ5fpr7|wHG>2xNbpO99~%NpGҕO3zU4YN- ~oAYd'< g^of9#=a?[ɭh}/ Aks5K7_u5z ~h(3UL:m񢀄kY t4a֜uǔyW=x OaC'(=ְ;էA nM(yp 18킜Ȯ:LHTu@=ي]Nm]aL4'Y 0X.e(? /;^T "}badQsrJIJő:% {7gc KkHŠy)p7:[f+%juXn yr,ƜzM5mOԄ#{!2B'q?v*,19BЩݘ8o.3V'(™㴽et̗ b]p.0uꥬOtTf}KXXRed\j¸~*tjy}|ڰq_l EYÖW>:`kHHM'&Dž2x@66c4_=N&xn?Ҕxyiqܜ\$__|BVA!!>lG8ѧR\IܲBcң]sIf E/bu6ΝR R9l%P_ěSoߝWCP<9t(1GHƵ+BbGrȑ7 Dz{c)%Zn,{gvHwWfb2c41青'+>I=2r .ݧ ~a*Xh9t؈fG.W m[RbR \|>FsYO.д˸]@C rZ=HIXVN>$xld/3y$}SXkמBQɻB@P`ԭ@gXIOo &S EE4PK8R/q:.?ߓ ZF|8LZj6S#;SBIHD7 ":hU@oʦ uVGpYUD`AHy(23kcb業2YWR[kAꂐOozKe)(Aәݯ'(>F [mdۛ[<Bk @Jhh Yۊ\JڃY &7)4zzApS3=|pwwC W(q0&5نP(xxキ+÷mm;3g3n̒%K$ &OHXXsαyL&O k*P3__n3g,pwwGT^с Bbb۷pIpx={}^/^"77ӧjL:˗ILLd1޽;w5o'$r"ecyad'EjΌ@kFؾŗD#jozsl%g#X.Al(t#HwG7<, $Unl^(v*.Ih8xL)&.Kw1bGqT<3f~_ `h,Xxn?v81g1{' (#h^rM7geSԾú` ws9yN^8ܔ WJk߶ фh/pW! ʹ+oFU_E>ᇋ8|82NBeʜ98v8%aaa?hdY#wҫWtd׮==ҥ2dȨ~DRb 7`)!4qޙ0t E>2gݦĝ?Ʀ+8В6 }LW_fzb,ªO1k>[}˱{б81~Dc9O6ɵs~#%ӹtV'cVf IDAT>C:JޙL2鍄$@$!MD^ªk~uUtW-.Z@QRIQ@)iJB*i2 Ā$$/lN4Q|P]g>'}__;e~Z\WW̖6AӋ 'ڽ+ tH!E@x[k ü?K '>\9ц֟@p Qqeo$b21&gHv2l~v0ۡs<Ậ(l;|]WꉛFBgk<99SYYٵꦦiO?BF#mԩIZ3!IIIЯ_,vT:U_X9Y࿼FCyy9'qinĉx4i HD`` iW&kdux{{1a8j-[d6HO/~@EC kq=r& PmpMzE{AAzk9XG5WV++k;PYJxUs# H?sڔdSi-ά/^yg阌3⯒wO)}}Oe[-Bٹ-|Ɩkook; 3O#˰/WȒK9xP.TͼyI/Jjc߯P֭+))iNL4g}8xA H0 tIIIiPZZW}rHo@hH g/Ta:JVԠUb #7S-[f(Vl+?;YWcEӱt2E!6/څU_s ƌEXX:]11t3"j QQQL8W=8fw΅ N+W|U"Mfh`i-iH``V}I$%%~5yyydgЧO C܎dĉkׇQZ-fOnF}~u*=ӻw ϟwJ&(8ఎ>Ggg|x- bcۣ gP2:JD/d23hRRRѣ;w9F``@u +Vuuj=SQQAHH[L&3۷cڴ)w77W ߸(*ғCHHCCߟo$] 8ssC|?=}wVUENo 8oo){X:MARΣQѴUc* ~V䷂+bPPEݍJ7b]IFrqERHfz?/(JkV j4|QYˢĜg9 $$EwBǜ:tyZ@Bm Dn#W:J~'W4@%:n&>l?o_a<_[đ_/p~Ad'LRam8ۯQpQ^ُxs:N fŬ2~g>͌,O{>WP3VhvCArAy) \bRkҁwvaL8;RVVʶm;#.777T*VS_@ pi_L;3vzo/Zo[<=ZCG7|}9T}xѩ -.cUGX0ӕD Dzz.#w9:`@M̄J>2Gc#6{^}c+Et: KxctQgCњuٹaYTDuL_m~GYxPC]~>>]pr1Q@V~ ,7aʳknaɏQ<#,?UyZAQk4!ְ4lwУ}56d8YRbzyYaSׇ.xtl]DɔrϙYzb?ˑ~?1zFRmN6d83O_ovXkbGy/wƑ~im+X~ǘcgs]p>q;j?4gFq~b֦ ms0ܗ5$ fVvzBΝ|MofT};g }wd"0krҪJFjr C(,u:'E7 q|+V %%\23+-Р MBxx8fӧOq긃Ν;1yDBCC0$'}.^ȑ#'1L@pㅟ 9dz8ZTXXr 8ΖeXm+C)Pqm`{_گ ;jj,Ʊ (| NP ;U9ZѸt22Rb)(c,CDwr 'g-;$X=z#k&f}v%HO{1]!vs+.b8螸xј.vH?{!IɅ]Y,)̯Q;h?Ggڏr"> HHsNYµ8)XyjTYe)p|8&F~;/vW˜5! %GG8?jǞᒗ-֍#;Wt\0s 9Pu B9'JI.xW\\\~~ R@䧞zT/WWWgӦʕxc%ҿ?;\a(=Kbr9<_:-ƆtWQ*TG)/H^N ~~~@ڶxMʉXt< o]>eIq 3JR݆z WAEժ a{!|4gHKJkʪnlNv~1qYżԲżݙ)mx<DmnGg9KXtIG)tiOޟ.AX0˞zR5#Yxd=j=<뼷j^W7:>aaxrHdf)YWiHt){v ݺ]f ;Ti\p@g: Xv}6 2yyy7[SNWiZf̘$I(ByyrΟO]O?ܹ@}ȐȲT[UtG:#ţ.e e+o-9DՄh`4`45֚:ӻKGRZ~Jo Ko-YmȲ j9hlu4yg|'8p"iAiTX~lgu;]#h8O<ٟs%YNQ)F++>T2XKI+ʿŠݻ8G7aYP͖+=$ju>r8%ZG|d?z~Z4g(]q rw@RJ#BAu0r$JShQuT;*ULP]VV6=Bxx$I"?WW/\ΤIyg((( #Ү]z}1ÇIRR0A0njps 'Q=ۓq6-6/ѹ]mO\?Clz[$~{ܼځ(,&PlHQ )#rIחܫ_*Nce(Bll_ڵ ZFBTT'#<+VqؾPRR‡.lL[?LS5ޓ9՟\bœ(ٝOɌnϲcfaOk~"ov&aYC_ 6jjQк,瑗끧^gW`8hOuR.?c(ٽI@6ėJxGM`4}c vc*xy{#Q\p8r L1C0rH~YfvONo` +IKHܛӦtAQ|t1Isƙ \1l~._ynzq{D 2X7;im)ܮ#ϠZG}$=̃<{"7=6QO<ʿT ܸXO9󀎍G;8wga?OBĬv>kzM.LgGMu Xmĺg1JY$ OW&zd]u6GfzFIJJ>޾};BCCPdFcrrr(,,ӓ(v؅f=DbYL&992vhvnm |)\%''VAԸj[ZfW~c󡋭>͊d̔AbQ4n=<2W;։;Ɔ{@:iپx9{s"ʸGc4q8hؽ5{.bTHFpb *[M5ٻOKm;b c]CFj9&zlF2I-sg΢3-'};<}cF W@xeRo v$\+)!Fd摣f=oN.uE:4t cͰqҥhr`:OwOˈ$o 3ԛsR; gʙ+41grT_E]WV){ `+:C+dc!}by9)Z[Gws8f,ŀne+g>Nʿ{cLLь5R?zbF?1\Όr&#U Z0 Yhy7בD*ݓHddsa۶$%%I8u46m/3;w"%%=sCQU{kpy;+w=OOOz;?0GYeuQ43'=>c;NDweEQX21n\c|li-։x>f Ԛʝ$ 7 u (9(l -͓ஃ6"ɕX2:Қ}>5:0ÌFo_gHܷ}R-(\ OOOFEYY9[7omi@ .ܶ;.#~_,|fŲ#0T܂V6In$U,ʝʈ،2:̘^['d MV#88ݻQVZʉ'ZZ@ n8aP-p6Ak8t }%ʈ،2:̘㌢n IDAT֜C|k2`4{iԯuNت nۖ_|, Ⱥxkt @\'C!O"!ZF^fג-edu1d9\II[mÍmn nۖ?7??r^I@u bx hc(Boڕs.Nkw=*@ 7H(Hv3vTHV@p*`~h2JY `N'a'_=g*0JH9k*OX` a}*d%ć_j|d+{e+ىj7$fx/l6/bHRR'@ Cef(HZVԐ7"7S~GdfnvHfb:fƍ1̙c.%00|6nĹshӦ 'OcǎΡݻꫯ( 'O 6/jTv=N>WW ӧOg(l6GTgu$ߑ+yd6z}1g8q<pbEi|VBMgpgo̙ v;3p9]W8?XqJQZ"grnC1;v0|6m׎G<>o$] 8ssסۃo9\qX#P^]D>Mcߞ/>:D^t-ҵt SA;ְTVfVKFf{{wkH<جh$nREh ͆Ņ+_l/_}E>`pss㩧`0x^ ]tfڴ{(//͍Apa/ fϞ$IȲŅeVg_`6ڵ+ .f1~Xt_Ͼjcs Θ4i]taoӛѣG8%1$%]`ȐpšD@pˠd+Eo/` /HRVTD_:tyZBB}<ޖrs9=h{tBIgq@`l<܁F3>\#)mBr8^᭧}$Yn̦!Wڿj6lċ/>ONINP*~r*N< /Çch&^^;* 55Mw/|g6Z@p+}0Kvio]6_M~ Gk/Y/uxt*;yb˿Xv@te;у"4uh L # <=q?6^hs7YD?8^:F=w?g~֬,xӵ"2'#o`ocgs;hz~Ò'+!?~$ĝ"#S77D7Qw1Ąc>+؞tiڵ6_{/So낯{ ͎ۧThҩ/ ;__E̺g]dJ/Ƴ}j~Lk0|𸰏'V tp]*ɉ^M[9?8߾u4n'owV b|wo4'X FLeΦXmH** ayfW kWv7; I^1sS׀Fll8FJEQQռ WPUCje|}}$ɡ|G8*f…dYj|A{DWr4(tl& 6MG"C) cdқl==glx)~_[i9FTS8c>~GYxRnƗ; 吧gٽ1CPX@*u K~yec j^ !а%oa c݂.*"~>¦2;w]џG^NбuZwm$S>=g^fIs,GqIڷ9`C7(@Ց)OGklM}0yi F# 3_xKa/sl+'8n]|#hT2"l#̊LxS/4gFq~b֦ ms0ܗⴹX EIӭ I;qGϗ#f?G7E6 h4j((fTZQN"Q76Yb%J͊lm Bqqe,/|AwrF,qл/ ed.(a)Uqo!AR{P;C{xs=}ڵR@3>e]RX.vG;9x zGߕ`G"As@w=4H2[+Io6}|nہF:A=$ $%"wg;_p\?fǤb0'rIeg9gn$ꎹռR&-%y ژ:~2O<߰lc"/GbozhAhP$ #EX*0 1t&;H`ڪg[ZZJVV6}f۶۷oC Vm|DYYe܀nm`U}2,3z}q Hl͍KzHKK $$y:^vj.vat8_焙QJbgnVzjWzB:5hRϐ)=+??#ט0]΀Su̓lr'NcyeywsU洟Y%&,6;'ĸK|J咑(rS7ԘGܥ>,$7ݺNٹ]8ٔze_)tiOޟ.AX0˞zr5X=G֣ [QSӿ{{j|'+ߐFY YI/6PiGB!}T xyS EP\4Ŭ/w:>6oܹsX,$%%I8u4zujP{{{c24h))ѝ;f#00*7&wwwt:/^_}d2o&%%_~ǽNՕ׿ަrn4VУGw***h&JŁq9sӧi\]59*`6?+- /ڔP\P=R(}wi\5 ,)[yk!ʬ&F6 ב՝]::SzA~Z-uTM N+;c6,of!*d5栱y}$\tNsy/OyW\TVc7[𗗸ͪn;o}${f˪ʯz?h8O<ٟs%YNQ)F++>T2XKI+ʿŠݻV?W7ao-4mA4Pd-,s،gTCHoʋ$id˃)NAF,$&aɒ/=z$#Gލl".0۶m[l+ܜRSӈ{YlSNa̘Qdddhb"ůIvvg=n6mJPP6msHVeؘBvm>DI=L9k-fop/aqࢱP$䬛O 1ٽd'X=F0z˘p:H- SVپ=^c^|6,uN aH(ml)rrkk)O̤é%}{UM!F,y#Λ!:0h7)sՆbn1;|5H~BcۿA~?fȮraOΑބF^q+!A,l,PϐxgϞ_f?^eHHH$!!kj>KW,^JEPP\\\;tK;={FV[~#oSEQ|ګΕtZu(LiiuNHk&O_WLk!F1a]çdFgٱKV/)zO$3kK^aKX- Zww4yz麗Ne3;ړ|o>#F6 Oǘ0Jvr3 ctD!Q;$wB$!)J~;V7e1tǢ_\^)?Ɣ}RxAO1lI5I3-죴w%i ?:{S7rԖ.(]#.6z8c=+f:6;TXp%>&0c:[ס=~6[EQڡGd̐)u`TkGycor1R@Ƶs\|9+Zgr}뢑AӠz.jjp;(IAQ͔c0`6Ju،k6Uצ(l6shӋΝ;1ixΟO&>dh[77|ERu|M}oqO{Zٿ'Il̘ML$h5I#m~K~ncl89&틗7ʏ y0I3ݫY"Fd '2U]F#~;%1oSkȨ9\m$3ȈA9w,:#r2ѷ'0f`zkzZm_&oG¥Bˆ!nMv89j&T RW:Oџ8[#1NC0f ,]&'{pıKz>>C9w šF_>]CoKÙ$;j $-++bCϰX=:sc{u!;kإF͘HW RI&rWtŇVBj5rR=\E;qw17y?/cnϗvtEfu1AcBCCk}70E o t ^zWn}[_~SNuWZRt =ćlqZjEB[~$n$ZW;\_5hKМ~(-)BVZCVf fjeACIF35W l3ex Q*n'7))b1NjNdƻ8EyזV&#=iӧuݷZZa Ө乵кqJ+70W7L5%hNnÍu1~BTKQ1!K2YQPIuu?*Q(eT.kuD[ 33(coDf?mݱr6ˍ$9qZ: Ge="1wzkqM|5}CB`|j&EV8 #Z (PK pu1 PYi&A3(cf>=W򿥅xLfL8e>sa=c;3D7QQV,_1n\c|li-| i5Bۑ@p=p}7zo% m/ Fc** st:2:(khE]~}H̕ҊP+V1(++g-@ 7P$@BRp2t"+Bt1qjGJGkR㌲^['d Muӵ{7JK9qDK# GW Ǔy\5;v0IfV(oU8އd3ݞ[4.+xQ,Jx K&p|QtnYG+C{;02K'09_oqIY s ;$֊ r Ft^1&pnq9v+MtEފ":!s,sxgkrdo&bf~f|MqMȷs tW`DM( 4.VLL(ƯCK$}-m0躎h8B$P5AS<7u V8c=hu4|2*K\45|vOUxfw]Zʔ,K|7o-tᨎ'Ťʸƾ;EX:)G˥'u@Ug,}$nI6m3w_WQLb.Eaa2zTWWx0@Q__OuFGި wCI6r 1cc/ŨHȽI=lf\]4M ^͸ ]ױ(Aϋ[gbHM!*+ZoG$ܨz4B$I(*Fn)kxW B( k"M?Da܄Qȷrmə:%6?/.IMItsj?5znsCi89Wpvsۼy3Hv,X@ii d#w_XLE`66pÑbFb@XgO桍nşgˋCY3/Yݎ?%3f1\;NEB/;vx\ r(aRd%3KR<W>N}\5;u@׈1[5s('tj{Zp1o@p $I $rjtOL$$HE(,|tNJ屏ZXZʬ\ޭ$qKQ$ E5,W.oO(J͐PI*$B(S(9!Q}y䥘 L\ƪ}Ifhmv,_WY_=VQñOiO@3 iii~IaQq ItfXker;ZYzF"Ν+4X\2ۨQd A 5>jezvk>U7bmrmI>6^a[呑td++^nQ&Nq9 'Obʔg?6ɓK)..L>@ ϸZdYkӐi9S0}$ 9qh)L5 0'djeX<;OhZ'V&붺C_ņj,qiy`;Gzʂ\j;0S8r9i_v璌 @ 3k^UfU {ƒ$?̱ E)H5 kTziA/\6#31?ũΟ~Z!{ݻK3.Ao4{eTTTPQQ~xpE䧘p#h,I#.bybG+#WMx>&j$F:gN5^+KźDԮ6v5yY蒌2_\.Ҷt*m8luGHX1>ځ.0!ןB9Vד;[I5\37So2b̪̬\+x>~ ϗ$4G:|'@˧l͇Fe!pVf,Grkg=jwM-×yySzw$H$ aNҼ(κָeA:m#' ={[{Gl}y$w]PY("_f~E5vyel/4;iK3ݾp?MZ\13'w?;w_DT96 *KthvyGpӂ4`DgS34|2N8cR%rSL I0)n %f7ӻ9, { ^WAWĬ 0r2R֜<+&5Zb-XY|B!~ ]%%)n}bC!/`PcԡbwPqp#_"466#I1w*̜93QUuH8|XlSg܃%I"jFEsv6tH8L%:P8G3.;w>|FL$v5VdGv*qLc21cV͛7:8/G{G{XTQ1EjrsNA26‡>},uM1 u$TI6b;pbve3g)0*aMFu&gZti5c/֟5V1[}1]v1e5W5#_446nĂd ==.U(_^DӾ#ز"QHYU0ZI/^>mHgV0#uv.*K8v5 HMM%99e˖vCujjN4X 2SaFw}4> _ʵ FI6T;3b/L4:Lβij #畦QgVtmFcƶԹX3?YɶҼv6|$Ȭ=B} A6fryu'V /v}DB$3B>˂g}e!<-]X2*)$t7!u[2c IIIp!zz-G. DXoOFRCDlqpے|g<4\VY!\>3t[q^WXO_mh`n9yVcƞʗpӂM `ݼٱ~Jd<|zinA_6b֣[[QxY:)1&SX"A R~~I33s&#4MCCG hFCOQ3ό$@)fȒNgϜ I,:؏o PH|NB" ]בey|xy 7dIo8EADӅH9~$tS 011rB bý"{W ,`?7Mpm俯+IVAV?`Kt7@ 3H1k-Q*ZG4># po+GV/HC"IHDE٢k‹/LwG O,($LJk*"L*J=ĴfjBYTj#YÇ?>~2Pp+hla3Wa+<,j(s<$' Q(Hbv3!YQ^@H/88a_I)U|Ňϵ\o)o >o00Q$f|\[YY^O`Ht]gOp.bA `BI4 oW'S(!e"# m-$RF LޛSs?.E2oξ yσOu|T e"y>f/\e#@gBB߈HLFgԄӣjڂб<\ F%7#W(N88nx}?hou"?ҘÔiSٳLw3MY{Wa§-g}˄ _@@ +dgbn9)));=K$2[e~˟ ~] /I&yرc'%%˿LPo}={O\v٥c0棏v{(..~j=ރS|?hj|'$ +(HArw475rL<F4trAN8x(I7sl2.oMN85a Q@dP/ ohfI*xkLҺ 0BDPBAdU&VУ:&,IQJc|ic͚/-wsU&77n`0FA4m¹TV$V wq;ǟ  Q\\՗D9vXB ,vY)ۚi[s$=aTq=hB;"@a܅_tu$''SQQ@KK f,͛?=ES u7*?^`D4̵D5ħJ(VY*OުClYYܲ8nlL*KD-G3t+ge`ih?@eBB8**Gt͈7vI4b2MLBss !իWqhk"kkhkk!Gt-[ʆ \bk;ǎԌh4&T S =|g߮"1/޼ο?oSf`\o03YqN+${/O}z_Hpݼ;X,f+W"dn/,&բrCv]ی$^N?>SQWe+,.IAU$:OЮIpTƑ/|GDz&gZTYzcRenZ96QZ=D4|-g݁NbO6vC  h|{YA  >LIf NΤdj9`%31V`|:ӣԞR=o6W^[ Agg_l!55u8x%%ţ`̐]#W\ f(|f4K[!CՃ^|5wPٸ<"רyp(] vv.&DIaFlTKU=#ʬ\+`N5@;D'ķΑ:t8.Ht{ooҸdzw(?ע:,ʣ䡽URi/GZ')f.+ۓxl[+::7/%yi_`A4ޯ'ȒI)ܾ4t ~fnq9v+MtE9+t⮹~ݶ$43/<'[q#Yi~FoUI8vpx٬ 'f ]I1?YhQf 7Blgv=++Yiooϯ0={9eTUsF+/bU`۶xw_0} ]Hv6\EF~?xUl̍){v]`Vn=w_TL~ ?ȒD0q|,'v1lMwY=#kfi5 ɺȒES7hPegvqߥLɲpÇ'Ťʸ4pF%~2-K'֖x.VgҾbo݅k:Pe锂-TWH{L(d/m#=zC#ǟHfW8nHsjLLE|guMNHB3HN`٨< 63Qئ  ^glG=~ d#5Dw0D,T??i7jou]C}}À{._|_|Tf̘嗯b1{ބ|4tddqY᭷ޢ"̙3!VEȱS-*kwaeܴ  3TWK ?ڏXqI*sl\[ A"Ue ?nn ;,fC UnH#jTw4;[ 0Z;sc= @0Xs="3HoCՔiv N9{7Ne~pƅbf֬r*+a2]j g%z# F8Ctc$N?%9itϬXp:c~iii XH ޽KXtqdZ4MpeV~?_q b>`IBg3TVVRTTn6ӻ9, { .BQ .7彣[ ?)=_[U:~^=@PT'Dnt7Û0*2V39#[?Eb8z/Ii Oު#q#D?ѡьGPV>c= IDAT<f$I09sfppUB e#T=J5߫Q*~|$?Ӱ'>X?nͫpC:90w5·xPthYE|J m[~;#g<.]ԩSXb |hp"Eɝ+v7yʢdb G+S/L(a1ȴBtyxBQl$Y^HA*nEH _%/Vf= FHvﳴ''0*4{hEՀQG] M46>&qH/Cld- F)BY#JsPC.V̋"9Vή[X,#PPOvvրY_n=U0UUdeerٿw~̱cs\vHNNbnDUUtӗyͷ!==ի/eǎP +@0|>222|1.$&e%(N-/s{G8yZI/B5srIDyH_YYmfQq ONu5J2̬Y{U=U/g @tcﳙ9V|(&aV/7-ᅽfdơӶ'aݾF;@T|;?YlvgFd8[\,Ityd |i^; |pDH2hB].veIi2$}{{_%d ٶm;&EE'?qP?"7~e]k˹暫HJJp{x-dbD -Nݻw3uT233 TWWs ?QE)l擑d`koDxxK3Wdf~.VL/ŽW<;1(2_IivӖ"66r9v:K1c{?jܾ4MfW*;yt[ 7-[K Ft68A'`_+ffdohi1|D˶ayY?oi_'ߓ;[ҼnZCIQz~NX"A d tE3. YXCJv8φ^d-ZX8]BZUǥ}'M2~! vyl3#ɀ+!騲DY=Eڧ8̙?1 ϱ@p3tK d3@ SUv'S MpRۏHFiU|zpa>M"!FǙ?!O+t(,!E{5PaNIS @G|:b}F 2)$ Lrը3޷ =7ʑB$@ g (HlkK3?gYVX'j&z^@ >LPu$ڂI5t"( 'L@ `8ף; @ bB, KrP(LWW==t]?Ięl6B"^A ?pxpFd<τi,½+KCFˢlQeiL$1V|‘*W y](dffpKд(fYIKK>8@LFVAW'u FfϞMvv6 bX(++#77oM pHN[v=%ffJW +;\~$eiVم6Pj~(&UFb޿C1TDwo"g/*,^}){%++={ry0MFl6p8$''saK0E8%x@ 1w\rssFu$;vğ̟?UU ttt`4B3f $n,a3*8f]+L3q<~V t[t0 }"hp<ͱI FN/{+usr"&]M~~&ia.Ʈ&G IrVvEOPUYvpD/^U(,X0M4}*ik Qҥ& qQJ$qf3sam8fy@ 䑝 mƪǓOJJb(޽{ihhFfΜIaa!P8%7jQ9塍 v_g38*K\_agqI "Qgǭtxb.Xw,+f_fcO6R ,*Nk xdk3_\.G;}nql^?ź]ܱəl&eJEۖ@'KJR'hwyvO;ZY3/Y>8Ikfs#[8XwlLM r8F4 [라d78|68XX&7Oj#;ÍO%?\7=W*;yeg3q"dYp#{7'R~8+?RmF]1uZegsk@ U(L4V@~~'Ouuudgg<~ʕ}|></j3gp7yɒ\rINNr^~5|U;s/Hlfs0(2@ HF 0 &UU9x  Blݺ+VLhM 3rd Zb9VfZqTwǤd3ݞ[4.+hv7c4^AM_PDq?ApJ:VvrTYf..]lqIY =(yi_CCO%R}i>(fU 912_gg29yVqǭW)'ضVttn^K0ҾMM 3lkF%nxaoh:Ohk[o7Pflaj ʏ_8p|v7ygۗ*!Iǎ51٬ 7Q@ q a4Qрjel۶3fd3gr-T9AnLV&UhmvImoC>۶m^_:9}@/a˖-1W9(3 @elལ=QVzf&w(fR2̩ jX 2-]0P,a F0zrmFQ b5]ch8yIffY\XRL{i&ZaeJ&gL$2PcQ_3*R֚،8  sٹV>WSohhd2 ==gq?G={V<`}}=,[;3`0sϥ1.|5@}zn\.6msc>ʁ@﯌X,ӣ9r]Xl),#2˗/~Cgg'˯qwQZ:xvssI-}S#/b)SįWV6Xp! .3nIhl<;-ٱIfd {w/s{Ft9WbVYTӸw] ݾ%Z/@@k?{̱ E)H5a3 sI2*#畦QgVtmF{܁ HrxQr( p>`4m&[TziA/\6#7 OS-Kyp7fVN_;?YlvgF]rO6I1s xy_FU沙w {] Pw5/L3Ha 7 Mq r2nc2ؽ{7NYf:;JII رz}D"x*eAhnn[FII1$مdBQx,Y'^j4M#++ UU0̌q_gddO }܁XB[[{eʔ)zc?QE)l擑d`S_H ;1(2_IivӖ M u/K1AKthvO lr劙Y<4sű<sqmKzz*2|f&Ʀ'/h<#:j? fI6rE%t¼#Hk#/e[ k簼,7(+yltz|71'+ߗ4|8~ D@06H'5@fff/#Gr} .8ǃRWWǴi(..F4_ٺSn/Fk+Xds/ywx L><\.?/deer?M(& !Ѿt/477?3g3cH2 Dh:,bVG($ fttَ$$&~-'bWNW5sU6cPw"LEdz>lpQ.|V+MMMvΝطo%;;Lzwxn}?!cB—eIxWX`~d2żytb~O\9}4|>yy|~v軗(lٲm۟d FΎ `Doqmn &D(( {ɓ'JYYuuuD"<۷$.+Ou@ 8#LHB 1 *^E֬YCii);wdÆ lٲq($IF1 @ LX}]בeU5 ¬_s]]]̜93fR_xDB_?O  @ zF*!2N~_ٲeX @ gG Š( <,mHDq$$I@ { àsWOE=vr `4,½+Kh*Q@  :n`X)*$M7@ c4={6NWW'xһb\, o6pUV s˖-tuuMFM{Bܻn|h|Ax`LP煽A{ @ppF$(H |v;w.tww:yyyHĎ;vϟa:::0qg81|_JF%lFeH_uq?y\⺊l?!7ȴ!hpڌ 8hR Ƌ3('t@!;;m۶j*23Q{dddx$7jQ9塍 _K38|n5re!{I6r}) D3'efpd؃v4iAriu^i eeLδ`3)4H%$UVa]>66r~N./gEZR@ -gOH&vhllȑ#躎b`,--EUU:D}}M @ZZW/fڴid¢%|9VfZe6,/(xFIK*KEU?mn桍":9I<~6vaV/ S$XR–:WM5Nڝ'O{lۓx|{ }HDӹsEސƱ{#ȉYUUaILR`tf2yr)Ņ '& B5@Z0A Aٳhmm8dee1m4B>|E%Ttvvbۙ6mh b鏠:$hܺ8Al!S!kH2|sHZI6m3wݞ(×7_gG$-ZT7 ZbG%.YG'*KBA$4M#';/,G`Ȳr>+jLJKKHn`0H  ++%KP\\u4vK20]ipye$vO**`$ UL%)4 G8nՅL˶0=b-l ďWm3;8޷SjIݺOOY1c<1 c`w&,)2LQ52nd7RH`<;=|ɒmYu[Gn[nY챟Oˮy|wtyfw9EL.& 兂feÆ6{XsD0"U(Ab4Pq1,$ItvvRUUE4yZrϟW^yEQZٳB< ϝjUM#~n)2PPm Vyv +HpW45 jdP4f>[|LDh}^-.6W;ݩ/ NfH:)E#h:X2FYfs+jBfxxIf٬lڴ8G$:WfaŅBNh̉:,Q5 Tr!O(5xZ(Oυm|i . `^ג̰ޅ`w5aK k+t).3>y9ǾF&u_>1/]Q+*3I^ rx8\3ξv@g%?yRk +9kFYzux.Q__۷ogLNNwc˖-R)&&&_mށdx4Y%h] ߳'L\!Ѹguf3Iݐh St;?:4Oc{l3{W{x]v.ķ^JCuq2W=W$@L!h]WNsm.aMoFiE@ (LL]ۀj%NaxulŌD&gP %Cx:xYRȒCj*a(j z&bsʿ5'mHvV9}I:>Ǽ6.?ξvo'' &2Ǚ:\EYbgk$+@<)YӧSl}iɘrU [TF:̾vx0DvmvWx$`r @ nnPePSCBg!~3ܘJJ\ZI"wT'W#u%9I&$3ONBb<ƶz7/ Ωo3lurGsɒB]wGkWUc<d`]y>㑫] @pss̈́B.hZD(sM 2vgO[Jcu9=~йqdYj; :QR":~=MsSTo0HNd|@Wl H*$yi3fF q /;4ƃ[+RWCyBXU.7 D?yCW ͆TSSubȤh[0mLAdR8ҩ]EQt[=E@]x_3_3sLջj>";35uyQjjj=f7zu)N8A*bֆl6N Yv- Ξ=˙3gj>?+{Y]a#Ty$ xS ]-/]Q+*3I^ ˵`6Tn5\VrG~7C@ yfyBahiF t]G4dX0 :ڰgwHl[]$]pyfjjjD"D"ٴiSz(DQkגd㴶R]]}]b%JW\[b+'U!lU2ُ,)/Ÿkc3 m:f7??c8۫wyiUc(dhb9k?>r̚ {Ӽ􈄗r@<3s=o^ei^ZF%&eTdKOc5&u#UGE*xCػw/Y?.RV={5lh9r¶mۨgll~kI#6Pb33㻯 /4#`6ٙ4秓|fg ÜNPBFY>nktc4H8B{nٓXeQQ?'ceS]{I91YpWP0rt4ʗ逸k$JTwղ܆b(KL3?ݿG{T\:.j~̃[+RDU`IdNzdw=1*s?`$b{Ӂ8.o|`}eSxM>g=e6 xh? E[-t@gǶ+V5NU:P R9[DAbS<;?~sxZ㽭e|zsDS*6ͥxv73d45Ο쨞{&<,J8`k#nOnZZ~~xHJLsBF1f#4pf2w^jO>Cc˾]ՌS|XQfgUּ(T^@cc=$q02w]t:( ×iE ~PԄh!%:IG@yqFTTTzinn hDujkkq8躎)_<P"ȒD*`3[(l4#KcԂ9qcvLʍ5wGe_kfu-_n Rtl)(K(h8Js,)}Q,g~5N|?g:"4XcdMn~xp_>޶PXl|o E(h <'ibZv~8qs3L jG=oFȆ(y]#lqnĶ*Cc˼]gqiQ&3_ ֶ 餻7/N׷a;BAp#"Br@udY@e:;; q|YΑ9 úuzӓxn:;Fgg犍 KT:ε%6#?{{Bj.ٝ2+]w2_B W͘ y^Er?xۂEeLfülq%Kn \(ωBx&,Fy΢~4c3bϋgVF{pR%֘(2Ζ'Cdh .z&bi*]9s`(wRnE$4V Fp:xtO#KgϣPy!P^(lV6lhݻUU1011$IhHUy[JL9&j9C+U^8n]f71z]b)0Z\'|ap2CZI)ɌFFӋ'_%1KKs%+ ]/"RQ/=Iʎ,!l)e`*Brtֹh*Y?K B Qc5qEEc"^AF7~S>dE_liqpU嶼OOB "Iuu(n6Mc4爄SDhrp/nJZZZ"$sm//w<000WV. gfH(*f]8-D%3 ShᨩYK:yT\!jL2c4S1hZb }g/c6Hys\K,F{;?:.YЖ;LgofOmɗՖZ/r7b^z7= QfCOLw/KCevɒD~_b5+]f|N3qNK˽ ؍ٝuMY!'^B*XF ,,<03SX ׃nGA 9h4իǻ;wQnݺNPח$ƛun*"K0gu)OS|ZR)ľvGFt6Φ)W9 M*eّ]TM3|bkV@LaGW əB 4 E6V Y}meDR*m\J][j\·^[&l^i 1Ec*v7W8p.ȒTL4JxDuxpk%O `1r~;]Լ/f:0JQWj᭡pQu6V;Hf4qb<ƶzwG{[XUa;7R;KL{zh:^\WY~8[+yoQ澶2Q$E˗@~gH30\XnwPB"[<rr_:z<ӧI'''uEyy9000/Ȳl6`Q}_gFөr-NfxL^ql'h3)^U}me6ɣ~)ܻ?%j9LMRʳ'ESL A}mRIxOTbT2VEty2k+F7/$3^ڿkU)w.ek I~sӗ*elN%ڍ{oz jy?ux"s ;Yß?ݗEySt,gY2ndKU!:ȋŮA5?g'ydQ@ 4g(~fhЌIENDB`treemacs-3.2/screenshots/screenshot.png000066400000000000000000010311171476710620300204160ustar00rootroot00000000000000PNG  IHDRVT IDATxwt]}OE  AM6U,ٲbqc'MMwKw_M{qb%eY%Y]VH z=9 KZZ<3{Fo܆>ӷ:k=[+64GNNC!B!bVI !B!B!nWƪLeq%Sj5[BqEU^1Q?ݵ}Uun-ֺ7RrG;Yebfv__Ɏ;[Xq.U!B!nUZSeKe*浓lV!Ϧjm)>p}j;ȴ濩Zr7\P&~3] o|.^k +3\ٌFCt^Nq~i9Jb:>E|gFjwl՘MwΗZ%=KTgpYR;^n}B!}h.Sk&} OĈDy~ep#%N Eu ˳jHu{0 B| !ET$P[oreRxR+CSToVx|8/ȂH$_{*Å_ŘOUKo:&rI-'D/q4Dã@[O8`=dRMNz` ` ّ 5|*c'!B!oUE|b|^Ʀf?)`{U eOr7˻Gjb*66驅l. ᙺU?^7=S^wljb1,Z||"k; ەIw\ǫu֖%ϣ 7ޤ,$^T5]U|b>~\"#cu~Ǔ[߅>y4WԨfILvt7>4&5`sE6x%peUcĴp4\^C)mO֘7^DÕMFnܚcEQuiݗ0 Exc|4F'63G^۾hbQx"2m{¸H]DzMN&֦y8۽wy65C4|yeS)w=gǺR>oM1Nӯm&58ŗ)i(CE,w}WE^&l $/YǺ_KMuΘ{?ѿeZ8@d}~z'{g9npڎʣ0C!B!cK\kJx-ryM4d-5(-22.&tD/mkz 30ɖ Mg5]z>}Lw}j~ Gt>#3{A v'H{MIcYvjzv ;KkvV7c̙ڒT畐am}8-q k)0ؑ^$ g:ŤYD&02 (NZdQ{lgWR.05L ӏfC9]ga_rcNmN< 签 ޻|tN;?Kajvd+Wo(<O~gz{UŗQ^o3չ)MJ]GeoY, vt>ucx<dH!B!VmYdfk:Kz][Q&#E`c`z(̩49!Nh0GlLب0Ucӏ]* =Sedbh\F9Y_z=lP ՑG'$L3eOY."=%MLu6 B!B1 IZnyeU ێ1L,Nr\=e'.Ӹ3hz Cy%)%7gQV ;KRUk mN:AN]`8EXN9ݩQW3O58 y(S?336j᎟>B#41@)i'ƟM^tg'g]<`Ǻ8[OͺGфGq<\+iJULt\k Q4:*J`|tJĎ$h^մ )oCZD3ѭԺ]p=X",>T㦱oB\#wrԌOQ\23+~13;6W?KAdUL#|,_Z.VF!ɅuH9F[^!s?L+BMdglD=˧p콧.M( t^ o:k(0hy{6amV&8x-T_=tyc]}5$Wҿsn;?xCB!BUOR*;g9لG'$NHj=4[]6ggRkk2睧=ZNQSAMJSsY(34rB,K",<5͹%f^mW!k~mFVctfN6?áE FC^r+Kh_|o[;:^k/Dmޞr緹~iGzy3t&G^ٓo%a.dɵ%񛱮B!BXĪ2 *0L(0~zrl`rzgiL\ltN'xH 0HIiBQz;l⅗9 z~n<\]H'= 5q_2Y_Ac ^q]h7e|t-Vh~>^Aog}3q:_!B!nZ3E Cݭ8ϠEf\Vs3?4#WTI3xcG$YMW{7=[u}y+)LJgKU `Zl[ r$>hM,rSQv9bo^ǎvSa-B_==yV"n9=;J>Z!B!nUUPBjf̟`s,gm cqxY o8|:w& E8đ1H#]͔LkbØk뛢5 n>k#?mx=<|z׆z\dSQy Y LPy{(aLpw^:Ek3@q} xЌd5uB!B60M *cZ.hKر_+d2C)tsF[z}mNeC!ebB \Ǯz42H00LehNC:]k#{dCc񙤣}]?.Wch%+)L-|Jq3 SpB!B!X Rry ToIa> 9sF1Tdy }nuB*ٔ{׿y.&~w:?̭ipx[B!b%Oj8|{ȄUb5<]4ZW~ [?!j//*A!`Z[DFm&hnc4_sy;ȼjS@YU~WKE~wuZ!:6e ͍Ix7jge^9>>ief4ZB!B,k*en={794-3fSZ|bbxCmᣗH1IӞ>|]$Y4^pGofϮcWu.%?&rn*nI$r}lyoЙ?Mr(#9JRSWi8OU=[QKjSog/%v]LYV.~á ϝ>[K{2q{bB!BxF*"1W'>ՈM!n({ge3N WT`mU~LV~ܙꢧshNZ&L\TiNlG7Jy) %{+tJ7]ol),"4I 7ؾ=3m,Uu l=˝ɇ|` oJ椠(UŘAη+hQ^O3~re]cm ]ljO{};*'K\Z@YF6KoxmQLj6?NύR^ZFsm$Iļ\XſMvs!O48NFF9ۏǗ<~w=B]^>CM\ o=y P6Gw_#cMYNk/YZ ;D7B!Bo3V;&yW#!( 3 Qug5鍯DÕMFnܚcP*q͡oGDg91i^F:vrXUwUUǞ⭾)F l`kh=TS:DQ~4-q{`m:aMOuenƗܓZDyC8Jۢmqnz '6t]_{+J'B!$*@S-h;H ggł O)mM t/-e\-D;ڷř$ftHh,51)pծF1@Ig;uyt2IKj-ӊ+gMBn!|ipeͺEhpcI?r蟽I_-2| o$Xbj%)7݋%--DS\[עB!B[OB.entR p wJ&$cQ0ܤLJ`:Fڡ֬M 0cONH|tgjs g珼B)a֘NIb(F)/C)d=9rMCA8 Mݎv"hHW77W4ҙ*2;|ylx/*_{t&,7](Z V wҡ XSwǁމϝW;Wf&I'V k Ac6k$h뙊&,ϠNɭEz ($y>[" !B!n=OnuB`p?ߝVɺcch_*YYdee`&rع|nkHqD;i&,Y&r+^]ئc[Y.d2*β*Cre{E6p#'SKzF9wnö|ڛ Kn'S8t];c舰 '6>[qeۆ{(ޔʚlp+7T IDATye!/ h=ő&.kg!磴h#YY("|b*YSJSqb#y!B!kyBO\Bo'^ϭE!B!x3nuB!Vf4A!B!{XB!B!Bk$U!B!B!FƪB"eZ('HMb<(C`lA=Gw0G/S`UfpSD[|eUoziCw}OYXno||<L v>>NWZwgRtKS*j?=Fέ?+[B!"I !>,6UkHm㉊ ; Ӛ??r3s &9EEw{-S 7%~܅PZ^Ӵ-Lt*ryjOs.rO?LLJo򻃳 ^cYܜ>M߁6쨇uzߦElraYySe n_+'#c}V+rǧB!HbUl_PL ^rr79|2)f<ۇ>,47ijxX ǀܗ$̔X`rN%: VD"4x}+J,=Op< v|!9e''2 -7!`D=Lw̬%~_ VrҮ/,,eK2}],MF)sU㻑a_%>J)^AI)B!D"XB|`||"k; ەIw\/zZR,"\hbjS+eg3'cdPؽeCtP{3oN` rwɋx7V@ާ^$J>#Ppga-o}VlbݯWbǙ'5<g%}(F*!ھ}6wSJu_CGIT7'{מgt Ԋ|,AtgP?~ )CL=L+'pHrT+<6>@׍M}<_dsƂ(uO6Yz2Ƈg#e~wj&e23>wѺ ]cɿ}?ϴgP^q 7S`l›hcē wŗL0x~ؓ=LW0k)q Q&[ޤAw'G c)Yp6 'mόlwj 4C.qR// șҿN~뻜op2Pq&[ߢػ7Xs7Rʠ1`B!HbU񁥝CLNħ*e3IGa=;L*ۃvœA̩&G_Mj.3 бLIj}&>E8Hc}a7,qb׈k* ˃Mt?E>ھ:C7ɚ/+3džgrL5Xw|,c{ pO|WY~>@>>4dE|8lr:Ǘkwya>ҋڳg5c4Y :_\R+! XmbZ&Y"mg)_xuYvF=Gdʡ :@6wi{{7MCdo'35^tRc("ncdwOG(3V>$e}2Jrm4?7(CPrG\zx^3qIoYL}#(_y>AI뉶W4\<4-po0YR!B#1|݊gB!mbUBPsGsH/GONN` ecgbҬnTWp+=:ĠJ^V65M;ҰU>o>(¯&z=~#gf&g:ans6*r~=2\*}SޔI]J#7lIhgm1rj݌rPj_׻e8:¥<g,]<1!H33;h v0 珏> 9X]p(X>/&.#\R˿gK"6c)ױ/TȥtCPcI_M?>wmgY_9Ή4?;&MI|*/cAwgnw_9Nxuhe3$ UK6kُ|׉?( B!dUe_N:F!neݲ,4М٦W,&R t.<Ĺ5ݻvaei)Fb11 ߺ <k+\4#suWSD,b2n\Ů&u絛$D Z+հ@k*7nɟf~5؋/2MtCb_frv|nZ|OgM6h| p+^"c| mOk 0hp&w79-^z38c:֗4Dc=欟7edPȿ3~柽!?W5T8V*)j/kz5ggGSXM`].זxB!oX)2cg浓nGdP`餪zߝI5IX 7iITLg9hŊ23% 2|}1F~`tdR3393o;ƙ }b(Uitpe-͎,YvlP'ʷ ԼČvhIY[Fd8$+W.(^@?B5u+G޿~|hE}2c1n /bynǒ"2놺,!ݔ}Az_?M,*ZG?XVK79Icw^#QH)JЩ9Epx>vh'_ 0͟Sؙُs, mv_Y2ʹDD ݳpӷ=J"||!.ˋFNORPa9\F偤]wf 벘rn2K= )Tg:=e'^&vʶ+"@HgyQٯ^S|KάgNiYF˱EAq?{+h::E80/ll g%QJE]K[ܖ1TI :_AN2B!iUE|b|^Ʀfg})`{U e-}!9ܙ)S=] 9ল4<aZ6 X\c|Λڏ3}~J [?.^C3VD/;8ԙ7y媍atC | 2L<*#tlpr=yw*)cdy,t4H8]'?PI)b] |boz-Y-< bu7%f >z?E,dX~K_;t|9>ze_'p5z.0:dR].SHKߥh#eOi륧Չ9eߎakY v~ !d0]RHl5>K˅M:HW6i[b?,%'u?nab a>Jv%xؐdyi :^E{S~tt@\9߲[R1=`wB{:,K\3g=(EUsJMp_;)E\. ³+d3=4KR8 b/qmN!Bm S@~EQ2 Yʦ54vOqOC))_"^/ޱ! 0!č54GNNKYgx;:d)bͷ$>esp 2@(e+(Ëc|{}hz4o5?CB!tƪR٦H2b?Wn~̎mΣbyrD<,w W!5mOgW'qF%Ho$H,IU}k 0{{X(V͇H!e#B!X`K\&% 4pdfg<|r??Sʟ=$vx|F~W);k(HIC9Aںpov֐#o>ǘ3Pz o~”l̎*jص>}p\FҢz6䗓D"z8vUrjR\_:nBqqk惊RkK6SWBLJc#]L_m]&f%hbM'$#& tu4AB!gXOUPJJVAkKz  F[Ԟ|@lNpˆ- ;6V.& hڊ{Q_z=lP ՑG'$$׋bx(AQikٿJ)Trt3𰱬\DqǝNEa=E<}n{ydmyAfQ[qY+_/^W4()l`b9Z""׮/V ncnuB:B_V!B!nk7$j=UaZ.l;@g3OEyTOl?frgN]8CVyGw=AH82ŎZ g1R+x|=P| ԛr0 b6^N5{9t{6oh'[.PPaGQU+4!rsRf^tI8k )ޔ;ξo_,mrb肇Egh,6m%=H'\|8A|~[9H2HRn_ͪN -#K ~|*VT/l߲/2|=EP)BP( r+VܩdLx$T]YpJ, SJKIJ,WbY&tawRvvbwo?il]]LW4=Zҵ#gQ[ly4)w EL* Hs'!CgK;cdI7y9@n6]C~fݧ81qIp zCQң[cS/T#srjt1Cw_/}6ZoqK{ί{N19Y泔Ŕo•aH_gx+HM( d͕I7.r.|o4rFij K k uc IDATJWYš.ܵ BP(?.bUh9e8\1eY u9g>SU3hpbQjZ3 8 *#tDx kOŘ! i}$e m$3.znMPd,/Net-[0h{bN3TX( t{.I رMɴj-6m:94-e"* 4꽴C>æobM_ ZwδBs\ JW %ن==n]O/\EI]U3+sѝ2艥_EWM?bLK)xRJq|!,)G{m=s*US+7󡻮 xo[_Y#噮yn"[vfneYit6?Éݞ{>>6.+!BOхO#^~{z5w߳B:c-<ӟr/-y#_J<෦<>BGZDMD-k_d1R=gZK%Qvwٕnta10Do; %/JŭEd%a :~РfgSe| Pd6rdoquԭQt;]`wRH+d_кDGl1֖l,$5׎93dcSz_).d0ر>^Ђo:͍ETݖM˿mBP( Uf=3؃oEMtGPdөYv VML` muGNbZuE@aҝKe(hZk=y+YUk˕@"YHj~4y;+JpjxX ӲkݏˑIݷRjж+|_d#lK~[JGKOS # .];G }VxF磻?|$xk2w|sԍ?CЖwޘ^y_(В+$ zyFPnƑcSe[hd"(  TG:JV^H_oHK?!Ĵ9^?/_өl-!Z"eT}c4nl{yhbZݑ!ͅ3GMX#CvuUQ;+#FtµAj:+>^:gys=?PRdžix2VZ4W>`w.W=hG=תBP( B13ot 34ft)>-8ͣC"4MGZ=<!;5>NTjh"k/oxn+Kk7B FB0aSYQƽ9;3l7y8}u$(?4ux`وF uس4/& qxMΘ!alh)H.`ՊYeiFuEn(z}/6oq*@^gNv 4}xN4[%ծax#!@K z:^9k}'=͠ɝx;{786HH4`c6?MӉR 0"6]Q=grrt!lxXs@ Bl'a0#,)VVrE.-5BD*%d`1a M "l 8I)Cfٿ* 2!⣷G"IK) VF-S}Rg[=>Gܽcd7x፣D$83WٲZ9]dd)%NC#ۧ"dkd遷SR@΅#M9  I+ le=YW}{V=0v Nb׷GKm vٟ)]﹗O?ޏ$fݧ0&pP8H0L`GFv;)ߚ#?;ht8"@{ ˔Xa 3bb~[Q N4-g\?Ē!vsdG4WsiHqrO2.5BP( BD|Ūm;9n-ʹ+`Xw m3 M$D|!WABqk&V#' lwiD@2DN)EhB= x|{nw$jr7c Z8#Uzv1ђ*51eժT ͓ $ͼ7<+SM\d'X H[nO &1uX_y?axaNô籾l'8rq/ΑAZLOW|zչSpv 6:uRA>>$E3nYV,}ߛ{EJL+V%3W&'!Hvkxӟ7hIbU9x~ l L(0$2'Va'x4'o|‘: @O=(В04Zm%XV>#5)MCJP( BP!!GY% E%u[V>Z4 :7}TH BqѰ'YG}QQQJEE)f*VkVa7MM <:_<_k4mz.K5 i#PTiER(YXLrZrv,B2Iu8I^-1T|qYOvUt&"_FB>FrHKO." q鶏%d4ݽ /OՌkï*3Puݿ3#IȖKuW }Cdo]7z*=Dg[ɾz\ކ( ='AFhŵv#l!*~y-LӢd[)zѳw uL;o㺫V?=pk&O7+Oיpҍ[yvXSS?|@"iI+ױcǍlP+ͳ?αQ\{M\z tp'N~[\onWbp=Z.vu4YM KQحO7ĞccJ3)Ua?k7>bos]!3Iw3_2r̋* ("|[i;1iג(+]FcWGzE>Nko,ڭxw733unǺMf`Wn)#~l%Y;g+JBJ#=Wg•aѽgpcԵ_[Hv n^L&&_|lVݒS-z.1NP( Bx;W_ҧSqB /n"6gV('++Ch9q$,ߜDϋm (Em*r民RMEN=?BP( B.bɊUBX(ŪB~E Lo8 eϲHehO- 'dūP( BPPUBq٢ 8F/_ =Nt, BP( <( B'JP$HxtA BP(wb57FFXG+ BP( BP( R]CEHTΈ ?1ho7Bov fqz/!| BP( BP( %R.wSUs0ijFD%Rj}[5v :\OtuP5ƾYc1|֮)fhN;HTEV(.GM߹gzVO߿w,@mlcc}T|j F &EwI]SHLv}lpԪkn8E4襯~+'e-7[s/KuooN\ϙv]N ]?~Ȓ_e^BEy]G1{R)l<#(O7NBxhI@*H߾xw],cGy]h Die_Zdh?{FbBP(DdU!XVæy^W"(i)Q- n&azycb"qB2߉m!= r]+ =D%acu(>< KίaME:G914χ-K4X&aYKʤ4wB'@pӴ2zf4 ;(oqdw0iߥ$srjt1gʸ/n~w|gO'jm~gƔ/=o^߱BO[T/;/D%˾֕Nv*w]Yut{ɬ&R2(^Efq0+ BdUC-YsJ7+g 'E90MYPl}ƓD$kXXw͑!J/dV,es"&e"}{| b@dKX""Z]I&"(delΞRVBc \jN3]%smn7B@u.9`zdG6*as6qͽ ~8[D;!4Gz?BG`A\"$f=n[c )*V;BRHd~X#u߷ ;ku2`ʩe1^P( ;K fr pF)ZYœK(( %В()#;͍.,&Fhn$شqˀxP,ݞK&z9~+vlF2mqZ;f" &46#^fϸ5O>æobM>Dg:͗WLǮA4W-%ن==n_Vma&ZY&"Wc^(]GMWO;bMjJ2ro\ Fd_ ½kBkẻW OK)xRJq|!,)Ӯ W~RWJat糌4zn1G{f)U*Or Eԋͽ}v2q: _Ό_bUngQo h/$\|xχe%8Dy3`X1whR՝y+ p(TuNts7bVrwtS'9܉O&qOΦZME32(N2hshhiNa8ܞ^FIF˩_ؤd XO>Nt;lV/K2 2st77qq-uk& RAzz& $ Mw Wmb멫)ơk"f+ކ,?)}1~c~G&w3N~W5%OD3PvߦZ*d^}X c 4'%am^|gQw:aet6Ih-tOq(Gڎr36 6/ w:ڛH3+o`ֻY_@py+kUSט4QӉͱ6{:7^}7(Nw gVBm}['/tn.9@ƪqͷ^q-UYٌdo',)c>ə8橜UZz>P BP( ^u)1$&NMYX|"3c~:rXS1c$j!taEahDНiҔɴ4Řn 6wRV ͇S]CpO[2\i &tA:ذ 6@YeXY'Ɣn 6z & R"c44N~ AAI DםgՊ06IZv'bW}=ԕ H+D{ٖRA}t{D)s-X|_i *9=glOoI:%z .߹kOu/6>_ɶP$&x~pvPH8MUR kqBƬEMIYr9pJۆݵ]CNЩhM}/CK:}+1Ɗ7i!枿bc_2 -؍Ǚ?&HZ`t!HrgU0WBP(x*V$'2:6cۺLԭYCff8 Z-죿[ٔN(iD}3?h4;UYNO# tzN08G@*REC$pp#4Wlmyfg| M- #c@9ɚ ho₡9([4 r" T}MWaO-$GkбiikdQSEw;oŒ- j礗t&,l'0Fɧ?+7&Zv&24í|D釅CCX7xh5@R5ӂ߄&To  `\h+gO/ lOs~rUlwA䛯83Wٲߜ\Jj "h@GdͣV=[۸WF!$蓫 v!{ł`#NXO;g0d w\})QΨ] @p(F{߿2ov,SUͱ2w[ގǓ/6ӫ,(߁I]eLտ!nPbi=%_#HTnE NLvO+:-xwvvjAs A:?NuD̸K=r(}8 (%CkƟkwvD@܊Ӯ? &zbnkcӌɑ>^@u\X+ BxUbb~OHfr&:9 =lihnE#9=r֦i:}ֿR‘IA Gk̮wNhլ$Cv}N-+MYoy;R M/ǎaIeY5g=3Nju(Bq!ekБf'\&[~MI!bU  4<虩T%'Qn~2XXrpPiXV$L)#(c ET|^Nq#3dshHkq~=Ϡ%H_R"/oiEAm:|.i- }]?~iz|[0t[P "Nq;39bb׌sǹ s)-cW'*nz4@:)Y V&v>K%P"M?B\#;5ycӒg~jZ?xKOM BP\<UfC G^̀MǭZuW?-T[9. }0[QEoCQ ~W/*V}=MlLV8FؙPAYY29_RKS!9u9,U4{.68s\8_>34*A|Sbdw8j+iD-l)q_5JU+@Ñd><L*<7rZ7h9K$nT`rhzN"#<#ϴHr&E߂wو2j2kb[]p5BӬJGsْ ?R9е';`4'm`7eX{Q+˸)ѭWƑ=`x?Bsd:(ƙ;27*}=h*n]SC4_߃)6%ic%潾'[őψ:6lo15tZ&tlhEI 3BG'b2NsmGfXFE0N'݊yG:ɹ@!æ:jc}Q_͞=#fwc^Y,s_PN9 -<sq&`Iy|Hi2L_ BP7 ukH147e 2gŊ2;;BN=A%gjfRoGNMD\n* 1ǐldtHXYY8؎ wh_p|f"䝒?D%g`xUlf-$_ʲ ZY:w33B)vXDآe '%c[PW/cO.'H+,LOg=k*@FHH& <ޅϔh}$հR"I!0X]U9Q0uW`gTbS3Ws8#7R{ N7Q'fl ӊpl#`؆vc~6g7^fJ>|3}/%T{V|O{ow3fY}͝\WLp(^u{$;)cYn(?}trH3GJ>ÔU uk15Kh!'r&eL g;ddWƫTNv5 gf<*KjHMg97&J%i el1#_ȴSbrВ;iըsذ1"H#Kιm+{Hɨ"{Rzܿ7_{v3&ǵ?۔ T GiPnVǾwϔ z0l~=X~3H;o# R- u[Xïe}G[W}͑µ0}]7BWֽ;pM{:R&0D3WNc6{|_60yni ý BP(+s"-6P^ULղe h8ٖDee5c>r:Sly´k+ 2J;Ay/m!Pw7(UلZèٰk{q5k =5ۖlCFGf_lsqlA'e0 &h>WeQ**`(gʰf,L3g֘X3ZӳɟvNv3H2ssf^Z[{CT䑚M >0]mxA_Oq}d0o5I-"cO;gwysx'[ȿh u*UtI`W8d[ɻs;ͮay LtQA w0t6nS?i| {h'o,F6StK9-ϴĭ#z1![fmفf!y8xdX pxي>^o~~|7ےwqt0&$囌1&iQ[ª4PhSSJϮC$x,wEp:jJk{yU@<Ƴ\**3JXwǐHzs'Wnh%3ӯџMi?saf0Bhn¦߽:yyR"&^gwU,#t^ͤOǻ RvrêMdUIrd2PmJ.50sJ&xtW[JFSƽ,)zC|Si"5|a}xG }8r4&}F (G1H@bǂCRAi}g|ZrVuJM6xen =;;^Q( BG^| S^doiҲ Ve+x=L"V/]>-[6~ =cdeOP\V4AB3dܴ囓ycB5Z̭?իז7^);WwH9lfSqGCOYP( ;Kj5cg|X/g[a8x:dMݸ~ eK8)J vHv#rJUcG:?,u?v4/RFCJRʷ8*,;2n.F ˊJD8P?p.xbwK")*q?sg5kɞS5 -[6|)T( Bq dUo?b_ q" m\gI8fUP(󎯣wf^]%٪.rl\l YMB $!l6$)l6!11ac޻$$dٲ7݆~>|;3s˛9s9YǾ]X[%[9XFv\ BC~,9(ʛB}7r8Sna,| 3\>?<'K l1B\D7a````````````````````0a,Q23p0000 σwHaܪѹ}g)|Lv J?a 1z(4 yN߯?6ޯ,#nfz/C+%ĵ<4%Z.{. ‚sp { mZ|ֻ<2K,#5a6?/eZ\-zաBGI3șJ2IIX* 7)GKJH ?DIx{gwtLU8A~n& +B AUe4[ 0+T5\&Gr#u-=J?eXsк5a v>l5*0T0mJ.+how4Ł0G\(w087$ξ1uGpf G2]Bd9sW8PCIƭm7;'3z~޲^bYbsE,8i|wKi͊ ə_@ʨzl^ ðj``EP:1,َ_HOMd]8Q}^))rjkG'[݇/P9YqQ_ܣɯ3h*əψq~j+QT$eK ^8Ud>WMZ;}mř|"CF7F7e>?>N*uX gXH2gb>KR1H(-Ɩjkj:˻c},Ԯ!Q (NDyk\ %$YyB''lt2S'ODHK&w"ǃ< /ㆄ^nAe|Y0e)0mU}*y|bV Ԋ$5[)Sp<8$UלA?n<U 7((@uwpp:V󃯏G$~?f/xeO/eDz6Z{Gb}Ow ۄ",VחѼm\~'INFN(h[khY:kşRD}jG;'GR8k</WaaytdY IEX]oQDE100t*+&@V%3f^JoW'N@8LT&7a(aV轀F' ԾՄy2M%Vp}` ^qWyaTテ%ĨOOJZ:z{IbV<[ޡ&$g&n!Wmz]CDGzW7cB_DNи^EO qr L{bl-&_ʼnv\Z5om8fB%_$Ϲ2Z$gelg6#bB".J]T4U>b,9#eN!6z?&h>6:dᣬ9qYފN]#ː]ϣF~([ /Z=bT(e7cƍ.`wQB(ML|7/%?Ew[OT 7ȇRs-)XvC4nGFH<W)Wauh'#lԵXPXB=+E>;Ou_#(ߧʎe)rrR;CO*9#?m1Ӕ9Q3n@ vTоU*;1f|L,ѰB\Ah!e}FI"p\k+nU(˩э91ĴlJ-݇khp%02))צ "3U?crL F"k#B}.J_.~PV zwWiydFx-k@I%H#@oEv5>W7 rTMT?Pi|}<ºgZ0Syh{9s~$aMHSイ&AŹ'eޣHJ?iV:VF,Oi ܐ^M@1[Yhן_үAח-M#4/]ApZE~`_Qޗw[IY}@D֬/jx}R|+V:7Z$/o} QF㓁ՀYJ"$qti]Hr:Vni .̰j1Ic5C˒č0V|sic}= 穮0\Add°hgT$sb79Q&1I2=%8@˖ԐE:"퇮Τ !d+ycKhEh*Gfv󐀏N_IikcIAްA\)$ِ5ɨ8enPl C=ͽGTZw*6 ICSԷx&c82!/(" |FUy&Ye${2G_3FP+, %8KHd3H",%)iW!{wULO0r9O/n_LH3ldS3'-R_зM-6(#6>S)\o1nIU_Ր3\L"%$+.5IC&9@o4Mn"ߵ}SxƦcl=怊:)C;>ŽZW숮&(|ly2_"ByEVnY?! ,&FZL-_ƃ\YXZA$uWRu Ȟwc$B [Т _]N=>_HY`b[n$2yj_#Ȁ]hVVO%=<'gN;6ېos{d5݉MPQ9ItIE,&}t1@ Jȶ)7 W4dX BQq(¾^NJzQ)& ,qRR2|ɦ (9>bxԎiCd÷uԁىsX3N $)ZܼePψ*@ąX'!Ky>aBh Y:Y_z%jX% Bw !$ c8M $jh~#DCO(F Έ0 7]"@UQTK駵X'4zX GLdRJٵyGy]o[-;j]Q)Q4v7'iXgJPFH W붯ɊY h`˾z/-B"ICdz$c U7>߯NQ"4+(GK st5:ob2ʓ>ɎB2YH\Lf-;b,ldYF|z&"S=[#IM )s-0[B+l$ Kɾ~ts*݃I3J .'|zR錘GR o")YwL_.IHHJ{ ~H:0e kڍؓ=x7ѴHT,W?츑⻖P$t $--f~@CŲt%L>lQ:س8H1yhl!^IU==TDs@ad_+̰:Tgٚ$I^r…Y1k)z`-kN}|YI)ꓯ>E`3Z"{H3>v QdkW@ mFw@0c+օ^Yߚ4ֹ܏l[g[Vc@ɋ7Q Q(|J4 QFF_3фF01L )3TVcB"B"Ȼep$;9K>ٵ ` gAHd)4[fJ'}=FT#H>ɜ8]$ H-ԯ= 4@|f êdDj5U[x/TvG̩dN~@[EUhJ2S"o~7k7#BTKF/2]~Kw H#$܍+Gg>nrz,F?Q0:5J8-,qIEC=GdzO"D|kT{f'5 ZD"r3Tg}L )n”13W?ZB3`gSR*;/*$Ϻ=ArFԱb۸tʵAG kO SHq#i!94%e$p~/UɌeOn;D~NqyIr'3fB5!uz_|upli՟%IGDInKfՌ !L̛H|ri}k'Nh FfԄTCVվbٱ?PPsIM^ YiA3Ony }ܚ= QrRt"[{C$l5|OEwY)P'Io!w i1ҢuGNV_j5^_K&?L&ܔ4@n```````pV^k"C'Pc3\2@$E3Ir^p$@)Ͼ !"7ؗ{qKa$Iu㩯[?S0g̀Os>V9@-B! rWnAJ7W"#i6-ì|@H ć{Ƙ v# 4sao >pg0, "`Ww%)ʤ:/0fT:)5HgKUU@GOJrF:ha\l`"Q{}q#&o]$n [Z|FՅȮ^M܃ ~OGKe ;'c"[dv׿DkM$~nZJՄaiFaV}ry6߃{: /{?]3yh*WUΞ0}i4yT+T~u>y8/oG=vv0ml€C{'ƤNپ-1yԾo>(V6Tb_;ߞŽYݬlz F8ghA1{W0M9&.93<<F2>vY0oۛWsä'01I!0k\+?X 9YeMsSh׷. z$; oNz36ہ̮C}Y)=܁1&\?kI-$ -ٰGўv3Ns0Q@HR$| \4BҋY8?oɔHHl;a%?L"wi\]z_ͣ#+: h!55SD $\yH+z$/vT|o_nc'b+k7Mgu$Vp*8CK)l"J IrrPt<]$d-i}?j^.a|<9ۘݯ蹄q^% Ħ6+LkҐZV3iY2+l```````pzꢊa3VBtvIMDmѶ݂}$RL '6VMK@cd1!DZB BԬYPUpM2XK`y%h,_ٛS1KŠ<ÍVf\%FqϤk1v0zn> c0?)oO)(]83.(ȥ쌪B/=C: %)B>z.|n?ۨ}/H鳨sgo/dX93Ԣ/N"YӾMRJ~>U2I!>.'eQ{-%(ԟII/FŖDr3!<;װ4.NV%ҧ?Xt! &9m۲ُdQ$cH0J| wo?&2j CyR !$ I \;طkrrQ8X6R3R cI]DQ== ;1&p#`1]bi,_s?z )wCCoX"C').{=po e4I8aNKƵ l1-mo!wZ[3;T"_͊B EM#sÇJ"At%y1q0{Fd9SfZS)TCgZp{,NrEUG2/!yTǨI+N$0^$!X3&>yRD6 }K 3 >@k?^2JS<3|Ԗ9r IDATCK^Aة`puP[啛/W,Z= \Xk .?Jff.EE6̱8Cq= Tyi8)) H)=9pg#zz*dO%u|KfLqsh-5 6t(EZM$w@RRHp ݇j3J4R[Sۄ},J瓔[eJ}ɮ?ڪ %y{3iLcql?2Vz3ɣ#h۶iI-R'.|3ÊpPSR0Ek?pL8 o(IRr 6JѭWMwNalok#KN$敠nACyp8.Wpɫ.=1&5QtC\3w+#$aF . F*U9TKzMQp Cpo=Rڗ0iKp[.5F5eQ^o;˾7~Q_Id]-iXd1Bh i1\z`MlY@3,í̏L!oRJoMg````pqd1V~۰(OI/(#lv$W dgм/U #JKDfʪdcSowE(>Wk"+}) R|- ԯq7;'3z~dӰyg9v`GIIP2s j_y|˯>l38KPI&y·Mp_,fEy/ eT={W6_ .̰VUW҉evFzj*%*#[),OBӍj)N3L;!.$53 a7k{PN$ nπs>X'z:c/o>%94.Om),)~wI1!ԋRao* 2z\m4νhrqliۣ8BՎ| a>KR ?Bݵ#**Y׿92li<"Jr!1{sQx|"(˵H~_|e,?~)Iج&Iv4 QX0O,cLT7k[ S |_My ǷCTso_MO s/SR#%/ߟ+0}z)#ғw԰i ;st>~ u5Qp&̙ұ9 z/~/گXu7?w4bz9js3#S>#temc磟_ X^D }zD,bw6(I4*OX50008[.vUI[4:;\HQ9٘%FB٠8pa)Q)hjWDUA-t55q%9%ϙIx˩sj/Q燨yõgn4 $g1Np&Z6ly HE}㘚79KFޫA tR>0q=i\lwSij68A[q:~6U:4l#OcF:wFu#<:p6v%iJ)۶`8z384m߸${-$Fڬ 8lx}nBJ ӱyn{$c堮ew9Icϰu6n.9:-kKRֺ]\p bTկ3!p^^ŶdN&yog:Z`&Iæ)˝ƒ%lXgf,¾{3 <h6}L^t'3l-FpW@k^&{c*e;$Ii FU6'sױs::^-cƌiܰDOh}㫔x׿ΣL^l+szD-F8:R̮M{vMG:@ pm HO/&6l?!Pr4G9}|:McYzl֬}Iķrl/z93 5X>f$>w4^+4a߾^ܺoX?d گ?zO}s8v+~y Hk}g߬oX,|#SXx5X\9PKbBk|Iq)?DOԀF_OYicog#s|$ \@HJ4ڮ Z8HC^<'vt Jgʈ?Ē0|<߫ H2fK;_|'4دZ.BwkQ&\_rp[+^#?(듦Wો53?~2}_Qfno@9~C{cPZl{.nu$_dC栆zٱ(?='Ѱ$dT?8|NxW@׿x1_]K3)15DVBD?ȇe&ݼvw!~+<4p׼%$P3{l kkh9|q߹_q7b:<<~/ԓ &^MyԮEc竟רG,tB:ߙ IN'*ۗ'ðj``` [[ˆD+B Py8gڕ8ғS(cgY9qWDâ /O%CH0vE_k"9<## lNx RI,&>qj`W>=oXnCÏ"6ڳ"0%So!iW |FGyfӍ>"D1XdY,Ifs¨h!f/U-z<*OyxVG2'lN !(8A ҞShe@UM>zuO9sTCb<-˅ k````paV >HcI*Gšt|y3\'8\yK\w DL=ZNT7:I(s Ye6t0:1ߊo{ԽSf'I7c͌kj!Ur'I" ݦ{tϸL}9ԎH =h퍗i[e^8[n#?̉"Ho!4-B !CIl}zvKT6ߦ_O\Cha`VҠdcC MkůWUB /*ItdWlf8}rRw'~ciu#gbN3ZtۧуlGPAN DlYߔ]WCtAv=!dKڀcʼn78;#[ַdMt=/Ζ.̎Կ^:c6:XGƽe6%ʣܓ3LpdB qEzۺ0 1KR".kҙRȣar=Fob֯vF+dr?7A~DzS${Bݴ7aE?lޒXP{q8YC,siЛ?L ) . WaaytdY ŀm,|cʣoK1000Khl}Y#FW]WOP*$DBA*B&[[<% YwSekp>f4o(e1Ӌn%K1x*$o͇1;fm)C㉟U HQ9Dg͌z6!Z&pg-4?@8a.$c,=؆R8|;]VN形`FB]M4ə[ysfsxॏ<9S{-0 Yx!&&꿾Nu~򨙌7}2gehC=TšWsԗ1g8BͼhMf G:<(!u$.3<ʮjw8\)Xx>׍F7}vo7*VX4wYBٔÜ;cEi88\DyL}}5H琝iXhFpl_s/G[2fr|O%A =dwwݔYtN/94Zϳ>bpƳxT[P _JG** % f5[rHO2w:1vL`N'a7hhB?E]_.ztHCJSAsQnG%O~#sţ$h=MI!eQ&e 4+#ic.\FD ( @(evI_!ٲw$o9 ߅f cHOSx~iվ:S}' @AAAXB9IunpJ2 jֿ՗Hw>M.o_Xoeй :܆OȖ&z`5*2Q|%Fe 麈Cz. O #G֨Hzk6[b4=d lVR:Nx-뷠{j_gX/    ע:ڽ9LS$o=MtTCANJGK蚋i ijNߖl%a_}tɀ+|zϳw_|'HRK9y z7ˑ 7#KRx8}AAAAA]ՉU=H/ӧ́%w *eߡhJ'wHKT&vrpIf¿GԋsMD}oc  rpH,6 fe4ی!fcHј )ɶ옊W{ yHv=N@8CLM#PNz1=pǩ "O]` +!>c0mTOĸQiK)3vfLD81wƏeɗ& DE쉗;KoS鸌/H]<_WNk}Ӎ ,Y4u9 f8Ww*I_„c$  W7{PmEdXD|z>1O T\>+I,$.%ĒE aEgEw=d~,IQ_hQQ{ÅHEħ7CoP^$%.5,{a1l_IMcwH1b\ed33|Hn'KgbVcle˪bbH1]"mхKz_K+g;NPR>=Pi+'Ndκ\K$7v_(N;AC->l _}|cxGAA"WP-k^!grCR=jh\fx?5c99G6hV{;>̼9!YC˧=49o]-țZJI۹i4TSXDEAwi>ܷAÁadO=۸'WŔE9P6u FINưdX -js@̲B~Uv%‡lchJֱ7 I?[珿 p"ًaɴ!zpN]}9%{ 9fJRG?x'VTDH(` wnE_N=0QL5)ۗܶĂtt_7h^MQ/#ipҒPMt[Mg3O^D]ͩCGH/+{|"̟Oyi72ĻN߯!x:_y.CsRm cŌ.%ha+%~r720.꫏sw@Y's )KC y<;K: |+74 |F^{g+]ZcthmbLT[ǻc/.e1xL2 >1>{u>=tPCIYQ)Ѷ鏴|=P͑W9mbu,E_+;Oi]U>aU?/Z •N\;qoH>5$JI]si/C#+ՊP&\=[Mh؋MWJRܛQ35K(T[]׈$[) 4~RfL&֛0~=G}_vUA|&fu#-t}E@ֽwOSXy#jЃmH̙8m yd~]$3]sf}V|,ggLa[}N}r@3Fժؐu7~VV"mO6I-GF'o (9tm<jC-o޼U/ Wr׃wߞGa}wRкg< tFO XޝH>0k_&q5OHwoKw;MڨmhoL~_lc[`+ֻ}&Yk@ddQ|q#+OX-.3ڿS'򷳑&1֪  p͸Ր nSUR_1JTT:H9z{RuL9Hy6a & I]U-]~-:vร̉#񵴞1[ҼuzvJ {kDJ Qj#MEAgkQԹęԼ7G_u9@=vPi1%N% ӗ?ģ@X}4w0%dZ=*PKM'6jfD\?h\7gߡO(~FŨZxos[Ai_sv!$eB  %V]>W7cR6[sb/p^d3E#GZs0<,!mHFwPHIex;*_G=#,#igm|~3mAVx&Y[l٤L&T}1[o=4z"/{&xR6bQнսI0ɴ(#cgrdd $޵C=sユu~z"= ެƕSĭw-¿1 'TsXMcٿ!'׷if'.'ΡDLԶGFߎhpo27>ǥY{D7R|3{(HZ`C7#:  %++ B^7 |SJ)ިJ\< }ԶB*.R(=]T7$3 rJ~6ES_l'v,RM!yL1Zn7X8ԉ#P6Z:1X=xd*啗ؾ=q7tx<;l<hXKρzLcH=&bͶнZE~ΙMXRm SH~&I%x~Ng1L%YpnxlC)KZ3wzy( 8NMFi&L-^9n_G `NĜ)=]Uv,^YGod__:?yLƛ>2\RKo*a͇9KbM˘3c fs4&3u#Ր:r g geY;|Tmp,,ugߤeHaJ̭ GSOg[NԶ3~rwCvJbLñkx~ᾜrG|>bVGGܿȽW R0-:Y| s&P^ؗxT[U _}ITMױ/U     ]Ī-wnCb_bH|a{ʲ&HI 1˲P4% Ǔ9K|2*sAAAVn(]G%>̻\t(K7>MZ F T$oXTU&5L&j5o+әa&(Mlw% C|*%9$[-HI}1sr2H7Ѳw7G=sX_|ߦv?4G    p9s^hj1`1+f'`j~̉UY8CC M)!;N6E=]n &29^koUob34wwg^"Kzd8 (9 z @21v\1YGFZ#)l+ /#); t O,' jE r_R% ԋtA |ێ,3Mq8^! I/h|!)t5tAAAEO&Y1dJϩW?{Uz:QARU5vs_GH&>xýXǯMA'VU=H UB1eb%Bf7MBFA;1lVG sZ(|AF_ ɖb2vS/#ipҒPMt[Mg3LXrW&>3 OG).)]ь`']AξϪsx \ $%FbVU/Uc`eiSI6$c3Ht_t+EF,H["#oG21kK5`bs։dYhI>ߺ35M{CtME т~4_/iK8 g>ڽ!/g+`@9cs%)ev#N6;7>p6}35frsO[PrX;BGMM*  p)\jCv7 mbs}^{gHZ.O}ʺSk{Z߼?[H A)ߛռT=LIIр $ͽSK ILI뤛Knk՛Ahj1E~H:n[EϞM갓 vaa[K׮$T 'Ua$r$g'dj N tېL' CG \$I}^9ǢjFR_V`(wX}@Yc Tw6f"按>%m16ͯ~łsሽ'   00$8Tu~=|gg]u~/}~.Bl \~!DžkvI#wNw=]4R,,Cذ*!O+NUÔXy(c^J=(SN׼yd}i6 tc"Ƃ7|ԜGH^/`$~dҧ$"&Le^=I_1!icjzL?AbğxsɖNIF:C*{+(.-$5-׿;p<7rnOf [i|C4M%{k1:) քCHhc? _ZJ_E&Z $ΛJ?J;B=9hZAIV4.܇ʀ3k/][:k{mfS4#}]${ꚛ')lt_7h~n߹w~ 4=YI*wD\?<q@RZZ7   #7d*L %y(Jl8GXKǛb}AA8'D]I}4$^~qkt!2Gj ]uߋm׷ FrɏE}D~rrq˿Mɝ w:q:iu͹s^ckUX7JIn~V"A]IO2r۬4|`YR4M F\UήJϥ&6|P+= \S&Y"o@yCx)m$$C:Fa5ppOėn57]~S)clp3RCb6T14-|R/#ipҒPMt[MgZHmI,HGu>浻虫į?@zǸmsI3ʧ$q#FQjyMCDMÒiC >浻t:!I#}4{\z EL2z'y o!oL E#v78#Ht2oYJRq[>%ґQzJ:mx E+(|ݐA=G3 | >_lGX@WN=0QL5}_TFHoHCWsRzЋIIi Uޡ7OٚHmƣ8PScv:7咔iB0rrL2Z(ZYDzEz1>9+b3a0Tf'S$*)ޜ-7A\ǜ4m=Cr.SuKf"eQ*QlMg6$ fODd.,aXFEM58zOR(x(-X yh1XAl3H -T}Ӻr\"8O@ 7yc:~ b E9)7Rd`Pj:՘_;J|Q#@Ghm H/Si@w |cv%sI2:Y)j*^0\"@_, co|5ҕǗy}w#|6cF~cY#Ucd]Oa4Dr?AF AhIWg1/~PG*m.WSĎ#vvyɁ T \.,c1itHDkcAʸWnpZOPN$!E6$CաF|H~6E澤đ>k q㳝Mi }cU'8I]INH`sǒ9;0N n"3Z7lh'a;h=$9_qڃc\N4 (|[Xhx#;ZG 6gè5Ѻz-{+L!x;To jZ>\Hѳҹ Ha(;fr]Fge2Ƙ:\2 OlD6~4zn9eU:clo&txP2l$ࢳ_wSgmmEh=(j#bϕӺ]tvQ5zڤ]]GʐL 3ҸCH^MfOl'|J?5Tژr1޽ԮoGڼB,=D*]dMΤFvG}Cp 7dc|j?Q tEYaƒvMev i YDQst4'S,4L\IgMbxb ۿ;rE+_{p$?jE<썔o&x|7*Ͽ)>|}t.Ź|L\4+Ş=bUAF]1=V L##xKcTleR>xl xy;g.V҂**?$Q=Xp:$@Ӽ 0央`L62m=Acc b@ qqc^ZtpmЙ-(i!\N]n9L^=wwz z`JM.|y'OSCGwj]e'1<[<@Ë[=mvw߁h,E-Wjz˱ zѶ(= ǧ}}9n?(ot,o7pؾFt^']_QXQ⏥Eow>.5]HRELzV#I#RdB UA]1U85ZlÜWX`Yȶ`Fs۰s<}Fs4/AwⴻӖD5=ѩ&mw6:U_25=%n^~ad3E#GlF  `H ;J) }GE5%b2b̎+段~ > [ݛ4 SjL% M~%'EjI$@mKiCzIe$Erz*/ knca I:rH!aSg:VGRz2 ~Ggs!>\FLʉ.1O80&Z8YI?Rg% 64GaoQN$S!rR2L2@8MPQuWE]u=v=p]UwU"rM@!'I=ww's$dfr~xT<.+u0_EӲXkf[C85f\\̗Wg׺&h%I19xVBS}cQV`9wZ:B`@OGt6Ր]A9lJgj7!T51pN|pһh kk1ei|N.Ú?|ax-:,PF Yx'DG_A:F(b K4EAh"gnÓx] $?N\k2GPq g*h/Pmj܇na(a#duh$hxQ%<)WTe+V`L #ɍQ),TFƢ8:gǟ'-F%:~kPN%:`3f[Yjÿ%&*X&ǫD =DP*n=w^ieo]e I㧨/~*V3`ZbhBQXJYQj(C6*&E'z> M%ekXa9S:0垏jm5shዠ3G~l ~VJpبI5/#Ut_qWXFq ؝~OS%O]~Uz/T?}`h_B/e7bu+*gHqJm/PtQh*r%i~'bMCUWSPGwwXP]8QR*hj̻}T7TuQi/NX f눿)f N38mE:Yc>75 O>4O+]T{N2bT)ώ>`M>^QDD͑aG3;^%J_(ªDs!i`@N?ɏd<ׯ=|^sQ{'Y1ŀ6Aֳ|@$I'OVc,w!`Eß$ly9|zt4w{xѻaCRM=w0$IɒRJ-GKzQ1܍Mx gi/aN aiRqZ_RbLǮ*.#gԻլRbĻ+Ԭ:"`|_@jpI.IK IDATӘ+hyvƣ(KȜ5@Ȍc2rJ(li@%,n0;ɼzDx<+) 6#40w*- G լ(2|jEXzΥd_10mX<}~8;<@hf? ߅s"{Y$#:9PO-#{qgԀ YGlʈuycXX$;YpC1G")^pfd3<x03|nZڧ22AP7u tv_1=%F=]Wم0[Ⱦ w'N4V^"Z6Md㖯RFL:(3yÜ|'KwQ%NTIGr `3+F[h$īg=dUlgE&d?DOJwLfCZN"\Km]8nLkgax{'w]Jt}He{ Y/ 0!\;yq3OuXqӉ#Pߓ09_\DUeOvzd,ʧexT݄(%1"a??F"?l0Ǫ ru"ЇgnIn4hj:2z܌ jx;,IGӻe\z=V EF)Q-*F_ OQAqH6< 2h?0+)TBikBf-"5E{-:b3B`Go0 snE"L~7i}j Ҳ7n2zډ~h9#/`B4o ;q|PBP۲J4 |菵_[ĜO!!\20Wq \[Ă4"^zș14D#p4:[?5׏-((t*R\ >DZfXœ; Q"mTtvYWwrS>őw)l:VWA S8,f+w&b;Xog5XktqGAdV^.N$>eV}I?oP`%Mam, z7+?aKRloM3 /4;^F:qχ(*L;SƬnq[ S^}o[]~Md~ gpGFĚ2+rS8f,IYEYpYpj|Br:yC'+Oo ٳTUXVPsG6(U53y蹑W) [; ݙ}d'*A>:'5Ԭ|t \LV dgq2/bwo5OS 䗻_xF$I:,کJtPV T?Zw?J9\.<1>H o_u0}u%iB4>w~n"~cM )IbPM$8>:'$'җ9$IA!z_$I$A7Nc#H9F#7ٚ"G:I$I$}P-$I$I҉Κ'N,[{O"!pg:$I$I$I$I$xgT$}S(& ňH$I$I$ItJ5#V%I&bBҝvwX[+8|qمeжw7G}ʛi< ?u!I$I$I$I)'$}x),]U" lfg3{m;V#ש0ѭ*F&9f9 I$I$I$Ii!$}h,yUHG[,siB_D;s6Nf|atΜSNu%I$I$I$I:]IE:ii@Q4 YVQ(*S&UiK$I$I$It$}haU( sFvB0\㦡ޠ(ΜGQFˑSr:H$I$I$ISX0A[{C7JZ6g6Eѩh)f-˔Bnfؾ9f1BDXfRi>m$I$I$I$I@VV/ʥJ8"Â&UᱍBJtFQLf/CՄT;8KtVV`9wZ:TK*iSNiUI$I$I$I@V:Qd3K;z G( '̺U٘TtS3Rh j[AOphD{R0Y1 ^4 g˖S糨؁0$I$I$I$I:ΚES=Ŏ/EŤls76m7M96=I!kǭ$I$I$I$IgM`a5q䦛cMz]NwtsDMMݶy1!dOL-9 ۦ6ѩ[de8Zt +I$I$I$I BtTH/Ub0Oުu߼-/u>~W不Q/K?DXQ~<Ea~6f?JF|˱8tv!VRb(>uh}=S9V>#Ou6dKL$I$I$I3YX=rCyzL_ghфb/$w:MQbI$I$I$I$INXA$+O/j]tnyW߈aݠ_)945S~U4 !Qt\z6OWGtJ Cr`fvtG@V%I$I$I$I$鴒T|0e3󎟎 N[(^1b6O|P Cjʤdpdd!t/^@$I$I$I$IN7XEDןB:F$0B!9N#:wKwDYE(b특5WLΣ,k8K$I$I$I$IqSOwTw/V$IFنbъVD럦LHC(ZȄ5gRWDjhz#||$^K$I$I$I$I&G 齎)knmV†YגYc`!C{;06n<3謯!҉En!=̇MCUg 5dNA l1|rfM%1NMEH4bPƄʡP\f״LG6׽RاzJJ3Pv7[T%yL{hϟJ_=z1Y:.lj4 EUh~;D"d1n;wMZ>cߋ<#rudNO>  9]ZH}KXζ%I$II8:/}Z~CsHMхp?ԋ?AA44 ;h:0i6#"^[hJ]y$f3:ϱ.4[]$Osd1cz!N;iԇe"¼lR/:dh#{`g̽JƮY&dP. ,-pfʋY>kU;SOb]LL]Mz^TRWm& Lϴ1U`[s3o ͭbWF_$}ޞSTx:5Sw?RMYZ&W`AJ?lCV%I$IU`u/t{:FdKs!C { G2b?ϾǨ7z9T콇s#{翓-$I(,]U" lfg3{m;V#ש0ѭ*hP}XUegtya?Q509Y)& GCÁ^?_Rʭ=<Ꮏ6$I$IΪjD' S#V$ Jt1Y `+4Eb9Y 4 wlr!W0uGN%?jPl+Ქ3-=HgcW2Ք/bvNftewimKKϋW3֗xlw3%WpӜuHU2xFDžܹj6iEdP Z]q(_3EQ boT>K_HXRDwQI(Z>y֑VXJNZLx Xo{NYWm͗If#Ծ-o%.ƞ[P䭸"4 & (<*ٹ8LϞ+8W37J.KJ&M9-^u~'lL)l&t tO=w ^x# э2X\##ۊ/!Dxw<'j_X~벸헨9D7^R~VV:h{i,+ h9! 8D-o}%5o,.*OAپ=D͚~[`ءa <\4einM|%5%_}i9VR&۬דߙ] ?*W4r\mxjSVM XF0" g9kO8,/8%⧱ J|GϞxNݱԒ$I$I9kc;wk%Z(axh1dFa9pq`vRSt¾,Ȱ}j- k.V3}]5+yɶcժYjYEbN\_1"kaǾj@%JĈp̈́mD>4RV0;Kuk5Es()> Vek=E:_ux|/iurgȲ?O/@I[/b2\rV~]#OtN7ѶQ/,v+=F9׬{v4 ]zuASr]]h5ap̸o?շbso RvIVtm6>6ZSp|`5x'|I@DZP3y>nSג(_ii~) - nfhnW]~/DFK_|> {c;Qǣ揻}ǓMx|KbMPNGW¤H)ˤc# nd%TưTF1iuۯ囝i,Fo/fiw+a|6vYU.>/K.y?4(!ons?;8fGn^x^od?`VT|e/Z>i9OܽsZ.kZZ*k6kzLy9u>:xi”Zȵ[ݑ&~B=B9\7|庇מ}ZBӗ>f_;YGm~>]F7XBgK$I$ΚjDm$Ip3.*+V ` ,(ax))MCuAEE0n7,s Y`9R(L19al[ Hl>\!l˒T+- 5as!S[i7΢30~9q?"Z:}`ZJ)e:p$z@裀503 @ӆЃ!TJRT:*EWqM[Ή] R#Zs8U3!i*JL.ǔvӃ#=п?+"(VԈiwew㻉Ÿwh@"B㮯@QSc/a$|700GkPPlԨ{he_pչzft!w%LM?Q=_7DLOT;?" t(h;ɺiBOv?LM᭾'Nvyk6֖>T>J*p?gfFttK59h 6#AOۈxyGfl x[h]WRUƞElD - a4L1"] ^bQ&NA#TCGP`Vlf ӢI=(gh!0],%+@xM<-:4oax>DߛcY~9koU.]-Xw/^/\yi1[Nl$jxoBLMFGPQY*&h_?~ӾMԿ]h0-r IDATɝ_$ Ώ#Q S?C܌M3 V1p<(fgs^C.˔[ǧ<PAwpj tpp`˹+Hz#ciBѧ 4П!8F nc3 .w+͡HC:#=*d0J&zŬ"<+"v!_ B9o',[)ek|ƝGAKYv=ckE}`tn}mE^q+-l @e:q1\5rtYPH`<I>q˟ Z5qܪ9mWEC8%hDw3HоIq;bJp ~qHT?cBq }X?q:u5:k.l{z̴YN]9aQWT}kfSE-OlO_á\37SFd/ݗy٣K sW\OQq;8? WDp'eU}>tE>&p-I$I>d`U/E|@PSAn?jiixgY6wT AO%bPaIþH*[j ЌRyp{W L0xih"Ph,hhi@I03"qjt^VO'coM'k$1(8T5dMgr VDpHʌ W(JVAGCwaP/ ;vd,FoBRLJX7cM"'^LzQ-1)` ̔; :`QeTP/Q&*9oуݾɤxίDǟR?';|"6%7GmoOowuH Vj$I$)?$I8)%3hTAJJzGNVt&N*4W{p8HHŢququLSy{uΝu#43Eny9gn5OnO](BkK-=)g栄T5pOlՔ93 ?;kW5aزtP 5 4)fޯWpy)Rhbgck⃋P^x)Y/ }l4ۏ:U݇^7G+򖐳22K硆_0v|R6̼GN=>tJY:}/t-Y3b2Ziae8?Zp)W9{%,'}>D6b/]E΂dL}SBQg4"h"gbBͯӴ({B!|)l"=-x:Z?O<)+p|s(Xa]Fvn;-7w㘱VT5W xNs.#gGpfX4E>7[8,GM~#Mq?ay"B2G_ J5Y .!`{o&L_SbrبUo7]URbwS[yt>}~?O]]ƚ)\w_~(*w][FKʺkq񭿵sփTNn/U+V5s/p˵0~;⎛lWҫut ⌄=>}>+y^GFzՙb[RZSTƟV6r4׮iɇ%c<9Nߣ~)8$IA1b:bhk 5ItL rշqe+sGG@??C΂@$I$Igf*0{Yu(\(+j q0dj]t<őf&j=a.&{&ttz}$I$I$I$r֌XuXMt~6是 .dti{LQ5$;U$I$I$I$I$bgM`Bxi:4WM]@W΅@az}e_urR&®Z:7>+~a\B.ǒ$ҽOXQrXR20i-|@xBo2}Ja1Cm@ܝbx%jnJ|U*MZ[{&tL ̄Kf'_fٹYv߂sRϖ`޼ |&tx7s~vo:W%I$)j EP݃_mش&G︂=п?84_ 3sp?]`fӆЃ!]_^u(no4w֓u:, t~o$Ei,fL/$iG:~7Fo"¼lR/2G \+BGi,>ngc1c?x~=kSYO:߶]~%KXw( oo&] ӓ]fϗ0FG<di }g.ɴOD37^ɖ/^%>e"艠Pw*D\_K_$?=-?h7s ]|D3PjL$I}%( 7ݗAo2/;{4jZ"th0 "#TCGQ[ !=_tECw"xM("k/IXXp:Y|n]R2p>EUZH]Foda+a!!k(&>8?Cz_!럢Go_ɾ X\LxjћalD9RCO;"g,/pޢ8vk[y7[E,. ͪSOnf[G~qbK~s)cD0sWG6"%qa6Gb\gq/cRxO~-{7VnT х1o~z YN xc?uW14 a׎w;]Ttڀryu MK8^DWqd?OTɘp}MwrUlu *sX@rU~=̛ɪT25~woGL)|q|D8̽Ӟm].aϚys0;i)ﴗpW3ikGtPHzZ1,,gI@?6VjzI}(ݽ7={| v>Q䥚Ɉ1(Q0jruu)O|gqWi ~lz{~$@ po^AG^߼~*G=ŦM6%;H5U7x߽R̋k[ s]k(Ԣ331+ MGH-Z*P;c?Q&jDZR!TY/zOҥǥ(=/wXwQUw?w+!$a_EjU>ݞ_7[vS[VkE@ da {&>c $.z̙{9sgw=GOgƨDkxLv~p:ky7Ϳ6c*"cY>!m!w^5dw}y)UI%=Vah{^Ii|ʗX$z8O5^71gw<#G-gL$r6㞝ǟǦGXxpLY<~~mpd\Qo7y&7n9Gg&Twk 6׻(?|^ޅ*@!q35}Xxhn)*ܰ?t0'~L={hGsf$TU#oI$I:վzH.]PH8н ,4n߄6d#wBƦ&^"g(B!ɹ8l @ւ+m]=w&Ord ځbRm`N!cX>B$ pDGG( #XkJ> `~JL#٪8+cI> W}a_Nm"A_#XjE_;Yx,̻pfQV;N@QZxLh7"7==H}k\?BBz}IʚB-Dk4[UV0UE}[=(SYJ^ jqm)_rȥah ؕa\jYCfW=&{9xkJp_}Ah!0t _d͛w\Ï5cuDw;vf{ɺ` A]H$TXW"׾ϰ'b~z8xm_갢hvpwڑǟǗ/^8#^z?NT7+|mm"w SǏ,M¢l9~Y_oF((.9}0w.ۏTԶRmdym)OWR\/ +W-_"b'{8'#vB>?ߙ}umjfޭ:2¶{$6~&Bqx>/; 7UQĿ,|{ZXDx 罵l.{ aQ(Xոta:utp@v.ܲ:Cה wmt{-)*I$}j o6t5uuTF?sʼnMP)P?fB #}~M]=(\Ge5f,_@3L IDATr.lV}B.} 7ZYte+ *I+w|?w~ ]__! R(Pȩ XNO]Zʭ.چj"U4=OGH0Dž=#x7hLĦRu*s_峥e9ЃGERp4}4ᩭlCQ:?~gW?ϏxoӾ:׿X:n9LII-He(J>d'PKwPA[Τô,;{OW~I@Q;e6(+hE#q"73I3nVoJwSSaAEi#@Z!P윙LÚؙжw+z ͱWNO1Ol[gQa;{` ?nF[xi_-΋)3/G>-_,t蚏6 .B.>\UɃ'6Ǧraf3\$^84Qf)f-I*~\Պ qZH'+NG b8׿X, [ʞ{{ de N9Rx:m}aau7uظWzJ aF&̑6>o7[^ńa{+ h h猖O$INjUMEkz[Ѡ,IѠgrZ{rGԫ6[(C(q۞]^rsqgYP1 ՚NZ>#OGK0FX/)/آÑvZ :&k1>iz|eR t?h/.ei7&pv3."k=u[i+Oә;{S^ƾZ58H~|O?UL6<:LY/O#k a2K?mI2߼K| O Q-F;hٞبXm^,<,=g 4ZXCq|每8_S$ru~?^&L^bIM.¡qw!w5]G/OVK.cU.9%1i$xi1BEF juH7Ann @f:_X2|w-j!Gzzf6P3Aqzt:HKn%I͈UO@[ V4|ep 4~WY ɶGȇ; Ƒvo ptk­/}վً^ڈફ&Ѱu-aJ6fҰ|?AGW^UDÖ=|9<6̌X\_MocMDt`Dm(v;3no=(:Wgm]+B1\}B09̖eK4P:g~j炥gM~)iab.MehB08VTyayu4]C\I]@ɾxYa« i?s[va_r.!o}'7||wT*^_Ng4x'n!g}~րjƢy ?+g'aBgUh 8'W #HW^67\UJpu-aK 9+g;'J?ڷQ/, B~?e+x⿻yD/. uv37ʣS._NZ]y~Wy2?|}M۩5W:3Rʓ*__SĻ?;ok}[rM^{5SFL TAGj_--`HZߞX̺M۶z/ry M9\vH"VCP9MjVYg &9؁DSuIw?˃cGH})9pT*Jt }4/SJxpšΝ\wRKķs9vc$IDyy?B$h߿lЙyDN>~/IIxy Ɉ~QI$''wӛqi:-lIIgP \-W=b(v坌Z2{L&w( K/ť (Πz~zG`m<qE5.͟Hxnj5A2~V1S6+}Ԃm8SYxߟSV?dsÂ|~-^Y6WYMeJa5}YTʺev{.X0>`m]cpj[.sQgakΰLU#Ʀ]>+Ν1ܺ?SqR;/{~_co<u닦qc\ҍN߼ Pf |0+ʪ]<|n*.feݳTSfL ׍ȧ4IK7Ʋʃ4G#њEj0nLRS'\0 bfuN ti1mn..fQN k-?z&V,(%l o$Iǐ2iҴ$I҉ښb|r)*Ow-/"+:O g>h^g~D󍢽jl)E/pt2x?"2lܷ/|ּŽ:|^?b748׿3 >aBV˓$IA @$I:̈́?/ QAw)-2t, o3[5\>u(;)[f.;=`|'}Z.,dW^Έ{<%I'X$It۟%OCxBm:ky锜d_-K禅XfAWk;w?Q#t $I$!$#KN I$I$I$IGi I$I$I$I$Iq 7BFiv\!:}f)I$I$I$I$It&yy?Bd3qy,"'F'3=oFq2ƤP=4E$i^PT3&O ŗ__I}lK/7ߩbo?vӮ}r{dڨ|s\rv Ӌ2j)P쟟^V(%$oGc <7.$I$I5 j%\5 !Npռ,T'sI9)E9(B妦`JV~>Y$YiܱC> Eu2sxʉ%O^vUwɌ)\Qt@(HUU=-\<ޯ8]U>i槛T:/s:?ЮaRNCNX( MVةSjpv<?NٻBMhL3)k6Fv#o$eri."ͪnf.WB"rBz$I$IʀVf,OjRΙvj,J(6&NbBVֲ$IgbtRBW{+a''+T6n>yFqrfN7>HVYQ EF,f9̉`8Zgܨv'[_^lB,p j`)Iugi&#4xOL*(xqS~DIС`;/4Ŕ ǪG'6]?I&^[}CH`,XgrhkMio?F#Z38݌[bI#IM?}b&3;Lޯb2ٹ(h?-ţsaKt2N*$I$I)jMʳIyrd״"'ӊG_8E&T&_3K0)hF^9LK:fNMS2PG#uGZ{֖%KJl{ߙ?-sG_qq;( $7* O뻷x9,H/,K$ωkG9[~L^lg`dcE{^8#,IùKStd5د^`hő>?5gNj76r7nliy|LND{S3/!Bc%a`i|'Ϣao]=Vk\?vuѣ c՚>;y%Y8_N&rKq=cqE3y?y4O:,-e\;z;s庙LQWDΟx3ZDwgIH5475Nlfjs!;7W3z0mP[USJ>?{>{5|O 6mfw)Py9#k 9f !w9O֍YBcw!rWV7c9wpp<:?pM Z%  h $I$Ii@8lxi/O}5 /(׻:w˧b#wU`"n3 ~5E8r@hKex$MZ[vE{)zt:iCAf|o{/ijyol8u_SL`}_|s۷q-* K}aFTloweK%ھӆyi]{fEp,yn5s=)Vtn=bԾ:YߘYYAq_h`;:4 :*vUu%idUp 0N X$I$IH9VO',~CCg'Qݯ랣V\x;Nf]f1JFbdw vZjW-Q H'$ImF:"( #XkJ> `~JL#٪8+x&s914{VM|nb)NA͡^ym;#!iT78^cGFǺxb~z8x@'k\E~s$z݁z51\ɞh~5j? UxIYS(Sha5٩xb%UEB>h*V-EYAxd;Ejwp33=NqO~ |~GtDj/n]cԶ8bo~3OXY:MfVӠ_%V~ˋ/XF1YV^j85ٸh(,2%fWZ@;_Ei8, &E߱,~W}a_8zH$I$IXE{C=Ddc)~,&s+-W2Xuu-ؒPt|_24-2:rwdZsrdTɜhUM&'#1U>ܴP@vI!r:n@'wa{0b& ̟XbEd̈́0n+D&'w}} c$C(Hm@Q{@r.lV}B.}'@Ny}uAUzdptFs^8 U+*JOɜŸ1B0A4~O<@&e%6IWlihǬîrAOm=f B;K}=F_a/&%hZH91zLjա(e3ѤE:+gF?>{ᤸ&>}+/k{\32Y8@tt-::y& bx**eܰ8~/TLNid?TokThTvݸ-!Zew#|滕$I$I EE^LΉfQrML?D:c AбZ^@+V$}<(jc#æ"t?evdH:{&i4 󞊚Ĩ4+BRّ|Ρ9in*CQ_] 51'pmQ &l[gQa;{` r|{( NvLaMS 4(JCBN78A>҅ZۈBP@CK:>!7!!f1Qm6sdUoK4,8dvb͒ǍVTh~t7 礘xz>~\@ /pQ?]ѦE]ȥG⛫*y4 > v({?5=<co`RVcC}32S8ۺT蓭 zPN)%I$Iq FA!jz ZC`B ѲIZ6Zq Lk(ʳrpKѧ( ~(#!HF٢MC}|՚2 43s#w|xkBE$h꘬lg0BAxhyyw>EcO,{\\J{L`I&7u}c8rN*T?2笢0:F~:> Â3dKF$6Ahhb(kV/VP&{Tk!hz"[ׯ^1 LqR)VUk,E4/wO #N)&v3~$ λ'C6SΦˁq$Ϛ\H] %m0ֻkji g(`\Hǩ*h&[[PkjVU z}mLMH5"7*98kKr_X 5,9wWv_׺VFqbFj^>O_ WëKyz]™Ks|IL1X]{a8 ;?D/a& tqUE4ly{X=mB}ߋ+U_:Hb,n^D?vox۷Q/,SB~?e+x⿻uRv/mVR\F/CG7w!2Fܟ`-XsI&YߚM'\:5;ST<̬lCCkǒ j X &_0~&3us V^yx,i)lY}j ңoaj7^v4x:_WXg±[l9op|C=i_>_^񵷳u9% ]ϗwRs_qR;s}+,= yyLIͱc XZb>/e;vħڈuq/)퇑6~-s|n7eG }a?x>i\}L^yٿcZYtdy9xs;Iz&ŷ]w.GVqՒ)|sIt\|sJ$I$}\(&MӝfuE>٩-*>ܟ +@2n"fymn5ܳ$mHLWҾtF79Ǒ?Y( /_~ikk"++oUx1(ƖRğ/gaRxpB@cO)Jg?łB;߿I&S vUH6G~O$I$IDXX=)<;bgz3> ^ފ=Y%IG܉xxT:m*cT_('< RKa Ddu :jP|Pv4A5S4<]{ʤxԃ0W$I$I6UM421ƧP$t8.ng+H "!_-K禅XfAWk;w?#|%I$I$d TfU džC;\!:OrI>T$I$I$I$}T ؈UMj<%I$I$I$I$I>b-4+I$I$I$I$I$BV%INb5cN8:g(_TgO?uT"Ŧ:P%~Ew$9'ї擖@1t|5njWc.gE%kv>SHɱmj"͢0auSø;9?uu}sLjfJd5{6TIY(LӲ=Y"&"Dת75%0;Gߪ;}0ZQ\T0Z~ģ$I$I$I8DWg$=lma}%I[pXvrg1lKb &hoEvYMd-jy<4wwzGP`;,붊B{%eN`vI6XUQ=NV"U|H 'zG;.o &H4K <OPݾrMZ;/O<$I$I$Ioy\I& nCCW%I:\k#5Lg:6Π 窱 1lu|FAEvqUE%{4LΌGɨ!'UUh:kIIXL !V}sqX[C)&dPߴe;bϸkK2Z.ɣfpBCMHo,H㹲&+IAZ&]lڱn'J26wJ8쥡ym=U95asH ]TTm*,_OyrXl(Evrx?X[_3zǾ#t5a&ó '=ʿ\\Q6/lOl$I$I$IR ))IHu("ss:E$S@=j~]'Ɍ#:Q!@9=ƆЂ=_sLP50&[ >;џ(zlׅpp3 ɹ3堾b`,;-{qx';郎hn޼LOUɁv/y|^d.SE1&/ gTe$SP՞ig!0󆢆ZS]F̈aӹjّ_ԡ1y(ڏߒFq((̘64~ QLUAW@,͈1zWQPa5n!XL9$I$I$IbF.IgbJ*;=>Tc-f&e*$IpvDP򗎏`hX Q0~J6N=79!' Uw `-J v8ZyuJ{BZgyN]02%I$]JQWV4v6)6}<] [)qNbe mcQ[^buAwXIXn^|=ΔR ie݂uoB`9{.]U4O9 7VӱUB!=%0jUl60}&kzF`U k'= PFLЍ>'I$I$I$X=';krS̬*74h:W09!hr}^.@㉟Rxs^.kS^n=$IlccZZȴL4DedrJ2e؏HgG*cϢ,6>)hJg{qhHY@%iy(7-5:vLuXGcȿM><;Hҳ?ϐ#$-5@NB%zc/!¼su%K] D /!=&E9}i7]!@y ص$I$I$I><:/#)4Yí6*<>lXM)v+zԭz['YS8,;oxJK4[c2tSrѨTࡃ~9H+â{U[݀u\*9(,g_pj! <Gz/ @](@X0p ےA9T_nͦ8h{S߳,_\#J.#s8팱1t6{& F3̩%;C I$I$I$Iɦb}-W51;5>/mFȈ!3v9<'7pG u}ٓ&~ gf{u6܅d7+xF֮Μ9;4m'47 <.z7~v @|v8._r6oZ(\sw3rR$d@2d6-\Y[*+Y.E|ʀƒ^^|yv&o\2EMn_I:~/IIg,m.5e&f?yz>C,t>_李5p[9Q ah!N%&ۿs/~zN6qxT"M)-I$I$I4&%ZRk;ZlC/4KK LV&ik91H9ړV߇n{{h>c]Ke% xtavLǮ8v*@1, Ը L&e\Cs/knfIݛ@o;Sĵ2j>h[´/bm磲|T~aYn*нO9X߃(7\u܎? ?hn^5[q?r3~TS6˦:zÑ$I$I$iMjۻ0 %/L|)1cH6Pu੶֓TvC^EgpT <‹o= :ier$20(;pPWYCOJRFI8,4)Jan+y7f8?7Iٶ9t;{J #\|I)00dbU$I$I>cNIb`c['fUpSJ9J %`@i ?Z);ivpK\z.Z[OIkti_$@X3"lkHIJb\m;B(VΙEJ woU7(E֎Ǔl[%'}0-f==tfG,,J_1JGE:IXT~-RBu`hۆ.O{ c_7b!Ss1ܿ~ TO$I$I4#H3PGZ}*Ò$4pPٜ(d1fw4H>V,odh|uP}bUOv7Iɐ3s7 Yx _=+Cm`ʬk8/KZX9g 9qbuwQ?ɩ Y=%F[=RUrf2#FMvƥdh=}J2t&@ESa>.NgS-)=k)SR҈6z(Ƈ5br<lf;[j5V-Q| =4~gE'_Ẉ%>տjFWy,4w ne;UaoǢE_ +їNVt~rE2>Mt[)4H IDATIE*>~ G l:֝$$Pt[nﮰ7 Sʸ_U>{fE?$I$I$I'rWS;϶wR9yE&U%IG J5)V G!IUP3E%a7)m6Ih3MÖ]T*]mS={)k@+J\{ 4b%r³Xl-3vUR"-u&W,;kFflC% %IQz)ivԖ1-\\r,Fq5PRSǜiQd =sLWa6aN#'.T׉ ֬2mZq, t?L(mK]H_$iTe0/XyfQRfp scBIv[r%l;o=XYpFc[, AI~o`ؚ9GͽCv60lBw llqYu& b|yrUQ5\Vic``a\ob`uw4W0 ^t#Q1s1mr63@On~ ?CGkbG]%#d"jSs;vrpjz)h~ݞ@[c/H"_9M?U-?7PVF%V3/lL[x쎍uטb/bm#д@%OA^t>_Hp྆wslob/bZfOv$I$I$I:N*@u #dRU Xɛ1̸Pujдhsh)v5DSd{)ѝDl E0o2aF<B=C5gZRGTS&7ق*BIBvK1@:c5=똗z.[~1h.w/Timl͸t-0[gp֔s%}%}c6jKvF>gBw?P11c8rM(kI); Gus R"J8 l Q^ 0b"bbtzD1h|v{X?I$I$IN&*It*3Ht+F 8S&AW z; m?Dˉ b1bƮN-$q {h{ A[P<5z!7,: U,LM9џLU GL&r4W%/9SGܯc/ ~vDhl#Ўc^0aYbR ^ `pY0k?I$I$INIKjF`$&L80u^RUP FZ?4uC`OI#'% N?d$%V CB3(6oxrG_fBWhNYU&K~f%ϻDRVyߛ嬘HLg]cf /P)Re50LomJ[p*)E\$6b6KM@ciN\m>JMWD#clVl19O$I$IOMKl Yz1`;i3RV;P!#Ig>iǷ$FUmht5:ۜXⰫ:}]m'`ׯۉn2iopy `ӹ87K_;T58xL nvgRȢDrk{Ş@JB6Y e{8v}єE /;*pf`6m7ЦHK';)5 FҰʆ&$f ^wvy-᧴DrSrI=v'܎տf$GtЃpEZKqmOg?ݖDBT2Y ipSQ6s:J^t􆽾XTsrN9xA'6^PM|l :Z[)%hvV7vUgG]Ә'>Ѓ(1Y$;HK@\uQDI$I$I$I';w-w} ='؁٨ȿ{DzT6^lpWpwVaRGuذ$MNu 3f ;TxdDU F42䟍BɹnLn|#:HR|N=?I$I$I&I/M,{ &ĪHNd 9wyƥb TL9j>ؤjxq~{y{J8ϵ:I"pngVV!?YT3&T9uN<*Lv|#Ǚt<'I$I$IDgf&`~|b\j;^EbT" `5Yq|,1 X}s u)ÜUɩ gjySq+ε #g1Y1w^MЇ쳃zM+IɴÎ7xI$I$I$I$I:Mzbu~6~R/:y~^;'~S/_-ގso}8}։8/UfR߸/*\/>}yEtv}᧺hپmwLk['(ɺ~OK$I$INIOhzMF۶޶IC)썌׫||_°D3sdfݦk&k-^.]Aݺg#O6xY 3qUqT xtG~.*87g%^E$sHdJaqQv롮nPXrLL#Ll8ľ>@%8Lio|ô܀淒wun&=1V7>8Ү9{n$_P>f"OsϽovsb(MF>/}{iTwɭn-yr3A𤳰'F{ɶ . 7Q"9y 7~"_$I$It2Ox'$Jjl*>#:ؘao(!KTDnjJ__^Z* Z-ay$̼Y= w|xpGvW^%v6B M0ڱ%SMX3:D'1}n!|LBlZ;BYָ4q3MGxzrCBZsOYFFEa[Ă8sBPsGIҲy #ng<-xX8Ց&U-qIc?q;V뺇Ҡ?0sjk8tnHpmI8 Xc:jB NgTK*vE5Qr>lbĚ(s4E`)?(LIaoS*IJυy_r&VB/>($N#[[Il"̩L͸v64&^G8s ,1^GuE^?ρ} m)<R;:vS1/?Y]ʴXI/~=wE{;3 [R,Zw#]ޠTL@[mJo7l:d\d o/m4SnqDrjqXl /Mm!5|3/!*)Nܽga`5|/YXm+#\Ktit_c?XrY){ݣ홲oQ hSˮ&6#4mYO@3@XI?[KXvh(.YMtZ&&JMO|R| `/4܌љ ?tzm\a+I$I$}>7'~n3Bԓ-зG)o`͌wQ o _U_^MLoKښ8 *C{ˊۆ'k p57ĤNM?=7o@ ik?ptާal|Q\vm,k.?/<,}6\}90aWCPi$[Uzj0PLXħ rjQu",5:vRD98{&1q8ۼ.TJxZ_{Gs|y)eot7okwTиKA̢Y:(#PKu:y6| [kUג/܋_jB܁I$I$IIOj 8ͧ(ysu?e__co6wsÕ{u×#/ԍ޽Xbe?nX_e=;~1۷ $}nJB7A3+X[qULqʊBvq)T$T&.g:nPv!pF~fCݸJp?%kzzPŏHXL[&4\@LA{t0xlo{zk_ھpWzvJ%|l?OI g{d+1 3Q~hY]  _2\m[dogڶ2߷1=?z=5J0x\~ ͏qΎ PdB<}SV(}9}KDJ OG >#YG~uA q _ 6ptO1HEj) PG/%1C7PPLmy)kbV7t<PB{zQg{`cpOO{/*d_C }~ _9Mȓ8 4/%0$ _6z5Sa[⊠Z$I$I"qBS!qļ̡ks^ϺC-y]Lj P,qPILS͘NfCQ~&EBVV;T9QCϝâb|J~D>!˷#޵vN]G%,8ª N%>T0tApEI.T'UCJe|N|.SX/Je_߰m t|#4ӻX&cOݥ^w  fR&V3>*p>o [\w!`7rt #k6ʀ@%ڠFO%n6pRXrU\K+;a9o>g a` jE7e1 U( Z[ Oї\;cQb1zJ``*_Ç;K#>Cs2@9|?c7h" IDATkn\ t'I$I$IO uH5aӲ5$xu'Φ oG5m^f L`Zh{E֙OIEk(3SWB(~~\߱*z`ݦY:>.H{/ 1<;0E1s*&0 v= ';/i<7ߤ# ڶ>F6 y$-4 GbPdƇYЇOQpDdžVGn ͍aTbv3z!,& 5zjл5-aawIu%yNgCFw^4]C;c }œO񔮧nG*k1ۅi&zzHN950{H$I$IR&%C&t0cɤjD Ϻ߇|_ OJ7b"8d6?-؅N C%XUkx& FE!A믠pzxOѝ}Rj" ~j1iҖ#fWFx|bRıYX- AUJj zkhpEE*GUs 0<啥?{ uضXʒ~V;)䬼M4젱'+v<>◁} LC ǁ1LJ_QU0$!L'gL1 <!@RqM$j](B $Քi#F> *KAEUhx͵al{eBn3Dv3 [jR OGnF[VPã%"1ؑbsֱbi$I$I$Ejx$I%:d[hN@, r)(%qP5*~*B >gwSt8M~߇N{RHrYH^3|a&m4lir ɸrE͑Y2;{ 5J%jfֳ ƋĖN̂s(#mգȽb9tE ^g#vl||=Cio/B^"pv*f|"34λ\ {|F3 %w&) Z>صa'hLlɸnrR"A:Y , VV s4*Z%gRlYD^@ά r{5b] GR^Zщ#/fLisB; ؟47:bN#eɹ60c iqzur.XKtj.lbo:0瑐={ B8e?~^yžC*%I$I$i$S-uPu%>ADSEwfG( OG1%ԄD :JOlSWȸr%_> kC3AWC92ƭ]z qN ׁA~>zõ H &O.vG^Qh0Jugwr-vAm5$Os.s]Kɺ8u4Y._IƗn@(<5ud\~9_]Y-m‰5Bg5+l;J6$֐jBs몤ls^߅_4,zKθ8E'lUiz KHaN}I o l4l=Fsθ:k~Ϡ ^{ռ%Sz_#U͌FsWAlflzuo=KYȹhFgk4l:6#hoX1t촾 }ݎ_g%ἽΟaH;k +@1)zv֖^`3RI_z3f3xoοXZfY较ny$I$IHs^ϫJ$h!))T%Lht<)!`ܒ@D||I|ČI? g_(`ı-TžiW]C?/$I$I&)X\ YV)$Ighy;'ipM{$_&UOnL. *%k"$I$I҄;s">%k&7aY3S$ItAP8"c!~լNbD5 wI$I$Iө lOò{hջu$IN I$I$I$IiVwF+߂5 a>QED̲PG$I$I$I$I>w&gU!Pg]><0 -V BVLJd'L?~[vH$I$I$I$I49U@cQ'V> Df6&ӗ`>"ǟ5 /~ ^=E$x^S f-N{iXF={\L$laovMzh *x'?b+pBJbw iudr]~'OƦ3k&n'O4A1k2g?s|/Ox3m[7 r{Bݶi$I$It*,~m;Cra-ļ.4ЃfUګ\Wr_W?3;/$HdJaqQv롮nPXrLLbΆCwLfsٲudvnzbߔһN@T'q uS8'sozR0Gg6~wۉ)[Q1fa6g'H0C u58'H5wU/; M̽ Cq$HITq{w)zFzK2Q sj+'&/SḪk[$I$I>&-^i`1J iN1pEEl/X_ @Md $Uc +Χ #Ю&!u%s,Ivq1@(Jӳ]B:]G ƾMdveb HQ&1mi OD;OdY'” $aY bN8{z  C5!9v5UuyZ!-𠏮*Bē5*eK Ezq W@pDxxtzX| ;<ϐ$I$I$}M^b5FsbYD w7JR."k5:2^)m}_Ϋ){%~5&o~9-x䁃̬1oJoI_~|i图;{=AgDIbWA_%C˖,&OI[{h>'}AP)Z FCM(&;مd%Echn8C]jV(MNbj*4y;{'{ɹiT{@GոszY9Ӱ%Ţu7ҵ :zBۤ!8Rczp;"Qd\d o/m4Sna+{poD}4qĤX7.[w~~>Yo,ď#lnЩ4p,U޿^OWOU?WfL*M7{0G/gߟ*o7?fwDc5u -t~CĔ#7=9͌"By$F v*^+Wbc)$<;&G+i(Q,#!쟜1pοs-|ٷ'=\CG?Y[XY=ނɢPǝV2YTmh!ynQI]N7TX:d^IlMO%*)W璘L;F?>Lh,)&SưF$I$I>/&JQQ2Qr ~lt-(3Pb^S,|^q3q3;G}\?,繗7QU@<38('e%żxz/5UPaJD=e5$M8CwFcc&POBt4*=t Pl%F[vzqtcxr @ ?2P%gZDS'L57R?\ڸǟ)1 HZF- O$lCg!˸\l yɲay<Qo^y~yzZ&$ [`ZS?ȃLouc{<_(vn̊j'O76r7GtԠZJq=R(T>P} 5$Ga6sҺ\ AqQ!<_C 17E+*FCKe`wzPQq$I$I$iWV}%}zh~UJQ0uY(s@k QV6fSm*1|ᣪ); 3!ࢩ@GPIY/y7:n?K`wgk-}]p&9EOJt@7ex c V|SЃ]j U."hGT7ÖJKo$aWWG 04=+jԈ4 %}H;k%B; O[;tOc>#@%f!q&ڀׯ46µaãa㋈Y`۳IO[w/=^{~W$Ü|?f+h7QVR<=wo fK;o<&?Z͛i mnwX/! %6 7]~B4t8tw'!]ʔ21.ިSCN!#QcC(f/ճhFt0#|"Wڅ$ ET$fOX Q -@ :G?xCI9J\Ǝ7[eD1ǤDͅw/nOBI!ƪ +I$I$IwX xжzYɌz5`AZWFH¼j0*ڈz7'#Wm|Ϋx=\af+[w͞^qvD"9Y(ѓƐdiO t/-"ЂIŧYzOWbMm]C._i@1B8C@|! #h AYNf-{+{C@' =x=~AĶm ?) P"Lljol/Sf,6CwSrI'INeTfǢCݫstMF S/E!vKS{~Xm:EaE_ծ"cSU!- O darD"H$ɗxUl*aTp0w~kYԞ to敝saR]ܱryb3bBjf J @E;kW}m; Lh*AƢfu Q&HN%=a߶ݴmFUU7xKk}@3$ bs1pAǁ։j(^jiGoD)@S^V-'9#}  ~ }#3Z$Y+ucΆ[J@mۆj[[3^p&Fř lQ^B&(|T(:T ݊_oFaQxuj1M!g6lSb6!x A0:چb lη>x(h1|(ރ#BqŇI׫՜qgOFNߩ=I$D"H$ M z-f͢np?\8)wkVԸu|Ɵ=w,>8o03?%q~Ͻk(ҪX%װEgrوJ$S Klо@璟KhMӁ{C=`P`CF&v -坽#GHl#F;nis \ f޶ ?\8[f&%W*`4p{ #2Oae#="tFc_$8f׾m_4~{%IGPQ8/LȦ R+, ]Ѩ,7Qos-(a-?܎耢F]Fgdn'WNe]wܱqdgds5EyU ͚ǵK=܂x==- MRs) l;#1o -@UCJ]o䓒KlnWc]%}XcDIuqrzڻaMHʍő y&>P@C%iI82&P퉌d &Q8B ަYRU~ c3)jafEfIŘs!T@om)2l;̏{͑-&8D"H$Q(&L9?ռ3\0r41[, } D"FRR?!x䂸lL<;{-ʹN_f w(?VʾGqK}}eoНz٣tn{}^x 1ig;4dnT42n*ޮ4j#KLJ-{Ud-#3{:o }8<oT|Bh*I1P^y%q3?O&70KxkctuIc͗1&75হw֐HYpU9fV4V;Pyd‚[]p$ IDATfLm-ۺ%lD¯]ƄlV ˛+(&=<63]X\_fE4R(x:]zGb{( P4tQ߳䋊ȟEx>:v5R%b~G#Iεc(VS0<XUD Hf^K0'ߟJ2>-ѹ:Q"@Zac:6 $tT,yA\`JSz2E Fqn|YSkEBKM医i~~+'H$D"|U9ª6~.拾Ǩs2MH$'ZX(L/w! 9csv uKѰGj.9u U"j5WJlj,i%D"H$Ӂ፱da( $fc<لVS$DrǙ> *@=! !!j10ߛHeA*VF%.H$D"|UVUu8LUńu+D߻r̐H$ cU(XOxpaIt停D"H$ Ǫjƨߍbq [^T>fH$䫊RTH~\I$D"H$_%]X pV)H$D"H$D"H$_86@"H$D"H$D"HN7Aa(z(H$_L`c0|nuhyC>b}QRp>;ڎlW&s1XQT.Od5s3X#yF2T ;rV|LuELvPU·/FYy_JgH6.;}Ci-qp6v&Mṟ=vW`Hct^*ǑgWz$}2{%% >boH嚭yL|8=+&d3%VqvZR9qș]H,ib H$DrJq B2Rbq|(T HN Ĩ ]m-xFOXq?!n8QcIyE ZR%gQxU *xVz*+Yq 8u\jE/v\^D]PLI_bM;,ՆqUJ “ĸY,~sZ2z7O x!DO(0t#?QT3v%$y|~A{i VwpPf~GS6[j<>/odv׽o]7m.k1r7_?¬D@v&RwZ>H$D=']XYTXC"˖Zj5A`h=2]0$+xynsW#d|E!hljS:TSvԻ;mh ҂dcUdžUc'e+*>;c6m" ? !?xM{>ia$.8ע%_bҵZ<BxڧM!1ġ@uo`\X,W͓v!ai V gBC] : [vhq-<{*VױfǤ4l!8TUI{Ea`߱j?S=h!h7c 4?T-ɖR lWofUC_Uopf>6Ea%ltu,|{dž(hsn1\ZՒAu2w);L xm2< @Qq7+%Ǵ&9#0؃-@WQpX] =mQZaΰUkYWgbn!Ū^*JU=XWPN%V3?ؑtmc,ekJ`m cd[.2 XJ.IvQlȲǢ) -tG5QrQ"_兿AWxFˏ^ +! 7U~bm؃13; U$,5#Խ=>V}.T%gtiYU:CH$Dr0ª ̂tcVJ{0dDVspv. @p P[#CKY4nxNdr&H$ɗaVdl cL\f*d1S:<4UcD'4%TVΝY3̭Sk2h;-fwGk|pg%;ٳy%/~!]7PF'fYU¨1B?&Vj!Cм ^u6!ܟ&0Vkq@VX ^ԇI a "v>#S ram"QOK 鎐Gh]knzv[R)J;m=b&n}wV7q98;R3yv٫`ɤu5W6pLk_ugm Ĥ) ZK,QXؾz+fVsƃ[7.EѾEnEno4OØj@7D3? ~_U5x5{sA›,2 ~dPT&}v6(jFUUeS*Cc726EQqbhifZS(*j9qZd 8o%Q^jzFS(ΧpQI} 6@ n5MU{D -'9;O aď0sgg ]j1aV=57@PB"mPakkي (*LTvF'a/((I>=kB{7z*;w0ZxgRL؃t^bڪݝ(7i-v*#'O4 uB.XL_;SDû_P"Eϔ b)Z~Bj`!ǃgg.+H4 %=\_FK1Ekvsh_4$޳,  g@@^80l篞{(9 e?`hñb0AbBsD"HNkMXͰ-n8ΣEoĒjAAwK;@I |n(OJ{cD<*{{b?5s3rr^zll_ϕ?`^sLN/b-Ѱl3Bܙ/b9FA,JrK:-.fVwlrn YE_:׋OPMa7eJW`^U[öeGx{ ח#FY\ f/8U~f@<-ypΧOBr:aqC!TFC󇴉ܹlRMlh6; uqOS|Tw9߼:^~s-N„ 8/~Qz~i5HIDe0:= WRgn[8ڶ\-/@"j^Z>F?@IJWy$4ZDo]I2)PSL0/ިn )"\TqGe Bi`_uQWZ#_qJQB?a5_vqV3d'0ıش_G\R!={?\s,">K3MxS1 =a2N~]ovU%%wA(O|B}7k˫6\pd^uunC^˵KY[نjo"~xzK2/BR͈TR/obaG3[ѓbt_ZO H$Dr3,ªaM!a' @:-x:J` =4&UxQMCȇThCQ 듸)J:E4X(Wl>Q%y$3'&ѵ'uA~3t=CY(D<x҇<%@γ$yTR_K[`9i$"mS125Ȝw AَlQ>#cE/!Pk_DUM,M&s5)I94VtR̿X0nD-txP?Nͧd^xIV"o3[i0\T?6Y fs -˩_g(=Nk"PoŔ@@=`$N Ro ~~k5 ogcBRTl;D"HN S]י?*yx:4.;3UJ*lEQP1r~L7/~[??fOXƞq䁟>6)ě-g-y/Kh~;Nb aꔻ+G^̖8_l?уDsCw|~UHZ[IIɈ|DrJ*D%&iƜCC49㤂Ma`qRQA| rm ,;MuS Vpz[9,I }  (64҉F줨>Z᭶'[3FQR 9oLEg[Uӳ/!C@#BGcäBWgWP~D""8h /+ k`/7nW2;U;Ǐ`d;^M!8F9EU^OTAi耷EƸK8)ٹl*X'd<3W1z6:lG^ κ=}Wu7$5H˚TlN+%D" #"*BuWsDǜHh#}tu/=VݛyexmXz w\uDޫL]khkѱ iVioߋ6J )(=Kg$ij/ A++pwG;nso.O9 ^HO|zAzTSwc#q?Xv uEǴ*pqf_q sl@&67\̂i)<3F:_w+I1Pgef~]5D"|т> gN!h4s׈siQy _XhhQ+ !.bGsngwxz#IGw4 p~+]ˁ*H$D"H$Te;Nm꧊G0d6<6T qУk{?˻G7=ՏWZN!-R883X'KL.'M^R2*A::jٰ#wTZʝ^?~J~>M6?4{(bϦCᩣ0KF׵XD"HN ڋMtV?TmtշJFio%S=‚,1(BAuE%N98̱]U]$d搛jF;9T^4}Q6|]*v M9(LҲzל 'CYvVRte3{ua\*zw3m9"SQlye+ 5Q;b-&pfVRT0B+j.#?ݟoBM*¢1pٺ!z2f|KRC*|QI.$yd [0SD"H#F(0j'DeDP:U 6ǞIQ5tIO)&y <6;1'v6<ɍp(v0h(}c[V4GQM#'1a_ C4 JΎn6*fb:(}缀Z+ q?PM;,ՆؓqVq* ObahV_T-| =Y߻V|@ḅ_ˋ;]z9 hgöFՒ1|Fc&@KAVn@H,)I7dOĩX3瑥wRS^z31i. u%sǝMaZf^O;[| N$;! ]ڨ.\~Ք>m2w^xNNS ^vwX6lhPX.yٱ\]ٺrĜjLCo-L[LYXjb焽<&s&ONar f%HsAVm[E_Ǟ8oLiUb9IU}sTb}r.(G#Eis6mᯟh쏆ntVvYKnAi#χIJb M4.yWg߱o):5E_oml RǺjD"H$PQ#_"H$_NMkK3uu=[^1ZHT [ QbsJHjtT-H1n*ʻNFsF7mjb(MZ-柯ҎE>&~-OךZ2jV)q+ ~ zj_D[1MM#wƴ-zXnY ޮEZ9̳M=[#ڏB7.}j\i^hBQL[l=5/L[kn>.13یgUkZbV3ob#*.>< c~7Ӯ.]8osqA߿qZ5z5:ẅhQ[%`WsռmvvVER#y2_?b bbK)0}B&efm`\1:K"0[K)ta$rь$y9\@ 3F[(IDnT>i\: &eg><JKΧZ~y޸Xc3IH?}FUmPGܛ#_4%VtsP#ha6c FGJ3/c\Z:]AF1 ܘPM?)15ӡX>19&Ɓ25wRHnڶ*y?›kɿz8?W&.Gˋ9WqYdrހuu|܁y*kJ$D"sz> ECUO]%po(d`mwjJ`\#Ξ%K"驉ܾScpV6O]->Ũ3CBwѱ\6'LKRꗚD"6ptFVL"3ay-Z,~*OGeqzoCc#دM!1ġ@uo`\X,&5O>C۵sfE!PWտ?I6٫qCUԊwaXe7/aoEƊ??!A<6zxST̖y}BR͟P`Yl( F{fV5_Z gcSoZF7)`0[29Jl6v5^-  ,_!|| ׶/PA@u]|RrLkhCL0P?>?= tᆴz6VWjoAO8p:X:s 1.VUQz:C:v-9GAxt#mc!-_W"oSS$JvWc0PKb<Ɏ=NX4E#FQ4J.6*YyC`7@ϨcKa"ᦪݏS[_FH|߳ulY1);)Иձn|"`1a?>px$?{gUu>ϽdOBHBAdR׶j]گjkZZ[Պ)} dߓI2cB ր=yȜ{y{/,>満UIYagPnTz읗H$D"9IJY8D)jtO!K$_/LBc2[vʺ=vjB:JЎԺfg>,yyJ8ӓ!/*( |ڌBo!tWbSQtq·ըA+/DNFU6X,! :CQ-֤,BG_$;v4B+<%}poċ1!{0%t;l;ENj G 6*҇{ p&_ܝ'߁bj;j9t1VC]x"+Lf\Xz0W^5~Uvt@&֗}b6)tDh-#-cHVeؿ 6 =DM>VlhпEh^EiLv=ɘj@Ӆ͉ϝښ%#MI$D"0 !P*XUxkh["HN5JްVcwgFU \ ՙ՛)6|( (b=tYoBmɢNB͙)]x8GJVJQcYUGxЫk"{([2Δ5:`R6]SNoo?Bo N:ABw3ϭ`MfGE!Ԫ[qlXoF݀17S:% ',O1A˱/yZlAGP p'^˧B`uI} dO퇂B}oBQ]$O4)=@q#RL3e$C++Geڰ~|u;1g|fֳ/} 3H 3Gb -H7:yjZzp4h fWZO Po'27п#qfy}N/BE@&Ch͸[-!TkZU =x ^AG∝m$˜prBgo'1 )8˾|%D"|rê,)qh CI!E8xqQD9ָ^#O硦gs(uOcI)RtI7M!z?kZ3W"UARwGCOe}&`r.A ɺ(|C!=WCRqdYd&?h?Q(բl\3[Rd ဎ%+iciyoTyWDN'cT>e`q|X־I񆺨.^_ܫQvȸu.twŬ#8HބT>N H17ٟ&fhKvC ,-;>^[2t .c/޾ׄD(96[wci$9J&'3ލ0.Imc/gS<f/ A~QGz: C_DHN#'t#mc1D~ĩ QI%&䢒Og݌BƜ=F-ZJꏨXK (J'1mPdn |!9$8& .'>/i ΂5 9Ώ4ZPҰt`XZ>d <5m! :YCKjҥ3Z"ow2Б{_]\z{>l{1Rz;Ex.+Sf1Q݋C04ҮF`aQ}huY_\!M, D"H$ vJ}VUJS \6 TN5a O=> qBk'::,L_|([:\esTUDr򘜇IidQTQjfB ?[J~@WV*I)=Dc]-EKNw}8zqw( IDAT5TҼG%KAV!su$tBZvtzzJyuXl/G/cs*l1c"Yߺժ7Ҹ="qEJ&I!=(tѩBkȚ17ٸU5Ld_ދy1iAgZ ^ۯ'+e˺:FHhw^_믻:uٴ"&Ͽz,n.l.+d?>/ؾᘑ̩lm%&FvA~`ЃTVn[c{1A9 IT )f^~%ΦQKI˦,`l<ֱvz2NOd$04Dľ,)r#YG=U.feTbE-^]vt< Eu޲u4% b@O%>'J׬.1$;s4p-zh+r!ZeC''5TVmg՝\s5ipYQ&5$Ͻ=HHgB3e((5oŜHHoM)LMmׄ~\?f-hl_kjz: 6}V{w g;nڱQgGV#FStD{3!gYX-gc_H$D"nC;vN "蝛gdlvCAT(-蚎""Ùքs /t+m \ďyŃ:/Ӯn_1׎DuuUf_(9u(*CAU']1"yvP [ :qW:<XE=^1E1h'h3) DU;wY>$U P.3q:ד-an|gdO?ፂ3 X v˓̀_知 yU@0bOvRQ/V4TYO(J8XD"H$3*0Ufg04b)vZh0fV 9CٯކF&Ħm:6+uaq 汇o?eO7DFă0) >L}[yW+#כ\u˵ꟃM pp{3<_?:`Ԩ!tefC{nysAC]|9+}X\+HIn3㏲ׇo}g&C{g^|8c!Zb㦇~_ eQdh*ϿGH\=FruNE (ٻ`_95!1 ;nâ]l̡}Ț"X T?n.yo:7:w{;ulT3+Uw6C'159ٹBQ}Nz?jc$q{؈{<)kvUa$ajWpYݙR"H$ SFFg!]lf^''`  y=(]!ٌeGQM(bAX0~ʷCĖ da,b~`¹r| m |e;F*{3l@?VZͪUZӀwU?~]7w$c$u(&S/I~;|WRoWc᢯.ٸ[zPȶfGx+YrGd%Tgƽ߻1vV2|LF;z7&zaɼi/\! pє+k@{J xOY IW㕞Zp:Z /oru%5[:Os9kg[i4n<5x|]_-m-T:nYGɒr!D"H1 Δ\v;A^{hUXج!6 тaT.$gF{p켯_;)r>Վ>xKqC=z $ǣb;OgfY[q &\Y7tjv5Tj2ۨ g#g*nIx/ˇ~tz)Q-U%D"HF1%bӛN>1D"H$q.'҈m%&%՗p QUͨz*d]?Ϧ,,pwǷ+Pibuߌj^_CUu FZ|!zfVT'w};hGoWt?\ {wqz<;IHog>SHR[Og'fSs$ə1N<32S]-il_° .xhdFʳ>ui1= Kb'w#c:-Ϟz= q3/k=$J5K$73ⱪ( %>Ztd܃A|Dϡ'=eլY팫&k<5E{ +3ᅮMu{ml% 6֧Rz;Ex.+7*x5n3$㏽DGQLzddM ,ކfId{ߤG<`&HbJ:}z7o>#]zSNuqB{Sj5VGC[M)ֲs#Hy6jWljQN Ͽ}n4n AN JR B'+(]x8Ď5bњ.N٢* ~9~`]Ŕqb)~SVe s]Ds|i38NPIfֱ7M'Bg_,h>{&3/)=J8L,H$.%*lk ׯ/š)T [*@{\XTz vO?XgDJ=/z.>]cm'^\Oy.3nf݂lUϿz,n.l.+d?>/D 6}V{w7s{n75䥦ן^^۸9߬S_W˞M+@koϿ˭ߚ̝?wsǼS]H!N#8m9/@7 ,i&ċbG"9)+C*4v5{qf¬(khFUKlaêٙAku˅@>Hظoa5:M'؀KFu.ϔAxLqa0L,wdFh+#XY($I.]C[v,w95 py@M4PL%s xjbыP=֣ eT+'tO#w6?A$%ThNEXև܃CE>ʄkDMD:3{wy^8ӁzlBEQ x).#PaME'*fy*L=W+ta|n?B|<;=bϯ}.+JՕ@]]~"`݆R?u4~#f\ wAFQ >~u6z~!l=O=ǜh~9j"sG9BI(fZb=Ĕ9cqf$`/dc*| RSɺR\Y)j_\H%xj"<ŒF5' U ۳O$&$뙎٪)ÏhOusIf,M-v*\B|ND˶5T,܈.?%$ Ǟ.ami\{ Me_}nSQo} ^(6nPV5̜0M%x ɚU\˨9ؔ;ihʇ U|i\/gבo6! }F/wV2J]·+ےbZ9k g3(ӷbcedӆp J^yCެ;}fe_甙p=WfeG~K\ 흁w{W*B4FDk0OL|ԕP$$2+|`6]@I Zt\ >_ Ngi_QUV:7͞bGNECAZU@;Ż(i fԄHt 6VS|6$٤P ڞf=wqo؄{&<:(|Ap2.@=&d/}Eu[1Wl⳥4.5f<ֺ(gS[JSajE gm$.Kp*6hio)N,ꋯ_5zRzݏа~'I#мzvq2.^*>^D/B&qfiٴe 1yuHz{Zڒ"گ n7ӟ_aժլZ5 DyjX2/dK*+|Ȃ\4Jگ)28cd|.Pw /Cٲɕgo0z) ofg?V3|5vc՞F=>@~>p_@Kpfcɗwo̞ݥ2ЃBDOyW_CʯhOf Yx1A/[Ɋ=z$[.i?g Yg2ڹ{1_ν+Sla܈,QzWL[ߙ╛1f*?809zH{8عkzj }:g`ݵ7?XB1y"]?,a`H}*[װ3o(6.r .8HFh0{J xOY IW>h2?NF?%)ο-E\t,P1XB:>V9DAn/2nD">X(C`]-|\i)nMHE(] I=B~7\q'9@hK?s(97Cnm}TPj xèN'jm%ݶ1Fi#_g1l=!4*:BofƝ(N&ТEÚ0 PЀbxgz |}>?jC:_w=S|ޫCsO}1Z k_z5%=/kfYB'zO=V-̚p%fL6xxu"D?ؾfl<#hŢ#1:vtyب Q_, i$5|*51]]}TG1%> o# `3Q#?洎O`;76݈4ӒD"9ݜq*:4TTR}Lh\Q++fFx;?Z!9w9YIW!jtO!K$_/LB6I\z:ЃͨtX%gSByٿw)6EخN$wLOBC!ނ=<%?U(I$H$1~BRܱr=J.a%-ftz #lQgjtX'*J׉ba44@PT (j3!~Ըsư*Tlr|뾤p 5쭮5)Njk`VJ8Įo6ˡEb@5̥fG@R^Atr^_5`=@B` Xe3BuQDU3i*Z9?#SRLvDBhbF($ф >)zyOM^}JaLuY|Xa:v~j17lcpq铳(Ab&9ÌŨfhGοNߨ~}7 ZJ[|NZta8?09=z{i#+|a4̮{HDFGi$v &C&~ʇGm h|G,9^OM IDATEQfbܟOO'?90E&DX”H$o$ga@QL(D"7ըسy'x YQ4s`SV̰lYr(P0%|],taO)9~u&Ǣ(|5!LPm T97]MsBn&~N5D^Xи(*'^Wͪ8RM^]c?#&TGLL9[h7gF?CNc@ cV%jMkju Nͨ״e%8LQSȰו9kp?諶ϴ\28_Ufm&ʎ7Y+*Aurם R7+#WåNaTǸ=zPYx6j FM~WUguzc6Z0ٺs׏ųi.˒/ɗ^{h^ άa7a\=#5 yX--hCŒzR/D2ˣh}h_0^槑)$-t#jOXFc4?bO,$[ToMКq8c@,sf0Z? )UD"&rVV%tbE=&Bbl[KJG~0cu{},*{zʝ(dʧ,.7){6\A G{)~.}ʄ@5Ӳkj3uCK&q+ ,ďHQѲI *m Y2{;hxFsT*l!бd>m,-"OoGl=և0'Px)~^rG}"VyZ ZQ:~~8HބTql͘ls!.Gs񍷐^\YސgK˯nཏW֬ ?KC.bڸDTUa);/ᮻfh &姘 OVOf4mhDOIػO +ܙ׍Ɣ;u4ȴrߖ9ݿCJtr&b*ö,\Mg”˘p8.ռVBlq(XdSu+I\L2# 黳)q ^0.&}.-`m3O9OӹdPQ4|vvzVPHʀ4i"^mwE0Z?`JKci)Q&H$o"Сwg6㤰GnJZʿPR$$B]]Js{ݿǪ79&7Udb'`h R~LZ{\I}Lv ݊g<Kc4ņ]cBEz؜O$OegӦ3C|<;=bϯ}.+k2S]_qpVQ6 i2e_ tD"H$$@vGs-/}I׆e Ui&^h_Jw {N~˿AEU^x9G8G+R}9& nOoeL$Ο~-M7!%D"H$D"H$I%ՐgV‚)BKȄGR]=#r4UVdk:ZTK7ڏ/(*ymYԇ*uqs NuDFREɚKP"H$D_GV[xHL4 Bfn,"Gi Z̸+ը nkIuhr\oGLXuyj[,߼hz}^kJ$SٙB>Y$(BHIabrq۽8l[x(_ylckLuPI=FM"h&܅ -R B'+(]iċ|hMWdN2x4kNVLľ(eW"H$D"9,Q%$|zF NEl$ nG;5&L&)xiW~`T9߽8WE3 j51cE8`\vb_"!CPk ;RS?Ě8{aV54#{jI =Ձ-1heU+*8d~{ϾL& Ek cYj,:MGjy3Oۛ). >~S.԰t'^7C#GC ZRv#T=K"=>FӋ>}) 8& !s[c ǔ MFn}i:EѳN?91/HN5TmwiGbI"TuqX0od0vUj-D/F6ʞFo=wW?Ea?k(S̹#Ȝ|!$`3-RpzdL83A?21ǁ rF =IbzcjJ#j|rn5)L%Ԯ}ŕKֵSIChٶх8P!S4,1>qz&ZC1FUK(xp&Egi|3OjEqC?CY/ք2s(2R\4l#$&kWr-`S^;̧!:>Qʇ*>`w4.i3H7x>՗;+%Į xÕmK֤ZEPCGƨ~#/&Ϗ7SUFD ٓG'5ݒllVWF_׽D"H$DM : hx6*bpo->zf$Q3ԋyh/`m*<`=W?\ 8{"-\Eq!T'g=չqQ{Z#b#b{[9ODc!jqF 3ǜFsC C~}?n\kXqۗӲsJ?@qemTrJ..CQ]~%ʾ-ڃnI۬XPΰ}Qu#mT}#u 4P~(ýr1&AoH2{+eo.@m4rj..EQ3Ѹf- @uh8Df#);;o}ko_s/4sʃqi,raP}o2%qWj䉿-ZT$}m f̬^۾D˵<Z.zW/Ō[p)~R:Vz䍞M_.`]7Swq٦ժKVdK+.C0b1`Jh&$. I ͽnRI.HPC1۸Wɒޥ]iW[ϙ]Xɖ=љsfy=sμwv#Ncq S`bu w}B>M4\ BP( X5KLc#XzHNr <{3ܱ˲˙*ۺ&v*ƶu4ED+~~4g|k>}w 4dt W#褬<.y#-6{̩(p`:\v.A.,f1*ٴv&U7 " AŲg?o@ȑfޛOŶW>D7$@),~S$XT>H9d uksIK5@3(,X8'3 y AMPT$j:SY;qS #}Okʉ]_hXm\?EdY>~Br_OwsI!5+ȷmEg'rǹŠjΥ}H:G1 %&QK-q(->ǓmocH76,^|XSNfp :PSˏgWV))^X_ot~|9ѓ1F'ʽaopmapp ՉƑlp_ BP(`V"٦oqo 3ؼoDpIΡ@O; XMT9lH3iXY47%\y>FhI\d6oVn)//?odM<;zf2X{k-?&>]J-=~ Q(FƄiSO! ?;5y"&!h-u&6noajf`M'I06 aPRxM$f!=S<˘CfDZ.R U-ν%YU~{֯ee z糍* HoEĩFoDX 'j@hbWvf}Ȳq/ 4K&K)b7##zyҞD٪tn.J2 衱A"L$dT~?Ƹ[7߉uk>O:.f~w['j1w>ǚ1Sfӽc8Ed!IU\Khү޿xoy]1'^We(jqBP( Bbs0LoOP6YݤN o`xQW-N5~͜`f|΁?`|Ŝl\~u)nړ!/+,4xmNf],R#~M20᧩f):քf* "0%2u4m&eߎݴAZJ|$E/CvSD~|%T/} iMbi?(`bt_=o<+R4}6K.^ƝV~Fy/1 okOr'ΐd5?̈UnWùG3>0H)#o4s},Kz(zRAA|8/^LW BP("XMA MyK} ?5DG7O;?YVD)^^\;tp';,wїǬa{_BȚ}|vK2)1xl魵ʡ0\1w>«vB~K^)県g4U_9a4NDGxAi ~q3E.}#r IDATgxkZhv[`|Ϧƚ 3aO/p 2OK{xi_ \|bw[Rsqz">t'wn b<{4FgUy]ȤB.ZVLĥǾ>lgt_Kp4\ŏqNXe3&ߣH+ptkDc`Ei퍌OP( B8c531 DTK͜nƥR۪ b1%-ceۯL4ޯKbt$6Y)?qH=@Gs#UU|Y}RL IA/޲o0ک[Aybn<^Dk$,gӑ„9-qE]F7WvQ9 u%UjދTck=RRMAg']' S( 4ڡiѹD ΞHqF> %mTW\v&sWrr=jZ\Wz!+/fٵ7b#@K}%/|hԨCnS/=/ײ|5ۡj?9Ko^X߄ælfp֗z)vB`<[,,)K3)y,"ٷssc^:ϾwFӿec~U+c/œJPn"l ?5.zs#нrťMYYNT|vP( BP|Uf=9ؠQ?tv-etPʯP|-ioo&33'Q 8s>#.4aljxNӰj?M{0 N]0H._C_?~4J #?i[$"_YHEy}ly9 B1RJ+ B1U`}SmNMO{MSUP((k/X%k$ܭn,'GB.W HbD{*d%%YGFb;U|c]ʒy&+E3NfAvƮ`3"q*?MmmEU(hrwD&iUP(ƨD* E<ձ}ޙ<[JRڛpy--Dli6_|cFE .`٢yA8[X+˓#ct+!g?4( VtwqxŗHILd cRUBPUcUPYcUP( ́hU0twS[Y?1*)$4M9W B1v9f3yy$''hoot>L# ##$@v!jU( BP( ŗ9;"5)MTZBPIc533 NBulhFZZO8Mm6A~~.W~@ gm#J+ BP( B2#3߽z|& B{T\vEl߾qٽ{/]]$$ذZx<n`Bjj ~199^===GZdB12&3G70a^&HSr&,ҍ?uS( BT:n7eP֭'%)ש B+yb!ٶm--MM22&pI'ى溺2u>SN'NOgbݺGCl)CP9H, &#NOj~arp 1]k##/;D+M۶P:[Oo1r] )eR( B1\f3O>7.|m[sUE* bpT&L@ @[[LṬ>7n?O3,^|7nv="#D_o;d=e)\3H禩f "QU/~r6k%/y{KH[ȝ 0On{TYbDVf* ;ef2uI,Yt 4K ٙvl@7h6Jg` Ҡ˅n`֛3 &G0a֌ˮv|]CZ pQ!!o8+'BP($l, . HRUBPRUjE4V III~:O)**b֬Yquױ|rs13ؾ}vłdŢyAm~K)I39w.֭+x`}-šȤyzj3>Zpw=yj6naɠP(ɚ][>v<2,i]5Ҟ;$bߞFM8 أ)l{藧@˘Bޅˀ_M%ᅦ5<&%w7g!xv|FROz\=_GX٤䡉 ޲4`(32뺛I"Uv-ElIW/Ěj᏿(S):62s ):W>'w&- 1;Do&E]rɅYH_i\Cʘ?=fSJN[Nq^:"ŞO H6'5>4#'AWf}ERW^z&c}^پBP(_/?o^v9U*sUP(cy 㤺,ZZYxEENgfu]dddAVV_O~̝;ˉᠱ1F%X9;7aJ3/u$bf&ٴz+5uTWދ*@J}}"dU64 bVBw[(y#NUH*B̈́ gP"L&eؐ{kǬS5W,%9$ S(ȊϨ{IV< [SR w8F&1 WlۜXfthfEq~^CLd!dTg=",d_zuxL(6Q䳴li1)_ k/#QPԽ1ً(ZT|$]7_Bpχ<ϭ"Ϟ}fnh. H,6)[,NA~5IǑ.O Bċ>CAx=ܬ BP&G%bu˖{lxpꩧr 7`uV\)--eΝ\.JϟϽI'DffV_)ל[`5d5d"`eXpt>ziVmodႫ.aBlY_t$f$M<@J7_m8)9i$<˟}xKP(bc;A^Hk >vhTf80Bi /$!2y\E;tܛT{!|:"!SHO2ٳƷ_{SUH3Ma'ztt-!\o#~N h%KFGG2%X̛;eeOAhK e\RY09y4i\|_xu!g"u>6s}ooB7$ކz2 'ג璖jf# gPrY" ;>-g'rǹŠj*>kG<~w*9}#xXmocH76,^ۆBP(c ^X.rڛ[p$TԪBP(FXuݬXK/; 뤤`̟?LJKKue˖Inn+W~@ZBYqL_2]oT0 /R?0%q՗pkG&so,;W_ϪpmgFF} |tw1?W~G6>~!6@:[jX ڜߢbhC a٘0m*ʝuNɚ<p`%9)SvLIK`lm(#M?^s#捴m؃ mIHNC{42tn ň@J̘ѽݐ&9w5Q)qM8 ro!iIwT"mfd%f(hR_/5Zd"T4P.F|RjL;$A"L z+xXg,ftٶBP(_Vrs qeߢ GCP( Ũqr<_9sӦM,Xm݆p'c=ϱ~{x8F'64os;"x"y77V#=S򉜖]_hXm\?EdY>-觾 t77Q(Իln)x88g5%V_% h LL3t {ٷc7E S"ũVW`gy'oO94RDK3+^ d.YJ /~Pnڷk1Ll9}WiO)V.4@~McA?/l)Yiv/2EJIYo ."Ɍ=E$лivRwt R"`۰3%L7_B'W$!(^9q$ gF&myU[UP(_m _o>ʩP(Q9V^/99$$$e\.3g b6zjf3&L`lڴnzzzsYmğQSTL6{\WgPCCs7}%82AdrجLi zc~LB+(ln:ߚ\&0 <IlSjHdjLB@/_SxŅtnoovZӘ|bsLNBj[*#|:7O%b{ɬv#K|*43H`[+ђB,S(D]Q 6w -ﱨwK0i7TXV#zÒϑ{@{þ6 s1=5gyW`>m#y B q) B9$я~LY>~_N> Bq]wr?bݖ84dgY}Nx#I8SʇP;WzH'yJ$F޹o bhIJkvyH/ 5R檭#Ԗm pPʐ`&B& i8LPO3.}lEz 6F=bXnxѳ ȹ`ƚ2%g7SpU!l IR/`!qqdKFVF I+Y-pb&N(R젣Lg)Mn&[I>a^~9FcU($M#Tz + ҦXi[{4:2iNFvZ p eg#bNo8>>f.\@gGxoPݧRJ 3'&^'mhe$tRĚlk`V'Wq8+CcJ۹ݚEn2XOGd;KbͪS"22F&*h4=*y<ߙy7Rěݛ[Aybn<^Dseyڿ !oylr]FS-MϿS I^x<+u!˾Etז{ N<6{OTQI䟻 ;Iʤp4<>yB }]qm7~קHl7?H!w6|Tn]ׯto e:YiSz//ިQ#a:ej1ͭR3)ck#At):#ԾB5ۼͱkߺCn"Uwㆫ***>[5Gʞl=tvZ,-'n/M޿b¾߿x@4?0ZdDÛʅFYUn=lWG8WcC_kK򾜪u5L|RoP( WvRѴ>r* b8L&t]_|IJHMM7fÆMaVJ?jx9gUQ__p(/*bUP( <(YoaHBz/)eBBM '\SVBP&X=ɤ!Ekk BhM@hP(FXU( Bzq(F$Eh@@P(cSNNᇧlJjj*6*Y  4b( L_KHoRNed/:q:y(b q{CGm͑y3T| 39GҰgL^:yWLNس/*xuB33%MFq".|.ҏ)%LhQ!E Є74~P?WM 4MT+;<N?Ͽ/!u4L:nN?$SFsPBz1fRJLcF$B5%[j E4@P(F ae2qY%$L,Vijj=˖|,ar80'9X`yxK4t2O=Bۅ!!hu7D6YʺeFOSL&ɑPm_C3kq7~nGE?!?Un讯bC48ҿp̏ IDATok??h֡Gq#G~vnOrxt:\sHbV)_gnx&@P1Ll od޺aI#,Ŗ$,~7! |\4 6F-Kz 6F=(3Bi~o#)3lsJ:]GyEraׅgzWm=W߽wNz|@e`WQkEǒسn<;>qf )8!~z'[l-egJ҄lV`k-FW3I10 -4:@\z,y6)%yh"l;+> ɔtm -ayΣRy<[pd6Օ[|-x~WKB %ci'}#_LAHo@߬2Edf3}D{LDϏ&j!r `͢|R]=, ؙpJAwYӘBiVV?l3p)# Ǔ j  kNQY82:4<SXi,ݔp/N=) IL$tJ]zl ?6JgIYSxUo K8&Kr ľwVKHO(vo\_,c?0Ct8~XRR(> vVAW+hk㲿w ӧ1k\HNx8"8~Kn&據c]] 9+/Ol!A<[4we7 oÑ}> {|~q: $4 *{n<3>r W1c`dc˙B8BӰ[ :ڝtaf|a!ho %`@]:p jP *+I^0%u1$&ٺ64M"gO ybqVuM5 Տ?sVpa@ѭaT·tlډN΢ ۅ0u,,F+Wѱ m<ƝH} $+hz={X: ؁̟C֩tm؁!m_vJGy'g,mśoލ6i>Ǚ\׈f%oн9VcJTb]SmsnҎIK#}Ł(:=7 M D-ȝc&ɄE4m h^@P3T}кK"nZ*ytL Ոk&DM}Oa~oҲM|KT0tд칙tm6wQLHMG!fwc21,Rs86Sa >SʡǐOzIdH>l/͛[iJGѵUzؿƭNL):Bg8'QtJ.%6?vM;٧t5Gn*5бG"r4Wӹi|v7U[h܊G0D᩹8('Lؿ_k&L]ƍ2xf :19ۺ R)97u D Oɦ|qNG޾/VB0iۨxnR^|qo?+ǐo%$p?χaQ/sV8>oP\LN4[UUkʘ RG_"P(A'e?A^Hk kTf80Bi|AǤΙYD"(}{șBHKZ0^AEgc7MhTApV`,&d~~M47uz_SM` P[#`sto/V_K: 叾.44K'+>d K7 tY@ᅳhL;# ;\Ͼ1\dv6VAUQDOψq},J݃kgt>bG3HwsDlmMv HM̽݉)5DƷ #Fqel|:q 斘iMOp(>a7#A{=y n ے #13B]4 ɾgqFIY@M\y 4cu5e?=55zxM>o8f/́wݱ'uZV>X.Nb[hȠמ1c1lqƪ_KnlgU^(5%0ǯSa/_4b>YaD8/w"8&h7@i4BG?B}Ƅc@Br +=.Q( 4M%?Ն4TtJ䉘ˠbe.-k2[q*hB`HI?$-i#1}"Y2%o"1; !̀_4qIuHC=-!BɊ&e2ә|] a76 Ut.@S闋4i y֥I>`59V8g XIJR )_ ԃإN.sVFw!Eh)H7۲߹4 ??!.uFo}%Lln͛qXcPi9FB~a`D_Wa: _75}Otؘqlm s3 ?^1J@zJ#b%{'a{w+iI\Qzƨ_υxNÒ;A2laOs|뵇pƯxJHP| C%5 #BV =,CS+m+X%# EL=  WaJdiLH˾i)N"uKbY&~P.L R"#ބgisLz D#ѸBR0Ƹi%k!WĖzf3$&rTLx|!I&*qt$?#a~sZ>6bvA:>f.\@gGx<_C.qUBҧ XHrYբv#3o zXw!Ϟf:)j Mm'7䕒}x?Hssd\fڈbzv|&㿳w7ԭ$b/~ 9߽{oǰr)Jegxg3ҞEo{iHF8QRH#9-{usHp/~7xV'_,.*:d$:z9fUu"x^2OdTpcNeI /4<441Tۂ_7qxu6nOK!a %$m7%2^/G_DZd.Bz]+-iYQk@Sy-Iil Rz-`Z~GyB;Ug(gwY]*wmƦ$J%r%wI.G@(G016UV}+˖-ʖ%)o߫Q',*%͢GTZFtH˃hhTw#d;^]Cot耄F#v l-ğ?]y s&n2XEMShqds˹|>Pxq&CdЎ MT~<2/˄w8i I2Tz%LK%ߦk: k 2fDV=HiXٖijtʵiL"mRg;k40#INTNMPh}u\BmтnйqtAG77{A۪  mu?^Dwͷe]|&=Z$@f;AhYr\JgnB6ʨ>\kًd+ zX Yw>ٳh?0p32aB]t=!g&9Iމ uj:s+ͧ[P.ѹn Q ]GN%t۷ճ5nt]ߡ;X0k;~;4^uqc {+'1Ih0-m|S})MbֹzdM>^pU 7LCF!c j 5]VAN# p=)bڭH(.54w^\Ž\>OrL2Z$!$[@,ۃ'Fxz+*0vcY:"MY{@ܟOah?*5PB&8QBqYSCsS,hT-%m1 /ct"xқ O@1[(T Mvqs-Qxvos?{`ѯ|ϗY,Yܜfd$1%M$m> pZMO+0?]Ǖ3KL<.D*g,H`H0fKGȆ59VXC_$I/7T5'?]7\q44HT̂b9+Wq蛭3xvTo%~tvojq1m{TRGU~<]Y, \^r}+룳sd nfS_/)x;(N~|=nv Nv{7ǘ0O8AP'># I&dSO$=~o/vDS~9"'Cb|ܝt)c:.ΐ4l`jiޏ9,el}2b4ӱ7CEe:ٽ=<v_: SF4A3PHVfh@];BFض$TSX5,,j6 8 hYPJ?ٍ1= ɈixD"QpW ^cYJֱ"VW$3$I 1@ʚeu[U}Í\,h-Z&W%xɣ IGgVB*3 @Kc_Lvw.W~<&K:v-Q M)\@Mcy7o]+I,{i^l[ 'vBrhs҂ډ rTآ ge"olNFU4E< y,$zOnPΘ4"! I+psFq9V #2<}?[uHsNK@;oD?>>763Gmtg)%HM9 5T2!UUUe!f%T>k Y'%s~" !oͨQY/#tDc  18de:{<< 6WW6q+v?4_Njv6ZI2IFx3Ms̼އDlQ#Շ588ao;r طU>jxcMI" Ucv/z}. yP; a`f^kbVAU  `bR~ǚNvU>Q͍t6NcmӉt;9;>m|iE)z4M%ltyDD^޽Ba#D? >"AلV5Mj6) !߇GgbHMAuD"Q7iE$ՔUEE%z|}(mB|vC?ڜA#f[0C+&+JFio ahᷫ&1$TuhTd4 >2EүŠE\>й=.~]VA8Q~]ANaZ$M=5h*9X--rqwzs?{neB,;U {r !YcKQ8f&Q\Tyl 6,.UlwE9q]5yh$eZ#P:IfQMI^cV6a/Yj"CRkFj$J|4WAHUAAN_X$VW_F-ِ!5kr29S 3VOWO'K}fÊtt}s0aq S9kӐdf4V` yέP0zT Z}T$~B5}O6-?''j`67\V{bԇQ9xl}     Ùū:2{\!LƟSRb%H$ cNJcO-\ݰK {G+J) Ͽ@su5!R!wHM ^ IDATdTM#P&~q ğ=Q~;[dF"j%D7(7-dg7"r    Hy67Q 1y<ϞjAg0 "4N8u[5qI $KxO%'FJF!H/ sՕo5芕'Mfff0j7Q4-D!\=}n4MCQ<q'= {-|4t3V.5& b !UUNFӎ$)-UX JK^[͔ ̙eL8zaK͠rVl    `RT5ز2P}N/ uSH+'{Z)mr˜.~-ʪCCFfI-A89Xdh=b-\@!eIB^IcMl<O*$ˤռgD|y"&'SUYO`_h    VGA$N֝pR#Njj$+`{LyYʌjAuogchj6BAAAaBs+IDPU'(^EIM Ѱ]$-L,Ә3 5ԴA6Q9{:VAAAA8sҁUA&L;I&4%@CQ I$@7$[(M3NtSAAAA@l*Aq'T̞FIٹ#d B_Mf5@k   ' eL*%K7qHT@6WkXՔc r eR))YN6aZ\aAAAA8s X:iYMl? FCg>v(/%%#dT|.;mM-G-~%   ™E' pJۻ=AAAA8*@N9;Co1![<ɮ /YHᕋ0YPC~M.^ge_dA&?GWO;YUAAAA3*lwQ*ׯjWP5%oXrҐ|{6ӹj;RBΊI*AoWpɖ3*ɿBllix{GxHTx$,*u$ y}#S/ ^ 3nth~?G+d+&$elsvTMCΤ4;pXJ/fM\i苚GhЋlaLKFgq߽}=2*r   pdWb,UҩGSCCnqhr6\gVfRp{ I]v~L /뭵80XL ]q1g.o42y۽~2w]IxtOc?-#܌݁%Lߺ6܋Ko!ɽЍ=֊w\t,$[e'x I.ȳ8m~ =>&Zr6n j*'yx6@Q5$c.YKa"Qո{Ip9in$CᇃUTH9e-oM5ix 7mù}'&;Ѩj-Ћc~FB'~UX+;|XIoAAAA rƤცYv:aA&O>J_k,3(r\22>$#_~+yvD5Utm'i^p+8[0Lwóq6tCgvtb6ixgpIhPA2~|5kK? GǯBj3DvuxO$:!GL M~-؏k퓘*A%4ӂd F瓖5*Aǫ3(f9yԁYG{,<.G=4pGFu3U|%QP0%SMWyt+=*r=-,}Dqx{ԺEӁdJWF'}D2/6ERGK(<IVԈ/ze-Eo49|GxBgٓXAȏ6orլ/x'븷gXKx% u:};eR4Ȯnt91AA81Չi=43 >m ә=@ӰYtxSo:/+]"-L'/܍5' -' bYh!kaqat ܅Ĺm }W3'wHK2i?8AGC2Hjrk|Q~/G~7ū0"T)hjрd\,IhpԣMoN'zkIY4EkC3ΐGo{5[~wZ`6LQF4$P7H,ɼrK ?{Tm?8:bED$#}tW-&oj*޹7òE,Ab S~o4$i__jB̪*"Kxjf33ZcӖZ%P/ lH!'ӂ)5Ygb$T}H4ҳiuOרaV,m`c_Th=DePfԣD>[O$pWIbT$ـUSoe\2g$Eugǟ^h %8@h|[ zg t Mz =uC;nJ?ޮ~Ѝ0smR2k gxȶ~g& |im6qQwpI#%%[WVC?c*rΤG CP@֛Kє㿿yyqRnH9W8  „9 9)Ie9Ax~$H~A$MOI=QN}RUliyɘjoC(:lV  xMcW Fz9ް\"Bj@$1rWP|wv7, P4)WZ1'U1, u@[쵅 0pc= Cȋ':-J]u'iH8Pt<{.)E$2W4saas;tn[0_%-)[?<Iʝޠ#lwÓ].Y}{>03ߤ'$O1&xǸC?ʗM3p|ٖSqEt@J,)i(f۟1PF9K!9;-׸mWI,ÚNJOX1_2Nf w{Ȇ"}~O˞N #Qvŵ4lO_AS#ѤAS; Iұu{?t&19| *P6oj/TAoJ90l,PoV>)9$ %?>GLIdH2w]2meR{Kɦ"׌/ݱ xI|fXC!>=Jp QR~Bӑn}!I&n6<̦h\ mht%Td"EE4ˁG -}<(_ʳxn1yAAXfv5I} \NmD#g]LzY{FM}G%9F$EW V'kA2`4Ȅ]C͗ҵvѐ!=g(9~j14C2ɋfAqO,ՕX(ڵx *q`#0l~mǎu|QZ W[yL,!"ͷO US{#~ӽl^^H`ãr?6;d:Nf㍌FkeC߻}':{_/>O,`-Iz,XC#pꤢJL:\pF4 ޖE%7UtxF9SiVaH,[|)M}tK9L4cѢkl[K\(ʃ6F{Rh]-uLkcԌ` b G")g!S:Ȟ4XRu9Z~:>jfV}ju8.?Boa / ˫AW|w nK'})Ynzۣ0Ɗ[l?)7w1R|t~em!Y^t-JMۛAPt^X'_Cqḫ ,. 97}T>}#u<MEZp}_;=Gp|ТHqUˎ2r2g cn} l_GAӶX.ߠes+y9XhHMoGox/Ba@_oTzYJ0kzϻA t6 OC?|7^>i蹿9̳w{| /:Q"RL2kw ˯ů]§~HOwrM͡ص xZahȋAƊ,^[*Lkw/๯mߞַݧSSS͝/>6$_/Kmh֌󹫿;/ a\*k:W.hA7kOA˪LZz )hO;O eudIdzg4,-Lhp&2zqRS 2"IWLڃ@OeF 5꠺364mݙBAZs( L `\dh'7BAGۘn2i`0MgnHO~ew2VE#Z"l80x2><inHO][(I*SVyZє0gY0%m(02Ծ 2ލo3k0>D1w;x$UD w>C$IC ԦP:|ތ.20 k_!϶ GLV$ŋQtLNdT I_B8i\|MMp('M]m8#BпW I %ͦFs)_|5l=m)&9DP4VDɴD엨Z ſ~qr]8>:E/{'-/*d ދ߂̩\!{j i?SwV‹7~7c(24߮DCԶz*[y>dqغ%,x3[k֙7W`!u?<˓xbx'sNl_[s/_?o_v>~iQ6kz?6=Ƙ|.9z<~UZx㋹kzξ?޵/S˘iSjBSC4m;j)$ږhٿgF&)IfdUAKϥpEF"V$$"jb!  k:$>v,# NQOKD9꜇ Fpc\K2萴9p===/zdG\gͨǛ`{HPSF pSte)> ǶS &e1&;S%6 |Za]C}RdZ# zMNPPHg4=G[`A ih2)|L4-Dcg:wg@Ggב@=75oP,YcF!KfMuSd ]AA@"zR/3]~y \V\DyЉcpI L3tM Pg?#ZY)K5)>S=]8##ṍhhX Ȇ*uI"NW' hUq Z8 H-A`EFخihW(0D cYo$[)eˮ%P&[A*LS+4l*FQz7LM(5RAlf}qYˑi{ += Y n6AG_~"'ndM=bU""{QY-'4i0%~F`yEyOpo=Їyl~LfFMFQrdMİ&Q5xjD IDATpoқ%4>O`IoOc{u|Y'Ne7Og._oˍh$/Iquj\s5l $dqAAS )(R-(&#Ib@PU Ps?<C!Z(D몣?(W=E航LJ3C`l9hG@lؐ(AUxUDЛ&av0 Y$c2(_ND FC$A4NkۉK0r"rf=@$fRK]miZ22 캛a>1-7(P@:\YL* ،/t 6GmI:;} &'h|??@6NE'IFuٕhj4 TP$Ic%[oN5v'~#4M^(O6S>&zFxm$bZE&_a~9ޔI( {UduH:%xDRK|CEe0=#Z1:<ʡW qѝɒ4s?łt9٘BcTVAAN%"*"-Bs9 1,s,:qHT@6WkطySNlcwj!3 )ӑz`M#I'r4;GY^9:B8J,s~rCz H=/܌rnYzw VmCp}%fv>YUsL+% Nq& ~:v"'w,\~'~HKmoc6p tmj$JԽ7.nC9d#U[DN/7xE_C׎FT 9kn7JZ .CݻMJytuefr/#M͠v'` һuרʏwXg]3M)^}`."2{@K=ViSɟةx_%~TOl)h dϙ T"g|wlQ&؇imZGwUִD>#YSJ&F:hP˹wm/Zr \*xynr%-ϵ­hٰ@׹Z1 y!d[fcAl6(DT8kF*M*YV)ѕy_ v ΁9s 32PdhH1)*QΞFa97_&4P>l6{9tb)]D֬OA5ѽґ5mU7 !}>UȨ%=hޞQ?'IA̅ kJdfwhn:yY.&eR>wh=Z <f-̈́-)9z?~ǞgV-'x=j-q;GRɘ 1[ZNFRރS9QYQ\GaV;{F]YMSd#۩.\kvWyre, M2:d g$Q?O ymxy7]Rʅj٫U]oJ+y, >27ng^xIr?nf]M%9E;KcMk`J#X?j1W^V#m>޽TۃRqX1i>d*/ϼlh+M^~93uhŒKZXJAT"UU pJۻ3Oɴ,ױ od`HI )K8֩L6POPbHD*6>h!Ml%BuM|$Ͽ.?x{)ɮE|ŷ/2k'[ׅ^g4# wMY  ;zAa5Wj)Xg hq?+0AS jjcFA9?Y87Σi`8AOS= tFg*(,Daq)Vd#wĞ8]CsG#AUAASȱ*phnM$cA>w4Qî ._odE4gOwxL<>T0gg_5s8Q\ .W%1+1wVswYgd^A%wMcK0ͽ;=-Z8>1۸U#9ǟs4叵hZE8ӞmbkԹsBv>xk9<yu]ݸu&K)Q/z q|1  ΘTvg ojJ&SS2 yg(Z6ߦմ>,nW&w߈aq7˶d.} ™N22d+~3HRZ&S̜YF̈́~ *g "l:ŹiH?1hfFD4 ;`2&xp-:a ҼQ_6\Ǟ}6cs%M|~?x~LIf"IǖVaAǻ w=mAUU;@V7,9q[CA5n792cX_7$Gh DJ}3*&;7w+QUeYw\ed &'Sy7AA3bA+d$cϤROؗk&2Șd+&$elsvTMCK-̪Ĝ k]HYT5I i o"#K5|}"s~AsP'{~-\@!G`%Ԩf4tdeC6Afr {ks\P-ZML#4QE=u ~Zzع~t l;B^70֜2|ow)U<Ν]DqU||TMw[^XYG7W䢗` '^p!R^WFy#vWݸz]_3YiX({ŮjL_|EǖJJMt, }\~! 22f'[A6v4l3(#tLjOl͚ˏTrvj(!LM5=]RϪ*lkϨK˹45j>q?;׮3^O:#C73qOzWn84MOaݥw쩔X$uܳ]  17c?IT~ڐϛ(:@6Ko,瀞tR.SlW鞡'G5lcj0/uĮouk`2$5gKʛV24e{x&TH~/  uVUKKۏ)/9M@P-s?$ros7폿j +=4iC IzrΫi3}ML/"՟tΤ{uwMkQ /]AM^_>4Ջ';8+z־%ydyq0`c0H @&aB2de^BɄ,,@;w[lɖ-YjIwW?-KR}>Lߺs:uǢ TI󀟼x p!y[dLD׋W(( aI8Ov{IGNޣ"- CpwcK2o IQ>;zI-Z^hbJڸk~gȨ`SN_*˓`_,ǧ;W,bmُKo ᓛDLv)ȟ}y&n\T۷s|ʤ5gV^`LkVqp>$C;/w933ymW1;hcIN1HDeX$/Dm={KB&~;o˖7F覺CF)3~kғ&K DˣitI5VXv)F'?`畆Z*Y<2"VXj_U4߳t.]-|oS nͪ; 0 o%r0q15k*ߘhZX7V6:+`0<)oZم}WX⠇_JM{{ﺘU xV~nv=awW|/k Yj_=j!}zKV??[O_dt4s򓵨D^_+=Z{E#Ol4>{"ypCS<&&7g4*@ZRyB?% յ{EgȣkWfPrJX$ziS< ~2@@UܸA?ˏEJ'(;]\˔Vao#cua?I"tz؃!R3⥱9G҅Uq?8 b%,sdQ|G/**z}cdlbb:WD;S+K `= %Co2lu4q˲$b#>jAJcB* B- xMhsŇpKFeɍt"+A>>~ ]xBNm4|P^ wo+J-5[xc~}ހ֎[-%\*Q&PJ~9@{ǡYc{ QF8q~4 +nf> ;;iDDBOhX$ew!}]ӱǪFVDR=5#5l 1܊8$?=J|@NVO#٤C 9XSK7g .%)q˰9.ӋB&, >w{ lj ɭ 7(rsWi~?Oj~ (#cJ Nэg`XUU Ru8:4S+c |^'@@#+W_Z%!_dI/ ꏔ@ sK 2dog3?HVƌk;?-n!7i駅~77JIGIH0SL.6ͼ^_+J.NMfzr_]>kcU*$p1蓸13tn1G,uuN!6xU~>)I'$al;2oJ:Ņp c= ݷ]*>YEd0gn| n-Lh=biֽ*N0\D(*QU􉌯oֵ<|DpZ .33gZɢ!3᤿XAl) 1yy9z@3PoZ=eI{ׇ;O"mI>";T׃1Yẃ8q\}Zd?+6y\+k vY\͚v{t&PQ0Ullq>\W3aa+,k,c0OͥRT9 ux9r醶Qoo"9%ϗr]n&~~gE#pShU>);DvM|yTn"I[rВ_\~>l%;=ϕpSQ>{p qr t WfbٶϜV\Z\E,׳3HEOGڢee=:GD>r7rn)cQySI&ׇ*4㹡dS`G47|>ۊi8Ƚu-Cxn,?Qc_}?Z#zt1;KKYzWEVn˫ {$r[ /tNNk.a>j=#ǟزs3XXġy֡ EqBu}vDV`rV>r߮9JИ5{p+TdVRofSڝ-$qŕl#0K*wvVVĕ+Xl3{쨊/ѣVz$u8=RBXX$kjLVȯBTk)ݫ#h?啤eY[K{@p!UU>/ $d Sf< RS3ϴ!q2 FW`0eG,Fl|ARȋ ԼD HS$D7 @ 8:PO._  j #Ԫu4`TaT=߹P?̞}8@ .Λ@ @ @pU@ @ @ '°*@ @ DV@ @ `23xpXqgZYgsk#avQ3'L}bnXUΤy>g_'O/\mWʥe)IO耬p7JVy}Sc0g?ޏ88%}3~rA Q鸿m<+yj 7, @ @ $zk SJIY G^@q`5!SFea 7mF.8ʏF9[W3ڃg-:*>ʟލk_8FIO,L5mSgUya`Ɨ5uk f8]ϯ>`Mkf,DDOw/kʫ{Q}:;Wu3-g9T -ﳝ HKN~8WU WU 8@ [ê@ pTV`%zfSSZczd**JE@6Bym Cg#)\Ld/4d&[,L^6Q|?U ; "m@&Be,pCo#oNqTXKB$o֣7IIKf'f򣯘#ۑe3wc%G_vモ)rj̃/hFK,t$y0i?-bgX >=8;>AK>[3>x39(n5jyzVE'I<߷ WN_Dn|b" (*?yT%C(L\g 1nPC^zhK?6̼6:/_70$n'f?#OlkJƛpbGovwtkL C庆yT;m\r>y7zb?㖋r`C-/4 PT1|f%oKݬ[~޵$qy ٷv }\270z[Í[$OU>+Wdq˯m=w]̪mGno/?x ~ռlpB;jz77y{؃z>Bڶڨ Ǘ$|]x{ 6Yd6 UѲmRUǯh[<Ә[lʰь#$/.DݹCFI7_V<柖\Ѭ//k Yj_=ܾ)4K 2:x]t{`ylZT2 $9Jgĺ:懖~z|k%Egm}f(x͐g_=;nt b{MIGNޣ"- XH@ LauOfi1Nr]M7>dtmP3DŽLJ`RP}Շ=O$aNƤVg`KPgg&${Ķ_ʆxK3=N\\jny{jxhn.|2{鳔,Iv} ^('7΃7@UPNi/eez'Ihvӯ#S^%Co娣[F'_|%=:<l-.N֟ܖtYjʁH x7y14Gz=΀ft4Q># JZwS<[F_Σ_ i+^=#gO[t8Cۤ?yOb% wn`MĺoDg1"Eci'@c<-Ԅ=:^loNG1"+MHK+`r5&??a;-M p7Ǻ:WkjdPc[OBK>U~kb[Y~mX偫a㺓; 5R/TE__@ g#aBU` 9YMBao-eB /rd;U/ * ʒL''=;[cF%Y:D1u*Ld\s) 9Ȫmh`Y|-T~fŁKs; >6t>!&N 8ymKCKEd*˹4%x=q**: ᱳ+sKV`?%J=/oj"C5ϩ=~ꏔ5?v$&tmzjc=iii~jf +'w"K@}ͯ&OF~Wː@QEKpr} M-G1ʊu~]?nV3Lq^VOpxJ:x VG -ϼ q٤_} >Vu1jSxhO`kRʖmI]7aê$Qy9?p=_,6O=m{ŘN'/ϑza8GWLJC/+1/!LFItsohXrr1H FUJ*m{ixuTUՔ/+Hy9F(_0Kn#78X2f1۷#/E߲2r^/|#[MbݭF@)6*nv=!b(!74 Y6scN7>%. vh'.%b'ۉђM []g\ ÀF#ҵ` IgN˥1 Q46VEO4#/. eyZ3pw {N6N-Qϩ_Z뫖~ZL6[% {jLYc?Ǻ>EK^`ߦ,Ԡ٣_3?m6 zYe`sl\@ F&,lO]2xh`Vڿ5l hU5oqFџTo }ikd3_8Kx#O?5[xHΑh#OOXI6Z M@L od+s?>M?7^A%9!܇h}Ñǟ큋>>HXy+++MO9x|Zh_3W&l܊.{)a~ P5;YLVo+m&*:vҬ*ԩe| *a1SLIa6w~y7|΅̛Nqa67t߽V {wfd(AJEi̪MWkCgJgLJKrꪋΥVFiXAUiHc/InyCǵxfdXo_} ;xz[ZD^kyy/͠0'+W,^qIdOU d+BiI6B?Zkk{7XwU)9)TϮ˒@E]4>aii~Nfi92 MhV~ݷ]*>YEd0gn| n-=UY楳t\8f5?c}:{O1<ךN,&zu}/|띋UFqa.C;Gį:o]_OaR@p֠b2贵l2鴵wy 7w{_l#lcc"mI%}m ގ-H]XLχQ?.;A2i#.R2$swqp9Tc}ʲ>x#܀A`0ԅSY-$]iKgd i˗|IS=nmf,} 9I%ظ(pB4z65bNt/oo&0$0D9Z}59Q}OZQ>EԂċ߻#.عȳH^|:ԅt݀d>F?X" I]6ѥ\IٗԀWAJy=[yv;Z/ LMVzt '&`3p9\w I"?/᡹9/bݼuIH]RI]e+f04kn?9|,,O<^HgINd V/.giU#횣TBBaW_\Ɋ<^f8q\ y} Ph6$J.WȔxv?H§.Ū<8XL=Cg+4쒑whPĪY\RE}z]4>/~!%C^V_ݍ|ٸ56^Y{`(hm#25ulFbIWzq)% ~x}kOH}޽}Ws,L; & x{?ZkGF Vr'Qi`{mܔ$Y IDAT }Ԥfii~zKAc\+Xw+~2+K7D2nט_Wپ"\^ťTd&cGU|ZYuLV/*(N᥿`Yiu|i_DWk}Ǔ4-$ ÚMD~$ܟc]"鷯Ī%9_;U+gjN.F~}8G:5|y%)zw.@ 8fpٗ` f0[̘1{b3(i.WyBn?vp;?‘ OxVt6~#zL1eoу mĺR]?J: )}U_=D߀},/_5# >O!ojzMϹ[=G#_$2y5OѸwY߼SwÌOSrBU6 P5ѵOC~'IӃ⵮bm~~}M_F>\3-ً>s?;oSE"m(gmGoxOw;J0ۧsNB"J΍7d@pfNEe|iN ~{_5?rpSŹ>]E SycD*0n*테ē~dAO$iG t1 9кU3VUTo+OQ|~75R|帷|ѷm楘ٸ$]H5ۯ`I;qKդׯ㝤Z,ϚWUkfݨY/!}RӣDWGUPg*s]m #:[9$Ncvtљ_Ȩ l$+);tUX."缊:QuX6#*-{);IΚ^ m;9%5f$K)&.3FƽnH3OrWDZEKct"x{0Bv]b$_luWC=#~!yd˱ԓOhɧkY#~ӥ/¨W 僚C9JWu}R*?vU| IH E6|{}(8Q BƤY|!F@p#Xo>ӢX@ P8bVWMQ@u7a}1_>no@ғt.R_+يr!WW"I2(z"ԎqI`n̳Zׅla)Eލb:AeKo̠;ƥL!my[i,|w"OGFu^'r|ɗ^Oe7ՠRVt ŧ2"f7o%>iKsuT3IgIQq4G z6|[IZ+1{ Y7^zw3eM/ֳ8\QQ~Ԩùf 8H\1 H`/_@2w˩z>5pk-~6 5|@ auvI1PscF6IsZTqyIrRWa~YRqu 5d|))g`L&`c;5G1Ttga˲пu:u0ۚ_rƆlƐauGV瞃 fl)ɕȾ^} O׆G2k*`'{oB6W=Nx4R-!e\+JPvвjP} $8H3琶l1SԬͽ#KGAưcNWB[/%qoz GsaX@S@ scnTIGJbvC_}$ł GA9fs+_-*@ @ g+jUl2]٧ӷaˑ2Jc%1%=r}Qﵴ lZ%4u5A gRٖʢT%EMų?KZ0wWe$ 0 +@ /8xBsZ5)%$,Hj׀ yCqq`5!~,]#颪pg[š##t4fM*ך:+]{L'hEQC@UA oXUYxi~ݭ8HqB2POŶX@ @ 8M7U@ 7ʪ,@o7Lzj*StlZLEE1V zf2R(TټA;ilxޫk}' yvwW X1<`AYC4I S#"韑MggۨiGQ@d8YM$UeQv{%bЫj{p*^sDZ @ 1# Eg"Kmm͛K!Āb*K(5#-m619;XVzQUgbb%|fG>~  j0?":]x.ΘG^-՞M%i<5:@ @@ 2HOwHN@QAU4T0ez:$GXg0%p{ר^z$215BkA,99<28:nvMㆻ%K:+^'ӹv"$Dyf"Y|U$քќ‚ًQ?S2sTC[OA_4Tckl!唙íOJdmBT<*l@ D-Yq; 9h/ UUa9}_'K/S /?ڑt e8J @ N5°*iSI4*^$gCA}*eϜ-{q#@ H@o 1L@7aCz7ׅ9Pgb0B%F=M 2>Y1[Ы\f 3[e SB G2=m 7!GO Ua;)KcQ^gF_T Osw[qi~~/a(2'=;M @ .HaU \H:+SlҡJYrr1HM @ 0H: ( {/ H ;I%18L_[;",eTꬤPMƸ{'=}"|3ibLYQaOΓ B1~Gs'5*.KlD2g25#gr'7fS2p9#?(ϭ{>ݽPBb'XAiBY@m{)6g%8S_F,/55勤p}VewFm[-b/ZTUb~&v]$@ @ D+劻!+<&5xj1)̡$fFl)i%q:z۳tqpfK.W^=lmoǧ_FK]e4 ;k73{ q WP@{n^زm֖`˧2 AQ:Ɓ m((';~Fv oH| 09x#^o %_4;Q?}#zyƢbI$#;ϴ(@ @p UU>c='nUބ˓Ydj 3P}n(p!R1Y: s|磿wbGYX\99.b<>V%^w^h)W{_#tm:K&ld=2v`XS۸ǽ|2OܻiR.¨-3 lo==U$˖{(lㆩ!! ^M$Bhm+ ظ**Ve%mߝ+˖%,wyx9mFϜ9s#  rNV ZLwAWKpkT<Pw%3Ϋ18!x ]D哏v*_o/>SdtOKO` 6W7l>2BU2r$M,D жz9Qdhڲ{I#ޗ=FMQH}gDms0dοkz"R -ԯ+H[Tǐ1c+?vL pb7TSPC|""w%E   rg}`5RP 31$ؽcPU[a$;45Lq& X=::w{oشm_pח 5вUKYr y*jCU;גbڋK4kqv[FZ/R[=ᠮd͈//½=jޭGgd!yjjA:!gīnZV1Ȱ;o&ٱVWA8Yt>q}Qt;   _Xg}`hUR?J{T1v.>[O?y6S% GQе-XeT}RMu0$ M{S/Yɺu&)y%3ڊz@MM˪{令بt!et-9;}߫y@8d&~ǫG^nǰ!RV}mwK\l s?!:X {|{f:~S|x>Y?Q#8yK_}>'pq?M%;cWs#ԷH=]ױۍt£2t-^V0@[Cb ?k?庐Ұ~!1g~/4T~p>yẀ[M }@>ٗj8Ke3I`Q<jj(F2-&h4`t5@M!$F Nj 0eG}k үz\"'dbXe|LRؼ$  ILH:cf1nx&^ZIHNgLa;DrX,|5❬rDw}N3|c]Y^o/er6!`} X:_|&T\8qX7p%<·'}"V[6#xwT$%G!Xίo?avGw20bOLM m,8;YOF'_=oqEHQAaΙ*_zL HIAi کZKJjiSo yJ] PA2@t޷u˗M2Zg _?[Vq7i]m +d̺ܙHUR2AQݽ ȼ~ކR&+oh_M)O?yWHʍ1Q3bJ*K9P^v^D ],()DG!5u)(yٺӍCsW1)UW'jw+st];k1ڧW '̉O~%q9rEENKZ+vL,n 3+8Yh_G\-̦ + )>&dC`O #9K?\GM5|Ƹ"~xI~׳gP) zbT/M{HG6͡I,SDFzT=Wk{)~?*|jE2>{w}MUsqK2ï*h勥~?)s r.7_f]7;/A=zv~XR'/]Θ4.odoCl,"ny>#S!Hv}v$ZUF?C? a|e 2P}Nlo~B@ף^ZX_|y TEʞx-Ҟ#RYO>m* cYqkLyAA9X=to K_@RBxKٖw{TC}+<<݈FjE ?P"Yr8>ݸU% k? d+>5R뷳hBK['ϢMo^O7xGW~=jxloD}|B*>]=R ~M/`Oe|ѥLS`Ua*z5ӸvEp'R]hoXίHh"h{uu4 |KQD+_w] i߇rA@ :9X$U8{kK=%;k~*kzW)IOM :^/tOmm:@A] ߀+WWu9WbS_>i55O-o80*e`SK`Ee} n}]lQ8|ACU{-((S\GX_1ZX{KH5~LKPlK+4IV#^O?4wP(rX/zE+s;cޢ-`GUZL;ڱzٲodL)_z8{}*jU=J7Z;G\u\ob&\el*.'"ۤjb.OfC8=;a椹Mx4Jj\$>zE>Ѯ:ҾD뿺C~Z>M3 _A_SŠ?E>F[7Z AA/GӁ*V~vRwߎ$/˔}Ao4 E&Fμ   ܠpΑCv]S7<-lHd|4KpR=Ka&3fg[8$#቎_e%J\$4@ږT}=7ꢭUO⾇eDV2H1E{a?3M}D T>٬, ~ή3j%!-cea%e?Eh-xE|-7DHSw|GӉ|Og3{/1O.Qz|o|NRZ]س]{䡪LKm?I[[j>?ԿZ{CHρQGv~G꿱V 5eN 9T T@1_E8#1XFx:sXS0.DҴp~⦚>O# ¹OVABc%ɬ^J}i(%9qV'NEG i)#%3$c)F>6t!t! |Xv$hAI48L o^OGoC8Ɲw y~۟٤-99Q,2`xϯT7zt0Bh~/{W o5X7OJfߌT֗Eߩ[L~ߑy}~Լ T_-+_yU7#&~lxH[k@~xk t}Z!^?LjܾH7dtM=W$u|,r ̹Au~k)3w{I x6ɲ @ALVAd 'wU5/wvpQ?۲ (H6m8DyI2b9jSA5Tqzckjm`CYc[27`Ϝ)P<2Ѳ3K'O>b]lh`*"R{-Mv_NdMXښ)u_wgjcEhG_,`#6{uU>~v1X#s F'!) HOYhZ_k1%rh-# RJx E" |a↓j $&!;u58Pcb#aDTuXO%1SjF{VYB:u7ow=7Z7ϟv:MEG\ydB8}-S u)޻WW}F_#yXa>+`\%GR32bE\>+H34H :c !9>V+hzx|Uv'Fn9O+ې.6?3x;oko}S51⫸t#Q'J^%vi4.CX>g;z7~<4]".ێϕuǿn1)4M}W][;ís5cWgHc({@H c%_m}q,OcC*_ HO*jCO>tp`f^]tx}5,gl~'`4  єL ucŝMId&P,6zShi bXp$c(x:9t3`paT:[(_}'BgƢ_&CbFLey̜>U.&œ0K`*Zx"/5Bnжg OW/т-Ls_焌VHK#OwMp)ʖj.)EWwV 'h& ɣ*xǽ}0u<ο1fv dƝ1@ׇh=Cy#K2`?SP}%J3Y02ˢr{<^1 ^TV_7a;|'ncE3\lm82zjMl;XNo7ǍTzc#  iҤiѭ gFRRb5l\Xɲ;pqĬ"H\uzNaW=W ?O ?"ٮwdOΑ\ywoXx/y'66`P ON9H`cm̌q̝x4¿>yAIL p(\;luCJ/rPDwNM]$̺1팹 :KsNU33 gDPDPvj(XX4} ?Y>t'3zM p|,M! 0XbĪ g,1bxH$Z8}4'$opɸ,\<:G |ˊHla^@ń 0G    D`UAAA3 g]uRp ڎ@/0XHD@W,r R?" @'    D`u0|a":UҲv#^W_lHfe*}ޠbPrs嵨3_3J|LJ |X{t=A2~"Gd!KAwQ}!>{G!Ict^ ySɜD@=[_Mבmɽ}D@},D9+gaKGlbA#܄2#?ZI ܻ'G2s9ߠa"#m]SCƌIR5CKɣɺf6dUӶa=f_LG81 dF"nEU<]TWR(,&fFF /#<02ބjkE;   ¹LVkG-i_G&-LsnMь $]D\d_nzRQlJь"ܛޣz${iK6P_u:u9rF)rvoz'1gXo1?jhL'ڋuC΂;Wݴ~wcawLc-obi[ҺJLܤ p%jP~ᄐLL4,ւO˜I $3aB6 Z 2R=Qg^Il7   pi;Ϥi7 [pGޝCrg6J2 xAt5O򺧂ҵPFOaa]-cobL1M帩:f`6(}o㭫ůg~Lj\K3[c:~0J"Zw1[N'sTAyTO0zBcK|*ł>Xޣ ұ!={ԄWD1xDf&Kh.J*QHMlJꕎ$[;q(    YX|(>T[P#}GBz}*T3r(0$1ꇏ@ױ[]YFoTmJ '=%q_k|0gU]BV:b>+z#_5l؈14_%MG>.孨Cl/.Ŵb|I"_8!tEkK3Dd 2`1ɦi^FHYx#򍔽;N-`3I"p\&\j4TՑ5>{Jv@TtD֨d; M{\!$    j(ԗֿ k8jbOzm ]A?fԢ!$ NԎb$S&RG6]X !{2 vR5T)/tVPw'@JMEU    _,UA '{Ī    OwAAAAA6"*    0H"*    0H"*    0H"*    0HӝA@"'g:EȈUE_$6>?M\nX{(i!{(f-e~/ep$ŀrrO禄6v(  #w||Ov ns,­*Ȯ6cF0:doiq3bJ*K9P^v^D ],()DG!5u))l(zCUǝ ST5Zr7"QJ\ʘtii;;?1bLf.s@U IDATeH+F{*^QKbBM^)i`e_cĚv1_9_6lrRuYk;j+#Ico]?̫t8Id+g'Ժկ:!oV?y`w4zǂ\q9I)&׽M¥7` t0_HXB+>~heml FM/}ɺr)irkO+qt k\17G]hZgǀjj6P}er]).`I %82ЃN܇6R4]G/94~'*i߱9 OP`JB:V4#}4ơzl\/_Ǜ?O?jbidZ?<} #8 >5'~X-$?LY.5S XB`7oQ?6o\.q:΂B2+ƶl~M,x \,}Hyy<XQ @ٖViۓ.O=AA/GӁ*V~vRwߎ$/˔gGAA/.X=MC:ЀIMPS$#m]SCƌIRW`yd]Gn*ԯP>g`Jt G<͖dL%EďBx~9>E$l?oCOQW<u='j_MM5g%CЍ q5 5M%sX]l~+ S o%~h,):׭$`>$GF ׼=XU݃{?kC.,;9az@wP5Lm=dYzQCZH@[?iX2]9 [2ݔ_w/oJ hh]>q:?n 4TU  C*{j3cE()"1u?ꓸG{NGRzu[#wEI6;1ջk1%Ito?Zw=@K   2"z*IR#:pU7-d؝7XKkgnM I[r9yjjzUEc'+{.۱;wSz4cIs%/|{oشm_GQ˭T>VOjZҭW`iF `K&n8b Iь"ܛޣz${iK6P=؄$H[hh@]1"Fp _To=8`BUGMؓ`-͟>Gfɤw#2L}uƩ vzzCȻQhζ_zhXD:(,;l@׎ KpoG? 4,_L'mi $eTw[HC1ٗtt_Q ȼi)3jI _AA _ 0yv 8[A Lyw:(:њ^AHL0P:| X={$P;Hw2rT}<U4ȯ/h؆8)@KP׿BWբkd_OƌHH 30 U׳?? `L݈dlZ|?RݰOJs&6 z^aXz8X}Hwa2|B J)ɑ7Z!YC)TռYLHD:9ӛ$4tA6bb id'Zu'j02dYѴV} :s6P}XSD!|(>TA9sڌ̙G:Mxwzʣ@YCXP/*RSb(Kj03GoÄ/+?tz.ϢQl*=[^:g[K4m؛غw"!{Ǚ:1q50@Hے <-H%l HKMjRp¨9owyX->SiX?/4; Vh} kR1Yhim>R橬HbCej"hrlA!*S2'z{_!ĮBrpdhڲo͢~n{@;{cُS`o<0ׁ=a?΃|\1bd2Lq ewWDHM#S9\d~3wغf7{ 7Kg_ĸs()TƖJz/Ul/LU Sbz**mUi >y'F!Z}bU2 '/I$I$I}qVxy,|8AU{vv9Vʿ=G$ ڏVT  "PbAiZ=hE-B7h|ςdsd P.`soʥ`q;[q 'kD+хU2Ѷd+Ɣ`6~G[$K9i]pb'l"0?5'S#hΗ5-.۔jMlݭ00,yTfFضdd#"!k9tQk ˾Ĵ|tt= xc 掞H~0B&3v@. شMc.fdN!SUVW=& =Vޕ1:F l=zEykdOÞ4ee UD`U;7V-D؇z եM MדwQ l.ӷ:q8׶碿6wѝX,hM6ҳSmz3NKG5xzuK_"ڕu)J`KK_Om=m8| E%_oix4w-Ĥ?s_zN&I7+_нT.})(3 ~j~ ]JKj_PթM9eAs~z b87$V?#cDn||͏no0?GkRCy:_^=Fh^C׏:ع>)DCcEPƍH xkx}o?J⑯% ex5 n7  |+ϖz>op;Iw@<ߐ{[Z㎋9+'(b&%3+o;nO[ܝu8XfeĮ$I$It*GV{ .۲}'*-k0Qwc&U4DKxXD4vEe߮PSYU]JԜlXQGŒ޽`4? o^ݯ?4|s`x3eOE UPDt2 @onC @Q@rY¤_Kp"XLFj?"y u͟`!emTt /p0g4Fy˚IY0 [y&{GB-?̊Fuqòܾ };Vȯ_$<=ꝝzUoz-|?eП7w9bEo< #GT`WSblPM hm6%$I$I$L:#Aӗ;vG߃-7~B@wQttp@+_D[o'A~% }]?UQx.(\0~sH?wEހ$u{Pɝ8{^.As?Ed'S@5q(B֕>![?҇(L]bNjeZƲC-fHJB$Qxxyy$JԜhVi0µMY4 so Ru8MrJ2&cX!qJ'|ۼJfs=֧#nc\mX℗ASg71`ox,[)ZT}Oe&[s&A?3LO~kf_`,P^s0L$I$ISnnOv%4qhNXUkSмj5}>VG1kvQhx7SIJW|y<<mQ;PȜ1 ':jzC1:ZŨԿP8`!BIdϼ0EU)puu5m >#[Rh FM˾:/FIrlcK^>KMJ>+=>|"vZv&qȘ1m:Hma-B/ܹD-fyiC IDAT-~??6L:c;=]FP5l~#I$I$Ig2f̄A^Ù#'z&؆zuvS_Xmߵp9:p})w\9+AQ8wq'?'$(W$I$鬑$ '@:*i=5ޜI~8miTydRm :LP\ M gpf^o5E) e[\E̛dG'Lx[t%ᩇ'*3E?ysȶW,~ ^o>D/*|vn盚P-6 sC_$@Y-trs$I$I2&$+ ¡*x;ٙ cb5Fªܬ T-CQ2z$.36 g MЂ(D5OZb&#+/c߰'7'TjNj6W1\8?G~']UMz߲Z~;* |j RG$W<ȏj93_\$?}_*o8!O4[ZE u~x1>}ׇ%{*$I$IҹꏝG3D~$Ht~g&kU!e羪k&aI#Ŭ8U=@i9YYPedFL="B{j"h4K@n/dk)gL߼OcO˘SF2,'&>\%fu o`R7uh8a{|kL)fz^~3vĂD&k*78iC2t_ϼwp׼ uضg (&k:_sپ ȲAUy/k=evEpwEY)+…,14;C<:BB`qp-`@*ĎoTp]pᴪWIO_?{OU] u4R/J@lzX L#Ŧ\믭f]CȰ,oi};,\Ln|nh1ZjxDo<^oٰh|?#WzÊSټa'r ۯ8?-I$Iy!3V%I:o wS#>o4LQ8L 9]}Ty5''3fh>S&M[l6dJgcICDIp P"Z.A*۬f"KUNN4z{8ԂY1K|zoy)5[nokx&yǞ^z1pOx63e1|sa4vR/l!`uqN?{vaX'{Ɯ7Mf~ ]keU4ŋʯ0u4{|rv!4ƼLx }2'eyKr']GЖ/ǖ4EMX6۟!;݌گVeԗh ީlr?(qǿW8O\Oy},^ϑ768 _ix7DHȓϮ,na 5߸~w~K$I$}^$I-]kehfB~ɈXk5H*jY+3 Ul0g> ~@UkF"|w߮ڸT{ Fy[,kLft=KS0)sܪAa*j[z}_ԿY6cK.avfJ@QZ6~$r7j|<ާl\_{g>('3Uح+_ 5ά'kE}h`v SX.e|al%H3?LyHb~9,Y㗯G4VA5O?W-O>vkpèq4yaMW/cÒPtnGqh|~ J1PCelFg o Wf?#&ZϮkVtίo4~\N$I$IUI$ƀ>-]@51nLԔݜɐL {_*M) 5~W9; 1]EeH%+L͡Jyf>]`hTxPZb==]׌h>T%گd٭/`D7~G.5 KP:b:rhޣSZG5r!m*a`{aaz^]ӟ&tjlCQǪq1nkq-}jIAϩEبΠh: 8 HhȬSX{~_7=ՠbxۗuDKZ*0;&GW7:~gj~K$I$d`2SCY?g6oFeQ-='2wӗ=DQ\fhMFǏLoI$Is_L:)jJ:jJƜ_F+u;)ɖ$#;)ν~>u| wi67K'NQ) ~oCSь! 0َ*]Iaz'_π/cZ1}:SOq5_՚5՚|ccom&O@IrE{Sf*ԇlpC;=@x&VG?\тנW=*;]k-"k8s:{/pOҙ8<?]Nї;"KTݖi^?S9\.vD$I%z M]LwReev,~ݳL9SȻ1'^;r;tnN%IN-5 UU3QFz"[8-SImųaOHv7'K&e7HW*Zk+Ƒ;Q&&'"E$Q;‘ˤ9Zvr}Sؿp͑!ltZF"nY&cl*"kQ "혬vf^7>я]Ⱥj!]﹈63q攄x?6r bM`\M 1/t"ȵ*k߼&Qh?AG*0M @1n~+UFgW& ˡl;V~gB0$0) -xgAC"fCX?o4MV;utqFoͶ..fd?~`{)[W÷j1Be|;l&¡ M^G&.P!6adOzdX0;ajkyō mdڡ?]͞ˬ"/FM3svعm u_ch{otϯ{>H7SRBh<;i&vvGШ;ЧI؊k?ּ xe,m;pvY$|-f"Dϯ#zKt<w}۴uDt?бjvՙ"x M~{vڧ8PKj4(brns btts8㯦Lci] b,I Zd#玻'33 |B{@j ·ߜ)hs? 53~eXqE#?H h@NOTOh>$I$I$It.STU!Ѩ$B!HJvb6)uQXP-*RWb(ۋ` *@qjIGk6y o.|D2ߌ@]m) wy2EE kIdlY5}Njf*"PtpMJ0PݮnPHA>K^>ISȼZ/`>Ŧ7lG0$OO%I$I$Is њ)㘺v)'^/Zv "؋#;hkJ~?Fu9&(@DtD6LtQDڨƣx>χfl|7S~zzPm@w [I>r {5ę~@hxe%BkaB  ՜\̑VB 0Zm%b֝i+<2`U=XIt%I$I$I$IBz 2mn@tU3T0I3 o*%]܎菪 G*Oh-mVoIK&~[U7n7,O0 [St =#!N0AҴ|;kz,SP@XPZњ=D>`ӔP,.%몒/poĉsgo>aTs1'ԾS5$I$I$I$IɑSd͔ql*g-,ݹW-;jLGG݌gH)@wCӝ̝-/ ۠d#i H No,Ž q4M=KƜ ga-@Tu?i rFCv@нU`!yp>֢BR.KT'RXTt6>Aq`1\Oz'ަY7_0kAW@W0BkvcʘF#kx /h}@ּ\Cz@i(k.cfgb-($cIr|-z?Wbf<%I$I$I$IJ.p %ړt>u6S2f_@W.`;kpol>ct Qj?Ax#Y4hdλc!DknG"d2zKpWDphZJ9@kXf|~NZqqU(mr)U5a[_y ګP5U - ZvPDdONFACʇhuI*_po:Lqa] 6lGӺg\F͌vӴ5?ɌۇrYPAa/ '@:*i=˜I~8mi FPL.&M`{^vTxts$I$I$I$I:C1c&3Z!Q,f:nrvg;(xy6v(j B6w]Off髀becq &Nvfʺ@Qw8p76VfܬThc i E%LZ{5wT@$I$I$I+zZNJ$ "D#ƷK~nT &kU!e2IɰbVr ʾlq'a Đ @9,L$I$I$IMV,g9&vMm()e.@>3)  CGJ +p(Y6ݴj2-I$I$I$I_d2,&?\$I1`dz]eTsFl?+ܠ:vN2YC1) rI$I$I$I:$I5dQK!"~؅;ѯƃ{pWQ֮ӬjED|VS$I$I$I$I:z\ ౎O$IRTJ'fB~oCs, (.lTkrAo i$I$I$I$Iƪ$I-kR1YvZ~ƶy*h#үGFd'[z /l9BMc!I$I$I$I Jt29oM"6@[w+ *%%#dt|7U+:n`qFaI$I tF IDAT$I$Iʘ1cV$I:'dfjH$I$I$I$G>J$I$I$I$I$ɥcLZz3~raCQ[;~Osd#Z_l/ա~뺩_6zM#2]$I$I$I$)>Xb֎^hL>t)ƚjC:@K𵅌w$I$I$I$I723kGyGS;N:j gd#kqNMo/ ![Hr %N6fPA洤V9mPAQ(9D.<|((Wψ?qۗ qm%7aS~{Jfx…_$I$I$I$tUzS ;xp՜IŴ$}Π*"$f!mv-B`JAS_Cgii>9 ro:X(o#(,r?HԔeůб@*aN5Ave/B …UI$I$I$IyëUҙ;zBc.U!T@쭍C!p _|wVb{9EDߪ5(frܽ_oCk6bʟNrc) ZK?_ⵥ32I /մ~1UzOERjޫFhn?\ -fh=;\Aro_mbAQ:qN)cMT2 [jp Nl?F3ߠEѝWam;@KahUԬs'4 \2\^ Gk :$+fSsP)oh(kRkHZ##٫ePb?s ]uO|I8F٭GMc\xGnn幟/`2)jn;O9WWFΎI:+W$I"]TȊD!: 5yif?1PH]7>~G3.z@vw/S.CQ@mY *B4 EEr7ya#>]O6m٬sI:}/}g>$It Ɯʠ*bWTYCX**RSb(ٞn>үyDt9m#wÄG3.?T#VO:2O/Doot]c5|]MɁ`em"sloj^/@\QHJ/07tiѠK6zXPw)VFCU67v336ĺ@Q5j N܍U;Y -Xx{CV&,ŌV¡Պ:\\s`#:zb**o8̡؅|)_vs fDߨBmmTѩ =߾\8NgMFO"W(Kdcl__ :.'ۃu6;'/?+I$I:ϬU88z j  +]u1/ADh>=dg:hpɚCu_X#! ] 4(jNAME3x>7,֜X.XйhM>Ei#mhAƍw n*wPA=w "k5UCLB8X}oӤdXH1+xuNUA{9PZDVTkڠ('Њ|^*jicC#y}L[HQK.]˒}  0) |A:O4s1uyer󍓙6$aJ'H7_7.|V4ځʷsyG3 ?Z̯V\]F0$ׅc]tX]<ž$OOecp|NⱥrUc70Js}u-e HEwsYٟO~ U寿z5AФ~QOF(+D+yp9}X;עBH~O!}z!! '~&R?ߑYȽ7cTA2>\˒75W~"c>8cfy6|cUP~>n;/s]FveBm+S\HN|b50~k_"og'Ҿ}\_I$I:S*Db\Jyid! ߊz$'}Dž{P0JgVp _ fvhM4Ga$[) D<{PWx %YQq;勎0ZׇW^p8?JכPmP3kTM9%S ,?<v;ڎ]61 "=7b8?95#ՙ wS#>ot(GlX]}Ty5''3fh>S&MbWP fĂ/=Qxxne6Ͽ{Y(_So5kl<;4^4L3g \f\K)O';|ٽWT+yE[;nrs!ex凃W [/kR~qdv/wݘҹ0O6!If_Jhk2^~uM>q; \.n% o9ēϮ#hKacK ߨ"&VL}]v\Te^XRIК7O%v3 W{8K|clFFvօyK"qǨ}}."g̸qÙ8ЕP`.|ί51iOZlYEԆ&K:EaO0yg,ΞmMࢯ\Ƭd ۴%22~+6]keU4ŋʯ0u4{|r'`p}~:Dח'#g{|%I$L՘hpmUǿ~o'ufM${r447|B@&EN~Ap{eShY%Edj$K),Τ}鳄cA0IsL~%umFXI|9\Ϟ?PУ 5k2qiX;q(jX\_u-/R[ 9?]^1ۃןQlP!"+ 1Ӱs@怿Cz'־coZCk~B u}[mŷw+uKt[(=#Lo??E!i#lF}Ɉh[\n_&$LUtbB~ɈXkhUԐ?Wf..ߖW0 %DT`LJ4Ѓj 2a׿o`g,C*f~w0[r 3e#-'0}_Ϗ_$I3IV8 joZ|9d]}$ מ.4|=Aצ#mo5g!h9|s){/~cnr"VP^\3 P BSk7FRM:Zk OI·UɻZmfǿ3[$ԬOn,_J  kHﻫ O6*1Mg':[Hq'ծwxyvB?wUUW~Ϲ@ ! $( :աjZkZ֯SvUV*N 2 C2qoBB{nr$}^k9gݽJ:Q [)=|`Ow.WUi?=ψaԔSϿ;hZ]'g3 Dʸ4*N> )P(:N>1ɱdNρ]pȑw WDu&k3ptkYmeGoqLn C)2k1[.`W{)}+.'eU*_?^k @cG(hPuxZmeSHj죅]6>Շ1Gǰp)A捒S3 :7hBP/`&WogΣ^+ME>׸_s|u]!F_g] j)SMY ƿ_RioF:}[Oww#II3k3B}> H?-kϗ`;S+DV$ Ұޚ|^(ȯ~sA/sYJ>f_y5 q[>@oS)mj 6-~'ߦucc+n')u'/A.=՞xJPnH2Ujmڇ@_*ĩ㝕-KxO>@s-;ZF6Цhj~l@ }φep ] @p6͖̂.=E-.Ŗ4)YOs;SEAճ~`L"nh̉ G$򫈶h>ܬ]̙Bzߕd2&c8Տ$7TwΟ۽ưd){%јZmVzKW9ԇ?g>'e|Q}q?-"TQ[D>ք($en6$W=㭋A|Z'+;'Vg?GO^bi }BPگBO I67kQU,~( S>AA''Md,X#ho|ھV˿_ E_oP3,!7d t6s ¾g2z.W * |@[yTRf޹鬢Q6yˉ0^⣈I2F[8ýx\mTLL0Ȕm%3}(6lCg4Dm[3}(ntK2Hw V-ޣg,pm채/PG-z"sל(p MLY4>b3t+2* FZ2?;w\ 2)LϞTOe2GyҀ{bWMV@KAv< W}w\6qQ̟>#kY>sٲ Y^w4'7Hf^W#r$KgLfODx1OU-$dg.c{}D|^6sFbu6f# ggsN07KR*⊉}~Ng=[)Ʉ{YʧL#uqZY`KggqtuU(3FlLMap+9P~.Mw_ qcR,_Ap;>Ϋy]GZ{I&Wϛ( ๏+P >P(3DhAODqzvOwqisɩ?6M#RY m)UV5o/e/@(nС&r2j^s1ڮ?Tť>׺cץ_?'xZ<'϶[@Dea I>"T8i%k'gVi?ϗ}@ 8{H'N"R؄s-yEBsA.pk<ϋ| : .c#F^Γw֣=H߲_n阭23Gɚ T}W`t~8W ވT@pv|FJWCOąjGIt\;vI;+r0wa$hff=4*ppYCUPU`y_~|L/I}@  @pj+7GqY\i@Ux͵|2eJ IDAT34og}BgUᵢs-EJ@ yH @ |E>@ @  @ @ %$ B noj ;b9b<<_õ &Q0'.___y%.Wp{EY7W-ۦ(ޠPdXk%%14TQj_(|`N?C9텈_@ ,b ˲{HKPbI͔<v!`J hlrmj0:}86 ꥣE%4]KF"&d4ϛION jBimrq|l,jM9'y:yg_8 Ά|3 duHʺ%f}lgs uO7]:Zotp/Sl0167kd}/ktn:fup,~pF"5WLfX"u ld75]B|?=_@p"XW؆#U!foN2b܏O`c[B9$uG'vICA LJrX_q*i?xFϐ)YǣvYyHt,DkC̰XNԱcqdҰJP_[G6Cfʎ=Ehr'#X[d"zp:+*ȲEߟh,hDq=obƾ6$ m!_ գ gj3]@gaYfo,+ nXo(WK -{ r27׮%ao_1IE3I^{n/l-bT ^]1[n\V'`7XBg?ǡgP *A'"ga^Kߑ/yeJ[򗍾7FB7jK=3-;+,`/fp rC/+!'$CQً/Q@c˾&"zTehJCC=Y-ӏqM3c%oČJe`Cr۟?<վh`U~?i9tTU؆5fSHz`-W#*m&Oߙw~V6@KEҷlO0˶Y3/,8quUP }_ ZGPs(`c Z5,w'&W׶"Tp|1B{~~*AwD`pr"!Ġ)v*;*h *}r. cBr~p'*ŷ4/~UdLdߠ'pF3yT<4-=,/5!!!]ћXd&[c$q?QW=vdkf-."|T;\C3x7ٙc#6Uи7k6?&{~@Ir W:ʧ_' &)k4zUOf%<;B9bcAWΚj ?$.LY{ cI9cO!^UUN9:cT8AGSOk%CW/!"}8~}\FXJݚZI妛Wuܷ/K^3k<ׇRQ1H>+nAj1{9ǔ4[ׇ{ Ӻ_VwOOc-(hm^θbnq:(rmmPg31mCaNF/!nf:+6Sft,xx h' u|yul޼3~ư;n$&|-. r:KiҊFmWn؝bkʣ_"(xefF}F 5~{3nXs1nUscǛ|H3g*`dl UqRRVBySIQqNQ(5C#+wQ4cvuSNkۆ4=5/eu§_v"ySxb}8$ g??Q?Zӗl.9IV7zP<J+sK8Zزn_Kk0R[8dVňqp('iW}Zto~U~KF<1:JX~2+(ӀF2KKR SaQ}!k>AJ \kdUv`IU}6ffLW FMQ5_ dOռY?ez]Do@!jFT%-6{/xa Y04-K6tzխ8es&!k}?^}2b% {{`/Bj?ZCW?j. f_;y8a\V ?@+O7@ ݸ+ `p|&)a8Z$@8AGoкe5Uz4XzMy/%@r+J;͇ t>&bK{?WÁYplp~;&7׍W7prd"F. _6^˞k 3#I`ǎ!-$}F3Q |ZuRh~Q6j⏨dA!G>uz&]M0%W_oY[k֖O#H= %&>+ȆFj{cAEkkf:+MXIg )P(:N>1ɱdNρ]PTJh%"̌xQfZK| EqP&k<܎j(9-(|dHd}8?zsUUeEg&rCgs*ᅳg7 \^7+[ټ(V_u'|ZiUx5] fvƏch+@oE0i} (m:,:?nqz"}Nr$i:i&jH;dTMA[0p9)Rt7w`U{|k ݁НqcW.DZ2 QZ9b2?ZHH<_u_2HJǠƠ A;ފ"$BdIzU;IŤ+WEU[J~ݗūf$&Z)YueS3G 5'O (@!.rG3'<,:bP]AU-wwk,t~l 鬌GISp0z -#0H`)hF0 QF78:Z|iI~AW*ԿV%Z͂4>9*q ;x\.NÃGU1?Q Y;vG6ߘ`0*comfz3<׊4ӒOX*?nߦhBkߡ_7wOh>~A ¤ɗ024Uz?t_?(h?ˮ Կ8x򅏐uV~J7%5_RPQ I 7(_0GPs/*P?+4}PW@ \\\ G0K?AW?xXC4+}H$n[}ק$l&-x7b-;cAթx[p{UbXpu2u`L22ݕ;-:TiRe=*Ъ:TUŬq ӣ4U;%~@߂ط/ףuqy$}r(:+(YU(n'Í*xfjegu+I&c?9?nx7t Kd԰XԪ78If["Q[:dLi QثٽGc : M-i*I)l n)݋l qL6P\-xx&߲lmF^:q$xYl|}쾍)\0(~}˧uV*QߎAp;9ju-#R׬D< *lJkC3waȲMlY5v\onn^HG KDtpŬa}!7 ]x@WS<@i?mVѪ?T fiO@s0}~\-du |ŋ.!aϵE  NRXSEaMy:HtP 0Mɠe6'T#9}!/EʹݵM1Ok4W|L"'0J#27#y͜3z g3-s2TŢY7{ Z}tþv+1q+o?Kg'jqaHÈ>_M$}q&Ҽm>&ɘ@Ѵ|-t3g!79.%^2u[OԚM֭k|!鉝=lŖ=HsN\.%HdL$vlw9ٹ4oۆۣyTsp7#ZfҸ fFj@6۰e Wa:fKSK Xa* $FЙu筩NmLxd6FRڛhqX-""ñU9ZPMA!nL*_K3nb'y5UqqieI,Nj;od7u|V\xoKI5hWNDJ*e3?g$Vgf7:}+榳eA [J˓x R9Xzi&'~?mCie,Z>Φ:DZN&WbNV"ZTMNѿ|~}]bl| {IRMh߆Fvie%\=o32({>* sfY C4e5u%*pw ˝IJiQ.$kȦQM<,Ch;͢=#sXnI.$id+r222v:YqD>?Lӷ[c=⵳ҫ3m5g4kv{Y6ƻN>_B|v._Vc-[Idz2Kf #ܬY $%A(nh?GsOk34>[RNJF'yt6n!!;w+At5v _xdRGOYܻ~&66A‹؃eHF R/GK1󧇧xAPi2$/=5xMִehu9ow IG=+Uc3`8'8!u^ T yE4Wd- &/ćE߅h?@ @XcY٘"̨O}[Qw\& eaKW-OVC*@ |EVy @ @ 8_ϵ@ @ @p!r |URzFKȴWI6v:(f]o06\O?sx&zd*E~0nT& V_vuֱy^[T~|>$Xs߁ 7N_jD/$>ݚZI妛Zy 5_߉*lFmj3evKwjp3H=Ƴ/[899㘒f :mr-}Dq3yȓ7w~t÷X_W~hEv~#AH @ GVEnqGIbxx ڼ*PARTzk4JHU rXFIt(*VY"Ik,@wW{gH#[>C#+wQUR1ֺ|9\U'ōylɫ@֙(^J\ Pϟʯo k׀ >Z;|3-O6r˜$B#%)lDZj(mXXտ~˛RX4hh:,F$C?ѣ@/Qg$2>:) :pHFc+~* TY@ @pFUy1/Eo1!O=I:˲{HKP8 &RƍeD UqRtB4?X"Ȋ5:a qi %yV5ꦠC`lbUH:2]AUEqP׭L2x )X$:J}5_wW})HtL2G5*^D•} -lyKl\SQ)z˴ pUUeEGuko)@ CV0ױ G,ɘ؇}i埩=?&?QvdU:Rv9^n:ַ8OsdOdu[IQ8؜qDt^;wvσPGKﯘ. :ۉC# <_=5( &_DnI uf U\`6%9(~vn)q6[YdryD$lz'Yϣ/Up<8]ni?@ @ "~救hti-%lU1t AD@BuM xRtm ݂aZU'#s.ڈ(d$!6"t{m0yc, ubN (SmV5! {u*n"z+M(.Yu-#~yS+p`и;f$<3!V',!lgM6sMH|% 6E$z4j8Kg`nj?$a2=7ɲ,eVGȹq@ @CV?j''"N :ꪭ#x*I;Hߠ;1FZTQU}r. cBr~p'*G\:ڣ.':IOyR b^Xd#%DG؏OqQ0V%3ECu~p@ϔ#R_ra)2ړԾZ:@i![3u}N3Ypl]_TŋGUʈCtLܬZ2jl^Vjk)ڴ_U 2e݂>Ur,:տ)p ,tן|o|XuM(:Dkөܳ ՁW' qzm6e VMc 꼖~o ~v8=Bbbɵ4VU߅C?o-ǵ3՟|Fkqe.]dbrrq\Cl⧎~&EK7!YH՚i:RilMp"(fBMKk_H$~nlTZ/_D$W 6Ѱ^xH~a$[f@͙Npu@Ҹ'lZWHݔ:M{Ѵwm ( xL$.L}xɘ@ܜoO 6v{;Vk@b JXXXޚ*ZhqX-""ñU9ZPM|&tf QXt M)m j֦YqxJ2FV)'#j/#}5čI+sX|iYMd;6)#Y:?f2{' ƓP(3DhA6K0zx8/eV^&0#3½x @ctl>5n–f6iel 2{ĦI}wا+&RaElju,?)є8?(/H+5U󲘓sv%;\eb|ƕ&$e%_iB1WOr"RRY>/9#:XNܹeo:Hpo@ @0$H'NtT>Ьվrz7P#n 45'}y,)xN $=]כF},!i. ^G7G|j>,e?꟩r%_J2.rYLo *p(Ǫ~ ,OZ3dH56>%d|kE?5CVm vN$c@N)q?.O?IKG=c*>kǞ| %})9j>c߾i١؄s-S+,ÜAX=cH:^zkiIU @ .HD*?ЕcUuͽ+*D_.5深G;pU+UU݂Qc@͘<ҳBUfZCj/ x+ % 9.^#퀪\ajץ树L2 7wsU6> *yeD@U$ipALݰK\?Pg3obHƯ 57\B_oA%]VtP텨*(eH2nZa(5bA`Ãd8mƱn{C[jHY4 L屖A'\x]پeK$W7b %@%$@n~  PC 70܍-ɒޥVZmkY]ْm?3sΙ3;=soc&\(vB!B|LI`5"\cwc݉@QN{rɥx&I[MF]aCWAw%vkw_t1ɅxmV iiXP:vlMiZl2ųQB_Bޭ+i]OÔ]Lp?ڻJ=lEyRXs'G1_IRzz U>NΣ(zōyF],D !B!Vku$k{u*-FON>>=x!E!B!B۔ycFBg;)J_ƗQz|RoIWW7 6<^B2!B!B'=V?$[ƅqy8rzq\~5T=G)L)&aCC PSGO=X2($nAsvq qO*a$5>ؼlE!B!gz3 {gN>KDsg;KlP*+"%@O]=^RZVjLf|&z:;qyҳ9^AUE.B!B!Ĺ@zsGi?gMUZ8^p)$ ,T|Urf.KB|6܊ܢrRC(-B!B!Z%8gZ?]47'KS#6gy<،*&Na2j%3ŁCg B!B!8;Ǫ✥z<CQ.NH:zIJccҚ IyU=OH~B!B!%XBiShA|mЩ_NOJ* qVT-Ini0SB!B!EXBsl1v3+B!B C]Bّr~:UmYΘII%@5{TUE?CB!B!D =V,s\iVI9$F64l&!a:JI|ZܚRB!BsV,B!B!PyJ|d'/$eXlh͵t-{|g;kbtuy!B!Bq:ĥ',[[{Jɳ\|๣.,C3)$%r̲`sT=R=}:,tntd/Dݷd^vibi;B!B!X,mD=S اfӃb#{i: O=ˠwí$iSf+#WI]wʁUE5kٌt+C]H'l!B!BqzI`քx$CyIWL|R:ڀe駰 ƑO.#>/ ]5t>/]N$$GMXB=+/tPSJ^u!нa=`bJ#㓗PTշ Gx vt,66ΐ-mvfbMM ӌstEq̢K%(´`:j*@VR2YIP뤃ZNdN!Y'#s+dyr͒BuWjv]#a3c4(%|֮4>^8XM38zi~z=)3~vr4 =Ў8-[ub~/&&]aWӅG{F͟9FBM[on H_KW_ ~DzvkQJg/ǽMW82In%Vj5j%K7aj x>2o׃σ~zO!B!B|ա Et'Mۙ|̈́\{h9%?D#׀f_AuG@ PV*S撒П6RTTWaWb2 NLe¯7QᠦKW(k<=P'?XJ奔 7ىudU@--o>KߎÑ%mC`] }Ţhîm4o푠*G̘O{"y_2$69~Z uMwrt2Y3y?.?;Uޑ\koq|ǻ㞏©|_f19L祹_ng`܏u*NwUS)}?- IDAT5^b}O}VA`ըӜ3Z'ԜON ̚ or/|&߳Pj38_'c3Q<>)%k](X*!Ռt Q P*+¦*uwխ2P̝ŖDrz63AvTLKSk1܀?˱mȣ=3=ArQKED7׮Z~uݛsPf48 [X?A7~ e2vyNGSh?V;_U hک~c9׏hz~5U=4oJ2M;hd5P!uB53ބIjN\>n赎 x_u>m[MUx6=24$(@ob< :~2=mS%)e+nۮuN!3.&COScz:FIUQXhݾD~5U|`~d.(L^i{zX."4߄t>i QI߻%ݺ{4Ld\ OL s6U!k`cxH0*PQuWqx. y0FO@G{tK}ѡ/L_rH0jSSdw%;Łݬ_>ǽbfK afN<ֶzN>ld(s#~\|~m?#?YK)e؃O!3Ӓ)A*ښٞE?_"6[) ~AVΟENi)y|z!A/4FnV[*_Q²x*}:M*dۨ{rl@ Q//KN^OG-6:os5wp aBEr05Ԭۼ<4V9c_ ˝m繭y#4=QՏXye(6F_;9"0?v%3Fr(bi]?v~yP~}xzc6>;}P뭡o5#g"EO~y?w20?q C=L; /Fqyνu [?ͮguħz<镠(dO@m?CM= $1wQ1if#8߶Q ?4%ߘD yy`1m7fF zٻ}kG}\]PD\=0C٠( kRdoX;ȫ ܺ|̩s(c 5gj808 Է8O}[YdNC/7boO~,a8sYC /W_[H mA_^/f?WG^{[["{t緊%~c FuqEdݑ]V,?Oϗ+ayV[өj^Ke+[Ei^42S7Wg8ZwQSgiʍ^  ر;jT.~o;vy"QJ1M*ht$Ɔ~+ j&mmlok>:RLΡf@10Ec?߼ho|zcc_Mzsz8CjϿʠ'93&t-Cw`87aRco Rr>*=(U?K W:KᏍSx #@qtI埼KF4B!>$4;LSO3B0yT&%Z55{#+tӓJBU 'g{#!Pmwȼzwu-FWNs:Rp"cct@bH 044/CC3XTtz\HP&y6EȣHJ53&Oo9X:3lA7pFw_Ԭ8hlQ ~cC(]9=9&p "F~6;ZiU5mGD8T+}U~O8IڕL>8 @7 c0(G= vm*HgbPul*mW*09tU -wxp̉CGM Gqhr]e;3J`j}-ԵT/Yɵ e:~%&sCqYmrt8MxOUh?$!.# dg(׿AFE%Vߚ#ܐe604єZ̏.̐✦L3d=䡪b?]_~u\ݝ#X 08Y҃n{q#HQi>^ |(ݏ1|I< C Q!UrLvq`XW B0xAClk>0Z]!ގf1{|r"?kU#XBp͗sux=܃lwc?LXGQ󕖧(&ep^!T5`w HHF_?3F4yl,;h3^tĠP?Cfgs2H5p&/'^~GU 18kY:6DVb zQFQQL*vlPQTt 8X_D/x"o>(yi 2oEl}= !8a!STgG2-=3)I5k+|_lST ޱ6]O#Iv6uQr=|"{f.9h t1&?9zdua0'cqᢳw>oqG`N[_^D6^m2rS92f`g] 9cZX'_~Oޟ6vr~c?LXhG? 4dMkGA,3xfD^7nZ=^z!J#=cc⊰aWg;|`6ePzܯ&qF̃qIECmo[ʘ1m[. w4/cꔅ\a;0j㏵0`6?dI)i=Nk*X7Vq2wl-ǧ7p 96P-簏7H!GҬĀMUzqk6R0 $ >g-nM_5}wpF& ͑+9&HtABu4wINI4//3|jLv_PDr¡bfeeZKHY1+@k܂|n$3;Ȟaޝ#2M*=?{X#oUIg^o=a4/yЏl'6W?CO7z]5>1coLwfu|%<K籲=Fnd,e|uq//i`e3930uz)؎NYmw$n?Zc[]Ͽ{]d:~U<^<1}߯Oz#Zܿ?Tϗsrb)"!3/OF?88MoO esI+o橾b,~6Ӹ)-5k0cHqՠI&S13AB o6őQ}54t?ހg?k%Saw0')Zpm9{f%Gj"WUT{{;zF.WD >-roud7WQl5?}8B!L!p<7v{\ O99p(N\\V:qU6 ،:mj#4{E0dShђε x"ZEb|]єe򅓙ɞNpN).YX-yFPe|c蚟>;+/K(xu`er'4"XAw.B &u]`&++ff-6dy7wR&rŊ\q^)MS[5˿:O^4%IToF Ƹ;{zH\5bŜ\nj{SKc.A-ak+V-fzgZ8qsY Bf)SD]mw@{^㏮+y{{ {Xb.sjWŚPʹu'5Q ~<G~lYp2M"'%׏F8B.)qR\̭rR: ge^nM9XM$db$>Lm}Zz>;xC~~!szx7@]SSKA,|yTn"Is۩Mbm&;}-*⦂<%Y[Uo[ǴIx Web9 ۟Ŝgmǘ?ϕ#=|p)ܿe3&>qsQThauGUYUּS,#@)+'? !&6RS3v6&E1?3ɟѢ<EN(S ;M|kYHѻk#Nt~(!~lf8=]ޏq$-FVߺ2fl x! @!>bt=p9uуR: ]s/ Uޞ Ŭ;m0)ZqFX Dj9g$??9 HP5TɟӊPƝ9lj`fF>{B!cU1aIU!X,>QĤDfye3vb![)9Lktj^iުB!NVVB!B1Qg;B!B!BQ#cNPj :͂*47& =1Ǣ0SX`Pp"S3hOaJQ6b:z|ϭ%)LP>gkjᶟG~v* ] 뤶Vl4ȶuǬ3ӘS0J߱}=oo,3=܎tmB_Kg7 n muf-^9XEaB2WMaV\#lEbB!BqfH`քx$Cy)Wxÿ8e祡{]+вf>>}ZIcNgDww I1$p&aj2|YL| \ thMid|rQ=6 sbfVY6Un%=5el?jLf|4($ӳi -Y{BbJS<:cŰZ3cR< ?bCQMؕ`{ >FhȦ @thCns/{k`[H*ˢYxMO~*sn7&vlm@!B!;тYId%%C1\=B7`)7,)_wvj  #=,_^?vo^(3}<:JWBhT0̋vw~GO9OG3%r&ObO03 A_ ß;H0*PQuWqx. y}x͍œ`b$Pg%Yx'U )|eTg'o:ޞt/}$Ӱm弶g'tI*Y3?f{xxdΟsS200wG[qABOWbBS d`٬Lf4ii?{z tΛ)ęx=NNM+/V-elzQ>t[|LsPxg fb5!5P d}_`W M3r)0O'wpSQj]ބB!Bw=pAUOEʹ>qr5~IF]GC3U4ReeG9~}*+QP0\E7u(BAPZwTz|!,&C㫉K4Osߢ~޳j\RR=wS;Z:^}c LFib|Z?]47{*!5BpH#Qda2pi)L))a$5U}gǙhi:atpctAF225Fs[E,98;vkPp4pluP̌ZEP#e.JklMaеS2'aw&|j+XrQMTU1%2J,ƘU-((,7uGF%VQQT>Z޻J k'% !B!9z1Vu;\M+ATqjA1_(Gc_Ԡ(+Y& Z8{I3?.tPɸW2@hH@VM*c2%}8lzF7h*PGzҡrҘ(혴fHRsiI|gǪBQanZlO餌zd0PS L+d;v*;x+Άz&t[ (.G|) * {v<ƶyеg-掕∟EK)x7c>5J_H/V{>k,1l (7^Ɩ_ \w}o*,l8,KIٱT}< @`1VU={B#:hiHc_t:V` E3u{u=7z`u|j@עL⥁k7е?yiFqS-L6ItG#q/'%8+BO$*n3Kq^ STm9xP =υy^?7j4D94&{!$>wLf Ef#=;l=}pF=ϿxB~'GvU׵04-z\u\|2dPT=pb>`5rbL *0ʬ !B!8u|`UGVRA>u2|#BaP^BtO5GNj:#JPᠲ< tv0P~}Vk.TdE Gcw?*nQTl#r%S vΙFŀPU.ШWwL|~mBAդf%lJ$դ%6~@|BNёW0 NOo M~/`M8nP䖸y21>7'dN8z=UԑQpR }HوrR b|c/{ tB >WS+J: ?> !B!!Ոppݍu'.e`ֱv7Χmk8ɼ*ϦGN=4EyRXs u 󧑵,͌j"LQf>s`̰~PIsiۂ12)+nۮuN!3.&CO*APTgGTgZšn` l5مXˇLuNQ| )$<2٧9pSl(}u51Z&a &17gE [I3PXc?:̲=FZiH]AP=egbQM|c,hy'9r}B!B3AC5z2tMã}r8:Z>8nGJ2DFlj{G@ DE qiȹӸ64pwm% !Ocҕ3y=N'ɺVTZh}M qc+ -2f&qRu 5vH{qctH(H#!~:>LDlBI)~vL^*t ?TM鬘iGy Á0oBoc%5j.MCf25#wrG6asrq۲˩v)kٍ]tvCA .dm$f7wL>l%UJS&:gE+#p9)\VE(SFKb[$<#C !B!8͔yJN5YE2Fjjiۿ-ss]׶k'5 Lj-fBV٩-&t-@_O7u DZGc,K:5 vZ- ,-e .w/My̗.^߳7d-O\c`ٴP1O%bO{AƳfdLfTzՇ].(zWw\LYβb,F[)+hx]n ,.4&~ֽWw5z}#*XMo_\GhOX 5.%,`m?b9l!/ 3B!B'U!Ąu''O 6ީecG/=c1줪>:G;9ӸDAJ78Ec !B!8=$*$zrg ҍ:ny#΀;-`&Av6|c !B!#U!Ą%Sd㕑6V3ɅB!⌓ɫcE9;ܘB!B!lg@!B!B!>j$*B!B!'IB)铸4+|}k\Sg~y{rnZPlBA|0{ Sp`S Ҹ$xXy#7|{e~ *&gG*Nn7ҵ-N4Y!23t3!xqF{ %SR8ܜLR\xC'LKREL)'';>Ğ8ك$g;}:ishh=+k;Rڷ +JPJG]q)Hc/'ך͛18 NZO֗93J\.7˹Ք奡9yza~]-4KaQ|44KVWomy](;=*6YJN}7uS+J̼,v25O$G9]|- '8yf`?'d|ҭxgGZHaQ&Evs(* mdeb3(`PEd2-:RFC=R.+^TYiGjNJJ} TU.A qMcII:f{&G #2 )/XC5Aʫ6sIF*zZf{> ]-sM)~@iSK &] ZhVҳrHqDoݎn;hpuE7=1 :>l`M܅e,Cn7G{j`JZ.z–op>S_;<-,?#M\r7-־gn^h7;GCr/gګY6']^`ۛpK7Ѷ'Te+h/aê9x$/_m{FM_[;JZƛ+!o47ߴ,[#o:un^ad q/Ħ s<w7<ݵ8|t͋bC,_;?ӰbqõK]hĞw.s+ywf1ҮAݝ}P'q(/`5kVg B# I*8q΁!4 l*r3н=FHZTk3Ƒe}tmێdW5?ёa Zu?y}6 Vf^'2B!"~1mUTWk3'>k!~sz}Ttܾz;͇:d#j ¹Xr -|qӴi?npP[I) y A_ΐffrɲqef y擟d(}G0˨#5?rÜ,JJȉ^طe4L UpI'@G>f٫(6S 4$rKZ s;ֱLyQoBʓ ݮshR!Ţ2y| jBjIͱVݦknZhA?A)[:vzy9~9y9WgzOOQ1SHi}8G 3);1i}(+ZC8ٿa۲Oq \<@7H@7zlY)3@=mmїD;31GY>X/&˴ހ#~+<KB@ >/=Wtlˣ_hO&_ ϚP1tl@`1AojE qv=~fx&Ow73o|MŔ^o,&^BzvRTT /MŗodO_v#J*Fg ІQ,,*C< !Bjڣm$BSl m;'i2 BWT ays<mFvU'r=\g)=ŀQNfZ`0Bhk?NPYv/jdS,蚏ɢr( Z=-:us)ͰGPSrO OgI#J_ PI7Y沢"}r>g5z &DnKJ䏦O]me6)&&Kc>0fzUN0*~e k"I0wK ˭Xo~X{0~ߙ~7\E翂2҉;9:U(~<=)}$d1tV^M4fΪWn3QB:s`~a>_z !B*S'UI,NNMNj}~k(>]C!wyW!/:șYE}XKww5o=B>b>}=IEa\g*Z_:IM-WKHԺ:J]MZ'"u|4<'4=rJ K`lf:k/ŐsICN;Ao샒:} ^;+ IDATPjN"7̬*SRJb@$/2 Y\Z9iwI\"X0 : BdξF>q ut`([kbo4O>pw%z(eΦkA4 Bv^f-6J3ck)OVzݜȼn%?>S5s!~?>݈k竴҉b!k hzES|S{i͔Bm7cNN~S3tzš= ;Hpmht68CӛcD5k9 ㅪo 0_ϫ[ϼܻo-|3%D?>JZub*]@ΚKaĖ{ (OmG3v͍lvr}1'>&E $UmYeewn(o~ o^E ˫t]>ShƔe p4 Po gcܵ@ ǟN%`'!5zcG FWB-0>',a(8ߺƐO'9gA |˟~qx+[pb. /#h~k0yOon gf{Z6aيJI8uڠt&ϣK>YrhXt7cLXC@:/ogq]]D[7' ΜτhACtbJMUD'3j\S3uXwdeQ:ǔSmu+?SwTf}}-N )m|e&<@Mz:k(P\?6so%uSטIbU!b:1&KdMY\^[Cx:qk{7PWk@Ic}V?&WoWw'o5RRS=&ܧb OZ$nU>ECMvsݫMx:_y-}!,&CՔX~Z_ݏ]Ѳk5?W{&z_zc5r|RKɴg]PVVLYY1FM@y./a…$|Mg}SX1rpYsҥԞG\ *@=<M|~卬^x-wV#Ub?|ʙw)xu@M\`WlP[>;k^εnѼlc_31ƙWmw۴vtWa RX‚|oVfh-a *r{ tjvtxX4lw=ƫA&_%Z_O9QY!13~Th|+_^LAA!U6W&uf&|S,(/fւe,L two3ķ>* hyo" s(,.e%s˧Mڢgf gT~~Ա5C([$ [,2oZ]]'P̅,57kQ9y}%hC(|fc+ MNB1b61c t(M$`-*#{)&I9.!qkS w5vB!3VO0@쵵=Ρ%5)$;rFzi?7Yzcްh@1EU3cկ{PkYKttgf"Qb&gИ;t.FFFNfpfv95sLF( -; .hRnNi<׺WFJ'/ĉE<.HB{`E,LQԶġLzn2nqߠRY hQ j``I~!槫>wubV)%}47s<]u}c jMo{>>y}wܼV!>|^~l>lX#M*KG[+ͷޯ`OO{<|Svs.w\nڏ%Vn"7|:V~#~]cq=\fN&:ݺ5s[%hyO]CW=[iݶ3}w2r4=S{ChZ?mvL𶝢7rݤ%0<@ϣ-7鳨utJHNKy&1~I T2M!@!vL!B!B!FMnav~B::/h5kG!B!BeU!B!B!.I !B!B!4IbU!B!B!IB!B!B1MXB!B!BiĪB!B!BL$VB!B!b$*B!B!dq YWdI)(f׾ϑE!8G%,*,'۞`;P;'2$tQwgkb2_2K].^GݵR 5i *x|]u.:S1W+4vyB!"4ĪjS7͢t;1OJyRKn߽Pu-ܞbk4hϤT@bpi#%V`}?6s]!>O?V{9%VAEQP??3 Jŀw"g??ٲK+.WB!sNmbqk΍-O5Q'o?#}k]Ǽ&<>k`:liegb1p'jfmӹ!$R6 = FOo~973įG?rK?3g+Ÿ{ݽ|efqO,ʲ7 4sJ0:9XfUܻn]F6|+14.sKB m`^N.9\5yقy7R'O )\^rrp( ^=˫'zy6tT+̤f[K,ġalܾ:ܗ6T$!t(7Tu]GO0`eb B$&'(۵}p),_n*7o`}Ya'2[nq!W±|}!lt N[ +jPȇfw~oQ˕&jZ``aE.M4ČoŊZM ^^go/eZsKL\jYt5K3lc۬gdNc5w `M,DtB6cxW-eEmn<۔%e5W^ˬ,;NpKR.%3Li~W{'Z!_VDխm$1B!B9XmhRAً1t˟n`ކyo?ȶ]C̶Hafa *ob$::zY?Z]|6+CPx&ΐ AA!ί !}s Qǟ2XjZ|zGr;jy5@3]be>Ո3hEw.bEr,ԨQ]߼w`!l h^~&>TC/lKZZ& 4ZsY9Wj`92@G">}ݭl7\5Ɍ_^G@Q|{HLYL]-+[/uL5 Gfz"c`xMul?Fw^O`z s+ʙthz}uuYfbk !B!>~9O/v~~BH>lk z[$fFS)=3%<tDuna&dA}mRؼ~ RRy8QAŖ {p7Țj~w3c|zȼK7r7AG^\#I0P`Cͣ-;ɖ_Pf`4%\HY zEŚuC(e/ 0x27ϣ"L BBZ892Ѓ7}勯Rpu+Bjxz_'<[Lz.G?[j}n;CCoh%E_(j1ӿh/?l}sZS%1jg]F-ۮdB~UKJ#ߧO;1w:闯bZڏtx jvƤ}eW;V="o Xd5egTB!$9Qԉ3&hpk3 &YCm6f|!M3}.y+%XSERx%g"RUu|ΓaIJr̽/gsBvMop^j1A51y~'A|AM }eZw v)hM!6&<Ljf?iɦSa?u ݜȍR'->Gb5h&X$4~ߌkg t}dz֤˸gJG}1l挙}wŽz),,]̕3'_4YZ9{r]M%QgY'/B!{YwҘiWεyلBasGm%$[ iNq?鳪PQ{Id x@9UX:|Nb*[y e>w\|0kTsۮ'avUU4͛Cz}w8ydK1BOx%tS;}F9$ y&|XlvRnzB:f-wnI9i 6_](2*p $iXadsm띘,|ce*~5K{$/{Ujs6Oŷ)Fۧ4~ij"7)|wSF Ƿ'GR⛝}J-B㋼pEM$/e|tXaV:e,N6 Yܼd.A)^>p=0} 9,5lgq&>)FZQY>%B!B|sbue^k+4#*E+g8t1fj86{>^*ʫ{y?cNv&dy٤ʹcxۂ4ẕu0r!ɪJyIWgaqR4y9ݺby5y)x]hz2xI%f>B͡-tcߟw}=0J21`"lo}Vs=ܑn*c_T=#t>YLǤ ^g%tE^ص;z8bOח?Ēt2 0x׹(/&ǐU3 hz/ [n$15YJ/}Q_m{gF WgY~TFgK?6g>dVcjqru4|?T\)6sCeq&>±8]B5Vo᧲t.IB1k$#gj)*9dl&tGz'ovյNIs{½h] X&~^C-smIXνWʤd ୣ'K!BIrΉUo=+6s}|mt7{w?¶up:v[LWl .Pz9vo߽CW {#>3%.]oSPA{q]q=s+YiqPݼktn-_MEe!}u>2BY4w? ҫ-mt>˛%.D}6>psY+ggB(D]KN_\_|)NtǮѤY$,}~ayN2w ;<"N9Ck>2ɬǞ>~[C_9,.D Ճm4Lcn?5Tz~L{hbR, <1+~q3}m-3_<}^hNIY2XZ5oM `Jt߀dž.gNf)}xUs*Ǯ{țs=.A^~y].IWyi?khoʍ\NY"&NW8-`ّ踆58Zcn%99Ta5Dc9o$VN,U}eB!B|(M6θ+ILťMNFѼp0ޏ E1n~TJURg͚?z쩥T1hdIzqb( 96rO7Q & }-IDATy.4E1j)_~ ߼q?MuwB!H]]f݁QEGG}w$UMv4]]Lt]+"yiy.4]2艺LJՕ J'<U5 !B!>~B!M@1$~=B!B\heƪB! ?rB!C 3VB!B!b$*B!B!$U!B!B!&I !B!B!4IbU!B!B!IB!B!B1M ԝB!B!BcUեuB!B!cܖ01*'Ӆ~:~u;B!B!DLXť_+W`M^FČDZOs_MU\(O7|$%!B!Bfv Er+W.@w΃ ݿ-âP rq69h{va /1^+;z#TCo}ܝCz)K^93RK㫝C&es_(gb%QKȳy葕c]?7,`AU=?Ǿf>UW#j_!B!|vb\XL!Q'Ҏ1J%,!u>N$7)f4㹎m؋kxXUE.T:;> (&KzW&=:(±1ǿO1'%Pj-rms )ei LZ#L\/B!Bi'VoN{pU0{a*&ggp G#$*>]Lzqׇh^A!E4H+$@66` s7h:(&%K,cP4Fj$ɨg*΢\-(c]z;կ-].n\D= Y)\vovY=LpIכtQ,j*W8 5`HOBRlcG  *n'%AIPѷL\T3FJu&ObkZzi^-HC45>mgE8?Zx|k,dv{T3km gc]?ᙨwVVf#VD>8᭮sB!B!.zZcUMH0Hk rC4={cb(dggh,,qR N"\Pú{Jz oJ*I484ũNRl3L6?՞ʥ/AԼԎeq! Kǯ3av\ 1TCG50IyhRDZirO7X a;i7R2wu'_G)wC4ڗF^V[qldX:?jbʰRI %X:EɧN$!ڏY^1$y,!]] Ѷ:o39Ics"}>F2ho\?!gZZ.e̹:7Gn7Q?B!B!'״f&__H~ĩal }qg-Idy_ԾΥ`g3 H[oVݤ&fߴT@5yiy%_)jԣOsPJ-O?GԛY,Zo8c)sͨǒ1DsO4ptuz]E 8ekk'YPF("ҵ !=垴 b38j\ OdS3mi|$yA! D!i㏣ڏa/,D5m-N>QCЭŎ53XO>~cI24WRUA7}$wzc$ ' :piƼ~tjXxý֌O Gk?'bW!B!T'Vf*[|u(CcfA?mfLE Ea!s1t]'8 vT15ha/ߠ)6z 󿼈l dX:ӳJ6I2<~C^4ש3_o8O4~}ʳ(f} TܽuEn _Fap23.T;s-_5Voy;Bs$05i]_s0BlrmXU<̓]A̔k㊛J]8u N(N3C1"w.RP8ahG E>a !B!)Īuam;I *zc dIjt6t4F(" {x)D]ȾVNE$L\I )_U&=AAb ZG*Ljj]bGhyU+)ť*g!?N)ƿ6eEk?r&!ϖzM"D7LEP>Oux[MyB!B!x3P6~vχjK2(ϘQ_h\EvV*Nd3e9Zgzn>yO#rfT'|srq 6B=I{cȰy_t[G=tneУ룮²owSϘE rj}~1fN1ڏb7fcX7gzXd8DLqbj$H orlJtƸ~mnnBU 0~B!BWb՘S@E[-767 EIۆ[[Oиw=! I8;y6uLF~:swo H_VH^Y~z!KsqTdSԌXMϖ>}+`Ğ^lҐl#{eƑzJu2egKއ߯cMt}>@!g~ ZwtJ֤jW0~&"jTpt]2ʖC1Pyo5ݒOhd&Lth}lo/4Ǐd/:F]Z_Üj%0Dk1}|4+= F㧡)03!VM4L e [rb2iB+Ұo=+@ut~$L L~h~cI?7tB()V<B!B!+yK&F܁I@ LҜPɃ^i|~!qS9yfo0y ߝ[K(4~FCRH]s0Bzެ):z/ -!py40~=D9{jed4ʮ+'ע P{0dSwxF}ihSm)Mx5N)F-%nxdJ=D$ˠu:oEq%= >mj?39?}I_X  8W$m0vdӍY(u18M~pHZ3ǯB!B!>qK/f=2\+B^:`,CBs_MR7E1=,1b >/wmb6Ǩ*W!B!؉U]]?՞)Oj iveWeG2T_ts_!B!B\K q%]VL 躆E{-~'W!B!$U!B!B!3rIENDB`treemacs-3.2/screenshots/workspace-edit.gif000066400000000000000000013220601476710620300211430ustar00rootroot00000000000000GIF89aV  #%9!!!%!#"% $)%%(%%*&%+&&(&&+%&,-% )&+**-#+1+)0+-0-*1,,0,-0,-1-,0--0--1--2,.1,.2.-0.,2..1..2./2./3/.2/.3//2//3-.4)0,.155+&0.3<0)20200401510410511411503402621420622532422604641242544602806916>52844874:66966:44?1=31:=:4495==9688:88<99<99=8;>::=::>9@>8A<<@>>@>>B9;I3E78NWH:4E럙s& 2lQ3D,H~DISrJ#N!%tb eb*d &|"YG!XH6rV>ј'$K6#LHc|7PF\%GG(tDD6Xa2(')%)Pfmwb)pI*6T)X vIHqxh"$vxR׭o %22`iHJJjʩ ّ $I:j *%`t*\MR{!)ʨf ܴv ĘU!q)pGD[aI1+뮶fiB4) T*ײZa X᎛,2np>l8)eT fq (0H1#@C LLa"y[)z>I b(AoI&fCrZb*`|`1''w' J*  B3$aG)xh8#wzx 78n' 9喃dV㐛Xb).@`b"zC/=֣Bt%}[v~b4|ey"0nu[B H A[F׻UrI&>eo{]vW|3h8 Pk0 a@D# $t)CA%D"4qZH(S,[ ӴTD a"I 䤠#{m^v Ra` R-,D0BD`p;$gcgFh=HS615):⍏~L ?Fc@*'/'EV0-sQ2DdeIQH) ;r H6~ A]q) &DVr #rf pA F1:ATKA*B|"$ tā4[2bR@YA"1Lv(g%X)¢NщI\ؘxFX)`ǐTTLbbe2f)M SGCغ$UGN('B5U3_ƫ,5U!O ZyȲ u0DōQ#FfbS*s A!EoJw)`+DzJͬP2 y I־maHk@&&-=P?S1kj"n&1񴭕l56aVq6|ԋ2n Hc0d UpפTWR(ꈬw;޺*2Io5K9/Dl({n\7se0DCIe/z/7$p:VLRDKKA7 ヵ;t/qwӤ7l; [:HK>lԞ2ADہ8M[X2=i+)@.V;I5i'yѢB!,G X̬d n5RyR0$ {z egE3d@0FA;HV&ZSIks0ȩs:i?{&yz0ؒx奵m T:O 1yw(=RUw)УkcuI0ց;׽& Hf(mҖq[Dx&foH!Bp؍2Gf**']*%8&8'n 'ps NA"&J_&,AxaBZf#Na.sG07%A\ Q{N=_nNuяtN>Fz , ?t8՛nFnro;#_^uKd(_8ѣGk;HL5J1[1T CZO })O@BD7:RF4;Ưlw;;v^$H_;Zdm8Sf17RP"L@DB''HPNhk*#>@9ߡ],rtt JF!r0@J?2a Ȣj֡)@G!"_8-X(dvc$!HJ5-q,(` ő $)҃)xsr@G0A,E3WUF,R0*%'91##8-%Ȃ9#u4(JP CJA8%||׈(@&o'G`o }pg}OG~ EPA甆 6cRD$fN@hXUp h.311;ba_crR[)0pd}5OTpQD5@$.`VE4X0A,~".'Qb8YN7}CeNs Y4Oc55[[O( |.0Pޘ4.>T` @3S 0p6>0 @/ V ÚH^@qɺJ0  jګ&Ыrٺ"jYA$! ygs 퀨 Z),[" Qb0[kz꫖!j;4;{-<[XK3b)  PUhL۳RB/-;Pu T{TYp .˯CKʮ2;k9J˰1p 1Yz[(56cS6UJR %b9 q @ `   P:ܰ P  i P$ 0#p@N  #kU ` p!A0K'ٻ[ Pq); k蛢) ; @ 9۾k bo*k#\:-|\!K \ )`DL)˿ܼϛR#\p/=0 C|pr @ $l(+,| ,  z|^|;fim/<@,e —LĔ;q;[aɏ<˙ )aLT)Od9'1em j> g: o ]P>n0&X}^Q ι| 1,=- y,G,S@$A @ !GMihJ5}!=,hZV9}m"1;=,}( Ԑ`[Mgp0U-^XT$a|leԘxMRr}%-GЀ} H\,Q!   ͂F]۶}>iQjJQ_& -MQ!Mέ Pw Bܤ{]0d ]p Єݤ} MZy:: ^ Z5[p  "!co* g0I}Ͻv0}) Eҧm!]ճgz5~9N.)M$'*n13^=Q c02~]#JM0:q 7,? NM>a>.=N}>Ύӎ^eNږQO'N@~!^nžn!/Obv@0>>Q }ڱ;WNeffԥ4~'w/f qGJ^T pqϋ> K0;-NNJu EXG +J =fd/֞0gsy?c?o?wk;=0&A0 ԰ .߄JЧ@ >;)0[NxOtb;/o#au Kl_=<)p_ _gE_ӟac i)XTyIdBwTo@%0ꈳ"0<S&R౒&?2K1eΤYM9uOA%ZQI`ϪRJ U,J%KTBZZ6- zJ+WSvZMa)HI]'DJ17DqҎ-&rf +Zw1NQn޸ʶEF˙ cx Պ7OPÉxpm)c҉F-1 #VlO=Vhwh\|E,؎zCt=ԪYƫ|zl 4[RN8Cs09Ƥ"sK.DA$;n;l@NKm5Ы6@D azhqѮMY<2^m ,4LbPRsM6tM8sN:3lēT<9#R?TS_ؘ-zOulʹ|yȁ nڙgRdz"Dȉq n⁇WdA\Bdt>$:SMs:$Xgu7H%(uBĖWR TTSTQe"XF)hT[&yJPR`Wm՗-d+4MT/i[oTz'8ݘDч v"ϓrlᘜoÝ\MXcUf%bjeH7gwOɖtzhY9QA.WUVWNZ[G҇]P{ FPn{oo:|nE(Ɏvoa Ru奢#ʼna숊\+Q6AGIz$̑"{b<Ǐ}HhO'|ywy裗!yJ'nnީ(%Ư|5'}bu}Qz_ x@&P|ߔ5; ja*u@ā8`z l2BB): 5X- mxCPl}C QC$bxD$&qN=TbD(FQSbXE&^Q[bE0Q^bujRl ل87:95aG@R$d!{RF`\bF|O HCNqդN< ʜ@ DdBpq%,e @4d/}K`SCDdKS4BK%V Kbb&.yCFqR tǍ1)QRN%f;NxSv*IƐb*.!A0hܖ.tk 96 ]lRUrp/kYz{L`GX r҅"TLXd#lȨ'!XZֱ/XmC8*6Kp"$O@Bp6 B33B4hP")MC4$}S|B4MvbjDwf[w(a)QJUtE$!Acӛ(aFpi2^vL8&>/i+9.W G<1MbqLixm~s:;o0{ꓭ] AQfSJh*55 VJ٭r^`/A ^WY-s{݋s_ݧk)j2q9% wG^0ЀP(( QUp~^uǷ`.aQ>p syd05~ooC{߽I`_|Ϧ_'ko@Hz/>|PQ8B |9É @,@=|f>= O3SB8@@ A[ߣlо 3>Yh$A&:#ykL²h61Bȣ#&x=cB,T|+4(Gheࣁ؂->B b$GJH$O`:lʤ&7R B\SbBĉDLZYJI%^& m 9 EQ=s@C2Lk $C;Q8dZ&p&h&1Eejf:!v/p E4ԛ shF0-R eGKzFtibQEsWlt?2T΋Q{|ڧKr8zѩƒJTq)(qШJZvl\HBk r(R(ꔎ(Q")B)bx)z))*BɦZm"ctJl |Pu yTf` +J#,B,;xy`LQin8j 3V z$9"Lj«٫BXz,͊Β -z+ ڒ,bԭ-«.JR4\E2E4CCt8b.炮E:[没.00r/zP *bA OCzBD0HP&R0*e/rFrP/%s;7+G[3>P3QQ.=Y@0Cyl Q| K 0X&%F_H8(+b-4 ,8x2B2u#//]A˱1W2!6U%+7R!28]'_2yZTKTWQ?JOzG2܂$ 93;S3_+54DS'n`IA׼YEO+fQLӴAzdzR[FcІIKcluU2Psg%5.ITIMW,P0EDŠ=3CP̵]K^`65^5Iw;Ny@yE5Qi]1 T/06Xj0Qgh;Ύw؆x=؈;d,ݍsuqj ]LTWAvշY6@e UQO 1Hς!9KU8v (!Q( rK0u[%Q188@s;@ї94,Z=a}}x յš3 A(špŒx`Iuy% F䋪TQ]_]([8\;}~9;jNr\ @ѭT0Z\8Q6dR#K$⋠09@>"ЂNH]%b*b+&, 6b/>b1c2.㣘b3Nc5^c%Fcop猓 *B6c=>\;I 'U5cr F: D`>dMdEd Ffh&}:L1:FƉHWFpiazP`eNe^8G|2 }h;8xh[y([1fTPiHn`&RISq Eew~gx. d$UJV:mBX˺qx/\++CLP,rqK LtI!WaZ+c:?UHtPg^8ON&SRWToux0?uKI;UZ(b?3@~HTaR/xQviGDZ$ OrrʉTl_m8w''T/L`yw{_;㹱c8F]lge1R&@/Ipww7s0-poD}-wxyIw _B쵔 ûa!>*f~fH`Ejw*S !1T@eu!8;]F8TFgOTN<\^[Tg/{TRH> n؊R`P T{fd{z G=dRT'|ÿ  {S&:OH3v$8~7ğzj}C  V/Sp}Fxm{ɏU vtT_Tp;\O7}_`wEe# {ףpͳG),h „1lL )h"ƌ7nϪꏏ?>)29a̜}$Ǝ'K=a2sS 4 F E j/lU!O@ jiE`tQu'3c8u(UƵ @AR K H);*mޭz5RJ$Zn=Ta͝y:k #]pԩaYIHnK6A? ЬqM1M|ȓv.\nNkWwބZ1 yk^m#${x]fm:) : J8!Zx!r4 `0"$2B 2% 9a->Њ2922|0AfQF*b)a!t A)"EC qTV@'d" 6S2k[\E\@aiofoʷh )w AH@ ii MZ5䕪:lb qzjWv LTǭg)@*i yS΢PZ+(ԅlmpʪ骻..^ء A"C|̍ [T043[(G̋ Ӎ.c3>r$qNyB `p)W܉N\'g0BN:ܴ~P7s?ϩ+[mIreF*PI;4FSpt Ꚃ{0_l#6hA;)K013XW6CPR8P*P' A/ A"8 ~բR焖O\ GX8sq!YR̅m} 'O !.q$J=7Br0 QC&0B$:' C=~P0 v&B1)|^ &=I1ߊ0޵*'veP"  (}2Q"I=|X HTpIY0z^`xɔ` NgZL%B,U[AN"KdY  t M q YD[crέaBh|޼%h ARA ( NDMrsžFJ'M!gPxJcGE`%=Fątt\ZDGe2N}*TQH{ːBT"_m$II_#d;kZ[am0EGY(@.L4*k2B?6!l,@iua@RXd'Ձ03-8R)VH¶ ]с6!B8!ĀZG8qCyR 103`p!9ms[nElp K|A kRUJig >*MA&:Q;bUws/skO ~(E#4򞷻nB\7!N Č /r׼du ‰T숿 z*[{ܤ"EC}ɕ' Fٛ7!|1P cX>A>ܝn^2|@ UUL]-l Z@ d [*s3ʷ0Uxa8%A謾;+֯ qZiʢ7Rئي%A%JN*b*FȺ"lSpk%m [<P F$n4hK;:ғ<͇#o {iN~ͳgQ>Db9^-'&?![׺FI z]t#Cn/=^0#t℉B *?xN _F<“?z/4cu!;XibW{.Sb XDv^^i>)h;+w~9u҅ DGO| HO! ;?/}:c^%_UF D  Lȝ:$Qymcuph Ο,QN؀r=PB ֠ *H9]A*-H, I 5%xL!$ FH\%$@D€^50FP`9_B( aHaT`֡!!2H  /_ 8R!'ɒ(qZŌՊ(B)UDbA!! qR!0*qR"Ta֢-"..q/"00!j@##$2BL)MO2iP^l|@B2EH*@R8 X(,bT >#?? C(cpBj$$~=-F1Gl3D5L'"Gd;'<8i'UD6l~F;C;pØO,B=LMBA/܂TN%UV%$VjU @(UE 0' HSYB l(G(BHf ܂/=,) L@c$@ ;p$xC:\)lf'{&"C D(X,{?a|^M'ArN(Vh.'00o*%^s@kAh;i[()F|$A$D3G:g'h(@2L h&IBd7, B8:BA$蝈CA܁7L+썠eD&Cj9$bp=x+|B:AL<ĨE(ЩD?4p=B' +޴DۮKz<A7d,AT6 ?1 o\1go1w11LP)Khد8n y^H/@o_%A Z4D1 +DFB('7 k62I$(b^7h#Qbl=>84A(%ޮp$ O0A%tg 8k"+2 =%elV/D12'2/n3ASLS5iQhg˳.JT-ƀ̶nj,+5:3@ԁ8IÑQ-+)/F=Sm- "$7(%Ǫ7T9zN9S@NT@)%H&=-L3#:#::ߨ::Ъ:׺:?ȬINHj*ꑱ'RI IoJnPdP$oSzo;?q%%\%_`wqFjfjk2F&kfKHK޾&mjHsĿy&h&i*i,F&nv;W<ؖsBg tV*V[gIhAyKd78N,_ -(|E+(4BؼLrʲBh (Fz7fAh h P?XoA40B(Av),{ Tbj hBņ#*}'X;`*~i7'7<âD*D&w;h=Bt;-ȼ77R=L'>K[Q=B<-D}7'k?}j0}AjEO>D*>+~~bDVBX)ovn%Ʈ}W~Kǿd:HIsD_zRLAhQu4ԦDm٨gˤHl3IlMTIU:4z^A(t }Kg#Ξ?/'SwSy)]֡Dk]UIEaʴV̙5oථvHfʴIP>RUʖ/d],YƝ[.ނse;Y6.ylゑϦM!M5^^{{5+z:)8{-z ґ(1Uє;(l8 ~~|׷~ <\XKLY吂HeW9% =Ae#:q&Q∂(j#>^Tm(;"qe3+GCHl(JD>z211r$>cL҇x:iI(! ŝ+2>. r4@S 6Ss4Pp3/CK"%5MAC9+rO1ɤ$3ќ/z&4d-rh]HKw%T=i+H×]f}hj#IX@VIq=7[}BŊR(Fy=QF-hF #VQYaQw zo "fW)4v̒ 8bT:Ne5םSd y4VS*M&Y]fIfo.BٕFצLY&ki$dYh v[l`$%V?1xV\ )(&9ϼ (S@B[]n.&7A1%ö^=C1巶aOwQx3AwJ$o_Mz{DgyۧTvׯ^,=M}2VJRܕ]9 b!I8 _X1P YB1 iH>p̈́. q@Bl!G1UqE 7щ()hT (5*lWyJ8y$TSE$`KhG3Z YMkV6YgB**xb)R!ss -Dj@C#ԠD % }%d(ABNХAA @$ -[dt]Z@N  LSD;@ʏjZiKcJ-LRxzuEMA  VТi΃IVj4]*T!UKa*4uMsf¬h]ZCK`"hzkR/Z"hI[ђUjUa&|TxU@,E*:ַCeD$.qK g8B iŌhA5I:&-!r4j=osr,慄-^$pAxC-U:豎j xZJQ~ :0%| "ɤ`܈[h⵹mof- JB%hmwk΁ 4;갟!"X#|ϧwy8Qk=@ X(BepX=r)WY7#ֲxIFьQ` ~HA{%Љ^tF Ϝ$g p-H]S:n$P?svt{͠2(uh7HǾy$t - xkSsuc A`ǛqPxjh gNSP `sjN !͟NO,jn:jz1$Fzn# NC0c&\\PpK,,00$1` t cƪPA-fﺮ#T( {X 0P Q]1( S` VA `0QQYqrH¹+!!r c0^!F ȡKkQ!b12ڡ AA 4p>/c  TE,tli0i q) qQ91CJB mK "r"EBB.bj,1N63>#4Fc7ށ.:aH8L, -6 8§ ”Б((  `QS`1 p*r!U/+ 1 RA;:v ]R.2pNfC K fVI$J<b;T֤MFQ US3;3P ̭련o`@#d 62,㨯5_36f3d\CC<Cq:.]4$zH>`fWP2:҂d&&ƆdJi3?HT@T5_oWO8qN7A 1T7 qv@\A9TB7tز>P""SEUt/}rEDRT$cOC5W4\ ap ɐp0 c_vGBBQ3B$$z1ek:A^ "Jtz I˦p$Ue_U_)VSm4YBql!i!1Hvp̰$>h!nE@arCSe֋\#' HOL BL`sVgwpT+4Wp>g`) A # >1M>ӎVkkehKe>k$iIײ-A^ DΖnnɚ*n%m N$Vqq# KoWr+r/_RssCWtG_7 L7WkHuWu[WuUtgvkvr0@v/mUC ~; s>zS!?r zC:AzanW{{/ibIBgđU#F,1 cAHJ!2za >%C@r@B{؁ 6 YوCVF L'}x~>7{{9pJ$b,?z!n#qVmK}~1Ӂ}fK]baQe wؐӬ!$,BD1N xL$|j_#<2*0~œ#Ab[U#  =Ll #x,pR2\6.#9iC%1&b:0"*R%cr&Kyٙ-W.R:2&q(H:0xJ!xG“d4H I|6o~/i2ENHy)3bv,g6f9x'z&FtJ[IB;(Gא+FœFErI Awz@Gt} }UԀq'|Gmگ OWOuZRUd_^(B^UGPY,ҡwg#i\WFITsC*4::S s[cXX $8">z$JXL!daZ5U5J$0AjxZ5 a7 +j m*Vj\˵ Xw[ 6Vaiv|{ޘsnN >t|,c59DXdĊNLjU\ Jü 0`ýk䋾RVY 7s\)͜>iAm ֡z>Κ>j uʯy|~7ZM2Ņy7H[&p{\<WZ`$p1R\ݜo\ ]_ JERu+/+=rUzZ!Wue$X7{WzR?Wo6{ 'N#B blD>@@p  ~gs`=%X O [Y1!2qc@B< cREM9*K?k\IO%)uI$ Cl`q@ lвsfC"6X 3BQ5Eq3Y,H"x**aFcirAXc LBv#1'>qb>ƾ>C^V^r_1xaaba>fLA~ `miQ(/ zّWq'#4#R`=@R$-O2%/Ö&0Xc2v2l'C5X$~1C6΃/ԟ()c*8r>%_&O!:th /#):[]Փ 8qG"w7V=a"T/A5֭\z 6رd˚=6ڵlۺ}v\ڽk70)k >8+VaJV)*CVYJ :hz~I(:R TFN-n6 )ƺ 'ǔ? DS;Z s Γ>un q9u] dx+g)x'E=,xp)g}A'uՃV ݅_wߥJxa!~8Oia xa9P(dBIdFaseu^X@C VؕIne}*@g* &beqDO0 51PD# 5ܖ[OL@]^qiUO:>aOFiãCߢ,6?1!Ld]*+)0`BL2_!R@YP5<&O gm Fa*"T O 9HAQt@` Ğ n 6)_t'Q8yt 2W٬2 Gm H4Z)U0vKES6tp ݾmZ |@hۓ?WuYO^B9x4`ȕKى_!ZqM@40hdZ{`C .+s9湐5B 1A Tk{ܮP9yľ,O ǐBk[ou_i˃,sonܳ4w ܃9Ӟ[k k1L,"l,2&U3`E_3V}4fOѪ͞4nY /}f\+;ђK67sKц:d:Tn!갡[N!'\`}BB; )D! M}|y E )? Z>\9˒ӛ} S_ޓw*oܓEp][RK*i,`Q4Ϗ%8=ϞDŽ_IO gԣocao_*QktLZG5 (L}|(L#= $M&~!(#H%Ir )+Ȃ̓>P%)P1M>4@=#>6[@ @MM>xm@>?x4h"Zl0UICld `ehgG2 `{xghd0Ň7!N rإ]s p .s6ۀm u@ T_$opmvȉcv8gh;Wv@2 rNN `@Pgnƈ r:i! YAqX^4Vcii8 `pfy;Sp pl a@bp;_;bRgЅr,@ C0u5>0b!0xc  _,61 0 <$d&@bяb!W p   3ō=?~ب ӂ)8m@ 28 82`2Xd P b@gId0Hq 00!19q !Z!4aDUp @E4EPP)` (*.av# 0G_1`gY)7JR QJIi/W Y9gL1qUP0oG) B#$b"i%+ P*1.!q_!q1O!9#Q#) X# )q&]&cR& h& t^0` J/)0/~,).nc",Ăr82)Q)Bb.RR/̲r3J5;)i%$c2.2-S IgwF)bSf(8Y37})88rC)dE98:Cdc6ӣujw%9:z A *Jji@@ @Cw Z@@gFЕ 8v/GDT@DgiF\%3TC`DG:[:DH:IO4A4xJj~NcBNNN^@N5g6"αV+WScRVWTQ5U rSTJT!YG%TUQ 5wEHW(mXVEX0ʰ m5]Uf6 Pu#S QFf\&b);fSYc9>@c c4V@_&bv`]dHfagngKUkWI{zۀ+sBbf f{ֆmX q+s+'Zw=pmV` Us#7,rtk;v{zw64`/wcḊ˹ +Kǀ˺뺯{k['hA J[aPp;rǼB*PES*˽nX X0 y ZIa|qp 82P.\ 1[ w<_ $Y 29&^+#,+y¸ ۾Ԍ.@Xq^o%g1![QȶX i@%PQ?6FKġQ{=LelƝ Y  '|SYѾ;L ,\@pO< Рȗe' )_ib EɟPC6 @ 9y3Y7AN-(;-&y!2*z*8,^DX lYb͠ Ls# l_@6 =1@@rӜ(,̑~9 <>bIc3"Da"-?H!.؜i#]6P@mq3ҝνf`<2=kPhN q;{k, K s9I}4~~(RXx's'> .DGB)!wáR,ǒ,b/)l:j5iբ0 .<NH++w(H=rnC6䯪I9^x!/ljkp =63_>펻q^'X(LӸ WQǞ=(B(3A#z93:<N5j8t#75_7JqX-iZr3W8>ФOjNo"6Bq,7/8(O^Rv#󩳢("_TJA;b,ݻ<miq޸n/8M<(Ґ(O(1"TKAS@M_WV~TH^4r1FQF:iPف HYTHzϩECC6E{G/]TzHFMDI:8o*J a P'2(_tqZq fԝP9ZSQ>jO s {L@ D0B >QD-^ĘQF2 THP)" aȉ\tQLێ9FM֨FQ0'9GrhGJS(h E6UB9"H޸XTC[LA%NoI$/zтT+ĖWR@vaL!'w),"Nx5ZޙViYRK1mKuÛw6aAQ)yD.F4hM"MdRiՔ!tK=tMU UUaUXe[qՕ׉bVcUf]|I UmsvZ_؅Mvu=Nch֖l5斡PΑ _!/ 'tqw",z9^qz 4:kk#ZRI&lCkfk-6yQhpAb!"A!Os4"<3|{L|XΡZy!5F3cwFu%É+9MhG?}iw_v}lק~ gȈ2bAKCX-a(BЂ`%Ҿm~92AW_ UBЅ/a eض@ >eP =Tf8D4GDbD&6щ0l_0"qD \зGzF2ьgDcոF 0rhE6# 2QL)B"ąb A *c3ِ@B;99?qncCNsZPK;iN~ыznPPO۠\L0 \KHϗNL.!,OεO:O rϰJpl (M.zWt,Uj #1jgȉ N Sib@ְ0 D  0 H H֚*A٨ڤ 880TZ5ذچ.VMG<۩ªU0M hZ󠈶̈́[[Qo0us5p`[EaP7uM]#OHO[(:R8)q8:iEA?ehwyaku^U a9\Ut@}1Vy B/unx _כfIf_!t__m[1_0`V`t`b!˵}悑db/X^%'bAhɡ @; Y+d,^%jPl /I8W1ޅ&}(+9^5b=@+k:?ַa̲Jzj"஌ػO@kK>M5˹KjcɦfcDe:dyze$ J#i :!aTI#`fg~"any/5f-r py's^EvxyyV=zv!x~haH@䀾 ~Ffv2"腈H茶z4FҚ30U(i ib?1ƒ~֑N# Θ~VIb(]pr"[c삎Ti~(1X5뫞%Bj!jYhkjf>jF&N0߹:-45-k!k!vmj)#)l8Hm^׎3m(mv>>mm4mm9(6v~nw鞝#Y/51{1騴>oHF8Z?H;@-A(Wo2L1ZNS)Z^l*XLHAO23pNS(F( UfFpNH̞*^pNpRON`M/H)qfq}q%R>p+螈DpOÙlrBG* 7 G!oNXs?4W s/k/3GAo=sZRh4_?os GǔBGu?1DU&u<og/0,sSpQRLlvŦvfggjsv[IwUHAThE;LGN8wL8SHwwy|7SL@HDxwWEwugw_bk33NP;R18TpxH;R:1S(L0;~(KfGOuowWxywS;Hcw3M>zO`GyS1@^{0uy_Fyg({X-0j[!W{'ٸ_yUy|G-işO|z|?؍?{4U.z* wz}G/~_xixʟw7,xf}vni쾒v.*Ym}X @lUKƒ!hm0^!1%՘/tbpH*+04pUcVHQ6>8&AA ѨR%"N$WYàvV4XC#UvT*yY3͕Fa1Ч_HNͪ Ni,yrԐzI5T~J *h [Tn Ĝ\UHSmϟBUTiݦ)bUYv-Z9W -YĄfżrR˝iZ ˉQkwWz6񦧕km W#/1T"&K8"Fۓ'}Ï/>ϯ?sXF`'&} l rء0@**J*XҘuUt= cb;bB{hPLإ\HކFY1Fc2l:-cN\'rJ'ݘB:6՝Cj*afs֠e ]՞<2{W.d ]fWhɦBݖ>JdEnkv闄f)VP?*kl CZgHhQjrڤ$yfR*[n5ۮFp 1[GI\u 'i -'j)[*()*1&6||qNSN h1Ce$2l3́RlT2Tu& [JRC :k =ܦG~x"Z0xfXBT89#t`W˗uvWsu{KcE(ݞ VAkd)BShWQ//nY^ߡKmuuؽ6 ]L0\NJ,&IzʿR"RT)K*aR Ug%c0"J7*ţ_q V]6~MxC) r P%[\b 3ZtuY` f'_Ј Vj'5 \JWE4"}+Zj \? *55ZVoYq\YQ;\M֎LũNb$&hAτ(Wխ@ ZU OZ١Cmib7)M Nﭵk,8Ds*Vi5%|bd*钡`_\D%ʦwdۼx+p-! w>Oc?ڿX=O eXj#֠.L[ΙzVH~mF/I BulG"m~_"`*2`:B tJWmlɖMVCtLVr0\WHJXB''\\'d8@ cuItQ%U̖S ["a*2a:!LUJ\JL[]"DGr<\/֯ ART}}~@JIƼD>Faab "EaM!Y\FA)xA,b#އa1VD5HVl3t4d5b'-4"C=",G&|;C;pCf.b,0-//2·- Rc5ZwbV RbV8#|B)x8H*T̀&p4V()f=>-A(!}-ȜV dA$<"d8¥H$EZ,$DBGGևCzddE^IN$JG?N5LdƋ6"y#}<Ȋ8*4̜@B#46#ZD).>U4dF1}0Z"1"ClDY‡%VKX d|%|YeZ.Vd^^^^D_f` f`2_>7_*,„a*4hQ(,<)R(:(̣FX ,(4DCh2PCl(*ƟgtNgu^gvn'wzg @9;xixg`y|{'|ʧF'w'~~@R(*Jmi |4*h`Dd ZLlC%PC43ࣕb3P%U=.C.X4(B{?%9`B&-h+ԃ<$ȃ8q:t'C-_&-B:t$|C:d8*@-O,*"dȡE&(jWBB=+X7έ'$<\䨶PX*)"3j­jD>jf)`VЩ⩞i&bBZ*jBȩ8\B'|ETߨꩦ*X(*Cb*^kik "l"b f=f*|#T *rl 5,CJɮHɶg=\.h='ZCG,:dEX<@<@BC&D%|ĥ+EjD-C L--Z-ve-*-,$@i,;^-,NA.m>mΊ%9CGVm-]h-؎[~-v+J@cRnV&hrnznnnnrnH:Y^L2Qt˦>o Q) B'*l|@]Cm1j%`on*esUQo=/m /j<.zEBnW^oW`Jloyo'e(փXށ7C>.pe&obsgoV@# Xn b^0 _p p kj ǨPɈ 48d/5R  o*/̦FC4@Ƭ/Db0[=P%"^B AT dY%Aʱjp1Ao1{b\[!1|1cx:xCE\qWүXZ7r K/)r^<+,r--rkc%H)BȒȲ'Js ('ZiSt'J'|FiLnBN=,ž¢ ̓s @Cf`0?{rH44RWJ l*tL *. MpN rOO5p|x: He=f'R|•j旪D'b3Fh2=54PÛ^5.7~8&tB;B;$܂<7C' 'g ;p"@7p{BB+BWű^BE="<&X^O(;uu5]۵;W^_?k`vavb/67 A;5&DcgBdOU6Z`foogvhזvmv$ B(tw{Mwyò,uAzw{PmA#(ƪjn2D0/hFPB&5Ӧdi4,Zo,D3VeΦ=()7C&[<"']t:8XV7< fc;j-<$؂wQx;gs-8ۂ }}no;Kko> bc({o>C|k~{=;>SMc(>N>*?+?G'>OzG{#z7??n[@tV nq4!Fg[m1f4^=$Ab.dI=HU4eK+9z|95ެ3N}yY1Xhҕm6&?fպkW_;V1nЦU boƕ+ ۵z|AWZh?rwp޴xJXNZ|ꑌqhVdž-mtiӧQVukZ:aiJ:tPRJYM'z`1jTCMRԧV%`Y i"dIY_,0?ChH & (lDKq})rY=BIuu[$#{Wߵ4iSR !NVU01hL۔Xa"Ȥ> d!gFIAj88v}S[Aj8q$ynniǖSYG|wà)igu>Iy:8Gu\餗WVN'Ttj BYey3ՙg?wq坥',Mh6r{72dnNNyYfmYmz袏N1$N*dv|f oڹ̩^V_tGk '=wt]7zr+7ψS={i Hy>y>hty(d_VBbM* "Z/Cl)5 B&~t#cQ5BZס( A Htu2SUԢ]=T 82JAH8"VHXn\ָB#w,G J}btk HqU_eGXFVUHcZ׃U  9X.e=+/Ӛђ!|EX ־v-sK^] ԕnBTI_b'MMJUT|S$j,@j  N`^%n cB1hd\n£Ua)Dkxՙ[и'<*NqwkkKN* emgȍ!roᱏ/$/1~ȗ2q 3 XG3@\.O+<.P10^k#nqL>FA Kd0jUb/jp qk]&"1ɘbհ 6XE S0&KML{jұE@4Cac}Spzߎ1/;tP b޻sm!(t,*tdN %G (mmoIm:wz3C؁=NSNA[{ܗ9nq˼Gx Lyg\ߒJTNF/8R"խv49@ўv=vk`J*F:|a)*}l$ qA YP)õx)|bUw ׎uVLGk}6P@ -m=*bwZ"FxCToփ;YGpJ,:Cn=SypsIo$?oA83lWyS'=%e~W|j[G~e|'b{+j Į-Sn9=4.#dM ,6a~$$bdv!hp2faJ P8hBRE:lLnAءd& A"p P pQ"b!0 ǰ S% H U!hj!aP   딐 0( P"hA<&$0j$ " XF3?7 [L, uL: ?Eq y1#|iAR  XhALǚю н0G?po-Rr`W$(!cAo d!f#%{:l~ ,Gffd! \&_NR`e2r rRbL%$J|laNlR@%%ogK8#n Br$s(Sr%m%_(e!+P,Er +!d(2P/3.rQz#0U.', *"-r-#/pb1%h&ri!(SQ KW(m6q37us7x8r>.VFh+ #l"D.~bB8*9b H6M9?2L@<Tb.,6y=3>">3?=7wS E8%A."FUs% @I8*t&"AyԶA&"K?EtDI%"!E!JE?y3Ԡ>:&mX,GgbG{=Hyth|47$l^EJ[>StKK?4LAFŴLL4MtMDMTEYM˔LN4OtOO]" aP P 5 8+ON%R-R15S5#@f .naNbRA2y:S"XJ)5$k"B D+PVwEWr zHj(H4(YK~!B*6Z5"SBTiT;%T$'f\a56f6nfcU5j"a6?%<#(kWiB=w+*a W`ԅ=~ $au,&6,Db6#"v<6+ X $Bvd5" *d=e/5[.!  J$o0@9nR 2NAL n|.A 6@Ma JRzw{1b| W{0 S)E"%``fkƄPVW)Adc*cb2c`/&Xgm  !0b8*X+]*:dD=~KyuG xn^L,˶쐼`nL#  B ?j^ɒ̦%3mMT$ULb YCEc Zu>k}n}Jok= -M,~Zv\U^ksJo_IeCf1Y!p .t~  h..ܘ C"%z0L0#>\XP)/c#C C^zSR;]|͆)2mX"F;k*dLAt1bH8`JեXk+TA=rԔѫ=¦+6_g@iJ˷߿ LÈ+^̸#Le~YITf#Q*')6װfNuTuDժrDRY[I KtSѥOq1,='mډRĘ uصC^^0VYIaeէlƔB%NS%Wۈb5Pà2Q3MD 5GrTRtQhCS^ 4W0QQ1ۤ@)X{jX(c FxcJ J*^McKeD6czMHQST&'z@)*)1O)ܡD̗WRp-{C_$I_D$]9KYP0Kh!ZJɅ\Βl :7"HLHyİR65/b4"_8DQD?!ʶxrl̠D4FѠC ( iD2B-!rih=WiFU[[uclID].Ѩj,BY#-RJY9&=Ɉ ( [)԰&XG=!3ldHGi > -HH)@B< x8N7TEẉ֤EA9bS4 '02y7LeFDJ豎--(4ԙf7YOĜTRbT$4a]zQB̴/ ;Vĵ_~k )F6:PTD(KYGծ^-bHl} t}9ԗ@1| ]R=\0Xc.F&XAJ" x$FC 80Ub]XGKҚ6-:[`&,jgKۚx.ꃷzylqK1C)q}x[7#pc@7ޱ\ȀŦoa "@z[1=МP~!@xEo0CE;>X0^ /{ +(NW%1gL8αwc6ʸ@L"x\%eK܃r0R3%9˕K& VьfBy.: f́Ys;\=0LBz/G?:NΊUT+Il#L .%dz-Sq0@_0W "P mkvE jTgELa-kֹO4t}]d.uH/X)0ؕb8Дƴ/5AkD]Rc+P.d2\9+lM ^ kR*/R.p 0_zh\//Ƚ8ߎh5Bp&AK'."[3F h"TpF4(4! pSeYd}Xys$*f"TЍw0X<AH@/KA=`p x?QEj:W"Y TG!6A UfřʦyU!sjxZԠ~ =r }`7r O$Sz wū0BڡKګZ{@9ʬUQ񣓙a 2hW)P)u0`byD2;)Գz'+(8(. ++ xFHa'G^M%'ۇ{̩j) A ۯb(iY▕);pԨ>>ê+ZJ!0RZ {MJ}P+ވE%G#/0{ #A>zk t) 4#<#"D, @OAT麄>+r[AA>=ғz!kK#>kD5Do ["媟6Yy4J4zYھ_9jx_/ƭ i!vHuѰ _V L RlGxGuǒQ$r&4a#RdO{@5P'uN4|)NO[I)ܰL 8g!r?R( w~X\,QPLzcH"e RfM4N}!4l8 S*U@ O OjE\KTȊkU*$ʺJZ,ЪudZGkKʺJb cmV{!YqVwEY=r%o=5{p<ˆQqrEYٶ͇PZp M%/ oX^AΪ9tu%ל͞#kG#B2e{he.@ kU eו]EdlDM]db  D[j: ӺA㍒l60IݬZJM۶a) .X f}d9mD?M;Ma=b4HK1z6o-##\/p뻢0b rھ?[@9_}2np׊WD/Сr~׀mE|]؈؊ M Ft#aRbUvtF~GM&gbggh D^z Y]۶]n^xʓViiiF l6ІU̽.սfXۭZN 9 FZETn&6r\JȈ`N5|̂gBp. .Wr8ȯ6q˜: >n8'wW|L~ %}d ?}ח}7B.}x|Yz?{z,}i4~z!vM|L.}z~xle{GY~wa7>K'wWIww7~gQc^}9qxW75%s `3p >^? S|-WHȊШMh=pNSЈH|8㧹QxCذj2S8茚lA8Ԏza^׉yף>>h[8>Vg=[>b>~@d˜瘎H9~`I] /w'A2`cY7X)+Z95A)`>(@60EI9YiĿbwIم\s)QTB3ϥ) Zh"xT{e s4˜ Y~U%#a;Ii!)+qOSq$)p !i71ٛI9ϞϩרUq -lpm10n9 ;Z lx_ὐ2A/Sী:J婛*Ov}zHC"Ey *[?.ŇC5XPzS ^JRd TQc9492ʓ#NxeKd1͟Dh1z`!#HAhѠ+K*j[R=9[qΥ[]y_&\aĉFcȐEP\e̙iVV}jjURӚU5Ocr ‡N ƭ[iǁ+PEPɼ(#Pv'OKE]SX;AË `r)?G6pk_Ϟb{ ڹ?'; ΋z1(K;l7vN@3v3?, Rj䖲YmG{G rH"̋fI&t24"H*/cO )eJ1l[nnSȖvLyHN;8VB$Z %yIv:Aēvlo bQHmIAr0WHPaEETUPCdJ]gI+t?>S UTR uRSX7t+(dYǒN֩^,[+ib_7}4Retη.K2YvS͟^ئX%ILva#x"3xobC,K$O 02h_5|zh"%P d`(=Ec[ (hA 04 ρ# H`'J¹/X'q*MB@BCaaxD$&QK %H= }_C$OaE1BƘ?Ic_PoD*cRz@ vG@bN|"Ǣ8c lam)yILfRd'=9$BRcT$,rL(6&/Ze-myK\r҃-=h+uIBYSdf3Lh⅗$e p&2lI"YJbFyɜK b9HE),1|45О<yo'Y;b5vH\pT0- C А0l;3#Q@T4EYN1 B4ry|UN(ApS/R!/!A`&%l/UHQ(*ҩ1X-J*^.Y^J>,-_| T0kUH[Vՙ-d5S` '!E1J%8&,X'2 L(OLY cWX_ hYm͋jںlkٺ %-\zkپų-B]`[`Զō-n2\07\"V]'S@hlj Ɩ)6c4O21M*`L"&L N`"u(h Hd SL->)J' "keApyZ⿜~KZx eI[  [) N 5=8>-5 [h<v@ք 8<>QBl9*B,(Al˓\8z0gŵ^Ȟ+W3dXA+90Wl/Yss00a%W6A).!W Sps֘C R: `.sDϬK]-IW.H%m#UkN}yO˹=w Mos=L1q| Zzӵ:D<8Ǔv[oA\~?)мSՇG z(=+zqO[_X/5' fS F\i.[e! jy{V!&.?)Oa6H:}=KA H~R-DS8yj7Z;Y=YSC@33ı'?Kzق8(H@KD TĿj+X10Aۧ A;ԧ#AcBpBҷ(LB-Ayy:U ?H B̿PU! 18/!@@;\2-9C7dC UCABDLDM)D>H.>3%OPBP:[ hTE%t *@ F'n-sZf: ' j诜zFE32GvEnt р'{z({T[E] o<pfG}LȂ\zd< :$Pyl(շ Ε4mR%Qɻd<-N7}S8ܒ.0JLh>}/"l 0S /e*D(cL:RPEmԞ<*8K1RÃE0L ԪK?lrUKTMUe\HTw7NŷGMD@@vr`J<3P0FP IJkUL+îk}F;(J Q-*W,t>s"f}#WsWuŮVt-Va%C*LTV2WUR5Ue |IUɆ=^X])=7׏]ׇ WX_͑SYd Ar3?e-@ K;)üTk6F@(Nh40DZF1ML0/@?P0񩃚+:+F- [ B0Zk@0Le4NpVn-Z (H)KHGm)(HT\\܍۴M=\5'XV\-\HH=֭Է^ %^]R]N`ce۷ݵ\UeВ^M e^޸8EZnxI! Ѩ ?H8 ‹ ¸`Ø```J 㺌ދV6`.KMğ}aA`L,aUE/Sa#>b$Nb*hb(`%+rՋzKvb0c1@%y4^(D2)nc8c9Lj>{ 5=c:΋7dB.dC>hdDAdJdKdPQzO4P[0[ e6HNd_HCL6AWtbqh)p-p]a&XfѢLx`vnxjgVnƋhjnk>q.gH!evngPd(6`(0T>!Be"zva))$%"ERhpQ hJez&*ZZ +W@LU陮UaVbc鼀 i FꝮ@rgꟀg_pd_`ȁ5j^ jFJsbK d/z ֋ kq E ,g~Xæ.ƌvnʖ>宦jvg6$6kW5H!dH$T!@,ɸ\n `g(fJfg6veQhPjirɄtq`nxH1'o)yPyZ ohy(LWtayH Yfbzpp`oq~ ao6o[@o. wooۨo#yxo5pyp`1p/pi gl(Fk=X5ȣ}6>뻸6׶SR($o!jQxs:wjh?ee9B &L|qyHNv΄ؓtHt qXTZ=)D8LzHWHUu%09DcOe7[R?uKӟr{kEYMOh'uSGuUguW'd?PqNvZu]vab7dgov?svtytpdrG)`_ NvtQ[c㝬>>ELl؃mhvjX>/tj:#0n6jd+xHWXyy6H) )fёzvq7?{qi r/ a{f ƷO}C+gg^g}~ԏEH lX< yVj]^O榇Qeex (숸oFx7Hz`` Gv{zcRD!S!DTuIwKA-.DBI"@"ӼetydB+QT1_,~-j(ҤJ2m)ԨRRj*֬Zr+ت-kGV7B ۺl}7,CԪ!)*eqժ>V"lt6-QCڴiB-ZB?UgB)Z4>C+]oJ0s[RD QNrKt0;Fs;|9ͤ.w; #W9xZv7v դxWzYeZx!j!z!Mh")HaLq)X'E'ȸ)M9Cl|6d!)yKjӸM>yD %%YR|SQ9rE`RN)tQ"O% O'9-6OSs-Q y'1Ash2&nICک yJP814E z)ҥ驃 ++ ;,kш%*K̉:l`-.e*@R*H tx1B3pF6ʐ$ę@ʌR%5BCMP k- $ʠ┃I''Fc $cG ܰ "cK C "x Rԓ $2o~tI=\:(; "CJ1,00İJLtњ|5yJ} *)U"#U]`E1e8AR#HO,% ,^5*e] R gu[4LA/D:‚xTui+`9V)Q qXa@D&^6U[J_T9љZrm+)EkO!f9&*T@5!BUT(EBQBE@r/$(G[DJ%.RkW S9+$I7#L}H؊(q#A⥼=pVKcYylBk#CMN 6R+,& mrG;Gh"(J3 h^qF>4e"xQ5VƏ} P򔏜d19/VqB;,P%(iDC2%'(C.rB< 'd `1 nNV<55Y!cg(90pBTQDPO+ !m"7>68'Nmt7"u!KtY0a77/::v"ۙPl{[·~ TC'Ga'L%X9X QЍ i#H,_= E&L@B=x%H?-84ä FC()! p A\y$DG ʡ(P9XSZ A \[=TI\ q!4'&'0r؁O@U'؀mIj f Pd(ЁPe#BbQsAEu͆E쀔#N-E%jbFpby(!@"2+g4l .#&E #%-h.EF(FMa]@ <L$x#8#9.B '' I&$8 ;6ZC:h98B=cJ?;<^B'LVLLc@dAjAB Cv`G= IQ AI{0HI&G7N/OO%!P2:L%9@V  $%,%9 I``=_d̥oYKZ¶ X̭B#KPz^g6&{fzĄԤy5PrO >) &MK(Ah'MBMO%b(c8FB@U'@ވnHjF!c&kb6il|h]^-FY}&ef"F&E)gRff&Dfa.)_ƹkR12)xiguujp p"OTdDt'y}d(Pm֥=}hRx<A7 Lh+z+(HxJ(yD6ŋȌ,A y4 .%ƓD@l^I$ֈPďTklLIVfɖPC|QmBB#A ,A"*(%gPɹ/@kFIlx9 RV! ifOiA Aʥ  t"BL<ʞD L^ʚkn0m\ RpB xʤV }"gLZxh ֪m@LdJK$J}"jp(+ǻ2X n + ͋ݩIg 0, ,5QT&Bl,e L]E porɒ%ミ(r) $( 2>/E:o4R=3B As eʰL4pDD B<$B< ɘ-MڬMM ZT { ssXe O@ PfA5OF̀E=CB@:@Bt M|c1A@5+R?DS_ Je(imQ BBg6(`}mxeGm`@]WLAa R@Q;fѕRThOo6W1XQ5R%ǭ49#F74]'6"v; A;wOYhZ"$BK=Cq`uXpN%I&EK FtuCtk'TNq6xEj5T4uzȽ9>>>}Sa78?rdtКyC[DZB9Zuz;Z)R,aD)VxcF9vq"ߌL lP&|(*Rq1<#DpDq|@KIÔxcH Oֱ1#ZtH$K B =D]QDċB"AQ,%RJRS0*mZ^YG2MCD'%.ȎyzDχ,ѷ`b=G?Kľ@ԢzhwAoU)Zg?[)h@VL Lș1"i+Jg/pM?RДHPi ٲ~-^fT/% ڊ앨uG1@39HlyL䱅"r2Axg?.qz!AYw)Gu:""V6'C9@1cmz*, gJ>m,?mpxw!S\S1ArOVURoa=ĪTT9\r0ㅈ% Rhc!%ePڞT"Wv;|vȎSV9LS#$*䃟TVe"-#Ҟ,-T"1JR"'"EB~>ߟP"BhG;2Q "S8E*!Xxch@ &*ٛG=8X8R[H2 g/! Y8np/SF;桎8AqbEHvӼq*!}h vp>D2TKR7&1ic"[F:~tTM=t#7x]&3):P Z)@jVېCY  "XG'8юZHd4r*YK^)$bgZ:f2ׁT2 94KXZDᵈs{DBRlC UBȉxbH';(EP)k0Γ!C>t--P=T!!ANfqXVA<:uP7/U)K!2SH&A; F]O{t0DV)>>ZWXH< ZB%,a_ yF:'Mn*"FT7,r &IDG<$|C,V,Ty%zLd xptnIeVw"OaD&&ѕnH (E` jwM/0196ImD ЅШϦ&5=$Tӝ>tz~m=׼/b&brc Rs_sfqO e"xYl4ihNB=VXRx3.'v s%7͕D%·(aPN*W )bH-)b.b1ӓ#/,kF攧2‰G) L*M[M4=D > ҳKC.tQ"GZB5NVR$= jL#%bS(2!a󐢊`&3 : 1xW(Ǔ3<9C2r,ynF&l&rX"3p\<_H%o.]ox׻E q5b:h,S:=b~d \_Wzay]8-v~<9i *Ki~q\ DyW}!^~3}n MP .j-mpO#T?44D<* &s⏈_9"yFEȆp(!*#P'q00a"204Rd!doZcPJn2q2E(>Rn\KY!id&F Bނkt P "(-na,BL^ZE$zG>!/ o%VBS P*#6&(G" Q&T k#G&1#Nn%! 4d`<|+ϚZ{2˶dxq7#b G+l+ "T8ڄSn0sdGд\KҰsES"*aJ;CTSDmBӮSKL\4l?ST((k7dŠ(@xcF"b!D%GaҤ!,JK#K?B~,tL+I3V ^4Ƭ̒Ҍ͢SEN`_4F%"haN^'A1NlϤʲOty&b1StS#H >-z4!* {/ ٞWmڪN_-h-ؤVMz2^E#ԅ]XQML#ahڐQM#(a@XUc݀W Wq-ZrTӕ^lvP]30$,MzW~.VMʒNlo#3o.#TeG`V>aUG:v3sn笭2N``%BUeWP q" og8l&SJqUkXh1R6h%ehb/eiu whHj &kwslnhw`jln8>mVnVo'Vzthۖo p,V~6a&`&cv\ C ]rs-,z࠶3Pp:$'P9Hti7d\evm)7bl:qcgp Zg"2Tw&2-p4N,R,a``:lZ D*2ګ"*r*!A(('P4qB %",9H ĺd)7vê s2,/ &0*N$30ɲ F/" l{ɔ۱i 3<+Ũ)*A۬(+!b}; ;OI܉ :6)𙺋{r.ۺd_,cYT(粚--!V׍L 0$SӸi;"j#Zz(B*K)Rg(q;H)ؖ"4e\K:8B]8:os?ƙx|6SeGBH3* 0A1kxx6ef >S7P?4Bȟj[S@1\UK"b<Ў5<\FL<ܤr k<<7?<#X3򼤒Jkq JΧ^<\*/]N9];NL5dsw6 o\")XȦb :Mn88@A V@yKH!B9K@`\A f8SAYK]]6tA]+>S׽g<;KU#" n,0kҮP'k/gr !fk"3UtS> @9>K݆xN4Ե<~y8" FTK(>1!XsB@ߓk]>Q~r @%"vSI4'>{>՚~7I`U^"*)؟ھ! u"(z<D}a= k=5Q@聃nTsI5cS"*IE,H?4qNԻRtVg a" DKKqîGOTFŽI r{8QJ}?l$bG$Wr)4gi)X҄UGQd_BHBv_B>aAe sQ;Y_ ѨDM&"I+#x FTL9J;)D$}ؓ)SaTP(OpYP K1kGhh.Kl0Jtu-7R 1E<@RK<! ڐN=C$)Ҏ)" $8`I;jkA.d,gPh޾x o[Af'(-q Zp$p歹ګjH *H ܰ "cx &0IS.jT=Ķ{ 찿JjD"cq}pU?47LU -*tU[C g\{ }ڞZШ%ssc ̴[}H_H=@ -.LC%sI B <үoA0 UQxeRJ1JQHY DQ)ȉ/Y¼.|?$)%\q]ZeBN<À<@βS-l8L!+ r7^`;n#PE w%ic!T-&!n$4>5%XG=!匉#GtxQ}X_^$pX>5*\/(N<`:Ѐ) huH:É*"}xQ4!u/$ FD#[l-H)^qhA 6I!wN#0UE:JQ+(XoKxA-I#]GRZ%G\EFhyy 1!VdW'/NC(BA' OS<DPބ=|P:=`ze | Yj> MDQ0ϛ)(Q6Ͳ tjN@d&G]LCnt&%jkآR|wU)MTAPJUլz(0sQJ-!ux,e=kZ:jjF7jF@Pʫ=2ҴU}*`u|La X$vkZ&AX,'`Y tҤҬeOԪv++Ѓ$$%` z(ԨKCpoȢ[ޮ÷e no5 =a8F(]+!ԂK(E.tR]d`B8}IЁ T `.7.+x n:x0/ kx? xc0Ox,n2=/61VJw3Fh,H edb% +DnQ.OYzfBUD4 $G̘jVܩ)C9#3ܼ&;yR.CvA!q_B)xT=iDilc8 VlQIn uCke,! QBCtL:^q  h x"2!bYf%AưSy&vl kT[+Ƶ2_6ml;,JmpVPc$ N 섢[BL[ez;؃HX)0?"*:a!2 5AiL#1R&MpXs+4ߚo<+I 4}ZB~=Pu<lG+S8E*~6W<])8KK$( gb3_jePc/u (O iX&[E;:#e"GbЍwPlP.N'aDw{΢{T!|g|ȧ||w Ч!r}WWHi܇T!W}zzXG~{{#Ҁ||3(}~hݗ3DW0p 3r4&c"p)3&q ` gQ>ZMppA ԰ r@ @ w8 6 DprF U9 s2qC p.  q+ @ 0p 6(W @E5)BJ mr?eJx xBI /!c 6D6hSx XxT:0밉(ȊxyXXH7X،X?(C葖ȉh؊I,H,!DiX ij22@iah#6="`) gW(cQ vl(Z%jw8 t GPG)@'Gy[bg VD7 >0 0l80|#0u$?HY֡V6}M 1-i-"i+$7\)阖cS:NWGb#%brdIyϹIѩCcYY2w߹)ʹ{G3/hYXb_= 6 _&P@7AUnhn (dYG. . is Z0dԠ |P xy(7Ys.Ρ ab fI&{ QQw < ԤIrY%%!¤ <zRQrdr$1NukG""VBwEt/R^`dYZEZ1h~n PZSZMa*J|ӨFקM[e% /`[}6 ԣ:}U`% ۓ9` mکWqUv w@SJ':zEZkR@ Af8 Xj@`&[`>cc(,R7mJ@Wp 11CڧIi]:[z)񰃓*A9"JZJtuGv۝  + ˱۩ZPI*,sJu )3+5HB23!3q/AZv(m=4yd *p2쇀ا}w|<3XaG({Vѷ(8JX0@|CbQZ ZaZ1 rwx68rR =WIHKBt/ "S"2!"ʥ)2]%a)![3 |V^!#$߁~"T 'S;6%3V$%^+k&u#h⽛+# #KQě騁0U /!X[_ 5=kmA =`^WrIv ixH ٓx8" i(ɏ(쐉7i2K0x 㐙vb*.b. $ `w#Z4zx@d|@ ؈=:Y8Z6r67G/X3X9S9#29SC:ci3o J!43:6K5crƇ#k8y8V1ǔc99!9X0:s:ȫ0;76)#6[ɋ6 p5#9lǡ}@+':W,p 5SSuDLĪR+ETMD] T2YeT2}TVUap0p R񹚭ߧnqr='Y7S %G Wb [ܨh}a<Y_1Yef,6X!<#%^Y]'aU)ghj En)sQ3`3 H#[ KHл$-;U[QK1$6_"^_A^h^+^t^aoq Q j0=A.5L)` H` `@Ѣˎ+!31 pƘ 1-CˆC,6{`=Pݓ万0eN}HȄր]G 1ؙS$~_K@}ٮnWd"_07VQ P.>\ ^VbbrV6aU; ؜\" <RVΰ?dCV/dHoOZ5[u[(f\Å\Viis p 0RP pb kGj*Ŭ1yVE;@j_K [qj Ũj]_(%c/_gq f)B~'-W(RZLO|PoOB)r))r,wh΃uww q6`r!w C) ygy | ѣ@xg_jP@60 Ѡ oA6 -gxx p. 8Oy]TڟܟϠ;@*xH 0 #@j,QMVg`PQ 5Ԥ5L# ,ϨgFxSL5męSN=}TPEETRM>U*MS^ŚU@;:!VVxj NJmuc[ [h(jѨrF#j SJAذ`]Vx4YER .cLL>*"ނ%(90ɇO^aڝwՔ-c/b*u&GˏxԘ;(|3._G^zݿ_|(bڧ_]uzZT>ać`dKZe?JI%fZ{hFqQP:R؂[RqO4jJ>2/2GRaFFC#h£itsb*Jsf ү4Cu42$F ʬjI4qi10H\ ;?=O?4PA>9QG/TVLL(XEB(d-5 V&[+ȅn*_f`@etX7-r-VcJT!\́`uhh,8uUk^{7_}ecw.~7RT 2%R u-L]aUi(1mȯchQ$B&6f]Vff/t}Ӱښ;d1,[[}sT<NN:kkH4Uk3HOR҇j/LO.k4)>;NY!N ?dskpmYFtKeU~Hf!+WG5ITty[Z8f*mRVA$1i$@?C4;zd }Y"epaa˥Ȗq_< MJ[_L ORhprZ\p0GT((wF2d(>Ye,θQ BJ,e.uKQD#qz W@&2qcH"z#@iLfCx IMkr?FdWق0"A "49O~ӟZ0Va3&0E=QE`<:A̅f=ѩm*޸"\!WPԢg|y"})iLe:SP:wM A pEF zA(MճR|bRjVUv'`q՜Dը恉xuN&ZZկl`۞@,b z՘a*^ϚWU Ouh0 &eִEmjU \1XIczL w\B)+a B-"r\6׹$k&DMQ0H79KsyRښ&V'|n[^`< u"bo Qw1у/nVa0Vwuf SDBzNưM'0x.qS\bn |`p _ -l(+Ȅ8X$/&cXDB?*{X&Jh|o`,k!`fbM@DpF JwtpH&vז"|J :lATpw@pT!2KAC|db F&!qx;<<D?w67h=n[9Qkw7m"\ r4s8NM9Sroe 1Mr;h"hNp1n#a0χ>~)u`ߢ?8.a rc DG/V?s1[+?{d9;%ik@ 5Qarx[2AH@zdA*(A8zB"俨*;(B*$&Z;C 26RÁosC4L=C:C=IK' AkTkCmbҹw(b5R{;or+āhE-(KzD/WP0tDL&zEXDqQ4&TTE+k¢)\E^EF\^|FC_`BqA.Xp|";GtK@.0HTOn(&POXo:*C(yCXit HLJH**z>ĮȁXIhn.I4I`IdkvTʥ==Ё=d[Y {lNj`*S0B:S9bzx+&J%qB_\Ebd*K; hKK,Y;L1|yL+4ʱ;ĄCI M 6tׄM}*8FM;쩔 Fxls!xn@Hn kS[۳D$5DZZy(n`N@O6H{(L )rNh*Hd,NN3NTN H@V,M圉SzLROdO I }MP j" P Ѓ`[Q @"%J'GddsN,y3+ RrHrLX[,$(9Zh6C#3oxucߚ KһL%& x(UH-R/%x0S[R= LɊ#nx OSDv`ԃRӝTJWSTG5A>bhaD). &> ,n -!v +^!HA:s ." cHHneW-, >#yL=?3F:QP;Q+U85ON|+ 06 0因(_TV^bYNeX`b\VRW 0ff(. cNfXff^ff 0f:*@%gvxzh2./$KC*BB`g, ᝘zз Ni %S(MJ`-_hۂUk*hQKgNK(iZH$@*&hPi1T*C_P$LiN%1de鰸KXjN*xhLxꇐjVYL.5>޳5SU%Ìh hKk6jrhhxikl%">얦Ci*k퍻 kySjnjx&~"ijʦ f JV^Ş.i'J3 ՞R+홦S&m%8v*몞 OPcڶm0k-Žhg [ ~;`g< @pKhiVNJE;L *_'qϹU/ gq3H'q2~jRTe8y.x3NK;8NAH0L03j1@lrO3L@r&$R1iLis%?3 si=4_qwb)es5)߻1TP㝞9;rJr-p2 ORt+-/5t Afc8:sO.0]tԮ,W7wr(WO;(wqY/UXhjOhs00O6;klivw[8~18TpKtq7Gt4Wt.}qGFbPouUon {-]@2Ibz@_ǔ 1,*4 9ILXUcHbT>%zG+ߥG?m-oe"?x .1X^tǞ\i+3*1$ja>hF{V ^⇘{XzOeeDSHfz]oMƿ?f|KD :p^ϧx0/wGze> R19}rϔ@~Q7⹁|p?|$X"wï ~ڇ˯ ߴmrH)4S :H'zHBd0bÇ "Tq#ǎ? )r$ɒ&O$ dU yZe)! L.@y3%Ϟ=™˪UV!MphQG"]HFħPr4"O !aJ5*Sa|T©2ڶiܹ5dC%\J) p"ԩNM,0Ȯ_B<,yptIYXd=*fܩ@BHԬSӫ.eKzqx8rCm.⸽n$TgGmݶUAjnHfփ>EΣwYe-){~ Wsե t>1ؠBRX!D|H?r؏7TDHL-<-fK;@r$4w'4s|c{$8)n 䅋5Q\qu8U_l^ޫ'zz+)@}+-(=w{*_$d[rЧ6҆HFm}^_ ;aVSyP~^)P:0.@!pC$)Di y%(*b"LE؈ &)SaH81!&CD) FBxD9),1`b&4!uؑ% QDq"BAD1*!cVa1tɏ`4c Ja 1~cx0`B8!ĀSbh\4hG<1$SL_1{,% N!}D&#,! 60aDeq*f+f*fDVmdDܘ8AZ%ѨFA#;3SF#DP Adkq{& T,%64':_GvCPn3ud$?"PCPj@)K4"i , qC&I[R^p$'QD rj8a1aDrG4jbT*5\E*2" VkQYULJH H /:N0&,HZ֜Еr!YX n䯁lG Vf5u)ٹ"L-y`0N8U]H 5A=PSّpGlJTv\ U#el*Z-mlN2KWA=,M܏@D\7WdU3(4}klU SqP<6G[ 6,%oB0NKmjoiۗb8nR ؂]Klb)nDXTevDB()t aAfҐ+cAEЏ_8 钝l+cyU5,9 IU&Dg.3I(TB\T`)d9ysgN9%,a?#:ъ rF/:&3 Z])ۤ<¿K]bPԦ Pb l5gmZ5{_;6}b1ܺʆЮgC;Ҟ6 @Ho;7+hvA29IAv1ʭ;7͠ vv9F|qCc.N"U}2@*;A*dȼWq LL&.\EXjKmNv' l'9O#=JGDDb8qL?HKl`'D лˆ#D1tVXZLhQ`]E&Vd3I#V!@6 RiO!{1p!>(%ÙK/"kŒlɚ6 $H,A,($5hl$mA쓌E |-Bd;+<7PZ-֚-ъؒm`2J\m5=H-A@=l*+ B&ÑXD݆:BnDm6'!ل$mHXLeC7rBRnD֥%D}]) Rn;R7dB:8C<\-A9;x ;o:BDC<+$%C:DCCCXbFnoBo.}nVADmًznn-C'@7YB=+@< 7@BvCB8\B'|ÑH?p{B+Ñ@B=LNE()"B[ CScpD4-"q+1~aLlDy./ȃ o5$ 'L'Ca8t B9DC AOq=G.q"+"5j6vM YB Q>ADAzr=BCjo9Lx<+E'2(+'D&-rBr(7,#s1?d$\dB8iTPG'%t rA%\7x:xC t5c:3._bD5gx">s?& &0%p^A@RABCԁ8P-Bk"+o| /zJ 2eFD CF:pDE lj'DC?s3o~O?[ `?I3y-uC<׾B`ߢg @H;]ebL!G)cGA9dI'QTeK/aƔ9fM7qԹgO?_0j'HVYS!(Ia(Pl\TzR7,*dǢڊd?޽+Q.xΕh'KO~2-~5O. uC@ MX4!ԂN0ʒv L(jQ-uKi"QΔ5MqS>2OTE5-}zT.MuSU$$ Uϯч49hBVe5k'0.qS\"4km=`ꡃ'-&D^ ruc!YU9s@]‰L Ce/d))EWPBF+YΖQӺ)"QlS dV}xdNCB7a8`hq+]LAVBh%tc˼:'$}_3i*$C VM^5AP%QEhG-2-D܈4A"uG1KXB n <0oB|_!E6r`"`2aY(M~2$D˅`4q-WL`3=2D3Ti< }<'tt4ԑhA9I2Q)+DQ\ p |U4Qo\֞BϚֵ<(AMat/^GBZAcjf%8M:ƶtGILR,ZiSz@2rkum[XͪVHa%+^s!Л=leA,X^o#0xl1_ A~$;(QZծֈjRO}S`De1"蝭|bG;[LSu7#'1!ձu&9 |`S@ t}b)@% dC8ǏqJD`TÆ8nnJZw!yrtLk 0'%zя鋟)@Tsz3oM7/w~u|Oj}o/~jjDW5Va~'=Y(%MFO6N"ʭ"J*@ J VbJB 40%Da80$J,/b=b .$  &Rp? "P=cdAV0k4RV)|hXPZ":BW"Na e ɯ =7DB S"R p#00$[ ' P$q $ %Q뒬+A` cC >A0A6BYH!jJ 0Op.2)1DW,R(0AVѲ\ѳRAyq H3|fk`j(a'(ĀRA I,Qq |-AQl#`!`[KS"1,2f7lv1=GR1%% W!1"oRa!K%i&/2AQ(=!w?L2C){[NJ!KA%$ +p$1(&-.l# a "`?D"#j B<< 1RUXJ3h >8a j1,V >P*t3ǀ1s1=23s3iAa0>rl 50s4KR 6b <0 9"S6 j3Y|3?L7701u#s1#s2+s*S3&==4S@44M3PS5Ys?BSs5_9K !?a 18ӂS8)>==s66D?+:DsjA?c;;GS& #CkA׳=_=qqIH}(4.֒lɬ ʤ"jE:e!WA`l2a@"R48bNNN-LW"z48Va4C5TuD&Nt UtNNN0O V!nI7B# R2"4>SUS5TO7"OP&;u 0kQk YQ![8!YuRrTSZ4SVRW!ǵ#XUITIPVe\TpZ/ZECW_r\\aОFіװMS $prc;cVzc >c ~bEvկ0wnvkvda//1a r`JfߵOviv1pDWgw)7t7O=Aj'xyoW{Vuw#w4wx3}zoy73~ @~{w>/vj7g ?q"{%a9W)|'S#&❁(dG@ w\3 0)5>B:f|<0,$!u.֍>´ʜLWA&Ҝ'g}!4R` g&$t=CH""&" 'm+HX^Ќ!}$6"b"ʳUA|!+8bc֥S ?B׵~0Pa Z$itC<<N<İ~M" du} zw L? /"֕1 MKAA}1 w)Н.> r """LR7॔xZmsɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`Ê `(UVRXY)U,UKN.RHI!Z!|F6X';{ldI>u*+ya*(J`lV]-.EqiST]N Nȓ+_μУ-+\HtwZJ[t.%>Ԣ60eQsot--a?7:q*`E I&%tbI*a[(r=t Q-{ATmeD񖵙<~G/ ASJ n 4yF~r#zAe P#=ȓ(A>Snt#I/Ba0 F& 83Ohp;qģюyM <@x/L%ڡi` ~HA ҉ PGC NLh-20oZW6p ҈U 8 r xbR&`+(K#%P(c?6CP TQD40+,w 9A8Cz$[F:"eK\8`)Zc )uRq\NLhJ32 ,!KZ:(-sPcT +?ɓ7Iz򳕄::v") "5.D'9䏘H'2pG%$u3H萂-P#=.ӚNy9Ap-2 A` $jT*!wjCY}”DAEq`'YMMҐ*STHf:[SxA<6utC)Jʱ(AH Hoʜ'A "HEHIbL& F PXƕ 8[OM@m!%`98+چzk=W4!O{SֺI)A&B(K 2SĺTQV x,\BT!֥`1-jy2S7]"m]zû_d  /&RdH~;j^ABiЄ #!Ɋ;.C2.Hx孤w/q+&;P }ϒ-q%8AF "90c*Pbi E3jTWp~ҐHP<;(6M]Gwi;9"yxi|:ԧAlfع e%LZۺNcyo#',=(}?YO{ԧ0q]Rr\",!7 'j4Ȅ*t@B4} AD 5b́3{I1 p'@1X?uCa?? wܐ@(ۇ|AzI4) ƥp w$*3 @ 0R6qxSp7ϑ@6`A:!|c7z^C! JtxJ XsD>a !ȉM@7DŽ؄D!9c9V ep1^pG~0*aXR9A@T aGCA1; @JUZrp<s(h,x8SE^@+BBY?1Ubh@XH{`gXC_ٳ=_jg!w9l ԠD&Z>GTpt@AB"EG$.9B?D1i5DD@DDBA2?;AB#&B*tw9P2DC$E8V;\ECEFbDFJtF=\@3H_S(qYFKF; 0z2@@z 9 %+ؗ3ǁ9zLbo@vAuBQB'BdFLyaԚ8XWEEd9F ^DmV9Cް: chEsɕ=3aJAI9DLrY C_us`lcgP 5HP䟔3 P;4LRdLNԠdLOK)TNڱEp1hJN椡KǔLLMdbD>uOPN Q"!PeP>NPt T0OT(N˵^JHbVzWWa,+S1;Wu(nV@V+XZC_XY=$P> *$X"(sd8ZPZ>Z [IhP]H[`[ .xU[A[n\0\VWXiN̅[ݕ|a7v敵B JP[( jH8XaH;1稂)88C?90{kj(@*;e \+;Q;]@gջ aӿEcʫ\@hg,{sau;B_?S_>1)Zq:`` vxv Q&b[+ic"6:aa}k]Kab%)6c:b5>vSlgDF.1 >VC>?R<+mP@Ѿ[z+HiP*8sĈ<Z>`b(vW3]cOu{dq|q"FEƃf civ|fjw 5@gQ_@b fh J<$hQN|qh<1"zƲgMlh[hi'1d)ΥjFJa `qς'j2jj3;zkLFZa9Li+"}tdltaΝ y;; j\ӝϕ&к!>jEm vv= TguuvT0yfG'hםQnw wtwxg zG)9!yD^y@xxBvhuy)uCNFk:!'iu!z=ܦ+m>*Iݑ z xJ;Pvy'}BEW>wqn py29y.xe~y|W<. -ۀ>.t 3(|hk 7C1qLc;]Ys 3ٲr"1 KwbFG zyNޖP~^e h]gk:Y$PNydE~VeI钥Jyc 7pW|qaNYeXV9ťl,\޺I$; SBK.) `K Of!Mxn]unH&vۧ*=b;n~]zeu䡅4gy~]_P$` x@&% 'VaXa'V"ASpn9 |sJ a A"Ba[f;+ME W :;4*\@</y w;ݦ,$%V#WBBʏ^\,kыŠvxl`4I%LcG@R 1cA@R L,] !77<d QҔ"A H"7 DC$0A-z,,1UK}t)2rPFEqhǤ9r.$ kT6PӔl%.‚K.fi *CHFThE-Cb&H'4z5Р Aps;(c"r1mrr!BHB2Bf噙^<z%8%N_/\%9:!;tjAHE`Sug\*X%; ducVF؋FVle-nj^v3rP670!:Nj=SӦ` NKp }%}(n5[W%n2[\䀶`2D|-6D\nw]׻9QV%F(KzWo} (^Wo_&p |`'xqVK``GXp`q=(["j8-ԘKhx4=]( ZX;q}\ *N5 %NqK<`Y(djD-Kvef-!J;<%uEZ]=?sg@y!v)0+<B0 NdO S -$˝ 3hkdm9bH#eaz_Rj@Zֳ=S"-Q*@6МJHC I@B,h8c;p2R\btz!@1s3 bO~؏,)F;øE1)Y_P"G)Pb- $4ej,mHE,wDʠRjB/}`lUjҒ5ՌA-r񐂗@Q#BՐ:+^-'}M8ACLb%0G{rSCGC 6wM=(Fb}8%JxGI@{kgy*k8`C~_N,9o=v<ŏ6kS.Ӈr Wh Љ>žIIaHQ+A96[Ǥ*ȔZ&x"2*XAp|l+2rP)G[*꩟ * iqH(\Gvw抶iiGhAjWii5X WX,Kg˱쳏՘֋txLMNh,րk͘X`M@I7k&˲泜p;4qWɢlшO@q  4MKrҮ^l>{JH̍t ɪmZ*+Nj dmJF-~nnn[nnSKAb1dF L>o5$2#LxW24ƍn؜o3`MCC4Ecx tY$ ΰ`NuNhpqq/q?qOq_qoqqqqqqqqqq r!r"/r#?r$Or%_r&or'")r*r+r,r-r.r/r0s1s2/s3?s1p\X5G7s8s9s:s;ss?s@tAtB/tC?tDOtE_tFotGtHtItJtKtLtDp4tOtPuQuR/,Ws6M_uVouWuXuYuZu[u\u]u^sN7u`vavb/vSGu6ue_vfovgvhvivjvk_7vmvnvoudokwr/ws?wtOwu_wvowVowywzpWuww}w~wwxsxw?xOx2oxxxxWxxGxxxyy/COy_axyyyhGyy2wys yz/zye=eyy9JhJxwfcPsAPKo92O}_}uQ]r>89.)2~·7 x PeOo{:|9AHsss@-7|H7@֏ur@ hPJ @-A>ζrm :4pbv8[6* -M5ÇGy(h&Μ:w'РBR2]J5&@JiӧQMJ*֥Ƕ%gc:km.;AmMKlR@>o•b} HVz=,Tx eV|[wA_9y7Ǔ/o<׳o=ӯo>hOxE^)Ar58Q5D#D̄l2uX4|4Qo/"18#5dTRJ1&`U]U%lmec$5V`scfV|l 6 T*{n@T4M0x6q8 5A# 2z5a=6e}6_J*4 Q4Qapw4y;cBepQ"u5G f.K>9P&EoJT>;[mAS6!pY Eb%R0 X]I^=?\Zf>舑l_'X7LYGц_EwL]G,K# "\RߠЍ}??xdR,V` ԸE0@p<8j #3.ʑ&TtƫHaW4$+{f^榳gVClwӘ chOteRX@ ur bv),gZL¢1>$5 !Kʽ罰эsDU'=~# )H0'Z۾@0P VI H $A4 5B-a[(nP"'<%*S)b6ʜWz7c)YsC-K/[6F%TL|E'&miO$ I#y}( /Lkr):/{):Iz# 8rDʝ7}Rx4ȅ2}(D#Bdr20b)B'EI/7jtH z-# 򴧬4$M[PZjH⟚?O]Xqc0@O!3]8;xUy5gV5Iv[*ѯ1U1lP{tCyA Ab̠X¥kЄ =,hC+ђ6 (h5M~!#! D,"O|e:@0e!0eOt6xWFF1S9 2|SU&].sӣ < QKYV jΰܐ1IߣTWɑV2eAX^2u-Jd~Op5n~9ӹ;3C<:3-Av>4#<ю~4#-iIZі4mIsӞ4Ce9gԦ6EU~DI}YΩ5s]ԕ5[>6_ Ύ-iSNm(6-q(>7ӭu~7-yӻ7}7.?838#.Sox 2s8C.򑓼&?9S򕳼.9c.Ӽ69s>9Ѓ.F?:ғ3N:ԣ.SV:ֳs^:؍.||PCNs"|qx82~;/?apH;4hqH-yӃ)5;xP-w㈐G= ;lG9 HȃxD `Wh˕ nЃ>/Sֿ>w)l7e y\>㙰-A[pCG?3Nzӿ|X%C:h%̃-@B-@q-ȃ-+ :̹cRj\D^!eC6A< (R%7Ca1&#eeR&ǩXn&gvg~&hvAݢ՜-R!eQHVF e`7\^7D6"!:B<$p&<^ H&C6BR'ZܥC&wvw~'xE30(Y2C4 c |I`1L%%V4\6l'"f<:C;pCB6dŃ7Xƹ:C:ृ<n'F&a*"v6aNgi T'(hmz7'$d݁-4((;db_:b.)6>XA\L)^)fn)v~)\@!,YM H*\ȰÇHHŋ3jȱǏ CIɓ(S\R"ė0cʜI_˛8sɳϟ@wJф.XzӧPJJUIj0\ÊKٳS]TWlʝK݈}޿ S-an+^̸q\ÎBL0'c6yϠwu4ӨSsΫZl_J߆zVvomP1a7 xUӷ֝*غ>w8=EG>\8;8Z]NnWٷ?^<㧏Kyu^XyY{AǛq6W^XYqbW!m≲m!p,*mHMH#n/蛁2=x#D5xԃ#eg:)]Ȕڰ@z~[uRw&zPEnt&w܏>j&0Ei9\,FM (Jciـx?4lb E8Ĺ4VPK>ŚٻVތܩۄձT#99Ӭq/OEL/č1pza.AQ~ʒc*dNJfԋMÙJDʈ*e&;S"N{0;2r2* ?rx.St"нc";,?{֩^}]Q9g{ }||H{Cg=V.`^y@7>yw>/n֫~ӮL_;7R42_¤oss||\5V'Q|e=K=N9җN}!h6LuWLuld*k7xw7VbPGVׅ~~':vl5d\$V?rm%Ts4m6\$1 Xm (cr7Bemb\r~=weWus#%F[e[WpVg"ņ^.fKSGZcׅz(VQZuHǦs.47V؀n2VO\}5*.hHD $S0EZIi7utjtlb*aum'jHd^?E),d.4?(t22vu\u'׀CU 6]vVGD\&Ub@og`tx57XJ҈Br}fbdXWb,5Zyf(>ISX^98[>H9wr㇏p}be Te5n@|Ihp Hz(kC )|M~NE~ˇ(w{Gr,In%ؒqnQ2y{/xWd(i29ivXdDGA zsWV|HXkZKI475EuZՇiWy[;p]%g'X7jSהۨcI]&f2UIqnE9㇝ȗEP" kxyGZDWÊqkd WYƃ'XͦSٙ1fSouxb ӷs^fiYjFRYdT*8̹x)DfGɚdN wA7O0;Oϣe(}fG#RRwr5sqG ԓ"HI])av7TsxSਅ&\StHؕOSxZA"ȍ،И?iF4(U_TaC(7 V= [͘؇!Zφr0zDX9:(8/.Řå)WR$[N(RCqzRtłE4zvzIiz6zuex(.:@VDe{tZ! ʦf'H_Y\[uz]Q1ME`X""ҕ1PɪW"åX=sVW,֥H]* o?3kءy}.Gwh7TVtչܚ-7shSh54bD ji\< up$  :+UCò}V[No s6څ}dz>$Cs9Q K۟)?$&F[h哬att eC6ɢVfKЗȠ_ڠ#e h U,lk.x5-zSꔥys'~ ZSJ,Zh.ۄJu ~8B\*7B%8Ve;F6/cwHu:Ϊkw_E'aV_G8&; XEט{:ҸHe5Keؠ˽컾Z۽{;ir]h'Y8Km9c ϫ!{5)J^}Ëli<ӍS ڬQ/W8$1܊]$x$𻫿}) l!zkV=Z9S\P|iz8z"ծG c J[ T^?!JQл.,T8qW~Jh|[em#\d%ˏWHQl%X/e5;R*)[ִgGmLthsL6IED|vQq6[1<Lf| Ͳ|9Ctˌ9yRXͥQ6w:tE,ZگH%^UGX{Sr'~q=Iŧd ~gFЭ;qm%M O{!\JY BnOmh(nEcϋBPR~V4sG]K Uʝ^l+ص͝~ݔ6c`=Wz(Gx\BvHU먲ǭ{K{n)\J^ ؖ^ \~Ntw#) 4}n}+Ԩm1ݼM M`l,M3UN̦x2pz-"dXgbηI |̘֔_L6~ 6o.r"n|YFߝt~9+KyEoF!ADsdRQSOo|@HkD]Skbp>θYn7igKvxJ[]?+X.8wzW,__ o@WՉqs{_pTFu}[嫰{2o]>o֛쒘x°/-O*:.u~_^/,u5uZF |T"k׉|ޒ׏o4 )R#O@TxB:L(ň-fqcG 9VDj\YȒ/UJ i ifʍ&O9L eSQNZR)>ړgHau!D[î kmӶcݞtp3| ;P#©6.Cc0DDSTqE[tDc FkFsTFsG r$E#]##s2:(J2L*-0ܳKDL$MI6t|'̾.=?*N0޷շGwBlu]5TnM`^I4cexK)Eyf[ry݋ձ6Ie/Xc[٩iWduXhy2-V2˕ېYs^ngb&V[MYTނz~Z&l Vx-mI0^:_OUpí{'OEJ켋^Iڵq]kl<]vT{[}od%L}tManqpNwp/jeOnezù||ZҝG>50MC骸4'Pܓv oA "'8ɂQ. 4o'UI<e)%I/s:'ANwfrC:zp5bN]TUÄԞ(O&Jk]zWU{k_WV%la {X&VelcIJDFVle-{YfV !),Ok H*\ȰÇ#JHŋ3jȱǏ )ɓ(S\ɲ˗0cʜI͛8U$ϟ@ JѣH9RӧPJJի>P#JٳhӪ]vQ`8b˷߿ 5tRFC2L˘3٨DK)b5^ͺll6XQz5S NJ;FQB?/{سk?|‹Nwuӫ_ϾU.]Hds %P  ߂ 6ZA6J4 v{0h(b`,⋁4hS2ި7G,yl4qt jL,;dJ~J$NkLƬ,$ ʮe/+lqMxzް}n(NAl)B.y؈[8v~h3Oqި%߬V,n釗|Ԣְ)䀋MwE O*Ը>Z*G/}W돋ӆ>$8K5卫*>ďx;|NFZe~ U/ELerv&^:@0})#Xaps`,~Vp0I2dQLRV~害ykg@(ѰT6E9!+[:\^-UR"ռA` 0qR`Y{i/v9_p̣Z(GnixL"F:򑐌$'I@ZRM̤UNz (GIRL*WV򕰌,gIZR-w^ 0IbsLSLP"4C=f"X5nz 'RWT59Y.tA,9)y̧>E)~=πҠf* uD'JKZ(4 NzH<ġТF8iRG#R=;a VG:,I?C))[ҕ;:3GGCYw;Z!n#(Qzx N{N `K`TzCMbyN8TZ#~F:YЊ'UB fX<*o")K"&ֱC"dPYQ :Ccf yx'do\C)-[ֶme{Z]@B8DX|p}`PGQ` 0{ ^ {PJ @ hH">kJ60 _3=5 i p wq>0~   " s ou Qph Іx8YE APq h]̸ 00(kP }a `Y p ؍h  ` P%"Hhvu 5 }zq=i/@I(i`v( C>0vx Vp㠈8Y, ahC05y@PV ] 9^ } Y liQTig8w o VgA9hV hPSP^Hdy`` `mY00wεHɚ @sɒX _ZhdyYdX0 yu =00` y> )  0 ohJ0yБ @ؠ`yܹzd Y vИ14 ,A!Zw(!'W'j4 1 P AJ:cɌax/P 0ȡ`JFv]Q 0*:@p}[8eY`Hk_ڙ~⠜ a ؜PV:?aک.ty&a/p`Zw j'5@cʦZ{3u*C  JZzؚںڭ : z*ꊮj* گT ; w::PSK؊hpt9x?(hزjSТ H` @F 0[L:8*AJɔ6:ɓ> \ے/`00 ;yp+ȱH4ivxZ;qiYUz})" Xwt8+T)9Q XYɴA(9>x 9ɪH[ۛxm r;0 I)癞ٞ0؋ CywxkK)xPۿ *"&m -1"zS`WP >i \=I`|y#(jֳ>Bf~ʦq*sڏuߨ p[p=\}@,uzZhB ԪT#jk!b[xbSP Ȩ/ j],Yz]t}d[z"j}׀؂=؄]؆}| wؐV00 {ٜ} m٨vQ ɚ|șv5wɛ<]J𐇀ʱ,@B˼6`  逘,Ik5:}Uk+m S`l̦qx(kA ˛ .@ѐy27AQ(2-v Tvj9nҴ.MN~4,9<0{C-E G-I}KNj>9L;_m TM( `-d-f AL0׫SХs=nJ@ `걞뫁 h>^>zm%~솽7a!5+>اQ^o=u-ɠ,^@͋۵-Jܒ.N"{ Q鱬&[W_Px(エx,"Oӛݿ<, Ҍ ;O]*/?󭼮~1/ .K6/,7SXZz.D$  trȍi]=+l3<;$NXE5nG!E$YI)UdK1eΤYeqqwǟoղ!Ptr.:u ѡEӧ[4xʩ29WL%Xd3Rejkҭ9wvlY/fcȑ%O\e0`cga8 zh̩UfkرeϦ]mܹuo'^qɕ/gsѥO^uٵo.yJwŏ'_>ө]1ӻ͓93_}С0o#Hڋ@SpAtP.5PDA;dLQn+iGঝyWdoI'z'qxh%/DNƕwtwڱ4qH#A4L4Ӥ$K)GL8Q=qAZCN:doq2lIKI<A7ʼnKZfN8i!SؑQH%MPMZkVjI7'LI.R1NVXLBA|x,ȕt`a2-Zq"\Yǟ)Dk^|W2U?Dꉐ"RozNOǟ?Voӻdv$aGzĐz` byfk.)81FH"CNtv@KhDE.8KL!zjV{㥥T,l1Pbnqd}@wpct\ągmwDkp g{s;GsOI `$ N aQ;A-Mfj衈&Jgsw?)NQ\ BH!s^ADt j+2byT2_BhHȖ*h+a=&PAF8"1!1FP@PSB<\A wPp+da ]8T~/a mxCP;a}C QC$b32#&QD-fu-QSᅨF $ ` kR]2yc3c*Rl16>)JSvp#C2EyH)id%,iK^R&F́QT۞d#.x$Q9XEjR y(mЩOj $؍T P: o"#DE*Sb&JYQR˜م5d@Q<9l1H#_cNS%|bX3 ʔaN3 5vTC]2THpx3R wSch7$!<0u ?&W9)Q @$a z+BV0D$ <ii&ȱ+[^7$!}\=tUDJ %dV:2Wc}4r_OɁ>q3O`PR?x0yh{up&W\FWӥnu{]fWnw]WS A 45eo{_#E"ЁDW"Mf~ ]HtTRGF7'  F L2>+CJY1u9)^r|e,ؒyİTՉ|90ZpeNUULf\yfKND)NcM$$pzqhdźubN]rfm}Y֮%lB'P¡Ȇ醾y)CQ*ѓled+}jm(J/RJ2i1K5T<)ST}ET'NTs*k2媏VV%W6W N]X!IQrke W р,a mc!T\g ap<.MVys9Y8GS[FElg>[x}GnOE"gA92rܢs):[0;~t22>/AG])ӧ~uϤbz׽u]c'{~ܬkwo(]E|ws{=͈F5^ctp ?|1.IN!bEbz#~yfnd"GEr*|̲1IQb^`|&P46:&;>Ԣf)[oƴFO#z)/Jj"_IxM ٔV~{/b t0jݲRsfv[ aEy8~kǒ+j8˲̚x@ Ay H%3ѪB  .0 A#ʶҰ:AAAA B!B",B#<ըᆭjC CB)+W@LA) C)]C۽2C5ܗXyc? {B3k<SDj.y1ʓ5 D\Q$DȐ>1Z:2;ܩ)%ԋ`²b2{;AD2qR廳3'y">lDT< Aܙc)P(2KE\ y)6?s1B\<iѶ4tF?t3+uKi7dF|ӒXy,ʢ˺8 Fv 9ښ9q䭫S?S@ TATB-TC=TDMTE]TFmTG}THTITJTKTLTMTNTOTP UQUR-US=UTMUU]UVmUW}UXUYUZU[U\U]U^U_U` VaVb-Vc=VdMVe]VfmVg}VhViVjVkVlVmVnVoVp WqWr-Ws=WtMWu]WvmWw}WxWyWzW{W|W}W~WW XX-X=XMX]XmX}XXXXXXXXX YY-Y=YMY]YmY}YYYYYYYYY ZZ-Z=ZMZ]ZmZ}ZZZZZZZZZ [E([0[([u M@[[h[9]ۋ۶u[۸[۴[[܉[۾%ܒ4 E ŵܳu\][M%S[eȥێ\=\]\M݌][u]0\]e\ͥu]}^]э]1-^%M]^\U^^ = R]E^_݈5_ݖ05\^__uֈ߽Mu]٭^Mݽ`V`aM`໕` a\6&_-Ma>a~\_}~>!^f`_^FV5]ߘbPbPbc0 !,OiS( DP@Sԡec!c)byB֣"FU:4Ō;2K5 Te %0L"H߸ Mщ]x,u8UaU !,r H*\ȰÇ!Hŋ1"(pƌ=YB$S)eK* q6 a|pA4#q!P22<ԟmPVwzLfP:yXȟR\y\;-G*rmݷt,J׭_vƵ{0K}X -rxKT=y⧞8OzWpr ^M& ujہS9<'*z6pCfv x+}}gcwwz֌׋>4Aٹ݀e'Wl$ _DզMTqt_= %x z E6DēG=Hy "{ubK.muWN1{t??GnT]ԣ&^n)Im7x%UUdɦ=@-ti\XZ^{jY%jh>ՔuBkL*무ֺ檫F{̰Zl6lP+'̚µ)!ic?FXQ bw"2>D(o *4%<4q4-PbttH&=gBdB:AO*=ZMo|7ySC<,pڳ|>utL ?BWЯt3]=R Pa:hA6ʯqyCGzқbz@ܡ pi/Ej^B+ y``g E~टB8 ` [&Q2g B,1U\ n Κ vE;L[MehW0*$7-[TK]Z<1uE\~n!jt(j7#EaarQ^z; OT/CPyG8" >}c!B[R h<[bJxɷ_vP2cc1}B 5LJ7u'w^:fMǩ49Cղ| I޲Pu*[Vws֌pBCщXeTǺ?4[.us/͞4{)ER4~cK7J94=A>y%[7KҺ 2 Uyf4LS/3u=ԏ Z]a?i~ª.%)N-ѿ ^c8jWe_fHU+%|Pg$PH !pVtLh[-bA vKXJ,ɌׅN4;G9Mղv /;tckr Nk{ۑ[mx-.ČN- 1/:=={Ů벽}!޳˽=zҎa/,1eLdc,30Eph2h/%!-nA'C7#Ap D): 3S!SpR/9b=]p8)p 6/vj:PjHRj:ʴlNŬ=S<3x-J kւVll66|.oLf-tVA4LPpJDVp-0g$3vA2?dV'{@quY6Yuhn@4A O0A @l5qXo"B$7LxrWrLGg։5tC%ζFSJĸ-&(H 3 0D D(fc- D V 0#c'zV60FLx :m]Ї2)B6s  >|207o}TS u ?{CS4Q}]fOXF5Wh cm6 ג4e;ȌIxpं'=fVȣUVpBwBq~) g򘒹}v/_av-&\4U$,o_0` liA-!im@V/A%S-:f.C YBCI֓bkLuăBKƳgAŃj )-`N`S7yc `g9c-ƘS=3x-Lp-vҶne-v0Ȟ+4kP6(pWptr7@$A#2ooktF-0Ėh+er$pp !6FJJs2Wx*CCHww0U'rIDaYu07b ␠5[Y]0SqHu!4qH00H$^J`M09 Hu Gp "@jpbW]rJI:0G2]uGwTG1VG_z_ Qm4vIFx^ 9,)@):zG3yK15 P2);Yg䮚y:izbݐz5f 7{$KcP)57T|WI|Ƈ|VnHVg/O㪱LJY{ѷ@eeÔ{go 9A6aW*V-i4r/ <[-tFGgf?+Pgh8+MY㴲) ڦ39bknҶrVRCjC!I86?5U2oYkr:-jBHEHJgKʆ2M)V6:;gv6>nf??m K@0JVx:4"cpX?-=ݢ@HSXqX'zY { ѥJYjCx-U%V¦"3'#E7@mdBe\~juxt4H4Ѫ*2 ]4\ð8<7ڬA D*  cGuB\J_lc*aǐfaINf{9V3z x27Cꐋb5,02`Owp @b#96哙Bƕ=A9lgJDs5P5 fV PpPD:AU#._",pwUJJdqd0EOPi&x ؜iF;#8h|KKr)„~qn,MI::陠Mљ#Xޙ!T'5 }39+%.ՠ*7C(e`g&k*H=͹)3&l;kӝfbM1 ӱ&1ҰFL+]kmk5I#ZY]y-L؟khCʄ 9ԟ@⌟g- zQm @+Poˋo zCp%z {%Xe 4p9I&8 ٭ @XٛpшCajtLzIMۂLTj -tt  ֩C@ !Ɣ L.e{C`b2m#9sӿ+ؘvt:ߌJ\\n4,rJ:*IHu:JRN+e7L8"^$^U;`xZAIJR)J_])fR;ū2]JJ>DS-T-e.⺒Q%79Fn̮#\Cؓ*XGY3.. 4bn۔c}㔫_oɘ tv9|F])h \Vf]sB.VYe~ސj+w u}d>r*y ?Rĺ , j4IWř4+,TVNXP` LpC ("D]0*qƂ0@ylɓǎ-S:yD.?Rд'y}sV?6n$9yC!l?7s];qzqz%ޥ tZ C!oeULncD`ҥMFZlM~;O6S'xJҷt6f׾R=qz77H/!$Z['_'ozuH6n]2c&NSС1q+#u8%khq2;VL2YCN9{.M74ͤTJA"WtĊ!ć)ǒ_qF"O|hx`t/rD'F-bHZϢܨt>ĿuB*+ztKr,VGȂ{FKyӠJ\I"˺C.PYFQYğ!&tydӈɆH,Wlp(! A+c Ua// EzDB ytGTJK'M;ӂUeGuOHQ]\tH)KhI0.%>YǛ4uzz6Y,h LC蒽zQX~X/!Zנ dp*1uc'1݉$ ByzN% 8 Bl$nxVTB zP)ǟ!'Ǖ.="OJjڰz,mR鞗UO$qΖvLy:|ΉaDZGOڱe tj9.IK:Y N a!Ho!>y'n(Inm!ڑb!qE0u՗tvym}DP: GHNT"> -$D@Խ"C,r`P R{:!;$c:aI!G:>щtA b0 ;ji` 5\dZRe(BqK2Tj,c!r0&hKcI'EQ{cFyHD&R٪B>Rd%IKfRL$&9IPR!M6"de(Hց2C6r%AˋArd#\l5 &2IZbpHb5|ba=^GjHe nC$D2y0rI\$Q3cEW *z 't!3 L#X.v3C=a).RS2%jB6 -[C>`R- *wVTzzأ$G)AOz+c 7 ;: UІ8ajPVYA ZRP_NLc2'){PZդf9A!, OZS( DP@x,+)R-AXr@]4餇 XϏ](z7D/ t$rT;_P=DwxT< d޴t< ԦySGZ!9Ё_6p0Hff"QjyR>@a+:ta:lÍNB=Rms@G"T8)g:j,BƸSO7!b<ʮ<Т@(QRK[r4{콾Iv}+l' w?qg ȀCĉ<BB3O=!;q,?Jr AR A &|2: sC2 }2 I Y=MaK/t Nc-[;R#S<7ߪ?>L -)t&WM&`y't7Le =!`;G=LNg‰*j,9S, *2Ўc`'p5*,+ $ 8o d YY;e(KX"B/;ttt_/{ nJG v%L`4;h%6$HsKR,+걈ʕ|Á|0B\e QN@ 8,щXᅴD-1A}@'wpfy Q*XLSw]:y?: Vw)>添QBt\i{<đ[9hQ>r`b+/yP1b8!}- Y>O :Fyϖ# 6X|]="$4-LЃgVf=R P/P `=:%>8(6U>, * aWSJ!@) v*XZbL^D4]1X#θjoб3]^Xvh\d@ԓvmg_c~lV{Ȉ땇g06h ՉghR5g8"pqÂ|Hh :!5Ȋ芳xXzׇPh Ax):HUԊx5zH7UhzgV HZ8(RVU1 ȎL#3ȏhHy,9 B 3HM#010:iG"T"LXE#I'HyBxV, %E_A_78:ǐހ6 `EV鈱HLdAiɓ~̓7\#SD&3f j3ȕ=HrYG`)-c2ey}KVwu)H T,ipDӘ[ZIz؄* Py1YՔsiԘkvp2FBtJ1 f(׸Yc{` '{PPf AwNl2TXY铌 xH@UB1qNyR)س68yq9HȘגȅ)DN 03aӐJ1 sZ5< Yz Z":Xɢua8$VYa]5II68ۥ9&6G^hXhPc2 A4bhbSf;DV?b@ؙ]z@kB0AfC,S>T7Zʚ6X.2nhDb`2fDHDDJDl[i84}G=7yrte2/G$JBpP&0cqè8MAaM|tؤe覯hGX7O4fyuQu2NǍXK3~ ֪H$WU[E.UǤvhHzSʂW0Y28V7ʯ/*䊃N:Y8E%W4MUH#S5 Qh{E H*jF); ۇF+ *EG[8::ɚ9ɑ9;1_Iz:׵Gfq Y:!臜9\RI}d;_G5C8)`8 {;SdQ'1p|Peiav r \^R?|ږoy}kbÖZ{,uNފu7Rev h >p6,kS)vP)kPizg}v f256e 0sp MyбoWs刄` O7\W%Xjq _Ap 5Հ|! k3l0' $)2,['Z3Dc4ϼR:Ӝ5&:wq˔գ5a^_ha[kKwT;W28aɩIk0K34z;ij2?\W= +lpfj@{ZCHxK4٦7̱V6Ko[:% {E,+=-]Rs:qO$^-ǪVӃӋH5̾}ՀFp7܋1OԳȄZ}Ӫy9zVPNOaūf2gdN E5لozSW0Uw<8TKEEuhk&)lkp%Wt LXn˴6ļLͳ1=Yjmq^ܪݮe6IeCm '꼶q Szc2J:A[ܶdٞp\0Ac8C<7flonfq19ғ4ѱVMR%5bXSgJ΄4A߄h1 :lņ IdM(@+-XHG]e}9 w 1@,nRS LAK\MjHZn2w=SS23);|zPjcZ:Da~PՁ S]LJTJT|@쩔Z4͈ Ԧ|ɦ =زڬ;Qn.4ݏ"ۼn,0˝qh_ 3^լvVІw3ݔmu=Yd,ΟSֵ anhG_1 q2X4o!l 4UJZqk68@La8 Γ[E ng^2pf+>V;Б/U==>SDegt6N{ j^馬˧Cx¯;˚"alnZ1&ɕ%v2K[ߊ <>k25̀lkӒʽ%/㛊en?t $3λ0JAS[Aēu 3C5B APtKȑvnŸg{/GmBW!TrI&,&{4,J*_|*,pJ-|"">kLT B1NqJ|3D5$HC/;kz M0R:LA DߜO(!@? oy:AՕwhJx&T|$%ڱ5?hG2IGq+xNy%xҹ SAUvm-׮s2y$h nڙGOju_co`ՉniǖKXq|6i\G)q\GhHF?UA$P%Ҙc X2HAt:tl@4W,D[Ms$dT eB`bfN8i27m Jn]D!(:b{H# A_D>yN|yƅo HA$ ƞ!l  A>DăE1$cH/N%U>O{JT&^2R{!,OjS( DP@xLb }zOܟSJҷt60'ǔ?,aSMT3] t}4#FLA%Q#zTbUWf]H1 !,v H@Ƕ)`Ç#JHŋ3FLاBCIɑQp@¶>'cʜIfC s´ɳϟ]iѣHOaҧPn|'SX&ESׯ`ÊKٳhӪ]˶cpuK\e%o}m ,n܂ \Tސ+fzc#S+q†Tφ@%UXi+~l9"g5C/hi7 . _}$>quXG tII^w\]\v­LG< 2vy'E=|6|rWS \ E?n=C<:1抋V0?c9Wϵ? tkɡgG4Ju *؎Scgݡb:X7'_@?C@.f!h<.}YBOeX=޼I:$5%SClA'?_ZE_](Wx&Op 3AJ|?E.cB!* ћ&yj3*I=Su< 'i{#6m*8%xAuߝ7_4o}Uwe c @~t{cG^S`t4(Ѭ-p gCNǐc _Cx_ #sT>OCԃM<~Nv Z^×6XKh nxģx5ޚ: Y Iu0FbQ[V`m!8-μvd;)@2*NӟCÖ`S/mOwy\7:SY$ VWB ɿ}Kԇ츅^l.$) VPqd=iASPFMo)@kt.G" Kd$&"-2RuT5 iFְ!43R^vTW<徜1B\#Hpޖ2B]S 1d@~,(d+yyhD% |'U/SWLfBS7(0RKe~Ct,ʰ4։^qfϊִt%LHXa9Rp".}}~~q4=`h6}gSayg04"B8b 86x;c{!g 9b!dc8CPg~eSV8(2HGv;&2:~Bwx\?} A=f>h4DuR=S?>s>FHO(IDM$DDdDFG6Cy!DERDEkf+bY'W.|2`A}i% "JD0ڒC@]-Fa@GC00'-/,]d$?וg|B~hj&qS3B9U3]We6*C #H2 Bi3736R„S#EXc9X#r>x9q!/6d0Ȋ7DLIe=81´Z9=DdCbٌQ@>8}q{E}a@#Ê);@4AS>QNH$JFI20G--DQ4E04nG롥uĊA}B BkUHC{ІL ^`ϣBkY M%C4HM72 2CLXnhHIQbJXI(X:Pȋ#NSd!q?z jLG#Q ~騭Sڍ*SZ:ӚʌvڮOʫzKyjaZ6;+j Zk1ʯԭq#%[uMh)S%]fv/Nru)GP,ákAV:asޒVko}ax䣪 ސ\œT * ^xִUEy&P;&?7) E DdK!$bB|Wi}v;Z"&vg~-~&gt/UjV  =AC[I/XZC` f..D#ge\h )@ < `A`C}y5Y#x2.;ʻtEw:b<&9ƻr`q|3<^Իs: :.`feqm1[1Z2@ې&i.Azx)P 0釤y .hǹ˵\黁*6Reݻpd_H4&3;W o~28 :׾"ݻDvOY;Jԇ!7fa)@8{U]Z+ Drg4xD43}0gr>MX°sa8 Qcń^/Ճa]d׷7:6]U=f.'Od ܤoCg^fh6.lDLuu"Y&Ë۲!}2w0YjzBjph=HmJU}b $JرWl!Fa#aM''l2T!6P5r<.b?&s>GmȉlMmݑ* oWﮌ|΍PQ  UoW!~MC򡌡c$I촏gV<䁴;ALT[J2M~.R~RY*Lnl"^ƶm=qbaKVhi}0=\q>fOm9+3RχL8ϕ!:th?).LC.wzC<@) Rرm'U2dx2J0S ɒfF|պ!%v aD !$+7]):D SijDQIÚ$E9VىI#ݻrC./&̠Sܕͯc4dYbZCDל1+SgTu](k֛NܥKJ;!ߓ) >d%Lܹ 7Sa)/;V?0dOH@wYeK&z \Jx~)x`眼gRbC >q(khN;pRP$Ca%’\au2z6o"Oo\yڊnxG!iGMeC2a95'yi ETnAƛcmq&gLґGB޺đUHb.W)ʻIu^Dx !N#>Ȓzn C!%;ᤝZ9Fp<z*lIKIyx" /Mvqjdo{ݛ9.a[-E}s `D# Q&,x%h B>J$[ >7`E+\TRC!kx4dxJFbXB^[|aP '>[=4’QaKb. 8L h~#l]*tA !w#Fa! n?iTyXG $ (JʆLd@!#L'Gа@ !bD%: lO"`t8D=!d&4ARlh8N | ".})Ld(oBQ#)㰄?Q+K^dJMDTNtj)Dҧ?*Fmt^HDE*H*!•R J]*SGU禐L a!2JM̳TZ S 8| yA'z*XK/ B pIɓ(SJt QI͛87\sfΟ@ -LC*]T K6JI{Jʵׇ {~KٳhӪ]˶۷pzݺs{W߸|60^ˆ>qٺ<vLBȒ+kzn͠*9頝^3`ְkB8mN͛7N#On;I.g۰PХ[r:Nϵf$2<o/{вẠz8cC ޴#zMM; fA1vҢ8:;"?cx8&Ym@8t +)\R8|J;S $Av\?Ph`:Pꩩ^`:X;^ꏦ>ti* j< '8 -2C*;pN'S@s)Dڙnב3 Хwz'8+BbuGm 1l!E5a  ,}<w;(@)Bd2к\+<8ϫ 8k` 53>;Йv"Z;w =z ٌT[CSW ,5^_ԷӅA>t=u=#@HZ9='x֎p#6Q|vC闤9硷t"^|`@6?㤧G%#2tNPucsڤ?`8@u7= ԽqARu@ ywP@@b+/DK x2SAH8d=Dă<F>f49+)aXwzB YCx7opqP H"<(IV``'#S퀘?fN羃r}@[J+)=:\C&bm#X{Hȓu_ [n摨&ϔ!BB bG- Խw򸃤vӹJNdQ FٟiNDAYX*193u@Lvi9s$NFtֳŶ6Ǡa@ЁHA D#P#PE"χn9A@ʗTi;osF-e(Kv4ʓ7a'EGhs4 ~zYxFS$G]|LJLS<}`wdͮPUY5zœ7ޤt: C5$HG',t9 s/ETZbI-$Ty?>3I A` %xSTq|-lsL,H Sogs5krᢂ7>r+Wi s~1Dޱ'Efӥ=/;t!A(p\ngQ $x:^M f;Ƈ1 ɊEj6R 7#4kSuA@x*^h) q yTd hy$dRLn=q}I-s˔@$i[S"uTe1fzQe5-K]f69(%h/f3-J\S>΁nʠj;Tn.9Sgl;A#g%:v˥Ci"HAsViA V ݚA3D Zk0S91GA(BӨGUVREu bΙƹ75USW_SG{sj/_ji5g}^˚{B(Naiqi5%Ys,bk$ $^N3UzoND1=S_[&4}~(噞-%7wiy{fROYa@D& 1,ҏ>yO{4ۇ}D[?O2]Ɨ2V#77^ 0q2'r\2o%uŧ aMі(RXÂHP6u$P#$Rm)G*0*ar P 0-c-NykJ~҂fMadW`r @cǰV&//@#4/E63#q0tA7a4b(dF$ spL4q/ JݰD6>x2\rf!sO\hA0\3LT(x[q9Ӆq!@r2 t5&8E4=X^م:FCqXc `o8fh6h؈dž(}8`SHOws.t ~=-t6gbL[E bthE jFGKHa`Wa=ʴbDBDGvG8HtS*'JdkjAP[4L ) # Xd~LwNi8 raXs8af{#{e 0FÔ{ѕ_ a)tXg,"+ROo)q9Fyg{I}Gfo~u{wdٔTasA|рٖÑ|;| u)}9~W~~wX'R qAYV)cM2!>xH(uTrR<ؘδ !UX_(a Lv'zIT&B&j$ifuG%V%ZV~1.XV)s>s.X>Zz Qz; 8X-*Xy d4S1J3RajB6?Xt2EfxaXDO Yd KNa4Fa|s0~V3E.4F7iH.&ԑ!'C@&YRe,0wä+4$KxRKUdG#jMy;tc[KsaIiA!ۗa` ǝhɴ)p)Y< >ky[k=^kfyqfyi;{lmok7vWQ|iw+nr_GiQ  ep+8qH;S*c3ilFcV x'JrC hxUSUr\&n V(҂.CVf%E&r8:ؠYDu \peRzWVW X+)z>3eQ3//[2XXLaY0q(pu6sNFY42GG1dStWk&Z# 3PpғY4Z%[T16x(u(gZ-G[68\ڨd1d\]X8S0`XT]s]SѨȸ <|3G:& rP^^ÚE_2]5wU_UΈ>5&3(fv<-;0`%` G`΁` `uL3ʍ3TABN"kBJ1GJnۖNRa/R6Fbb^+-b0GjFSdcvcwrdh9c=cM=䓯+A`FdF H3K-zwuU+ixz,DKT2 wC fbF6+8@;:lvZl R}yKj˷r|Mxҡ'Ҝ6q4MQM ԳKqD/{qwh r۱OH}Uu帙3SS<=` hNILn'[1}a6@SgSkM6MZyp <+14/dƶf{VGUB2Kz&!΋$J/MɌ_f (kmŸy'ʛ&(&']s b ɨpXZG)M3 :.n;*b+,K<[]4X/…-آ-.<m5A@ϱA0`ï[-U)A-K <˽Zc3[rMӥ ,;3:H=r43G> 3 PZ8 )Цs坑Q8] q!Z2 0ʋNm5^_:Qe=Rgck>Pd0:l_b姥_);Z?Sź߽E_.^U86;^r@6q1Pa,KZ}SӬAU\:$З8\T ^:4ɧ*,6%r+0_:c>Էu捯]bd C<2%{ҮX͕\E{dDĜF8^95@a @`r@pQhĊIGRCw)G/qE 0Iǟ?TRQ3Go"[ZIyDpAkH̏LIa k˟vhA.F"֡Gt@lnA/?B+eR ȖrR%%餠;(̓y>GL2SPl1-!S H@B,RQu)dK;XiO,S45ӔrEVRYDwOLZ쩠jwcw_1Ye*]R)pns[L_ HZ ZJdU+jIA81;%"/vjZ1C*J wH%*L [؁F0w+]늮 0HBF&5`ŊRKtb'6!7i^F&CʆH` Hg\]&vYMn!S!bv؃ ŧ#jT֚S)d;}Wef9뉀xtk S|upCw +|N@S1/g'"7An)@9,$X6{hH':5W˚ZWNZJQ0Q+b)?voM\/%a섍1uO B2_.dM|^j3ut=|^@!,#O_S( DP@x,}7WheTOe\TKV’fL5sބӦLCd9t%(1SO1R !,u H*\xÇ#JHŋ3jȱǏl9r$ȓ(S\ɲ˗0-͛8sɓm~ڳѣH*SBӟZJJUO9Vׯ`Ê%ukhӪ]Ppʝ+mw/} LÈ+^̸ǐL'Shެ98/3gШS=ΪcZ׳sXmӻ G8yqŏWd 'ד+G{i[:YS}[C 1OX)XCT`Xw" 8ǶqhD.X,H%%Eck3ͬӳu,Bv,';Q^Vֲ,6ce+uVB#3t+CzuE5\ 43qɥm6Սnmfn5N~$v$Whz_A  np~k]x@0W( HJc);;wGvgC@VgҝͷTܮvbH`/x66rkzscA>=ӛUz؏{G1]['/[Uu^4w'CAՕ$D1'Ye&Yvg21P3B(`5C$ yvԀZB2?jx J"62 AvX3$XmGLX'F1hT#(, ( IHLes'W@G=E/Qg$?9P`xxBHG:1T[ RYUbR,< J͈Q^-|9,R[r6 )]6w|59IM42ME}@"<o2 (uꤿ[aRp rȃEP ws۟+0 光y $%/d͏R}!v/?D}C~\uG|R H~}D<}w3ܧ#(~|'S8*8HhGg|/z7L3h|5ևR;|ԇ||%~u'2zPRJzTx|X{_p hjl؆npr8tXvxxz|؇~8Xx؈XxH@z`zpzX؊؋|k`P(Ũ0z`PiX͸@xz@؍ȍϘ؍H8(jxƘ ؘ @(h؆Ɇ ㈏yxٍ ͈ hh8$YxXȆ )Ȇ  <ٍ(7)3iFyH,钨ؒM҈m؍9ٔ^I0Q_H jlyfXnp/ɕ;)qy(o)iɖ&~d7铡pXfYxٕ YȗH؏i ) zَQY!iʙ(ى=I(ͨh(*)Y )xቌ(ٞ9Yy:Zzy&g+V(hFᠧcOCHRac*>:?q  ǡTᡅ*0`K Ad'j{NVUJ @ S.6p2%%T4* d5N6 adf!LDTRZoeIuX tR;f,s*S 0>x[%>Cҥ)P ơ'd5\h*0Nd0 tv%5AsHC`-rⰮ g㨯k!"K)88mZ{U1wDŽ M:ԗ*w` N8{ᔾ׾[HQVU !+41u0}j{ yK8TdhW#|%LU=*~Kpe vAdVz%+&g*lK Et雧q+ԄIc$0pLN]Aƻf|r,:qc߀a`ܰB0;e~&i7&! @ۀ h?(?X84c)Pg@-snjza]lAft67ֱDs؞?ܞM\m1ܝҵm4f1k 0k̮7GFqyG)`$S ׼n WjeƋͼ "RtdKKEhygC4 N a!HF&@VJ+(uTR/Ԍ3 Ol3dyM%Axg#vI"ZܙGV[hnz%':axĹT4r`+9NTPKUw)s]x롰tӍ 5]L\;1% (~w8v 6xV(!C\7=ɺof3ָ;0/8e[c[dPޘfs֙.Y_Rq9z6hzVgKz觑zjXbrx%Q;9B q_tfZhfm.5UqɪkX另HBURh'{rQ-_&#iVurrypLґG }w^IK }t>]yYO \])1Q?f 8!aHh)obe<^x7ax 8[pk궶}/{Dۋb,l|3TL:*oU `+]9ȶ A` %Ex* "F/R"AEz*4 эs ).JHA# a]jX㚜\q0~lPŶ口\rzܑhn[*|\ZHGTĎZRTLfփ۷p*.ݢ*I([YL媲Oczl˘3_U\wW7}VӨSgU-5~Х^ոsVc%=9Z+_nAl 2NسkνËoɫ_ zO߀f^^ X Y+5(XfӁ* ~ hAޅ("C*4 [^ը#c=($Ai$Edv)4d=)) De]i9ѕ^fFcriEe6&VjbyКS)&t駞x>grdp h3"*'yPRii'B!j*BZ隫jڪanZ'ꮳҊk j넬&墒:iR꬛ +z-2KhBIXVk(.4pk.'-pD_Z+v)7yʂΌ&4s̱E?b.H'L7PG-TWmXg\w`-dmhlntmx-7| zD zܭy'}CD9}xw\oX>@ P 0xz@;AI깐nz~z|'{.;G/􋋮`z.ǎ{.`y7M>C><}ܟo~:޼Hp}Qic8yoE7A(pw_RG8Y/w\x@ CCK`4A-yAF|̓HF#ޏhLEi`>pX]{71y|!HB~n"7/x^lHHO|"4I Zl L*u2:}/uгT;!*P+"eD]f:Ќ4IjZ̦69Wz 8Ir&7|)xI>/~#>E:EY;đ}ǟG` 48 TT%{`FQg J7a@i}< y\t #݆?r-t Q P RK ȩMMVӕHC71u|B " yLGxxa` :u6[ăYD=WZ֣`Z豳lЎMj[ζm*5;݆MrN툮Jx Mz^w!@CN\v=m]'~FT ؍'ZWֱL#E; %48r[|)!ЛLP@NWQ>6vHAe/Y0]D&a&قזF:lw"c<zwp{no o4&WuSu`6K ^g%t}&ad78) vaJMzTֻ>o% QkoGO+N\c, Wzpt[@ @vPc wpY<(8tH4N0cRiSi䁚l<ᘲI#Uy?Ǚ_H ;V>q(` wp ${8Ή'M %~ $ga"嵔MٟҐIfjʝJg J$ea:逕"? 07X) 6xJ'j"Y٠_Up P `VMR\ C܀ k&b9œCrH 0 Mhsp2ǟV!y((q&Xr{z&sJj&ztO3#Ԩ@~"I¨Zth)ٛjzJw#? )ܐ cv3Uy*r﵋yseUڡ̩ u^ 6eFݐبbwΪZyZ&FfxuZ' _XXSxj TxgqOr\{)_Pʕ`څwJ&j}y> K>u J V~8 Z[;xur\:'9V8"{q@g[jZv`׮eYYiPikճ6q*ye)\uZ- 7K ڳ$z^EaǒD{6۝{''җV`U K[J4r@[)4cQ[,Qq;UKnIf`fh$`)diOSZ5XzRQU$~)mZo)^`,c3 zƠl<$eơr n uRwb aD3Yl0~ȍL1Xu婡lXɻR:v)w U"m黭$|˘Z¿<Y; h̩1l2jh,&KͧP%A$5$77fj& :RJqS+i&hP\$mLQ3t|" "q\҇!,3OfS( DP@xLb pk7OݧSc yv0viz`jRT2;J0ථ"Ol q^Ҡ!% T!,vQ8` 鳍mR!‹'^D}n;O4n\ɲc0cʜIMQIpg͑8zrgN7*uɴӧPJJիXjݪW9cTР`Œ=۷^5̲>=߿o͋ݳw(awcCr~;(8U\v`)diG]ّY9ȤG~>)ۏRDpQVd=(-- )gVJpip&H|JC֪A֢+AUks2r*krJ B Ye:V+lXnxMf#Db돛e@j~&蚫[*Eꤼz/^/'DzJ) lA oB \~% ۮoFㆬl(!,O H*\ȰÃ)"JxŊ3jȱǏ CIɓ!'Nx˗0cʜIM*9K͟@ JhIѨӧPJQzCʵׯ`_];qX]˶[)đd]Zo˷y"&͊È7TKī{*L^D<+ٲϠ~(b&,C^͚f r,uZWϊָswɻs{ gУV)'S0P1!ȍY-#8 7s@~#;t!N;0CY2Y-̓%=(=j(NW!b`*_r'dH5~ A2P 'i"?#)~ExsM x?~#N yO'7y&f2BN"~xb9 Pe $Hp8" 9@#PZBē'cɏXA= N9yO_s =?3Њ@7ڒ MC)RWԠ,D?bі~4h3ґt#GYҗfT9]J)Ҋԧ?iB Ӝ2SjMSMfRjCjTyt`5)9TxBUe'UJ֯U*@ٙSӫ=)PϦ5p}\׿հt^9X5 l\[2dyLԴl_hًzhBZv[M-1Wkv!ȭnw pKMr:ЍtKZͮvzMou @C`=WP~zpëD y;n.y x, փ`a6Э=\TC1X"nYx%LdNx=0.8Ź@},5o[)I3,&c.=[/WL:Yuo `Mpo<\?NsFX==aBҘ4s,q}*iE{5D-iXv¥ֲw^ְfpk>9FjFZX=jͽζgֹE MjoܹP7˽zœp\e*s2N|~`o zӾ?WuO}[_P&"v)x+KɇĨq\eN`&}G?w~5|mw}=a}۷{֗}؇}GD} (J` q)  0'A&|)p w386x8%|&2 xH8X =xȀM ؄zW1||a@{!Rׅ0X|IpPN}UH4iQݗxSW|w(@{yDt8^|qx8KsSj>|xRdžшHހh|zȉ؀i{Ȅ~h00g؉ĸFz׋ȋ8=Q8}xȸ x)h )>q!} C܀ GuHgwkHn(0(p gPq70 Ph& ) v`ٔI{P{5dݸhZQٕ_|vbً^Y,Y9jfٖ#y{ar}wEJvYSpzxCᗯGz${f(NWUTId[J%yP 1Q| v@|ho~9N fa >L- l44P B p J  A{S s >DJaA|0E)p a L*) W1 P9 4h@ 2 ! @ `’` ߐ63XPyz Q y>>-s Vʄ e`HW1!x sCC S)Iʢz{)3A]H0 a `[ x4ڠy6Q*Ax @)xb8(ixɦY79y sj PPኰq0 X`Ptz p]ސuى*z1 `9C4ʊ X>Ҹҭ*/У;J2{qW )VW @:P42J00t S(P 0& ",` p `ˏ >Ai 2HYJɤ u bPP JWP4i){@2% 0IGGYKF)yCNKω*AB!y˷}vEaAMKCD~5K1K!xt Vz~y:{5{!y{ ٪:{|K{˹| a_`[lл0h".)pIG CH7y~a v}Dty `9Hdah1k"r*A MyL6  zz:%сႢj$!taYLLIXx yW*l:Y] @.@Xه6<<{WQpIlRt*0 JlȈC[ HdȣyPjn:58ZZȌQ[̽ڽ{K(c8:)`"P\0z?k`3z˧  ̘Q4jʹʩRʍsN a `  ѽ [jZܚ1lj |ՌNY;>ij"z &S3Z +*G2K 2 07ͰK A; )4EOQK{S x ԯ0'0 k۶цI2: [qID qKǂ$N] r=um0l%an=4Ł- Jp؉ݬD-`(-Eّm+ګa[wYڷ &ž2ѺR]z.|m $ ZD! AA܉MɹL#aݍ3 ٛy9X~' )Pg; ~ 0)$. }@ћ.ig.2&2q ށ)ș!)YҚ.ホ >LPQ=|x!BkD *Ȃ*sQlz$j ù+ޢ@ o h(lʡ tzN6 @BLa ^ 8|:^t{n@,I :ꪑp) 㐲$xy <#t<]̥^)Q˾Wq~<D@V0_l U:X{]ρ)e|mz^XO_o .IK|y:c,P#xcϏLqa.?= ɓ" 0^¹eN'n #_ P})@؟P)eN=X'|ƊPJSlߚm or?JvK jj.txXʌ(olߠq̻ 𘨨Pz2Ju aNz?ߪI?*z ia/|1|:?:)P b *8 CqC7 &\ToHCWRvgӺzVjg -yvL'Hh9(%C Ō t 4?+IDۺN<5ɔQE^BBjay_S"ZZhcǶ6XǞ6. ]”IsMAQ#cǐ&]i+Sj)`p\&Dj{v:OěbmC(;vl$#:na˝噯d{{z^ui7'|+OߧϟSofvok-Z -% V4`OBAmI\ZM(@u^x mЫwߡӞu')$&w@T` '>Ee{Z62!99J2oԡ% xIMn,@ PoTW)!m#jI#FRYH3Trl\ iXpJUQjʵkˬ^ÊKV!زhӪJaѣkʝ1}˷߿ LÈ+^̸ǐ#KL˘3k̹ϠCMӨS^ͺװc˞M۸sͻ Nȓ+_μУKNسkνËOϗߞ>z!|o.Q6(݀)8x`| JyY܀xi~~h_!˙d*\. X6c'_<a:R$ FoJ>dJUin;n[^fIP)lp '_rdxgty瞀ZgLvfԦ@k*EfBjF'褔6zP Xzy:P"(t*(Tj(諯6ꮴ䦩.j쩷:jZg.rBA~z,&n鯇v+-F[,j ,n;+׎;K\obmo\ gCjE7q+{{6_=(0ݪoɻ_ԧ?|-_@k {dMx`0b e jP&GH¸Kmy[x6,lvwF[a[[fG_ژe΂bX1q g՚OÅ-m;q4{`&1pmt⤰H\%mUط+,"dG̎U+!F=1k >R,<$IH<|| 9ã7b'!CTe=44?^äNFeҍ\jGHZI3%%֌08 .SG#1Fm%f$o&nuST"ߙKlM y^G+=,]/Xӆ6rfrS^P~J@!,MSH*\ȰÇ#JHŋ3jȱǏ CIɓ&\ɲ˗0cʜI͛2ɳϟ@ J(LF*]JS'ӧPJJ'ҪX \yi֯`ÊuJUKv)ڮʝK.N)Ҳe޼@[֠È[h߾/mlxY372㫊C3[O~k8EԞAGnMueҸsk{lՅ[[-`%,yM-pȖ?]!ّCO~O.8|^cgw?uw{Y 'fh߁^'Twx|UoNGCh"S6`~n_g.6^x91'c`ugW\;ieGaL&Y]R- '>I%]ҡ`)dY\qelIg~tif")'|矀:ejdƉ袌6G>*餔VfxF駠Zjꪬ*2G뭸Jj*鮾+,ku̎ kFVkmG^e&m;nn{nJn.n ;ozoʺoo:pozp Sp7pg]DnPZ $3)r(\*2t,,̡L8/q<>-tR@m=LssP7tT#=uX}u\u`ud@*%ζ8BVɩZ%zko=ps'>uzo{gzW ܝ߃ZѨ}_gb~+zOb#@[GA_X)iL3NOs%4 A3G.oor g:nkx=$Ic"hN&bB*,Z_"b"=/}vcrA3^RcD221h !BM9Ύ~zmT@(Fdx;.} sqFdV)=>> !&2(͓GVp ~(MƒYe(gZΓ-Ef\_hGbֱ{w2)]9 Ld8Z+)MHP#9yN2Ryd'F""<z?,66>0%De^.FqQ(}ISR0]GcJS8MsSܴ@OP:F=*OT24}*Ta*թVE)Vѭr^j=*Vk<+Z%ֵޱn5#\Źҕv +`'~q%faK2l}l"+ٮQY,fFbC+EВj=^SZ}-l +vis˳k-d+=.r3r,t+ZRwֽkr.xo[Ϸzӻ7c}+኷`/~H&Ś~Xl> :z0 63%sc~B,91.c3TҬk6fl~3,йPijg޹ϣ3"A'φ(E3'm!,YM H*\ȰÇŋ3jȱǏ CIɓ ECɲ˗0cʜIM/ɳϟ@ Jtm{*]ʴӧPQ9**իXjZs>\ÊKlZ̪]˶۷pʝKݻx˷߿[J@ R&xCX1ǖ5Vh?R4D hѤgUd֮3Tr6mtRm ž7Jݼ-hUI%KLM~=|'͇D?Bǫ8 3oXx@ {T) !r &atxxXbJ*T! r ّ $I~@b'$%2%$*b¢?>'mءVxa%$Q sxcx#'? 'u !N) IQh! HHXCb@u)j.fB Yk>᛫|Ș%1ɒ%5LJ"r Y?b )wDAw#'q3d94f8!9~Q& yrsi.޸?# 9:A;z7!2ꔧ]mw34ŃtҘ,HXeU)B`01<g~*P' h @Oy5"h RbB(? ʦ9j=]8%`ua`:xƆV\$WJV&lbGC% {#yI1Q&| 12&5(cZs,qyfK'T%+C6JL\X྄(1 /}"כd )Jdռ%D-Iw$N<Q_ 3$D 6_&Ā K`7^Xa010_P 6duC)WG'?F;QRԢ)O}- 8*xSJԤQr-(A*>8JHҘD$­.~v9cWHHGZR"$g#TJBU OPQ'Y _DCKNs 2:4sH( 1NNykixT !Dg3-jG`?J{!A2?NTS!mIt2H U2>5 a):6tjW˻7["N|7!mkarE/R%C]2Ԯp[jY"EyA#.HN!!,i BT| !.;rĊ`w0*h@LxtIL=Ka)!;PL*[Me'!‰w!=86(w@G;;8˙1 . Hx# !6"`7(@-,#ȵ"فvMnd_ǜY x"Fx#d.酬 z< \鵞\yț G/lw;F&=AZƇ|fB ߸<:oCnmq#x,M()x72]t0!LD=t`-&$\!QCC EkG.wH|\QyA!Kt*~C~|27Na_bDtlO}˹=/@"Sx=~A&n^ (sC vA16ׇ>$?&=eDЩO?[b~W|"a L$- sp|w~g0|& X qЀ@^0` \7 /P귂aw u~{Hv oG||fcwi}xP(0mNh|@{6iq ,XamP`  P8^=u8p Ex4 Q;08vWgih3 S  vl@6Pp / @ @ba ` p p2(lG @\7l܀ X h86 s/p 8QQ l@` l0qVo@l p 7 "C `VxrH>@q4X@`q4 w6hw 4ܰvrm( k@>>ZփfP*vfLi!jF k?fxJ0g&FhZgIi0ni9l|ٗ~9Y}pvgkv(/fogsVggfjgj9vi-qiVj6ji vk&e& fbAKT%-iFm Q!hwq r'~6 0 rxb0g"rgS m|SY8$q'nHRr{qI*r0@2o^jrs ןJ: ʠY3F !1n&*qp} g7| 9(+?wzީawxw8|'itHt( 0'x yx Rg`w!lpxx IKm'axJAy3MtQg=ةzʧ::pwڦoz2x#עzyypcWvLׄHwswlvGz}ק׉]|7 zvgCzz]PC}ևz}1c>L lbfzZS:f֍ gH"A@x})7W|[k KѰN! |·+-&}I ~HmT8B1` 䗁H q kWnOq&H8^ -&<ή{|Ͷʑ,,g 2i$,0y" С@`[9,h=$D"B1 Aa1mAa'c$aXPm- .W'HfOKM=JiQMVCP \we_c->ypr=t]v}ׅxמ׀eJy؆-c.5iA*r+ڕ=éy*t*&L٠ 4{!ڬ᷇[ava;+T<§4 %\=e^<('Ș^} ~  `Yz 0 0 !$Qk $}uX >̙!1.mˣ=/W3w>A`n"LsC@iX,N̚yƚcZg:jjP0^ڱH[( )${)KL8vZ@h NJr(㿰}8k ty qYg;]z&7n݁ncfG L6h\ x˴wlgd ؘ <]x<qiǍrx,0,A>~}|L k,\ܠ,ۉS'D'F(Vk-s]nUBO9 OT_VXZe.3`p /a 0"A0 40py!%a A  ~?*~p @pA Ӱ;I]0P.# m/>'saN @qM @ Px Ϗp RFJsU*Y.[@ r i*RNnX< DN;o.dpa&xKi[މ9c^=h9|(Vvܔ -q0M WIɌ;n:&Sd90K2 t` 0!^@w[qΥ[]y.KOCJԖzL?GԜrFRi$8JhԨt^:Wi+]'Hٰ󮖿N󖪪С1o/#):ĩk]"$5m@W佂$өWGqz77H7\ yv/oܮgD#:HӁ|X=qOD%MqHDgHlv[n*r0F>̙hQJ,fκd1 %TZ,(1jz=ʟK-1؟;'0^T6 1C6q4*(D¡ޑW}]w.XRBx 9 SB%-yyhfa^^sD5l.2 $hL$cסvH^]wK ~RxWLzR“uK0R7C:]py/1 A;v]`ZOiޟȃgr PQoEG~!˧'wDچmkv}ЅF)ןF 2Q)o,aGER)l: S-N-;Gac thpyyB:@vDdHRʲ!%wP Q<څfH %HA [!A-$#\`56>!.RG4`q"SVب!8wG<1.iie Ѱ_d4b7i) q yP& @$y>QLt{ r.ECDIJS"b%3IIKb;L"A H"7 D.uYCQ.7Lf&7IW|r ,)JH?{e,g@dS?Ħ6C9vol%M`)KZқc Y>encE-"R L4ȁPb҈-(w=C pc;wЌ41Ok^ԆAQQZD $F9}ld'[.Uljej Zrľ(Tޤh-NxBV5*XKfIdB#V3+X.g0YeY}p{n`f7Cbݻz[={;k} 'yɏ!*a 7px1ʚ`2E\+x72dG&'zul3AIhNP.&IN}ӓdg0IPWܼe.%i].^S܊5Qe%YJ,ڵyB6b5;vv!5x`{@`0=..=yгľyoCz;^y q]z^}mc^}~ ]m3$ 81`L'HϽ_PM~r!p!#܆1?j﯋$ N(RyѼ%+2 !@Ԫ<t<D`@ >{<QhX yH4 ABWx ;i3 [Iwy ,iA4X 'Hc yr@!j'p8ɳAcAo; 7#B4§K`BQ= A30?B48$T?lB1E® ?(_ _`-=85V)1P@HO#9x*sic5 y X*uXK5X4r萾HFea ըzX%U^bW|t5sfl5a'pGɐNąX-Q P&CA*HX^In[KJLNf;z[9@)7e4Ҳ@$)I6!@A(F<ɔ\ikI`,?I``IKJT@LZ\+h (ୁ,HЃq! yAwki 81˘yp%n |!̎mix-RNi/?;0л0[@ q0=K]m]}]؍]ٝ]ڭu ˴/1 D=^3䫋;i+n8 l P(!#2mكA $S\s0_AC?sԳ_-! ŋ[+W@L.yꢟ(pQt t!Q@1sh@2s ħH: ?Ӈ3cc؆s=Q B]24Atå8DA: ïC#\4p3>4 Cd!, &B:B6 EsFˊG2N٢K8v /B 2c(5"cB?>$DG EyNO6<@^ЌhQxn\Em\5 GZ+]>QuL5]O+`\xqtDGw,fǑeaH^c ai l5}qfrrz,p FO~9.@^5nmLƮkMqcK=XmV=R9m RS# ISҡR2$*b9zl"bv @8135+N-+!]7=˛o\:ꆠף %_BWaڞlTc]kd:NpPM%3@u*hr x%n6({H`Zn@~׈r|rfWoz3O5vMfWj1+r(jhf( Y XY+3@>YYYmE3XRwʽjxn\xB8Ҩ5=E][0 ðrynYݹuh=]/z?zOz_z7/X`zx=;Hz SH?+.۪`Ux[?a ?nA_{r{w%`pun{ _op!{o!p{S0USHNR{H}Oٯۇ S(F ;8AT>F8SNHOLH~KP}L;~N `EHFR!):)tU5`t) >8q!Ȑ"T _$a!# pJŠ3 #ժ[iT*NUrZĨO;"Mps S՟B]u4RMy^e"Kb*U#2Y /zs!,2n1Ȓ'S U0Vr23SvY/1R94cH)*O@2%S;c0y ;Q;,-* 1pNlË;9uN*+2wsҩɽLL)Rwןik BfB%BVi`tхeuYhX{ar)mIs8Xm!mǟabO^?Ƹ"V eQJ9%U'ee* JH .*vJ^fXܱP XY5ؐ >LpzD$LCiE{ӢQU+uO Ps*(1DgcdJ&r hH:ږ |4JBHzUO*5e!̆ʦ~BT;/ A%Vl !Pd -XXA%^OS8tJ',d. Sc} *cEp 1j ! 4K#UK20|*, m* 7}Uu^P5-?SW]+=7݌աYfu3 wWeʁ9*fTtmpfXq+8"ix LBK]9%}./T8HG{I 32]HSz 뉃yH|ǣ_`BC_7]_ 4ߥ n6?_T R F2@`VIZzr%FE'DfD [QA?4A afyH@j~n(A2fl6H菥h/n BD w-k!G?|^bVR(O@BK42!~'ЅK5>h\{N@ RA),!3pWBUĀSp d!tLN8sQSbCHVd4fZG29{E6Ҋ&!u K|A PfFܒ5f{LF:~DT[l0j^ӎ#7˫Ȓ3g2pʔ>HE3$ Ѕ> t:@'E^r Nԡ&IE)ammgL\$'fN\WmNR$ H( Kb&K0$,AtrBbi H$BT*х\=IBJ'@e)A)"2Ӛʪ1m %4'&ufѢd)Z'bu]ֶ8! l ,7(dWD ,hFfU"mh#XA9ljdzU" jk򶷾o7[`=.r%2}cnY'pbSн.vir.x+񒷼=/zӫ}/|+߅,{_da;n &0p_0*\KX2z-0 s2J8!\ۓ:B=p) zx`x"2!VX11pQbE [2qa|d@;,)[ vce &v24;_bcf\ T󆽱yx;)pP|0ڗF;ܳLG:{CpB.XYqM]Tρ8K-1MzʺvztW\-ЈʢhC^zidҖƴ{iO&}Ujukπ^?zMk3ᛉLbHG' tF@$h13 ֖_#7AZNC1$C++p8"4R" wWC}hB21 >Qq|5'g`=%_=]xR =E_ą`yy_=\B A D]`u  5 6F_!ԃ]    Fx:xB _2  RD.aި'x^FX)_m2" ]:_"ڋ@Cȟ'.+ ⿜!H\""wm-)@-ȃp;t"x;p"@7pCcBA+5!ąϑ%}+ -=+D.b/ #&7Y8&tB;[#/?0 1&2A;#&C%63F4bO\c6]]C7~c89B--~$vm9¦t:Ԝ8TH7< =;7l -<$؂cIH:b:ç aH7CՖHR JJ<$7C<LMN'OPQZdIB\_"H}gYHXKSBF`aa|%fҽGef_dl&"t&f^Xe&jԂѡ_~BLjff&nn&oo&pp'q'z5W)l6lrޢ}]Y#b!oE`'d('Q3Udc H6)d'hDHocgccgt8g,TV`HU>gDYgOdbJgiDd>"unRY)۠)M[#vZTBیv[]Z5sD5BۯɄZR"'ᵹ;8C< 5ۡ $T۵eHZڐڼ۰[H[ۋ:[i=hCCO2 eaBlɨi!䩙zH)ƛ)陲)Yi)NڎۚڨhJ\U)ñ!$lj*ŝ]ơVC%Į> mHݫ*+8М8 $$Z7 ɪ?tׅ][\A?c-])\b]6-Ѓ- jB 1y؉Wvۺ]ܯ^Ž+ӭkͪl¢ƭ;]Q^5e-$F-fC)^R$,`z }^Ce#;ٞiؽ9JQ6"~#bCY_mYٸڭ_幭#gڗ2,biaO>lU *$n=B}H<`N L_6 .nN8BLř ?⬹F$.̮2/HNl}_ ƠH̠Hx!rS-Hl!|.p%p}oxj! F^>anV:A2Z++((-o ro)5ݯ J%/!)vb!H!1d V )^HF."p,bo}uB]k'<|,̖$R%Zq~ob'6'zVb'3xB%/q$$q+b&q5qSm*+j-./0?"2~C 120C^6H2@2EnrFb/o!B<$B<'ۂ@A:,cz2?,#;+dsC2r78fR%uJ.K \ީEKYNrOƒEeX^J7_-I+LyX80-="UZenKtJ~%Fſ]FOC%=UZYa%98IeNXu&@Pt[&Oӣy5VV5NCVgOXZRDX[BOrtPeQCgccˆD6(X.n0c`xcVVU@vVa#&hw1sgRIh?6xglkz/y&Զ:ܶ6x 6p6r'r/7s7s?7tGtglp(s@(B/wbvKxOwTuM%lC{7 Er:}߷B7hc.Hy?Fu@H(8c(vd$x@d@xc/D,6dlT6RTv5E~_.c6(7$hB8gv;D8s:'+xsUd1(H3uC2֒ÍBDsެ#ycG"~̙ÒvB>i]H)2bh iS(n7|E2Ӻ#1 Dd8Ҫ]Vl:+J+Z+*q뿎*]ݿ F,V¦]8( Tz;lź*cyf6pldC38HT7WysB4B8xcH?7ʛ|lð{3AA8AuHļW||ϻ<ˋ/e˭XCz.fm"aoKچ`S:`-&"Bܪmm#bۢ cobW7,{׀#6LD˺K>,7wu;9)@{[~|;6?>Xmή.Blp+0"z<A7T Bxjn6wl'w >DukK_?|ʫO}6&,WCpC] t-b ȈSԉtCA,,:oմ$K`)CA 7E缟Bsڼcz!XbFD]B/ҥE&u cV+[.Ziͱv`O]p` ;D' # m}O2e >CG #eD MTA]Ws~#ױ;t,\9{שϣ/Ya[ŨN: kkDXIvSޥ"enp%K=ۈ+"%O?;!Q= k/zSN []|Q0;ᦝO.!GEH[hZ;E~!lrJZFͶ!m>m|,JHI ѷ-%xD 񆛹 S EԓO;C!DZGOڱevrzȹ$ulDhCy39dUN:L:iǕZ%ҙxȁğ?sU8c3z.uEV$ ZmÇ QH%VW9TQ Nvv}7!ni_u췂$K L%K{!I%h5yKa䷠ / dz|yn_.Crl eHly$hgR!'wi/NxqZޙi!dQƺ䓑ÛwDa.a֥)yD.ƽ]>0kurv!Ŷl{ky]HiڟQl]OsvqEӰ=r% 7DbwWV OsD!4Y?yz=_|̉s^{D" ]fO_v)bRo'[z}.B-1u( T@>)XA ^9A~!˄L&7Vh({`j0XB0,$ c8C"p1>DB'O 5!_@&_ Xa@D&!-0 c6/[Kh8r\XF1iB%1=zxB0/JC7zT/4 =.^_"2ʅ,ylQ(¾P- & B }"KeC-82ncR:!M:XZ_Ldf:0zCzӉ{e©̣< LqD$f_)[v6KA!R)Ny ~k82hF4lu$/ 4sw\l!F> d Qe$5I6AJC+Ċ&y$x =$Ґ 'ċL:/>bHXnjqF.&ޏ?8|39ƁŽ1#7*1 " }7>O^GX‹AK6Np s= cs K9"PΨ`3`MEψ*ʚr8d+R ,ThoVm|PγsLauE]?E_|Ny]>>fdvQw  iȇXⒷ$.ЖrS=ˆnlx)A&TY8i7vfEpv[,9doٶUy-JغrMl :}S/*ddɣ@șl5pR1kh1:0C"&e,-[*t*B!DZ{^b/Gw,r)\k&(R[*pOtG's D{ ֢|8eel-k .^:٫A,K o-6y] S:^v'9C0Q9L6a]C'3nҵzC%:5?n!P9 |BK:%]SkE 9C_K觿@܍wL^Fɡ¬'JfWyLgUjT(P"bY]0x-(SėԊy{Y ŽR+w0V:C1„$>, 20V eBJ>K=#ʆa͜vFK+V'=jkYaO}pD`7kW/Huh=Z0Sސ4ŨI.-N*”BMiq: X9ho&S{w1)dQK%3)wy(^IQ-?k)u䨡Ō+$,J|L4]jV<^,h*eș$ 3(l>qgJNn V3P$ Q ޕ?BoxYL1_4~##7qɛuR:{ΔͶRQͦ5 35$ r>iZ#ɍ-:(;LUʫoXϲEzB *=0 B "&+6;(:TS*9Uu}Q l5ys o X /)16,$eJi9ꖇ-Mi#U)@% iUfCbIֱrɬȵ "?J=H]W!NCRO1my3pMiQ2&`'sHZwG7_a4PQe{]rQ"T8j ~%\S/`5$\CܴW.0C;ȻŤK~+}10fZ%IۘtC (".f!!oBjU=qu\b揅1e)h=FNB֡ܙy " &' )B|+-yuxF ǀ|(XO?)NjwuV°=nLf \KaMjlbO3 #(a_y eSsBߧ0ru&!g6ps&]Z8;Xvnp1i0wQ~jeqKx*5<{ H2jyr۬{Y9rR/'E:o@ʼn24e8LS u>'|q앯AXJf|NNEkR딌'UUvhP:ͳ-C's<6= $)7?5U^d6OI.{"ً+98-Tx@ 0W p#`= O*l ubi ЦUp*tJ Hɞd1im*iёZ lwJ)𩋊 ʨOUXꌅzg ۚݪߊHCp *u jxxzZت\ Ыfjsꢗxh3:&MF98Ria `V4P a`p bmiqyl !Зb pc cFJ f0@ p 0+4˩  N fpgh;`kpI 0` 9fn{a;e`c MK0ppi[J pvP @+DQv A+C[GkdeSj]e˵^ Q  xQO r;` is[LO{XwH\k(6؍z±Mi0P5fp `j#8[`Z` pCV>00<9H v0LV0yٖ(1.<à > bp7;#ڟP"NÂ@ ԛś /L<)nc,e* ; I5C5L\g =b0 T p f|]1[z @2lQ gIUL܏\`jLǨ<y陞l9p(#\2mʖpc qfή=e ,|άʟ,a<l ,˫,gzzQk)ϵL9K|:LG;~°S fPN9VG\5}a~ [\]zl7Z-ՔH0?}A<ܖJN=YݿAֆmt V3=hmV m>P u-l pݏy-{=Fs"}#]^AX@ +plYlPYi9 0061L|ʡQ˟LȲ6Ъˍiצm==P*7+uM)? |mλݬ 獤=H*ݕ.[=>Y aݏ>f#1 {@>' P=ykiBb#k Y~6p b 5 P [{i ̫RNZ ~~P ` )f }*,+.M߇N)n=b_Kcݍ_c PwP Rlb @f~邞Oqy~Į|n V~b6>Asc]p v \j S0 LA > 0 f oP}``ͺ @i$ uX u0j mjN >X@`j;=Ù7/.a ~fk14 )9 ;?Fԍ0@{Ey0$-,"_O |*hێܡÆoq$mlLŸ4J0Xx ۛX>*?Iasذz,8jya0LF ) 7_TC%NXE5nG!E$YI \8KNZUU5'9uM,[&D0şOJYRЗQI5ԡԢBq'f RYR-j ٲ diJ[¥[]yۗ/?Re-Q8aYcbL< mtBQL??>uJtH*A_dSa ?HP!]jL2flw6,ٵ6m?uٵo;IJe*O6OЧ- ASO1U\Kl? J u׈' bP9$t!ZČHnE[tE[ RP=ɟF00)+|8qKLI*SNd0Om.\rJŌ|RNL2\3!%0r`)U9 ? #rBUF N>IN:sIZ36k>/9EQKI2=PD]QKBQE!=23PmZqYfuYhaZH KJ)E \W$"RQ&8CCRqT0"‰3ओ106AVAMT:`sG!;JA䠂Nx09nmZ8ZE.LJR.LK:Iq&SDduKb5uubUr3-Czy<d HL-b\Yf"e=7n{o $2ND0!bK ?Xӟ|1µHerA}   6"VR}#:-|_=_y!kz=\'UN16 ծgo"19{t1qq^~r]BD&[1ߢ|}Y\Ɛ 0B j \QqS):`ˆЄ<ap@rA&*8D, m¾>L\wE,fQ+] R2[hEqR K3p 0Cgu#mZ> UU<'{#Ө%O`b f F|CȚ TcRE"'~#AEr|'JU[e/}K܁Z)&2C`'6e(?ኝ?`!~x U, @#/px:H>$al)’V8wZ'hTH@Yts<5T G^){S'O~ufIMzҒz2 DYғ%/7 NM{c֌jP+ɒ$k?x +=Uʕ7D@>51)=\A=ؖn:*9񄚙aiښ>&;HQqY uawAI!=H2;2ѮUSHC3O(&tB@zIs{oɗ}i 1) LT)@Y JA1A@`AR,E°)a&sځ:$Q)* K0r[̞Hvb:H"YƩC*FX4ɜ[ 3X‰YtLj=9DWC `$ +19S HdFnFȉFy )"`"0ȟ v O/elTtl'O?  !T"@ 'RM=ΘTb,p,B*!J+-P+F˹4ɢSx`P5PRP3+8  ?XC1HT) m Q-nQ B$fQ 8}7$FUD#Ͳ*Rψ߲0hA1DH s)5 ߃N⊎ 0FS6=1ԯ:LF诂I2&S МqTM<SHFGK ?Ű #0R0 V6I*8i|ً2x֏٭Heԇ1  iHaW763F!_ÈVWŻYw%W}W2UzU X8W9 ،ˉ WX-4SX7yWh3h6c8X5{؎vS8#YYs/ƃ: ya/~Y8v6ҭZɥ15?v\kCb'Խ6cD 䲍34NJa~ }ݶf6 e=.'8<:e}S[AX6[7\>*N]:7.ddN= =_[_5fȁ5WkfY!&\f{Cf]{ڳv9EvN[f6(&EgbcCbV6d=pF[k[_茈n>5np2k,c-~eqevgyQ2ڃ9wg.dMw&uey6 Na X/"(kOZ2k =[[YxKV3آ^5bteeeUfky瞞76\ר^[8s\j")@Xhk>戾ӖhOf0kަhif_i~hkfhffFmh~H.׎m@bv5e)^cIsiY.b~]|f﷣oFe4lLukh0f댾ȁf=dH66`vk`f熏~fډOhhhhgh=5H /rq_vob(Wcx~W)w韞^1vFڠd,Fgp;V/V@,LHO`k~Ni_`Fnp&_f5ߦngm(hiiFogfmDhK΁@55۽;4h%- 4n<` OĪp?Ws6tfefmGf~uQ@ /iEwnf_sXrw`? .f欎W׃5X((ԾuWilOmCfki(wOqvkfhNm?uwxoqHo*DZ=3Z~&7iGJO??Hz~ h@utr_Vy kOiVOm.sy]vn)`u hjnrhlNkf@?xh gu$?xGķP rp~nPxw/ ZPntզmvmv7ځvytŏi nnگzo}~33}?mFo >.on`\pm[&e[dy/&2S$( „ *,hPBBlŇ7rDHď ^$)q$ʔ*Wl%̘2gҬi&Μ*31dI+ENXQP RӑϞO-J5yGG*Y%ѯSwr՚,ڴjײm[ b 7G< Ue &5*ݒ?/?\X'3sk.ТG.mcu wɼ%11lټX3k^^]১Sn:Z*=<8zɏ7᭎Sd^j&^sgTvx b_duw=r6EO}lMA! :t`W~y)2Ȟ){-wA 9$E(d*UWLVxLIIZl#S{쁥?ZaYtZhknY '+qޝAz( *4҈'(HI1[O{phڈ#&|(3B!I*^n#&:,db*8+D{pfEhz0a;Æ~)e}d=gjA;p{}8eFtc"~B;V27[,>G:0 b*)JUV ?Lq,!LDnz )쥽@knω*ۯ} e|4t(1U[m (RR(N^+A֊ej MZقU~7vwe#[dЀ w5~h 2Mn(JWvۢbꏆ3`>*B*H[(dZ>;% MnuS!0q@69s,rKh[;{%qwZ}9':٢yLת=?mU &LZ6².Qn$;у}S6$* f`0/&+=rXYiڼ=\H">ƲḾ/1qZ4Ai]Jm e3 #~Em\9KY:@[\s;z֨ *NZ *u4O}*Jc )Qi>UP"JUT)0h Uf)I*|ڴ5Gjҩ+-(N sc;ؘǢ+1Ή`(,TdABrTdB +1vp UG=OciuNΐFd2 /}UZL{%RD (E*Ja %5;D(hj6͟ u=!Nrf @ @W,pCh4kz6e-B0W "`AdK۞axk# '>6}4BfQ6IA&V Fdui(e׮zX'l![t؅,"*74"!ɪ6"MZ]w瞌S8,p`˫〝JHVa Mg `(QX4BCGj 5jL+d"n<)t2ncD .юT;w">;DG:0-$!D"*kxC7!rӟϩ ;t3i6SvqTiq 7!N4Orɦ@:v%ck&k`12QHC(i@v2G }s9sfgzVvNp8ց HbvmSPKc8h"7aݦ;"z bc:qN|>8"zu($`L z1@ %L ؍SֻNh 7yoGM?sw[t<}uX&>:Lc:pGAFA \!dn?PzЁFAb rQ;|NHuB=+im)C>!8䭐$8?0A;2zοH> !yTeO4K5(PYS"4p*$iZF@\Q(?X@Pe C*+' ˙YX$DU>_=*[?܁7`+Ax<A7`!D@0a@GIa6!*LaV`5*BV ?2$ `B@\ Y$)tB;_&!`"A2%t*B!V'CI)=U:T\0*)@+VX+b,400z_b/Z#1:'7y!*idB;4l?5,?D5$A|ci&V%DlEq8 U*<*A}RIN0ʢ ԁ8`{̓i$B0%GF@dBZTLea*2ALMd&q+Jp@ $պ+:kBA+mkIi ^_+6l0 0''Lڼ  yL eM]H\nÞ,jG~XZ ŪĥP| y+|]BG.䲅В,bLt͆|MEhHpKOD.Y( B B*ȄlId Ò Ah и mΚ./ʄD ďxMMaqG% DpFPam8Ϙ/`ULX)enmlPA-.07a!V'T uxL0P I6030( Mp.t;'H'ªꆰ GM]l p0!am5 / ƼL ~MU1HCQb鋰01 ;RwL~+٢[-ȶF-p*U>몸0KTCY/r~iq~mTxVΔԍ[gl22)1AXA^,$pN+'Vꆬ{$ײ25p)3"@֤FB)Y(B R''.3mn}Vhvl' oajD\B:(00s\ĤyBA5W^}9ՠE$D U Nď IzfO-@B-C\(g0G!Ap?~(!1AQ2`MGV :~= ċ,ٜٝYٟZ;!1AQaZ=íqAC7ĩY&\8DTZZ(G[LA*B(A h >*uԛ  %YQY &EOїPqAxCm\}?ȕՃ5\˽\̽C }T܉A!@C+C $`:(E*(BwG\dF&y$TAJJ$OV Ly%M6%XOiu gkO%b:gV<=%5[ִ\ҥ]½^%>K0'"bvc>Ofe^-dfvgdhiju*gzfn 'z붢q8// jz]92?SD,~mÚyr?)$xa  .,"ă*thbD%>l1aH#A2Qcʔ%IVQ%ʋ1>$2cҼXgěfyiRK6ujTLZQU0v}g۶^N;)W6Chq֚"k};%˵F7U5g`q0/]ve޻9m.V,thѣI+%(hU*ͨU--Ēgϋ{vLn-? {Yj]%V%fA2 q#_>xzӿدu}>ɾsv{u~_'UV U/@ cy7R!%&0zcDG9(L=b-D0&BE*f /(B/w x\ l).&tR<,蠻1Ͽ.̘ğS$h2 9xM”l¸護7>-,%Px3”fAḰ>0 A>eg< ?%RùtR2[JdmSK#,J=b)(u¶cYwmr/6 >ül_"S83nW胶TmtCg46wUt] M{!LmT#Wt^XN{w~5&P[aw=&yagVgq*7t ɄHawtڤUo"[iY (|ZkYԖ馝f%!W6,>]/Rvkϭ DޗG#K7 8Rm?.O C{x&]wzap ڕ׮r~-rp$j̑RuҨ˟>"֧uPN;m]"%X156~G+'l<|λW][?4#._ir_*D!gSno?TȡFЇQq2XƢO,Í(dF`QẎu}`rg YO*|jǶቍvw 'ãr̠R ؃5Ub؅mYE/X ⛰Tcإt"bJ`R"J%'&24t*U1_b=J6K#81E$)YIKv) 68K2F_D4RPf<ƂQ|ȁ$[CJ!W]lmݪxIcT&2=6٠'4/A3#2Bzt8YN!hdVIC`aSFg~F(z>b2Z3`\gBnJI\І(Dx3=R ~6$|J+i-UJYϠs$Qg65Ș1mPZ h$'$h%fY8Gh%luKFXɪxtd lf#+әȮwyȓTеf)XD=-V` ",N 8%/b5֟z; :hHȃG'[m//u ն0Q!nYoJ5t^]JALZ4͞Pc!iZ%$kNBR_)V lnJFzױ)T5%>HIgB (V <8!1Sd#ArOm!E41 ˘F4Q(ArhVYD0Pл6K.72K;a d h<\y'щwxhl+!t`">a K @x!02A9!!x(BMz! g9k^Ȕ3q@|wiMC6{iIS*ANG;bV9v;\nC@lgqo|;։!qXa-hhb(!Qx @/hG"uзv'\=Q 7 N:P ZǗ[Kc8h"7aH#ĵz cX:qN|xSu4$` FG!+1y7qN<^ZDa節] bO 8o O0\0aAjSb"+dAAQ LQ p/.@^0"M0 -e"ܱS1S#S0301ro%1&2ڬ!.r6}7WuJa0~XI?ƞ~dAL``9Q a@3!r)0ALġ0ڡ:ЩuxF~8zBT%WvzÃaɂzIcc`IdhʫuRb~#_8qXFLK+$73|d5bSd 9d=4<0@H=wzh=CxACd 3 MA$ A–`VVI*l?(Qzlj2okoH%SO=lqш93-iݚAʹFBX頂+ )'lR(P尅H=]4t7  R ū8ꪐp:v+ajlqړF@ +ĬЊm,sj*mcJ7Vl;J;>[%U^r 7l CJx7k?+q<(dadn6rk }r&CiDH?O42JK4Y TC^원I)Lo–tJ! e2 }{=*O||ʧDMFϜ95R20`svhf+4CdsJ<7TO< Ҏ)"K#/"I-̣)nD;l1@HBڷr힇 jpWπ>TGKaJSx&F"# eT)Gst T2MIC0M]*Uښ41GO T~FS*YT\MLJUԯ0_ 5P5(Ns7uUUhZ +*D蝆PEHaL){4Q,y $R|laM GU-*X'tX> [X-3-fӪ^r-mWlLjUl!~nZOnr;nY{!`dC?N!a/c9"uVsqcv@wۢ0H}`֖Am==(ܝdCL0 >^0-BsW  Tv5i|e7;=-#~V:TU2~" Ȏ-Wf-X7bNVʕd֕ jGe_=# iK_pIe+Vv]Wّ\U54N`v&Rht k#76b)_7^ù<\y0ijWHȉq-V oه&a $K9[1݂#4=0O @D svW FV 0yI '6JpF *0`)`exW[՝Щqh/_fvl%H:Lf2 AEe>) @cviSjG)0٥d5s1[9i}vV^eur yAkSp 5&7B!$Q1 ,01@ C)p ;S ia O/HLDDQ: ).ʤ`!pQ/ A0< cZa c79<0sEBGKSQW2zIM{\zjsAp,J-Ǒ)1 1 @*Q-VxjT%v/ Z @ b()/0a0 :4 p 0 9 `)qbjS p @%RYN  ;D1a R Bq+j˹TyU %ZR"%` bB&f=94 m&'7+' 1>47 s:(S'"(R0cJr~ @ 1ڪ ɽ ) V'(;(( (2)r)~(䕝 sS%a F6),B-֒(C-rM7.B.`..2Լ )` :;4.5//; J@<, kF 00;.A g.r:?/EdS%6.ykH-c&0c8"L4s>qD93=3Ac pণTC?\4G4102 q5YC@͒v$ V5Zc; Qyf>K4(@[ 퀸 @d@.p/?C?Ԑ\鲴ݴMpbp$QIvCv}y1fzkq`N`w1V('y)ǾT*Xٔ'kUI붶U/[y^w8nY]Weub\P(%VxUϗxUVkSpU9$zas`&缕U݉6hE*V-Xdwitu#:|eɘFizG`ibu+-fۙglO6qV_D9Cy^ZjƢr dI߹9a_& UPah'N[$P,jv^^^]vedJWO1$՚ilSp/k[v/UH`l# gfah{G4Ii?{vi!`l:_ֿ֢Ykk/_ *6g)Ae| l*E bɟ .Q=Ƕ1Qcm;vgI*9<&*1Y>E㰡FC }0iQ"M)TTZ5Z5jDY" Uðc구Ӈ]ZWpтk֨Zr`g:־]dʕ-_ƜYf:e0(? v(뷮vt+\ lv)jсX2xs1]`"GQPbc;KbS`0?+ G҇_T\ 7Qb!G={LK79%>UZuNYGTJ;̟0 iLUnʕviHj JC`R66QHԈ6Ĕ,:hHȃG'8j1)u )|•JQ!Q k(C,z.>,FC_:ld%cP3cA!Dst\tH2qAH즻R8*#2Ldb> 51x{]UL "8a y⏚H?rd\SWP(+C:gB!SHsқү!19J6,JaȆM2AM,S![ Sb[3F h"2 eʠFrNlRp(|Ei`u "1nxюyD; Oȣ+ޱOQt#X:~>xGO`[?C@ pcD;jq<zD=z- H|#6`u:\a nÊ"$:C7X!J#x%!H @,leb 6DȽlZxuk__t޽ug][OހR:v-c#2 \^(HI%@8^̝xMYjN`b4DӕuI.AM:(ANU"RmC Ёpuz"b r<Į Q;|Nr)B=s_ݭa9ySaN^"'B&!s|eXb!CBnr뎍x{&I'_#>] qG9>Up XE"ՎX2ǝECȏHO6@(kGD=  JKTdv_a`W(߇/WP0tÿ{/;xFز"# K0 l;PulLxGRȋnEXOOIz;.jYH.e$BF#:蓆iG:B0FCeq(LvpNcN@O8/ dDxC [hS[;-JR/)*;7 h˜_q 8۹u"/@R ?ɲ&Qp<UUK$A/#&{(Ҫ#9R88ʲX0!9UUS"BU U==Q Ey"H ZUi]:-3å5eUy8k2o=^'W Z%:VvVZy)ViUf,ŸAʲ628R*iBV(XO"8i5AvzאY-U.k)Ȓ) XkUmbَ5-1C&&--*^Ί%&&TEA)W즓Q y5؂؊5,Z NZSv!m^Zu ؙ !~Quڸ5,5U③ǰ)X,"DZUš=UV&=}[Yeǚܺ5aJmmZE9(ܒ5YZI3% jؠ]՛#=#3/R֑z+su}U]GhM[4}* j V]kT&%"r5ޓҜ2Z\͇*AE_qT#EJ ]B{V_ 6R  a_QV v]NTQ`uaR}aIH]bE۝ )F $1bLm-Y(ʥb*S).;rq Q8T, cO=cF%fU !N}UUӉ;G3tI[d6Vc@n|إ_`Ӕcl-eIf%XVۗEO-m&'r`ڬUX6c^Dv,ǑX-ԙ')lef]HO^c>fE!tq5XBdxz.fUؖd8q~Re|hBu X~ޏUZĂAU,\fnm\f0ۋZ.ۃ&&&,̍#veA\ifܬh){5,~\zhp&ba>.gFh=-M}d'hhfgx%ثn_ڽWUޯ^Eg8^j^vA&e;dJd-Vgx:2e^$ hbNľԕ1iua8=歒ڻV( sh flDVV>6B5!gԦڶl^4fDNA<֜PzpV.yn"el™^-k=vReʡM~nVoNWčo^mnQacHoN:TIcNҢ1X@mp`*hm]D33 [pkSn"m$BqY~TjYՈj*; VjWd"P6EyU{Zj)]\N&!r2-W0r2"!ed%r_42H.p&]~$1} ޢvfN2e}q-;-bU~:%-*^ IGZŵ&cBg&A">2lw_&PVj-3R4tnrvf:n .R7]EgZ_5f?Yբuu~fWZxeh s53StV^-s/hmbp4wzoGp%?&uAw+k2vTܠiũPsάV7lexx]j?ӽuuiorbklFvlĹAve"Ou}wcvq]'uJ7\/?eu,?sw&cb/bSrnդg4W&vAsꪏ۔!_QW۰UjV@WOE!zRchSR Z)snl5xVi&Nj/7~onZ;o96]ٗ=mOE=/'7GWgwP™Wl^R# lk?_a^&&n"U)צ {Q}MH!p?Sң%\kg7G7?{h{a%v 2ؠu|aRݧa $^x qҥ~V|zUzy7rmb8ߎAC)gdgg"=9K8%wEbj6Ğxd'%#V-]sYxH_TTɇnrf!b؞9 oN^Q1:f榩՝j\tXΨ(mj9j+>%{|ya2o.l{:b=~^wڋ\-lBk˂*ܷ^)h5y*#M҂5f9,e^tZU /#!5bxr!+G13\2'N*|̅3OB]G#K3ݴOCSS]Wc[#f/R`J}N}i76RpE`>붶 7f7˂;!-)SxB]S Vmnݙ?&丆6QGتeYa'yN_;-V͛Vz\:_g1OkBUɯK[+Zx+K{[}/sl?ߕX"K/YAH\r b?}cx=] (-٫{W@p]a3aʥ~? PhN[1(NJ}9dV̲ pWE ] ǜ}!Iy'=J*Oaӱ^L*UFm V]Ό@f\fV o FZ=Z|R31[ߤUG_+b)Ҏ`GRO^"Gȇ-佊9AUQ$]gP6b%0kuQ VryJF=hYRE+CMQ|eՋ7%\g U&8 *P;dEMS3U"TSP.4($刨EqY-Б"q+OwӋkJMR1ԛ#O2V甉8.CfB 2p Tӻc錨jBfᐆy*/Uz%4Mt TOd?oKhPE.r2!JJ镇@Uj,r{e*eaVq:+;Zr mrbP'fwX^64jA[O>V;pRB-ό+*GrKw](WIIsnxݢ-wi7/}k7/y 0 loD03s0] cdxm;Zz)UŢK<]*68aw24Y8y.G3"/qYVE^[&C\0(gLߪ,#Ԍ]2'l2٘Sd(ԥo&3=Ŗoz3?:Ђ4 mC#:ъ^4GC:Ғl)J3$tG6Z^ LҢq#^'gB&0.D23%]Q3MІI&fs n}1HA+o** zsŠq7rab!.P۞=ٹlB0V7PZxj? 'yo6_RGGI=pzWG6VY1msV=UfL qݜ8B:.rx+jHhZN6hd8S;}`X-ٳO4*v)*.Ub[z/ū[A۷|"o·gu^7c;σ>={ਧxn~uH˟^uGv}hĺaJ|:7;~-WlI?$ M.uJ7ף_vcwSZySQ٤_$ވٔ9Yc9UYMY[?i[՟9iS6uYܒab`\)Zz Ԗ@ Uy L$ _ &ؑX nvǝ;P aG% K^ͻX9 ]R!|QpUȉ p b򞅱 b!!"b"*""ꭌW "%ٖw`a>= }'^*Tk-明,RXbޢ(•Ṷ%lAƮaa205&%4݅bI8f_@ QÝc'Vc ] Yݐ=jXGh]~򸢝_qڙ۽#:Ym@V9NDj7u$9My!i-=[O#aa"%BNÑ &M@cO!e Q5 UK..Gm`Ndp#ԭ4\9帀hei_U,\ ѱ_`Zi`\<%YHP-eV:^t 7j9gNL\j JfqVTݣhNJ\zc^)YAa;, ViVLMJ=_e%cL ~CgTuZ*dKf e}%%k2b %\&q z1zNAFz[eU]d֍Ƶ•SY 'E$Jj'c}(RYuuH~",LOzPsZdNdI^٥Ll8^Sc)^Q]e-U'x>V,Hn'خi+e'1&S`peamj(Q#]zΌbךRo:f*n5iNQ5efhEirRݶ}\*Rq. yۖ,V j嵁((u |->"&Un\jd%'Nm$R'h (]Tbzj{o5v^.J&f۷ i}v%(ݖnm 0 ʯ..eOoƙJf$Kl*[`S HV0 W0#])*I0qoūz&]dl ,d3])d< cMF/ ⦕(mJ¦ߞWVN+dp6Qܖg#)rZ%rWZ#;cA2)v͗ $آqg'/+,2:&.*r++r,7#CrM鞳",Igc᝚F$J(1rWl02]%k*O2z5v7SnnN=وvmW9@щZEnZYG:m7iۄ`55l3eq//2,E)(Aѱ.iS" `GM5O>7tDr^Sh>Yv4!!S`_ IFddJtO:DktT4(5 dZ@=ԀHF駬Yֺf!``sfu)&MP*t[a_5&; qҀO]sBs4`Rvlsl:OV@[Tccӫ%˪phg5ikilvmmvnn k7p#*%3/v-VӲI2*3#,!q#rS;2[Ht582G3#|Vrs7e^aWW*wb?Co1+8J_ZF'_(jez7xH/am1[(8pb fK]đ®8r5OׇO5 &m.4Ǧ'jmz9gxV3.Q{gkb40oh{gtK̎oy| i601(2K9h.q^TBn"{RwOE3z#?kuT'+#7p|Gp#zεhau#{+3;!#(4b-.$M5J;uw⩯-zW3,՚4dtzi{u7ke{z@6w.W㙚{jw{7sDr|OxF7ln:YWNEۭhE-HO̶sӾfM83k29cB?kfdQ%NzV}MvrN<_:V4>?'x@^_,K8ߋ  (&;3XJ)e/O%4L^~Ss-nRtoGv}{-gܴ-Ϲֹދz'S4o“"牛H\랭3W9j}fAu>Ǧ8_;0e>Π)yS4zDm=g#qj?@8S,! |8Ċ&T1#E71GE\x K$aD)ˌ*eBʝ?5O!)MdN?"홴S VgW_ZTsřGcРeݦתN2ͪ &ΥRfiˮ}+tqʷgF&վg~]p͙F uoiE=IWtgu]ՙ͖ k4(%o=8\݀?6]xspnmں1Oʭ?+zʻO4˗k|YY39]<ȳ]鋪?n@oS@ OCPB. =҂Ϸ/AkTDBKJAC<:o.=;jHي0%s0LJ ,/4S5QK3EDdL9鄳N;+:oC9S㈣rP3?TQ]3KSSYmJ|U;2YqU]y_ Va-cMVemgViZDrOGUl Wq4IQnTPvɍWy]'U]xM]4[3z .*ѰQL.[lUO4O n D-Gkc0q)QeiffGɲ~Vbʖƅ{<槡WEؔkfliI>tݴMv5s>{![>\[Ľg9ѥOJnlkڊ"1ϼ8,֙Dż[oYou\VO,c\ o׉/xwB>^쭩^E=홹_/O_oqĿlX!7;-]0@H|觡Z%[1a)jT'PF$!2B2CKp2_ BT sD4lpT3M\*"(RKⅴvqt;sȨR;f{S2 .C^TK֢snqY qh79`3nsLO6>s"Ǽ:ђ4 ;ȧ t+I5@iS\ޒ/La4]"廞YV榙a|ݳiMnsR ke5vBSj`7=EąLS;\} L= 9G' )Sg;IR,a&PC. l'ƈLw4s1Oge@# ŎM( CXFQ I*?-v^ ׻ gua JN S"j5 Ns *J6I*ǑKfL4UbԱ~S@(Z(Ub~YߒUNl& -lG5H⦊:ɕfTf7W5 UKEMp*$Q(U"&7նe,dҹZ񳆺(E#sûVq5UV,VhY(IDq5no֭ IߥݨhW ]@\e9U *ZgK썂.+K}iY 3۠ اS,e w67nQpB,W^C*r2p%r{ydԪɟq$d OR; U[+{Y^r,/mvg9ϙ΁kK <}~!I!t}=3k_v=AfDOzPBS̞ LiQW:R?.|q$ۋm̦1٨a=.4ԍUPx׺]5eo]-(Ĩ[Y:Vs D|-ت-xk|@0+E"S 雓"` E݊0 Cng7go/Ar%7QLnfMlG/*aur܄Tz*w/Ls4:6ڜuT}[g.3 rN@f=VU33ad-lpy֝yrڈyt?80%s~1Vx?jb Q.Sl? o;UzMGցOqO[}3n5#cknJA3yx_*TW?}썫ސjSӇ;q'w+hы0'5ya</|;M?. x-N&pMxOI {p ,1*ذo=ʹZVOBnm揰NDPo߄{0pP ]ڈM[x0ݴ#/0dp-y.,0HNʻ@@NCФ( 0-/$6z㽨ǧNҎPO "Ovvkh yZЌ. /.oO= @q +l`9H Gx L !K6ˏDGIzD oP2gFDez-~pfdp v/-pJΚpJ*l舥EН˭SAf*1G  RP!)"-"12#5r#!n #i"9ۊ/!Lh,!$1îNDRjJ `'Hp/ z#MkQoqQ$g)*m~0VDD2+&ed(%RMF-ޒ Q.,"ŭH?lmCƸ0,"r[ 21d%2<aQj/O6%Gɨ7^o37M38s$893:s:ә,VU99C5WN;C*mcp=!6YR8;eV/0KSJ艙iq_7#ͭ=5yH(3j Oo~. fO°L2p jBҢVt[MC AO8HE&ǭS %mFP:OUR2 A4$Zۈq*ԲI+=1E=ϔH®KnH >b.ML5h Mk(iGEX1 ;c1To1QKBS:!U4gKۮR-RYrƳBjGitUWqft0@i6Vk>Ch^xLMPL*6{ mY)Sq~4 t''U2\]Ͼ'^2u&_ ` `6a6;ɘk`f8Ib)'cUy:VaN\ss>)ucUL~4jഋ3[ #OZE6u5(h} K)PTeK^-d9'dhN'!ykkon mJK֬1xrTj&/1ZGB6!s}MDkTg,c1X2Ӫ |}Ò5ɋīUu H8(Top@X7x#px)VF!7b~LMW9dGUt#8u؊KvX6og:D]463AuUNy /R+TfGc_J2k&9sʂԲmAY 5wѣrѐ3 tyKȰ4ӕqTJQ1YkקTvW]u֤ Vj&7dq fWIhvl=67VBY7qgcK+:jē/s2bMYZ5KQ:UzY:SEz~J"QmZQ,bFX2s7{9 'خHIyYO̊wta4?ʒ4%Rv!vRVٺ^9w7u_Nhqz7#WXK ZGt7JJ500 ;^ޚx8.+tm038R ;0Xz0Y XV; Q/-& ҵ9^TIQu`1y%SQT NQ۳ v0Puzv99{ooxV;*s*?t粙speZGvowG{dH`5iy~+}.(HG}oe|ismp|i Z>ZK<5r7< jō|e{}˱t'^@{1ZYtSxuE+썒fKYÍ{d쁳}OY}=OC'l~۩WN{2k?s=4v|SǎnKǃi#3px+NA9e:o9YGS۔Z_L R8)\Ȱ‚FD("EfLPcNJ/^82Ǎ92˗0cʜI͛8sܹǓ< J(I O$ؓeJ&te¦*ubJ )(*MdNEJWUzIVuuը߿ LÈ5%W;]\1R#[>usP5)ӨS^1i=mטC[7ѱo NsNfQ;ؕGν!Oӫ_Ͼ˟OLʨ9hNPq]j`f}c߅VMx"V2b0(4h8<@)DiH&L6PF)TViXf\v`)dևjls6i6!`Nq1d案f(Cs6JCs*P}0DL}8:gpЛz&L.D /ʐkNt0g I1A졐3O:$mK.(bmCT*FB264ьM4;(#*oygÍq|:T h}yLvv,I&V-}H1yl/#;@N (i193 5 53;L x03"N[L ~6J{?}ڰwĤY薪&t>^iOC9撿YiOCNsܽ? P5 58C _|٪lwywOfʎ꺧Y|xz~or|y4Ÿ?йPz'r:g֣@r#`+OUE@-[n3T "r)cj3-quޙѩXÎ!m]a@9{ZUX@ h,ﴩ9 SjKE1$)qSCb >Hcvz4^jLda D4(T2@x;#ܗ>Wi{W+3]imTg-ė.Cf4͐0)RdzZ"ػ!Z(^Ŏec0j8ȞN6\B,( %L0>qaHSM`D(Lp5. Lilb>u, **e>E,ItVACP >uPYPc UAÆ<^bLz:5J<8NuLO.ۜ*ǩ^Ndfxgr`L_*hLT {8!37*doK.T;,5ƲNYR91!_ WvnO m8anX27In\8@-: |s Wc VQ@; 1WY:U]9Q匃洨'vZV{-h?K e8 )vaS|ô\+iCLZ];(By^QD󍰄[Øn<ʀf O 6 @s%a !,@l H*La:PbC -DHYQ)F}d #AD@[RP֌%A+0,"f|r *Q4=*HITV]JKNExd'Rx*bJS]JD(RJnmώj" EeJ2W",,um!4Yx"ܚ;TaxJe#ԖRQ\~uN Q˲A%!d֮@V[@9h*1mLyʔ/c6yΞCK8ڼN>pyy ͝H/ڮ/'H>wv\[?|,#ONs\'_nWr1Jz(_DNP"a-!&,p'DS( DP@xLb %bQ;"z!0dFK&x H9dP&D5i" !,x'S(П)\ A2t8A )cC;zԘ"{@yI("Ӻu6Zl"[b> %ZѤ5۵T4b iR|O_zeiWew9ӟh!?,( H*\( #JHџC+X0Ə CBYEVt cJ0?t9pQzHDypɘ@EZ/&?H ΝJ'֡e)BNu![mXٮJ i0n'O:> O"WǼ7DNCwGܻx#޴#N(w?ȧ7)|e8x]'p] 7S@4sIT}-qPrQSI8C ly[D!=Nx7tI;@$?@B@ IN TЄV<F,Q)J1 o,GbH P-&qh+ vtPXZ`v v`" n V9 ` e&5I &;L񤑏$>&*D-1񏁴'o%JR1 2g bL3Ae$ Y#A|Sԃ ǙR0ocpXǴi- c9xxy_w(ĒCx@Ҿ/{AkAphLi߷ͥ=(|qe5n]ȥ^7"-){o * tv@ ͛J`Ei3S#vLTCc(g q nn^iއtK>+%~S=[pB_|"D`>6iz%o4k*5,F|/A 3G7i$ FCָN~5Y\s\0Pdk 2JȊٙ"Xd!(Φv  ($|}4Ef4^t߂FŪq9;q(:jY: *efy"H"^ YBdN(NJrX$R$Ul>V򕰌%E(Zi&^ 0IbL2f:Ќ4IjZ̦6nz 8IrL:v Jg@!, ' H*\ȰÇ#JHŋ3jXǏ9Iɓ(S\Y$H0cʜIM.?ɳϟ@O ѣHӧP&gEn{@B` oX$A :lN_ &XCx!,'XHП@ "Lx…MP 5qA>GQdphΨHm٨h*YI!r%.jdQ ?YѢφ2\x1 !!, I H*\ȰÇ#JHŋ3jȱG)BH$ĐEDr$QtiRʈ2¬O%ϟ@ JѣHO)ѧRI5޴sRwtqjA&m8jيcF]˶۷p㺽2ٯ:/bYu^}[j:lY%+˘3k˕t)zO~:A9Avm5mez盽qZ_#7٧ss]Nxسk4߲B>1lՎ>og>}w[/2gy>pSsv݃F(!vf{aTN_{ nzhV_$])$!xe_x0{:XօD8L6d[%F_'&(%/GƧ )!|(? b'Q#+ G"yye :䟀*da#WXuYn +rxcjƛW)zTVzfr*qv㞍6堰*럌Uy.zJA&ꥁ٘d"$bۛv誙ڶ+^]|Vkn.Z_H$:ZgvtRK8/ݙd6jιKӆ+g֝Pɧpgbm &z'3اn1.iW@7-OXmz(`d)}AWmsq`-eњlp-ܘ .t|x} EE xIA3D7Z-RO=H(g南nf(5  $8V`@yOJros @HF3* % 8ePcw,Q-PE!FA:qH Wء?/_H pD;jq< . 8\Qq)`_' tH+,wN@ u+LK`d8 d"@)Cs+t*1xh[cA6oNހD!1gBSv=PK:w?FAWe%)l?0\6>Z~lA'x;b_bQ1)C>9#W9!" D=,LЃpBCUԯpEH a q+$Zc?>.#.y^ֺq:FHhhm!.[K|zJ ƘT!Q;>aU;$C-qXuWi"[]A7޳Ȣ+ pЍt &͊r[d;?υtiX!]p z+ZqmHPۻQcn׳A8%W1E7vԣ}M+ڡC:'x (C .K]ZW^ aJ:+G=&V ^KLS%:A j1>؂?0v!O(魴Um]Ha8it@ j h|~[U%+v穛'+$;[v`5Qk(kl[# >@m7?H(U:Z F|?(ahYƒʀA|KJv Ҙ$S USD'!YP D8[Y:m^{)_Z@G_q)ݹ}KLXOCזuۂ [ ̈FT n7}%+\=r\B c;aٱh?ypȑC(ʃuHwtb8rcwMEWck`x4$_D3ӧ^:N_W\އ8|to/ֺGcwI [0aW2u9i,1 Z=rPfvv] 0<!D~& ~s18SJgx(x:)h8C0F`@)x8@<؃>@B8DXFxHJL؄NPR8TXVxXZ\؅^`b8dXfxhjl؆npr8tXvxxz|؇~8Xx؈8Xx؉8Xx؊8Xx؋8XxȘʸ،8Xxؘڸ؍8Xx蘎긎؎8Xx؏9Yy ِ9Yyّ "9$Y&y(*,ْ.0294Y6y8:<ٓ>@B9DYFyHJLٔNPR9TYVyXZ\ٕ^`b9dYfyhjlٖnpr9tYvyxz|ٗ~9Yy٘9Yyٙ9Yyٚ9Yyٛ9Yyșʹٜ9Yyؙڹٝ9Yy虞깞ٞ9Yyٟ:Zz ڠ:Zzڡ ":$Z&z(*,ڢ.02:4Z6z8:<ڣ>@B:DZFzHJLڤNPR:TZVzXZ\ڥ^`b:dZfzhjlڦnpr:tZvzxz|ڧ~:Zzڨ:Zzک:Zzڪ:Zzګ:ZzȚʺڬ:Zzؚںڭ:Zz蚮꺮ڮ:Zz8%""0:3,0A52#3"2.2Qr&6 3,޲{+{+ + ; {(2*b(-r:3Q)Q!+2ۯ-'!!,' Q (0E  "p᱆ سgć'EQHqa $Md4NQÙSlPa  4b! ,'0S(П*\Ç dHbB%ȑ"Ƈ v1;$\-јmT$AxHhQsN>CYю.SP&gNx'VZmIQڲR%#sY4g\exn4{FFMFMa\c@! ,' xS(П;ư!CJupϱ0:]hđM9"܇zp-"N5CLXbd^&(Yc嘇$na/xtoR F:K_́#JwY%_Ğ oYc>^ Þ+s\cn?]fݎp'^w'mRǨTmB`.HR1 =? Q(l$B6[aI_Px dS$yfmL?nEw.d偅T9]Evyr)W[R9ddM5iWr${x.aSZ{j鏎 %I(P(=(nh*:}$$Oj.&XPhiGL` $P 4ձ%cIEMG*FeKMzA fbfi Tmդ,&r+{=A 擬f"~cQzi$+RH@ 1Tl1/it?_$©GrY 5}ncx~n{fgeu' '(9p(wsD4I3q0Gx1:> iR8zLpI^k9&h0R6vs;7a _:ǒC E髝(7v=3I̙raȸy4׋ n9_5.=ehZCևj`*uu~!6wL];(7S{F1d!w>O;u^=@d{Iny0`Bv.`٢-9T;?xžJ3*䦔%h" }ޠZ -x.M `̦OyRk;^YUQ"Iنc Al︄H ~C91JKLٳtP4hXiN&z(R$xED3Y=+OWFΑq;IT)%0+QBRR;PT2B$ (ylIy`[Vd8Ek-fΕ3-QJՂ+ߓ2RR17{RiL;I^ ITsDxA=6%&NEOF!Ğ g8:%ӝ'@ p)@14$󀻯<ͨF7Qp HG !U,(' H*\(0A :41ŋ3jQĎ C( ɒ(S\ɲK)NsmdLCr0A/9̋71tiBH24bթXM&͸Ŏ=Y nX cPG˦J诬7׶k6,Sx8UZ=,vlK#ieAB5Lr➯NyP՜<{^$ 炨vuAH k W[eՊ-K,6drǍ?ubUS~nb v}JqMԟu;Z)|zNJ:򤃉?>̣N{AB<1|3O6T@$ZNwМ itj3 d 97RO)`BD -PlZ-mPjJLX93$6Ss=Cx?E=Lт+=Q[f7v6^x~7~I  W8+7'1)⏳L-ˏW"#>{=y*XRwxS+gŤ;9<(F7@f;uv'[Di?:;a_9;!RO?|d"g:IiQW~Ɣ'|~_d°2mL1G2!vsy#o`(W&6YҔuxLhG Kz7$oW'+l!n7y];D=@:ڐseOr3"q =0 aII9 0h7te(K`OvTOCtԻiQVp8L1I~&EKtO>)%PM}̛l†$Jx;R$2:R Fvatth?DD'p@'V !?آ-ai);HxC@$0AE5DA:!H4n`'DJR 0M OKzҡUp$F;zI!"D-14 EJ rcNqwrBjӌc/mXxq`AwwyS($lA)ُ< "JA'QyCV G<(8{!q u܈%թ.*AVgGxz00)_Ivݗ**ݧL s_)@(a)G}%H}@0I*x*Q6>cȣA! ,8pC H)\Ç#JHŋ3jȱǏ 2dɓ(S\ɲ<1>\x1M.sɳOpC<g6g6NxիXdT`fIJ{4Mߎ)(2I0FZrIЮHlͦ=N،ou˰-> Ecs1?O\]aM;W\jԊ{K1⁢Zb*|ER53N/ rM?Y^Ϟ, [4-Eb{6ZV\i7iaB{^z]hbK_nd Bp&̅gQ#~-bЌ\txމPFQE p1w vvZZZie31DxSԁ(|ZHXB;W`矢 eZ m퐠djҹ&؟1MШ#ik$_%)zbU5mq+!r1HZ q*1wlF|+K-T[p)R]?=p]p16&8'曑RdE3(QlI 7o)- qgw ,$g(\[ ubI4WH=H4\MA0,>S?C@pI:C >;!PWg't77>37̣'AB)۽CΗ* r!cJ=<`K:@M:63ypI=,.-Lю7 -2PB8%H%Xђ%[ hLlfΌΌ4ViZSdռ6d SrDHWNv D0tA"ZH9?* шFxbg&p5D4hd4,S0C\ N };)Dp5DCMplc<9Mcfe]j u4ÙH4iSvuTeTUSH)сТB[ЉzK1nxbZIL6)H4!Nv@+dNX7T|U:QfΈS$,8y0L jЙ"EBZ@.WUZ)N1>0_Q7xLl؈.6)YBZAcKW`0Zuib[>R![ҥd2S[)`Mb.B贔F+XZfjBMe}MzĢԣ`&KaGmg<*Q A_QdA]ՄaGd "AZ^ YZY:[4;f)}tc.MBגՙp)v$&J(f$`hO wA2H.>~MBHFd 0BҲ9iEdoNDFisd1C E;fL~JcӠ&5p k?6lLHYέnwku儝>GL\u 8,q9QBWѕc a[Z b>fK+رNK$<9z$W#{7r.N%1:\Ip?\'m8@$L i-r|D1!̭{K}cP. ݄K DMwmE+ą0@jQ0<J72z?QDslcLΖ1mYłUVLyHz[Ѣ:l+|qeL +Pqĝ/K7k⏮UK1TgPaL%V1}r!d av֖fmFDQ+A`nk&unvzUo Il +@H= AW$8U-6| R?|& 4sI=pb<<0DSPAK񀮬*MXFlH1D-sI8/5 ,QU^D  )O#z"l# z@, D1jW( 5f2}}?i)܈X+1Y!IV(ļA 3-v:0!+@^i׋440bN3f d**JWus,BЇ7jO:du@k =|U42!zqD)]}**qKb$[ݪ7 nq B*QSj LЋ^4D*5tC9=<=D R7e 6PjRXv(\H#I؇8e_Q4HadEX$TEyI}1  " 0H؅h؀a}JTOؤM `Es["Ncg1K({~.xTh2H7!QJ&@.NRc޴NexHyR.͘0иn{(^DyVG%9vO\sW@V<?WUuU}q ?g 4UdjIy-}h)P@҅]ERބ]%)0^6E[5$F` *fȎьXZ(!iy5֏Hc=` 5d_Fa_g!U w SGɔG3qB9!f(ȔV0hCӘ7v 0T&{YK! ,8C H)\Ç#JHŋ3jȱǏ Cǐȓ(S\ɲ˗+0(bɅ0#ؙ"gJ> J#(\ MjfCۢn#gϪVw 2ע`Ê )Seĉb={lߎW %FZBՉ*^X⒥j=6{ɶy>a=;wx\WnJh}q[ 4|k𬃅qKiq]U\&(/$a=D:餔ʑujmIxuV-w6(\}-)@=wq*q5)謴RD()Cm2*؈n].^U]іsGZĦ7**BmmUt놹z'1 h[flzӃ駷 ÚĵkhIW%*h)xim2(B0P 'jDKsSNe tsP6L7]SFTWm@P \w=q^-dmhlGtw]-67Jsg]u" Q~dp68W^ԣy=$7#80-#;|"O'x;!NokWxGRH}a= N`T᳘a[|<;(1tI ˸bb͒Mتӓ3:zMRXSJsd"}x.RQt5yʵD*ȆMg1b0*aҘ)1;?z GhF QS'y:Ƒ[4_\h漐1Q|T#7}x[XFo3jIR.լ]t[Ow SQ6yۮsٶ#fs>E` K tH1XG4C0t Bt4A=<5@!>c>K=c3` F>>!(>$>X75Ԇ0L $tIČ8=mhI(ItI |ܨ6XfP>KBL渎tITvP#MDL0IȤiIђY8W Lnsn; hP ~O96c@N;5PDweN~xSA%RCRADS`Sp!#5@FRti 闂#Ur8DX )!6yJ eJ9q Cp w5! ,8PC H)\Ç#JHŋ3jȱǏ2Iɓ(S\Rȅ-cʜIM9@ˆlo豛H*]T'.y*iǞ=B~d´ׯ^w.iTT-H!Z;ݳv=Q(({mS;^#K.ȓHY\RuZܦ@8: =B}S oQwLqwۃ=hOlS;k>qֲ}_ (P:nbП_vC]hmiUۜWP`ރY)d]Gs]Wiׇ!5`BF[h)h@E(K dQ8a}aA} TL(n=\=hqLm \v Q Auah3c)VL"lX)n1zٸ>[P &6Z'&_{ '`觠^S('s]zҨ*}&됮j+K:+G*k&* 6GSͳf{Ь)q! T-6 :K*h-e"[M!;LԦ:{Cx¯?Cd23 ϑݤ#+)`EAd,-*{ʼO+pLH=]t7JO#m:=H9Wv`(]"wA kZƍi `@<o%`rL%+ b b.|| ?%̣ +$ X#bDSA;HxbWAF7Z tE;L[CqzP>$$jy"<[ o9Nd f;".1€92Nl^JX){<EL<|@[db-^$l"ϓ` xUk:flĈa DLܕ?zC:nmӞ z/A=Bebz @B'A"(F5$Qe3}((ETb3)J9?.5G\:g 8IrӜc)B>-H 2hdTnܪiStTO=QDJ B4̀h껚*~*\Ui}-lIkBڡxխ@+VD;L rQT,S Q~c)E ҳVvv ,@R6"3KQIuT4A-aU m#Z܊F@okQVעukMgk;BdC (nKz[6 %qbx]~%l6$aLc _N`2xKcq { ulfC"4A-\9GU xAWV(A9-urf7Vg.Q9=yc'\xU]6H{3X?Ճ=5N',f4`3&@TBqnYbȱ YxBgFrq[5޴O^<ҁH/e);ie㺫.a,Taear l;Mjw4Sϻr8d<8Lů<+737̣'vܟ* r!cJ=C#S!$]!2} ]ԓL%K7]T{kmJXG=[*/*UT5m],UWs~rG.:4.PS#%p -딂 16.Ǿ ꩇ\)tGgp$p<NҎ)"棯U/#-RqARYdȗR UB*mh1-ՖE B欔 Jp!NnB౔|#.+(SUJ'`AS$hB:DGc tAj)DJ&t8E*HJvZDsڥ0 1IYrST|*HE'Ћ@rԂBX[.? |lU1 iFjT^9,Ϊֶvn+F*׺xͫ^ۚ y`!7w}`paB@jȳ";+Ȅ8X!%"L76V.mA' A ai1xߦ n2úy`b*h<%?Wg+5qP෸Np DF("CdLb~{@n揜Q7jS$nX$ +!Wyn+Mlx煛>&G& OE*8۾ꪃ8nCm}:lY*P _)enjNArs`Z !, 3G ş*\ȰÇ[zHŋ3jȱǏɌIE!9 ӻy2i&lCVfM3 y4DJ6gOы3BHlTruhJq"SL]{,]>{(8V MOp܊XT ;>J!LDe RsHCONYxv!h1vQ=Sh3޵[;yL}JndpJ7't7CKK3-#U=eH{% 9x??_ǟ^hЉ)z?<L\̓ .lJՅ!yO)d[TP#3P5qI?_% "1CM4ˀ94R]A9J3LFCL$9NNdJ\bv*2pN'S J=%I&A $ߤ#VeAO*֠Z"BsI'C$)bl*+S-)flI* ÉA頒PyٶHPCrOn?"05?QfI;<\(tHqļUZ+ɎqB]ԓAO'NwTs=` ԫ ! >L<#33B=$8 Z+),sCL }5ͦ˔ 6Vv\4~pҀ O9SG5e9A08G2^$H= EBԣ%X%{P#/osnȓ+b-) P\˻k1)%:,mrK>wBY*#ޏTQ\SBRP]JkiA9`H!ꑿḲlS]R2q#t@(@# "ѢT1BSYP;x0.KD&MfLn @A2Q\NWJ(B0N )[Dҁ@DuG-3uX``G3>XԢ?:( яwP#>ѐd 0EEP^ cy!^C(7Jˉ1Km:MpATrrL!KtPG T V|b" n4"<WD;\F$ހ+B⟭q~_G6Z~5d}Vy!c|=8܅fW3v،2X y(vu'%@eY@]y>xbzURFW 'bCR%*UZ%NrR@00b&S( $vx f ` eZtOО\z dy ّ $ ؉'cXR UyrB \ե?bpʢ!DX 䃩qQ@EzJWt'(YQ$ᬮ|er qZձwgl ;uq \u꫘h(Rꏰi*h'Q (O35f%k?1ɈV)*0'@r Vg"Go:8 ]'zf*\"FH 'fI')c`| bE"WʟaG)(tNSM-ݴPKM?Vc5aO_$m@vaWgt!!8hs%2&f܁I Yў$͹砋Nއ%&# Jum嗳')-Ow>' d` @-N`R$9z5qn:o@ FXxHA!' I2+Oڕd͌fQk@lC'UXRT(qJjA*L!c 24`' ":J ʼ BJy➥0HhD$&h'bȪ!X)bw"q HX3'&ձnăC"$zLWF2"Ő12At(1 Gf &2Άbb(kB 8 r bG>/B^-R 4O0H |K…BPc&n5(P T;!H-pLRвB!h?TzB)ƨ%XKuRiCV!߸GGN'1eh T4VmɂvB)@XS5_fQls 5E5I-y A:J*\ ^U% LXB6*Ήu{g61B)DP :}e?;bvRb'ѮKpw[&A|עs'?jL|mp%1M/Sx'_801҂X珖A 3P mR I6 Oi ېN$!?.֟^:R|QgzGyo? 1P9׀TS]3 p[U 5rޤY0wM!r(4-sL 0H0RtDhM\8B<>5^r)u~w^ JPCQutrPb`Rf%)NP_J!dx`U Q8O"I w*]7pE!T5`*gRj8C` v {*.H)D7y!|.vbXEUk k# 8*wu]E)&XC%r~E_~&gU"o{V rHt㈈@' *pX93\ (؍qY80C [0e Gf%V؀OGh4@KP6Q: 2]~#ARYEUa  BtHJ5o t1NĈ$u]%u *a)B ωPY ']I"6vpor ]49FDB if5P5i9Y:d%r\ZZb[Q0"U@ \Ǚ*xɜɜ #'D5q**ٟK9y5i:ؤ)IJLzVG@Z[`_Nd4@eM@ ڤN0[WjY)ʤv/ i )37:Bwz14Ihj ;Β)c4ZVU'٘%yRՇ3s:K&`ZEq1!OѨڀZg7 POPȪ, =4ǰ ۰p* `ԬP * p zzYg'oA0 @0p l!H  ˭" Ί5`z!QK{ s1۠@ p (pz`z@;Aqɱ V ` V{$ #&"ԩVKX᪱ :^[ ѵ  1♭A u[urrtxDz"a ~;j!A"-"12#{jT p `: 01` t  k3(J   !s;q@`@#G˻[0 0{]뺦K*ȫk+[R " qˋ2+!K,0+akKV¶Kkk«ۺ+\뛼[ !K6V L`H)?;0kR9\{>ܿA DLf[L,}< <";۽#|G,+ Ի1p q긨˹0 3#S2'#)!A9pq @ `   7ܰ P ଶ ߐ" @ 0HьpФp K ъ 0<|: ,˾ S 0|2+M @ 0e v@VL71q֌,<<΍k5=] н! M92}_a @ ] m,jmMm, U X\׃@/TЇ=ӄ},!*\PLjĚʺ!;wA6|#"l`[ 쀸0V7C `D M0vpSQ ȪM-)c])0Ⱥ-2V DٽS݃ A @ @DȪߐv! ވ+!m=|%-m.p 'ޝ}"[#^)^wU^C0M/>E]3}㘐a=n[ Nڍi.̍mJ}ɍRB+^mn!]OJ  PxQ_#!OP肝*>ˑ\06qސ®/^ MPH N)p{ 9.[j]+뚌 H ZP>[p  A,쨀NƎ)NJ֎a H`aЋNP򴎵*O1N ?:~n198O8X//09 @8 /P^!\,V\[d+Ԓ N Þ q@*~ p]#P`@3U \ nlE ~?; x) } ܠg_oۮ۰a?qM&}!_a}/؀/O"?p>eP0+?O"X_z>0n`)/JW]ČJ<"ƃ}w(OKt!vȩsR`&&/<QbҚ'oS&͚-O$ɬu_]ծe["̝]y_jUZ#şUp:*SSfОقJixsiD)KE]z҇Nx׉;eFqV΃֨R׻BHٷsY;}]zJa@UϘwpaQbiY9%dBî6sn-<Ӎ iG=ܛ.b>CȰ?S}*j;oGCrg+lQ\ U(ۋEdo&J-NLfKD.C5$$dΫƼ2#REk"+xԝ$tSN;SPKJY%`PKNIE /RIS!ь3ճvU Uaq[n!"o qEV̻4qv\4liHnǎaDoX@X,`]Q -1rLbʗ(-N8ס!76Ap-8!} *3AB%#ei7 >jb)B^@ B8͓Z%v|C[`S$Pl!{(D.\qdu9l,hE[v2zl GleJڱ6D"sivXd@N)\.QâΚe # wO|^*S[dS՞羮oۺ~Xkr@ޯ!!~_IM,=jL)f>jqDI:қ45#X)&͋cp] ])G)hMZR6pO')̔5jHNMa|G5RN EMfd `X!%la  4Dس)"LE~,[Uϯ,\%҅j#ji:_:>n8ċ$N}І]-o]bjM$j0,_ͪA{r.q]-v\n&x;KPr/}ms۩I@C+ܢ5KnA 'X N-<1d-?ЉTp=ЮtZ(ܠ/@Ffqgg{׹Mv+WɁTֺE6u>FݛWLFnRKYmEt:F(MG1we5Susܳ_PySv<% f4*Ĭ+uHEHkp K! QXc`D*&]iD:ѫo/kisJTtF?W 6|\*4"U,\Ԧovslm݊ږJ[`-yrmV[n?.>D)7T U?-,w l`jbu `bf)KX vHEKߖ7]2BNoo4mcN]\INl6QuҿmtN~2Br]}q7-b8D*R\B v= 3B̬ fd BsP@@]̰U[ψ"v_ױkZf-ϵ3Bn]dc]/L_UO{հs׻z}n^~Fnv-HX"?D&6r3x~5aR B CXžMaR/@T0?T  > @hd-;"Zmݺ V` h|:AڔA <>S0c.X };N0'88O@K?h<'L:kzC8.̈*<8<{ꘂ&|BIB8\[CF{7?> (=`IQZXCķzDyxDqPERF< LDXEYE""hPL3[C?8=P',ɒROK ' l1@D+@'@C#T;_=EShv `KHUCG!+OA+A^ʈ(ȶxGWDGHH[<ŒP;']DRLP)qT5?HM (,<@S$)hIKP`DB@Ftj8U ? 8D|"yvhnʄtqnxu @o"9712yZH yxovxxLȲq'KhmAȢzL<nKE,MKT؊ -o]K@։1 A 1 ;R؅Eb] `qt}YRKmYAYC ܡ?Ƙ.Y[S>Pe QYȝ 8 8AL Z]zdňe)YZHK UW[ș5[T0֐[I1S %` ǀ ̈%:W}Uu c0= 7)I@!Bq@ O&-[Sm؝Y&?xW@\-^Y]^2^ŋH5TQU`WGP5nC^c>H(jΉn!qЩ }z0Q]؝q)aYP= ``33{^ `Y`~D 1P<6``#_ɦΨ&ar߶ 'rB%cZ"z>3Nw 7#9J!U:[yý;Z+.c3v~3^߫\Wӽp6[[/v=F(f(iav *#33 VhӲ+9)369fcM8OvPeQeR.eS>eTNeU^eVneW~eXeYeZeQqKd2;n׊^­ck2d[as0AۛdZ9f5dofc+@s6+eu^gvngw~gxgPJaKgqC:>14A56m`gmeFdph^Oe4K4g.i>iNy+>":dn܆gf,\h39膦h qK/l>qL捎jgF|:g>tVijjy=sdދ6qe[:cc9kNc~f~꥕j.^~'kT~l~Ne.>Y5+-lݭ > g9&:`lf0m2@e@)ݞLP1H tA9 :xm^e48E[S=Ѓ7@7O eOЃG)Vorn7`En T8 DBp DY\DhHKl Llݵߋ Nt8Q,EQV+`">roUFV0g g7p_SF +e-p/gPGvlw\xG1v|l 0] @Ȁs} b9%$̊7h(/CrFV%Oe&or{rRezVWpP/eTtyu=~OrzwVHJT«TJEQ%Zţuw0Uv`IJ%-d =H!"O)ABC$7n,8f +v ZhGN]8È!uiG]'%P5(ЂFk;RPQ7:(Βp hmAǒ-k,ڴjײm-ܸrҭk.޳/`7h.la4{ӷ1c_xdʷ|/_^njԣ/Yr̘'?6ܺw7p]YiAJoRwpS;xTKK`#ݻrTS࿣~uz)]=9Yv ~ RO.0Fwx#O:O ;9`'f2π!zA^Q@] ) t]X/XA 9$Ey$I1 )[l6'v%hr_YAlx_r|Q%dZ y'eCs]*ps;6fYr/Q xI wtqxpӑ+:\r yHgЄSW*zzk8!%,. n}`X8!R'x⭸b*QQO'8TPjz쮊Uv؅(;/{oL:%Meїlv WgdrFZuf9lgnG%|2ʀe_pC r?,t$<(\qÙ J<ȃKK5@gP^ԃ@t5ݬPX@5-R:ΆK0SJ`_NJP8\={$ " jNs'/ L睮^ڝ(ǘ8~:ꩫ>=oG`jei-I_ fpnv0k"'jh>J>h2{\6bI) ‰%"oe=A9A/ 0$n!;XbH+ڡx+R0x<#%:zX!Dp\-AdQ(&:(\/L vth-R0wp7Ў buaH&*.Qr\"E{ D#vpFł[BGy^~@|$$#Yun5qL'9s\ ÃgB@KgrP16i3XRIȾhR,Ca{t'R቟ $fHE'dd.폛"Aix<щp#ױj0:d/^1'Cy_MA-60,f kX79@Ӭ59&~3,!Aٚ_f1h]̨Lmo|S+֏~nV aX{t,Q^e3SUwohHøϊ5bGv1ү{_Úx58={Yu%LD ׻.5 6j]W)Vj?-:_zy5wlvSʗ~3+쵃ЉN|56=;BmZ+B^aӼZWa؀P6(^DԁmKaTsaB 9.%=uSX)!_YbD*V!pDեEkD0M62|m<3/v1|gi ㇛c ;(؏S[{ޗe %: UG;f"G₢CAzI/p1{ӯq^m D} ՈU^=؆  \8PNC'pB;B|}-`8*@-̃8\%CSLABuJ+@< PA=&K `q@A0 D2\ ]Ν?&'0tGQN`zDӰJXDGįpz\!|;H=h$PLB:tBnDX4!"&".\t-u A*A&$)!d_[p'""tHr(s8Gy$%2Gx<A7ԍw(HH.ĂÄŇYL 0'"N#5VE#$E(<]Yt?Z]L :Z#|ߙ+n(:wʯ@0 GczT˶`Mdؔʩ d5XXFn$G>6f#al#GA*@B)$t 0)& &@$̸LΥ΍J#$NLd* ¶T&c!2ب$ K P!JKJ!'KVV\" p*pJ_"K=XA 4 ?M((ֈ h;@؂q v$gvgGHnDqpA~ "x&x{Bsv t#F|A)lVbmlb!%L ${`B)B*8?fk8:*&t|'k&l^!&`gOOOOI ΋m x9(U}ʂ 5CpʄuPDőe'ăl"g]f67@@*X DD*|0:n hL87A~c4?(hNE܎?pB&aN#TV84ui PS'KX^+"\7LNFm-(PQCI¨*>"*ct TZ`)G?ԥQ*8,)tª):v* *F,+Z>\2Bت5t\%1z<ȋ ']֕+jd\8d몺"+oAր'`A lj K|V,J'ڀxB+2,gZɞ- I 9X^+Ƭgks*t"V&@T~`N"Q0²*:(+QFkY8f,`vd= 9=BVVؖɬ۾mGZ,& B!Bv#t'nD&tBA)0S.-~R")%|tB#w %|`B+vz 'LGn~l5,.n%,5 4p4i*R'j# p#%'8%nLC P~Ho6G&D4'dfHn/bؽaNp:ޯo /0o=[6?qo͚#_XYi1h+$&\\0p]pZZ$a*,(%0!G;#FXX '\Ny Zr|0o?"0|~b#{ q`11E,[%Z"&>M_b&0/]͝/Bܩdq^$n^1^0^$ 1%&o"\X0Y@[tF),Z\2 o,qꭂ ? Ιp0+R2%eYBN6ԳU%r17X%Yܶ%BP.Wb%YIdG$MdOrl4U1peZ&6Ә=);ud;׳9?%5X7we*3/ FpB?/383',;3eO63:tTvsΜBJV7B8U(B&(3D$ᤪdN35̴rY^]̲up"*F٥&0sDXr6s_{g"'\Dt{z.:0sz,Z'|nΧ@i'4\Xi&fmoHځzbvrwy,_5P`vvpf*Ti?etRu|ҧA*H>gva/o'ش5iut.lPtVrv`a'bgr!\gmn~_7zzvj+50u95$TG7=a? *(B SE ꈕ~uP -Lqi55GPwE<+fr.*)(P4mlifY8r:2? )&12aں(?++06uS8NO4.x* Jk6x} aԍ J`|߹ʍ4) I[T#ZkKk:VFs8JkkB'`kY2:ZE+{V1 djz&k]3y*#k+ ||AAE¢* Syl/by:򺚯9ەV}{Sٿ5:Żݻ}Y;ڍ@͸÷չ줭rlh.P4 GXakez86<.uNpgv;zB&J<{DKK|rY@+4W*\|·z?}|ӫƏK9֟+0祟˜30۾}í 9|8Ps!Evp^"o׺Ֆk,v;6zy :}À>Y@DmJ1 ,>C̤C=OӎjAgc{oD~Q=~oIڕIX!?`ɻTD R4XpA"bD)VxcFVTjU 0<-\9R17V/1hѤ ;-Vy+&С烯~<CM&2$3 d[ jn4ڐ=ED: "@#]|`ЈlI dGwD1>ć#&}tG(2CA=)8ϢY1BrMmKĹeq }@dpQJQ:haɸ)~]r@ (@:nCu=^px!G) WD {HQ" Æ-WGag[ɘTmI ]IKT-.yK_kgD3gς5ә *‘k'Ei{Bpz u{pMJ~S4L 4O!85'<'C6Ֆ]{Ge9KzK"FsT~a+-fA C: s ܜBڇԥ--ZGSvtR\4&;֬)s; b -8#Ԙ6| E2|K<ĉwTN#=6QZh7ꖷ[D=V!!"z-X>,YѺQhM` ̎iAC8޸=n"AZX@ց`nti #>%Qi[fnhf[BlE Aa( 1b@H"0R^C0W "`?j|Xeu*Cbq)\eMƤlI##:zӦ\f_Dא0u` V+28hĞjUtfZI&V F:dD*PWSj6"Ȃi ܀7ҁR̷&" :#>"kp#@&}g_Wr5Z\ xZ& z_cp-?G?fp鵃]1D"őVq g:JXׇP,Q`f!B b @4= *v3EBE+y? x6=xE:T\HGQl])qxȥKzF?|`wC72q@TktZ dUvcęP9ӡ#]L[XXQ7e/I)6~# tňx$Qw!rjHc.fe! jDcq5 jP2FeH!+ GDD'ti=vxUFWX<đ*E-_>m}i%@c_ $9 AX"oo Tl Y,2YĬ^ A.aN+SضOcpe8#La6N Na$00qdF">Aa DKF p +b |a "*b0pl ` S %d+BHvma 4mQՆ@DC.zk"  #q  $BdPWѱB"bf&gX AKO!A8aaXJd 7kS!2 Fb2K@V" "A\Z0q 2a"a<^Ab ,BH܊qy ]1FL`\A !*a!j$OR)"T$Z%_&_ʊ&k&o'sR'(B$8#ϊm*""M)%LB (!*r+'" `"8Ҳ qo175+(Lb+GApO$O9$"|OġqYA,s!5Q# L3"@aԸ #B3XFlMa!XBBWU[UHKLLpaWD%HD !+VoF FS+9A X [A[a}$.;/Ajk ^``<!!N5Լԕ]R"u?+"\!:aP?5!t-"k _fke>&?fw8DdTtgsN!~iTC,<$8` /DJ(c$(|掃%!v b >xVm6D"nٖUSThxw$Ew #>kILl,ז:r+w"Zn37&_Rg-w4{(G h^Hxut-6?$j.!ana `7"Zsww6sxvnywAh tQfiniWzz1GEX$FEfFW7R7yʩ&W}ח}Vfbq4n$hlXp[0ifx-Xx1糘~-B qC 2Q.ظNr4rN N깝˥xy B)#$D:Ȉ:!FG!F=ydlFb"r#p /atPOnPha#N1O!0?Ÿa:ڡ>KQgo<7'ⵣ/o㏳+۸;o1*x"[K[A[;/OmL"0{{3oJL1OI۳'"$z"ZB\2qPusyppfX б|05YSQ|𵺠H1;RM9b]a$Ҡ!˽5t| b;/!N G\'1\ Υ|3a.ASM P0s&)RQŁ C"˜!tV}nr!}1Vxdq) a1r`@*y"")!]P "q2(5r } ͋!R/n!=--A/.]BQAR$ؒ! p.ۍ!="}=!n Gb='$mZ] (KȮ '"(#kr7 .*"5"&e0310S־}. jn<%2ϒ1B5yM#.a>uG A s QGigMb6<Ȫ؃l%J`ӧؽ| 8 >8;nɔ+W8͜;{ :U,Z O8Y:JUa ÉnQxڨg(F(Fl4jQ[ڴEn)r;n y6{ [LA%ώ?ۙ9Q=DhA< ; I; ю7`BNL+oS&Aʹ?G*ẍ́S_8^yMXȊAz)RO&B Gr:w UR5ҐM?-8xB_H*dQP~%sI&G= B <rWXEY4}-Fi^i}i YeiJjHx'7dZ*aΚ/l4v283 "l4P#R qag3aHlHS<|DbE)`;S?XLcBb+) M;("8rZR:JEV47it/}k?D n.)0EMlKO4,Mr L3EMOs;ps-S0jOk~ a-N-x7>ajo9TO_mz#}GugE=غ0(#i{EّZMC:";AHp;_}D_u RD?Ǎu|x9/y#c"AEO"wD&&#,!rի[D,[Ll">Tp/Y`HwL*NycabEQ$# E4ZKtOT;;N]NS` '< ?eͭ&+D~!.`X^RRlu]u1~hw  ZɪY5 be{)&x*pU`~ ( j(X QWC [#|r<zm/@[;LPP Ayu=axEc*Ź2j dԇ.hikTA`kʫ2i~dQJ\9_T@p%J([F:l`w]6COy&&3hǠq\Hz"Pzԛᧀ *̠Wmrb5kI8b"`DV?"8M|3P-`lmzp_lܠey@HЈܳpWVQl)+Ez ^;i1P Q# Gb ܠMtAd#vcQm\+8ro.Dg gXJӯS—a |qS"sh_96s$CnZC?q9O(tPA.1(H"~5>!V7&lAW~kiVsu~ b1\mUɺ0.HeA Z>q Θ\ _V&*q/YjGh{GFfVq#D,p+Tt?d w/a[[eq<;;1 ; A8  f0Uvw2A&v` I&SY#[!%- !"a%8ov(8(ȷk7 9v' 9 )suшxUywJ<}{\C ``[D p |S 7U4v/O 6`Zt44s\S0Uh7th"00p뗇@+&،xT]8xPaVat93 07 baFa#p DeVFx]eM .LpvPa, vf͡l"Qf*-`P `BtJ9"'hBtVi 41guvg hz2=#n3i hVhvaYq*s¤kk*l)g m"a1-m@y=F Fmc}('cWh Fxno֊ڶ8QU%q[C Jn7{ԬrJH ! #Wr,7ʓ;'9 `J\G z.+5 77J({pqKptNnQbanaѩdPEQt &5C˵|P۵wwex! DK6t1Fs9u+f'Z Yz{Sz0v Pt4z2~RcKĬszrZYa})}}_hlk[gj`ur; ~GF`\ک; q% A%``Hmt;ykshL;/X[p[p!`'P,ୌ:-ٱ4: a@(DhH`B : ^!F:"%^R$t$ϓT(%0FA#" Y6lUl[GsyŘҿ{0뿕r*q"m43S 8 x`-@J`< 8& ;A}f%J#3C16;3BL6.,0+b//0eA:ъ9;Ѹޫukܽ"הQVDQTS+1n]<_<r]ZAab >$K E|xN'@ fr';l Vh)hLDF-I?y`铎U^M`8p ")6 zR%I[1   D93N ܋5rq7TS W1p p JM^Ι2YiYhN|*0  U~) h#z*:~QDe\A* ڠÿ R{a?g{]'j_gw {٦"a`` GN [Ԝaa&˼|Kz c2Fc~  ͊諾bZ[ez*/;3aVͨiZ$fb(vQD-^ĘQF9~yHڲQϖI爚QΨQ9mBG5!Kw=m[:viޟ!:thKaʴVAn:qj՟:q:}cE9IbZU=y Chҥ6#Uʴ븽hL$Zm6ƟA=LSRuĮ_ÎeϦu)U$μyi{+YjٺV8zA$x͟G^z)ܿ?=~0aVYRRI!2Y/0Ce)(Hjg jni r E>\hz(F$GCHǓvhiHGlv!NZ r"=!%Ǖ G;ܴqO瓢'f2lDsN<2zɂ11rܪ|hO= KJK49"!E gV[Ǔ/\yO`o%XcoMeO !BOc e86[m7e`ȉe(H'gf_|(izZE#EzSy_y2lAq" {FEGCw)gQDv%b)h8}WԚ9ٟ{! R^E[цlrIa!~s.CDE;m)ҵaҢ>;_9z^o;e!RPb Vٌo%0$hIf]jv(ƈK~Vn?$Lz(R“uh0=jYuUgGK`GBzm=:u=/&w݇wL{w˟?ć07lp".\|)onllO{QSoA .`{MQ~8DH$XFD BeH#, -(Cv>;A)q7GC:c6L=!&Pyb"wOa 2n%U/{ N> -²^H@71vG&77{m߂0XW~+% b5k1>-<;R39OnHҶZY+Iy D7*̡ p)6Dn 8 vό?+{z3m(hv<(?ƶy9:oxr`9tIJW2?17j1bu9yP"F(͕n,`83ԡ xv8@q<ۋ&^Vr+g|:Wx"LKaC.rq2};ܷ| >f0xs,>W{|\@ ]mw5]騴e^m\o6Czַ\l|PGougac-Y< {YyP= H[`A"SX/~LKLWHtX#+0r ወL[h 1ɾ-t{tʧ|lt<..SC΁]eDf>FY=^b66_O\e'=e n8T&f,]4 9boAWXX"܈-8d^16f#LxdDgb`"7Cb=|b|օ/N@ f6,W\P‚(hvd )>܈ f^=BHX8iZIiN @(?F溇PIY,Q9=5{c&fjDhH؈(V=@36483phifF X.qXf#^4VN=Fsis̈ΖlXWǤBFƲ_Hphk-4(~A`4j3h3fh(nehf4ln*8p*8gp>7JQ( hQ Vnx9qz>T=qx :1?o@?$)I+>㾉KBn$;,Jtɇ وąl!E`>n(23oH>p礖|ItzAq&= qsx,_pq_7= 7Hs#78#5qcP`r5ƙT>fqP1FJ9otҾpMhƅH,2+h0+,#in؉i'v헐(0 &#(M0uŨư ݄)q2 dBML( hHlLH8t琈uP (u@T bs hψ@[&T@QOwjvhZ[%h[7t#wG[˂(w.Y.f9hɪ-G`&b.eyo wyL7;ǐ4".<@we@/CLCG yJ3Q;2 %6z!C2:T2U*_$u*WP!A-1dŖ(M)8Э-QU I{<˪U21{g|aO+(r'x-lw_i}O?h=lSFjS:{0H-i3C蘗y\X3Yo@Vƈ1hsAuΙ)r6PyizS$Ӈ@T❱I{'p?/\)-?/b8蜓+bÇP|#KĽ{W"z]2M^:W6,͐-~XoQSBLԋAZ4+֪H^t8Ƣ%z0z}tζntvս7_t˯ƎC,y2ʖ/GΑKΞ;bܶ/cάO^}J'3ڶoέ{7d\۟o\9|(Λ[N!ݢ[G_)M?͗15eޏ.Rh|ϯϧ5A^CrG>4T"M8\ E[Jx7\]bZGX S?lubE":" .xE)B9aWFXI28UKNXn?jhHIyS * XIyQh(ch\y%9VbeQz__pRZ z`z gܒ)hQ  !ȡJْN=XZmG yozKF1sMXu`Xv= YO%Q# )- ; H,b~")PB')n4/zdX(W>IXlSNR4QM]B(ucEVDWEoYϿwQ"nahvt)q[C#I*,p:/tC ?XEqqU-T)&<gm"{]2h\t/3qNdP%1teK`pg0@70*cNws]¬t,iW-! EiuE)x2ϼ{|tzJD\$ [\cl_m6<{5W{X^m4NA.퍒!KP;Hx)-a HBvGA;8&- QxcT`G'vb$0A %2[$<&@D;\: '6p@AHPЁ  h!6&ͻH(,Z"FqЃ ! MBЅ0tKxB[8D< J] "CaE3I\b6 /~aPXþR!T/,PP%~1ޡ-&FDh7-|!WlA3d+0.@1-byС[9!:2" }"YXF}A g8"}ҡ4D2[G xF4 jrԣ/ӉuC[CPKc:SL!aW hV&IE![S"ULJڑ7۝WyB/m^eE۲ t Zl:@Vր]{Sxζ|6j OC78&V+/ĶddAs9;)c9X++#W23X R2{ʓw2 /ٿ\vKm,2Gjw/r8[ „ʍx7:z1&(:ѴQ>GCVd{eDp݌Oә :Jsⴖ,9ҿ9AuʸdY ׉~eF9X87Ҟ6o*fX:ԫA kۍޯ疼in,j;7l43twok7$]pw=L6N+nc<㒙x8)#wY{8Wqƻ.‘P{'LsK=貞r|8r-h7d6 j혓{xAVИ?wK.!\ a[|)9}z$r2+OO)()"7CNͷQ-~q%!/H!8~E \VW>F[f։(3~ iB%L8AJ0A⑞Y}pќٜ^`))`M*x'\`#IU/eDQIn _m |JPmt Ec`ܥJF= E4D&+b:6㍙(51ނ1RE$c)9:-@4R#L9b7n/7c[#X#Ɖ|jEB9 ذW* NNL(N/D edD&Ln޴ %vH-~"N[*p $x%C읂V?tHa\( *iXFCRy@ǺY:"NlDGxG,IJ\|iDOUHEMY@@QX\ECD kF,XlCYLEKY?jXR,Iťj,P?l;ț,֎IDD:bd$CT6\3C-*aE(,DB], F FZ2]̥U,SY(UO`%F޽BFJ:#xt}5(OB4Lö\ d0}EKPQa CdꑶM mlyގFOPّ-D5y-mI^B+%tR,HLPQKwxiSI?QgBR/5H(#P !$ /u Ld d3^Os++}@,;)b2.FcL F8\%deާ+Lgu:D8) ,yy2ghviQj'i:(`66$p`S ''H  '81~AiGM TA#TGQu(43D_ I^Utu V'XGz#NIbB XcpzM)E:KuYY u̷QIly1V =M~wdvm= pC<9ցWInL?tɄ7_wc]d^zg[Dn9TIU?fjq\g) iFX^D^6a3b7).20.hc`HPpI?Pj~Q &Eij[X*y lw8Υ٧MZR>3_ nELzUϊ*.8SUt1EA1+徜:1\|:ѭ">XN[W8M!LFFn[9ED>E64E'E1KHp($,[@ <i.VpljȈA B0FϺ{B,Dc;E;k[ O= s!f,45DغR:>hC8pě E(j~"Pg}<ʣ(ŋz躪i2/|cP ^o-:e]8^o%1(y `b2.ARFઌJ HH/"LG玸s0}!.<ﳿja5ċ<e#bċ+mYQ252>̃knuCo*n>7q?%eDD|aF3a? [D P\DHFM׃*Ro"MLxA? y/:|ȩ٭C:ͭ?w{|)uep!:@Hϟ &TaA>LxaEfԸcGA9dI'QTeKns&.`„ Lh!2Վz>"wgJ#q]58YE;VS]UFf0ORd`9elH厱DŽ{LRDߞ觯^!N1#:V9yKLQ*̯b$ ?,qR0b`L/_C8Nu^c2jQ~(*{[4* T㈉ʎ`l$ 9Z F|D0NqAOrd}{kbR$DW*ɼ6.5`;e.ZBN op0伅h#XE*!T(L0 a&&!r3l;i)L!<ѩNxtBܒvR08 cag pT8hG ;ء7Hb`?< 3ӈJq 1Lkf8 t#CNa; `C T<=*RҁacC)6eTpի`m"G.эJQ!!iI%S*OVBTF}*>%δq+IMʑ+A~uS_ύ< QMe;عebЯV԰"EURuUwꉞT*mOB֜EAJS]c1U;%R3a"`RT +y4-D+00>B*`)X `R"_+c~Dp ?^ PKbw H >?yJ 3ԏck` k$RRR1AxLoN>.Ud[Y X>FJ|b!XX0hccDC>Ly(0Ԭ3Of%uUWj f TN>9~3/=3OZl]KѠs4=a!ȃV4^u Qݻf'-ŕwm톗' 2~&AѤcz=Utګk`)} VUXWYmytV4RZy^.Ѿ@B$G/;ugUOpO /o|jeo-N`s'R`M!pT)x R x@{.$TnFꋾ2L{b ndmm:Ӿ`-`5npJ\'FVN$ RlFmh$NPT7!R7S*hK a۪"1j" lcj#R#Ad0&Z쀟>@Ae%9":ާW^0R"7LI ̀ҰrE aV p$7*7j~GJ˚KK2*J(!`zV) p,-FQ#d&m wx'2/r)-#, ,'u-+rQ!r1 '_i#l0S1s07-)./32Gl2N}&S)R!\&703`5m(9.kA,*,k!8kzBR4O.)Fr$/d %Amr/3s33CvD*M+q6$6rI֑4QIRHIґ&@F 2"@dߓF|yG2 !aV8R`0TC9C9 A{,ApBzN, }`zܲC3"8jh4AɏϢbE7 8~8*rdT&CY,!$a"2SJ`G I a M- ,!z~>NJ cIuM;') HcH۔Dt!O# 5UQLJQtI9MOAM׊RS>QGLL]HI%u'Gw.QDVTL7NS!OL"# EUSM0'R$rpT{fVk,ND'"a&= d>6D*FD>յ6i]u?ݥ>U$ w!4J$>Gp $E`>"bUBbDoЅ\BSbONcaP,$9Nde ڳ@a"!*a/T"?6_c_[mIXCK_#fUV% 0"xO5vld0kvmG"mI P >@t`ZE# r I#pH UP ^>QL]v5| r3lKBc&MU$ 8qt5Fv6m9t[wv3uivw%Nng&a;DoQ"ll!|`x@a2^!!D5x+Pa{]qGĞB Ÿ&  !9e)"[dD&4"A 4b !7>n1uK"a$X(ts`Kd9z$hڦqZ Z$nA&:TC;֝bA!b)o]"k.a=ez#ޚ ZDagx 1^ڈc(TS9chB4bFaN:#.#6tn hYv6$H$ C !!.\e;.$Gg#t{$Vek;g^q;$r@>w?XqAYa\APAԖ-L K$Y[@t'BƝ \Az{B &盻%:-,젴U)1m ml9C!7"P#2$>$Z䦘K[9;B)AI$%$p*c|!\$l\!F<ܚ w9'vB A\bށ,Z+0! >A0/| |CB C٬+X$ƒgxg|FaePFF "]`HZ!`!8}XG#XZ!2An_w~W!!>FDz7a!ƚy;b|zw{6#B/PD+x dWw#fo}y~}دBثxٕy {÷ہ|wz #]ߣ(=d` :#;ԄM#½l!!lA$yX,LzD<ה$2C(B9B$DD6M"z~ZEz``!(a!읁(!!B.;~~G:"@[!.幻_M bx,pXyX. A-bxL#$^}p;.Q C LAj`_!kn8wB،x#_֙xDr-D2;>pl8EAT_X( (+{MF''$D H>*\x0!Ç 2<3jȱǏWaJQUJU@Tg۞ʨ9G49wlOGR6#B\k EdN VWR@#^'ĊdKLczJCk`%•K/Xc gղeKvs+@r҇;{u䷨+l_3+_μУKر#€*Tӫ_Ͼ+g "OϿ)*@*)~Ғ@5rqTEC T!T;PQ? dT0Uc]B ?l%7VY$*LTki$5de2n@D:Je#ԣ^@HcF" t7 MN %MYOW[Qret 6裐F*X zH"K䰄‚j#=2ũ*kzʝ)(J)؊ *PPMZdHRC?@T'8D(2DU{ZٚuR]r%HxI wtD`${ aؘfIWVhǰm hk8p+ũWK k_yAû`"ޕXβLJKXi121? \IqZɴ_%>πt_=zgNUf5[{mNHHT F 3o{~̹wG̽w;Cc(!wRo#@!#xÊ%`WlQ;q D"WɟMs1 *s[rXI),9EՃ9QZ qFz9>gQLː:b D uwd)!Zm͝ u^7r}#bA0W " ! 5f 8#>WG;O8aH(!&w W@}gVE@ $#A^b>E gE:-"۩PQtOE D2!?CϐK~ψ$@8?E*0V_u ZyHW9z7lS> zSp 5bp"!b ^A-LS{w #S C qRC:04`5>0NBRk-%W n^F?CN(P r$G1Rxa r?g=(m(DhHHJȄAThjX$Z@x @QIMhOOxSXpЉQ bH0q V$`X((n93C9c)'pVc!{XF æ@ /4U@ 0PɁ_p 651RT48(sAt68 HHhQP >  a 'k@ >D9rB#$S/Z `']p%9qtIoJiS4%5 @ P>  xRDE5E7ɖ:ɓ@)DIFIrٔQhYA S˜6YGAy{C')9=ɚu4kٖIiE uyB0`)[$ 3Jqҝw)x2IVHG*m Ǐ$By^0lH 0E hu ` 1٠2%q)"~CV|֒tM6̧Ádahrz~(pu14GJXqKXvqz"9âP/*1QS@w+ 0:2j`rF*uK6J%> o;.F! 2 H*$mEfQqcP3ש00Sp 0`蠰 1 r `Pg3!#J"!$ !P'&A(&cG}lr$IBC~(39apNЭStZ:|P1'ur'y$,C&a&>&®j$7 g"vv1?2c1&`R{Ao'C2 1L®[J=1f_؏ qqxBkHPg@ARg3a++Y2!2-}U58"/@.S7Q111.k03/P/q/2S"e11X1y 0s #C2*1璷÷2!Aac22&݊'{rk1kw0K./ӯڸ*H9ktG_LmzyWVB ` ` D~D;l5RC5X5 赫vt $)X>rC7.}37*<3D#%c9r;uyɳ1ͫFP9L“#ĭ3"Zɝ.,;L9iLd8k8R;U<;BZ\ax::ĵeڞ|3c| LNfT>?Uc :!Afg\ amq\ $ 4р7- *)d|F#F+N'GeTG9C=CA4DLHTdEGLD~H Q_a|TDDFt64I@ P 0aGG$HXk%F74xT{ !BC}H)D`-) `>R:2 G-wG,MDDLD|ΐ$I^F\;m<0@ϋe7ZmfJw?sKġ {gfZǜPʹ?D p | NeRNGWuSSSS%WQe;EPKSZ%(u` WO" ض@%TD=yئ<9۟ arN1O=TWzTSP S:ֽ4eO6%8Oؘ-ݛEImQ UQ %R$Xe<'T^|u]Wr4&nitcU*vE6yZaρ  )0~1 %S`v,n3">" 06yJUq56jsUN3&Y BFYo\AVB6 gҥ Q^un_ 5^ a)nUspX ٻpD3V?\( mi vDnb.j=FVguYAbThb^eZ!6bV꒲`AFn=}j>Jױ}5`:̾TaBig~~ޕnNiR_j1w v ,nW.hhRЬr3# lI ^V?^z P`pG Q~` ܠ@Q#*uVߥdɎs:s>76spEQ6f%-ρvj5c =0 ^}UwudG(9 % yG L?V @ i`5` p eN{ _p7># 0 b\˿RHT^'E}2 *0 $GA .dBD8#C??!)}FdK1[pS) q+[P s.9RSNmoSYfҧX~*Yi#N9*PANYiU֯m R&k`4j9٨)9s<ʔ9[މ38yɻqEVßz M{wێ1}(޹w?Dxl^x^ W|=Zq˔N8E(tO:]?ĉnh nڙGOy;zP[Ǖ.iG;=;/y[WK.|'rP><L乥1gh Q< o֑!BlPGHT! 1 VlQ5嗂^LL8iM83P\ ChtPDU*ohĆh\B'WnIJ!j*NށӦBŊv! z(O) ,]bHQǪ `5شYe‚!Rd?|c&A >yfQsjj,sD]v)q!idhJBJ%N &$O֩V`#8*f:يb"eIc^80064J69$&LeQ,vm[M RD9d\GW  xKGiqhygvn[HhNaBq qE!gI.6iYNکqnL]u޾dy j&Lֱ%饛~_L2" y#(3 M5H賸sy% z='g x[G6old ?\NhrI)ӄz*zB+Ȅ8Fo 0Ŭ+_0AP &R Fd*E*R11b+<ՇD Ԑ4EPcmGeP5n.i,BdH1O A.m RDC\ηF3G8c|V> 8#8 ӣ`)HBq sdGT`^E/f]"$rS:dXR`Lp 4!բȤE2!'H:xY!!0A28f0)D8V !Y=D,Yƈr <5Y͌@ kBBbO #߻'A$iBBD&T,7`Rh?1QL,&OuX0,Q!jT I/0EӅX2$e p//@:UK p@ ч1#4cUPq!ЇD@$VՏdlȕMreykm908_5)WpN14*&rڇxI;xL(?Zfbo%:Y%n/JC7ҞoMg/M]6=n&u[`w%k/= kX{;_i'B&2U MȑxHD`oBG9+| Ѐ tCx#eSYg0F;D48=ȿZ%"4VPX2hQH5䙔tWībyPV-/Ċe Z/;t .uGYBՏq.`Fq`!g~8<{LАL_gBЗ l8=43 z9A-2]x%$1Z' 4BzMݵ?lm4cH:=9V$j_~k!mފ{$9P9PO}Ȼ!P gA R BY $UDm!C K76-82J`+.͉q++/~eSVx2'Q/ԅ(@([, cX/e*@ u*hRwK.Gڧv9n=YB(g&} l׻?fÄ6~7MsvI:҂ !l&LAPԞܳS<4;(`nIln(*a\DҞ[l2 y';{ߏ/S忞CO~-|ȓ YH{//!;p~D- XpGӏv ӤLv`%Z1xh"RʜjL1JqUI+?LRXgO?HN! a !j,kpQiC J`A[hS[IOr < Ao>ps> -H a$ QJC;= wDo L)+dHB,,BxHx[vDLx0K(A+V@ZzDTDFt\\FrNh $"t8JD]dz7Fa$*,RDhLD_tDpEXilDcl3H ӓ %>7 |Lc!\Ȧ yH8[K0&o0-(Q-2j|OHq5FzzdHOHO8HD(SPKhN`9Cf$!j f%eh:x…8(B@r脤e ʠ9  c؁KKxx˹̉ȍ ,DL 灊q@ˉ,K $R+[x@*A@rѰnr`Ḿ̥ ND1w0$X9D3$4-a6z*lN[-βT<΄[ *Dx9aO5qys: P$@I nH;RLjT[5Ы5Q4t_z6P^C! S)̴08,'P:b"QsBt@c9CⱣA,T)xPRyK 2 *6Ɂ* 1P S:=%I6{-iP&Q%Eӏ[>q=8}`TX rHщp+{Qe.Im՜걲HN S40!ҳ U}LX 6+5d0ӹ5c=gHUxD(u5V0O@scz"JLwWTDToYEMOLrgeLVh6H@IXW=Kօ"])[UVDե02֘B(Vd=VțV V8gUVhAYRh1ٙHBy[p+`YZPu8 MZ bSMr`WȤ:hX Mԁnx X)UPOZM V\MVћʈRM\@aInKvBdhEardl&GcVէ@(_XVe8L?UUxUc@:&#c^] biVJ2Mhf ; [B)mr.;lFmfI [gm9Je}Ca !U_x` -`rQ** hXxe. Qp(Ih3)*a/h1q.ɐ i;8j!Ii#arXi-!i2lq"b.FFT&k)aj+,q22Ơ >Ć&.B1l}~&~6bU7T8.X!phi}bH$\v*ihjXQxet!Lzuq1Q(AaAFH2"ȑٛv"999+9t+V!n9;xy( !ӉT$aq8SP)nVn况qޝ!TS';ǹ;oy6999G?Ξq9X9HdW:;Z Ÿ,+:#2"2"j&v8'n&sc6$@H( vz7gbTeBc⦅NS$rii%Dvz>s &CGt(;wn&*sBs57ZM-w9:_RtƙqXg ؃ l5 !)Z""%+mXhrنrᲫ*77w6.3gIT/3Gb+&6Q:-pxasOq&pg~twvP.C zS%ؚ*w]w1Rw}gwTww0__y^^y3]CBZ'y*2C(v%g1,v0)w6e66ΒQoyclೈ/7l4n68׮SVO-Vv:)?_apKkݓ5Z#7sxhwk{88f  lo\].}/'#f߭b((چ"ivYmn[zMʥ]zz=z.3_Ҩ>Lj{gb+#k&~o6UV y@yRǾo ]1pW&[~yğzc*QG h"Edؑ#Ǝ jO#OQbdiч| I6:w'РB-j(Ҥ!S0mJ","m!Ӧ)v6ؕV_-[,Si-%mXkҭk.^vVyTjVY*?y3FjԠzFhdLm(jFAViMR7H䱪yQ\9LڹzV;SnɳN 5QvY0O E;U:nS:oC;ncB`P&m .|!Yٻ!pZD|~ʉw Q/Gw 2ˆYD q+!sY`(1'F(A4#-HB-smG9ұ[:)H.1v")p=`kʣzBs"_Z,ђ=hJ&%֏ sEZ2: j+rCe 7iG s]򲗾%0)̮C[(@! +$ x -XRo$HOޗ7jF2q۸&-ɄM=ئ)yҳ'>OB~.H2|Ji)WMdJ01'HC*ґ&=i?E #L)YVia$67I(FpMN#T#Ր'q'5w*% i=j/RLg8#3o}A(@qzQEvX"|*ljCu0t#> bHiOlcyGh2yaOmo:vyD=|%%bSCO A!'M0,+b 9-|1כzѭ0I"r{}?JnS",ʆv?}G uUZOL)NEawv8*N.$* Ov`O-H5o1& m huB9އb="#:7 b~ c`潡#LM -{?o H2K$SY٨u^?ؕtcXhұw;wG;aL[P' r#ΣJh>wކdg<`E;̭AB8Ԭ1̌v-p7F?Z]N2W9 ȪQ;CCrLӋ .sErjxcg?^u!Y5aKG L乙,@9!2 cC9ƒ`pgIZ/z #I<^ y$gy"xƑ.qk :Ęauq!Kt8hnsgD;j41xȁ$L<>xяt`PJ+~qp%8X#()4"HR:A}nr77N-D?v#SVIHBK P^|1.zz!#^g<Gه1Jǂ A` $O}c_#w~=  ٱH1@?!Wcُ B~ M_]Y__9UG<`= p! N|$HFt AB9 Fp~JHDHUH G&nEB]@RОiC"FGHZ˄CN;NG )n$|$T>/`-QjM1:[Qr*D¢I4Na=ġ*6фW!c)@XA<ĈLZґA"|$m) lADPDXO]ڥ?eBWG(+PDl`& Jdf&MĥZDc2[AA?4Oz^HF|]D0nTRn^_EP#Ye=UE@tPuP͔Ô#!8 r(sBHvΈsnLBp$ϥz‚4ȃDH$set"F'YnوsE. x  ȉ`>KtgwHsVI0pÄ?\ɹ B(``&~Iof&dq=Jٌ JMx-@ 9HY Q̌ALX C9HvZ5-L̰Hiϰ$Fh)$˲l)~KhLh Ǽ@WLi K)PL]DU/ܘըfɌ&PӨ q| X XH^DY5[$Ot)60E'h]]w*"E#0 HR6"PJqeU cZ\0vֵ+Q<+`DTLf [ԾY]N^DAHӽ.,PkD80,V^,-@SƆȎ,ɖlllP˾,ƬF+ʢ~\"ЅMU/'B)X}`/-҆Ѯ^NnɁQM9-c\m^x-^M-^헐mRn,N=,hi-%)\ |Ad@WZ*.r<.c*4.cAej.Q.^1EXRnZ궭۶mX-X&'d*Z-&^n&EE/oD Z*oHvP㞯N//FD/Ao0n//9-'!X9 @YbDF*A`B)8N&B*pA4Db$pBE#-&N%B)0BE / D`E )0Z sBp EDOqqE `'Q氂pJ q`[Zp0ӮB&dBg "!+2n%gF#3D$ON/1+A(/FК2#2(( p"g( W. S'r/2&.'r 1W403Gq4[2$20s8W8;< )$ D)h0+wN؀aAځExB&A/B A*0"x&xBB'܁B``kDA'zZEÀr'C;B*8MNIJz $BE|tHtEx&`BDQ@@)\A*p KU4IO.&A U5H5 4SGub'[cE68Bw(?`vuY{5TKud`KXY35_5gKgEFw4^W5I[4'&B@'uJZuBNc/N5A(lӶmK+tkj4G3n/q/or6côpLM6eGn#/rճ= S^E! (1oӷ6bWhiMm-@*DU)p?B7v/"pִ.tM-b,8A8+B$/D#'86 " Dxޮ#%Cn븊#6A4yj۸t;-+9~sLx9ok}G-Qx/Z8On^8A?X9b 9*-aXy#@3BG3y701!$84Zz}N-ڀX' 9Aw6ZDTu*4kaEN-¡oy'˰G;g3M8%dJ jB'prڭ];'i`DTƻ-S?{M0ߎ{ D;F;N* WDk޹sP|y?L;V;S:ӻ_ʏ˗Λ:sM3&4zzLPS. ``x}NW A"5#mAZtҒԪ<6[=A`}CH=_ f{%'=&P؀)(ۻSnM'[~*=G~K/C?=}g>0Vw_2#|Z~=mc}B=~¼巾ɳڢ?._3_2 p??c8%TJЗ'}wHhدH}D3xĆAk:[.!@;b8; ?FU_ߗU5 *#՝SGA;&vlc + ҟ'Da(`Eˈ+ÙRB1i b6mXQIjrP5"u񫿓5:,GVtx'dP$ Vmt'Sl6긣@.?AC9-W{+5XpjիYvz_h׶}{/ xpÉ7~7l˙7wztvVyTjVMĎQxqG]UV'Nq3eU/NRTH-N긣AO?KKSSS1Vi/VÒORDQ,ϟ. pK0 819%+ B@3cN̰FR,mL sҟ@DSH*0?29=S'6 KΌrTJ*$Jt Ms1ȑA;B 14r&OL0.QQݱU>(VBiVWS_ vXvjl_R\jr=]$O! &ot]]MT,9;R.̰$'RCxF.:DHTaFURM.NTuTdae]N[ H\8 3R[v̢Tue3!&h6`Kz.b LN/#bO䏱Kz^WoW:s Lx/IXB)T 7@_K iPbP(Б8#2~B#ͱ'J'&J I$D+^Y0y3\tQy͡Dot ea":,D vyG?b bT HDe[Wg2fR:F IYJST*Y1Td\#XR[h`&iǡ3DFJcT2O"gټ.B[D%R(CIb#[&;NbRp)A%=p81 js&[pA1j4tZ7-n1Eԣ#E3L6`< &u G5*Jz(WD!,sܚ:bC駹.׺AD= fq_7Qi515n̈́+c85fYEa ipRY6U]ryw bIcG8Sb "QBu8P` 3 J:cG] vF4мePx&oj(ڑL(MLChvآX<:[ۃюy<0QZF3W :E!u hDQゾ biLk >t@:نFGGzҕt7=N:ԣ.u=NHCUկGC\Z:׻.HMla[F?=mx)PV8+He3H#;uټӇDoFeLdllF3% b`P3 t;G^s;#2issLMۑKԃ:lQWC<Íut3"7ґ/q<*fwDDv D= z;GkHBuS@Az{Ξkg(_֫p;Nws/{;/x/:qN|bFyS^0Ǽ>|Qw}A&r2>uGN*r=qwi@|<žhQ0!>2J(;0<΀+& 5֠#.*Apܬnf@2a"fPZC.&# j! ; Èbpak Py  a^5p 0& 5*º P ;"x  @"ʍɤ+򯁂@ O/J: cQD(^jG# j ?)HL`` ꑠ5r Q.d@ Qq& xϱ1mqPø%pq|K-a#Q3Q2{ g"X W2Ꭻ/ioA,)Ԡ@ )v Vd \`Dd\@܈%Y?*lrb^q"|>2pDB =!8-#!r"n 3 /! 2B fb" 2c$!22# r2E#0S/U# /0 11  2%&6/23U3=86( 939gct蠩JIFqL; ni.IǜJF"Զ f$Laz#n3 FA B͠I >&1 p. n`:dJ"1gP Vk2)40pD7pCEtӺp ' -C5C"Bt"D D@#Q61ّEEC2FlFTE;̓K6LTL6xȝiڠ#h)SMB iTͺt:cУIl:̠a>!,& f1SwȹaHRn(2/8 0 b:*lJhА~ tn[MA:=25q\j疣Teaea9\5f`ȸӈ`\t%ry{R `c_\5"k'B\#N l ^BBVņ%i"y܋>CK1SH>g&\ #ōO9aZ:cYg1I(W-}5+Fe쥏;blpl&ZBg>ZLXz%ڛK79yyx,X?Ғ` t̂Lg "aug⍛#ϨA ¸  hGqY8ȋZB }V̰JꢡO(a!a .wVG!'" aa +NɋS0+Iʭ-mӌ8T\N!JFmmnm٨ :BMMTT측&x۷{&k}z& M\ {۾ {QM<,`MpP0߂4Ⱦ S g\ʹ+\_bn f ldT'TNꞁd|#`D9Bl JnMƫn" hI놜<^͌TaϘ!ƥA nܰnk\0\ Lܹ|aA'#f^/^o]ġn_!к!يo*RCnam/}n&b~Ϗӑ}5h7Yu ,&4|[Qro{է/h]/&ULOJ}=&⎿9%6 (mwu0a G@\u˫+-* @ul=~eD b(CS~5@L^U]jG2 ??8SՊ́hc^5NG~(>:.MCUP~ /x=R> r p;~000 PA"d Pn1 p7tS 7  #1)N~}ok]dwzq; ^nas"  J^T#NNEKSAp֒-៫?Y0@Y4gFFm aBQ+\HmC!Jg iP( 8Rcʓ07zHtSODQ %:N$K]9uyǛtl,D:҅3h1 -(RTU… 1٧Q0⻁P([nnt՚3qh=?4ã.[-7YԼ;ݼ{f"ĉ^(yp˕_Χ?޼ܻ{>xV dUV->K$_dA(cCRPM4s` 6{GMd(WSԠև>e'0AT "QFPC xm!Jh "HKG4c$F)zh/YTUOYPrG>%^T=S#%pÓ B܉jFIVjpnIekvy'LvjSWyۤ h`^I蘇֤c*`)ZgճetS}ڛvaomTlfGu -sKm^'X||b{m衟4gA; # 5,(H%Ԁ/[ۈ1ɛ +'d>H ; S #B9h28(1eK[[S8t#Bon9FnNY O'CYNU! OJ̣?w(Q89eO-E=,J:o#c}?O/nl - @+>AƸ }?y3VMJ;z~Rc]ճoJ/.+u:ks?{??xI) 2.LA-p,% -)3;4#K6 7y~Ab~Wb>#d4Z 5! CL >-$n6(@(2``@?ҘjҋPd" n0$n!;Nʄ "D-1A"<[ ހ&ȡ7줍+T'r`pަ'Fqe ` {.dKuhK{Ԯlk;޶ p{.ͼs<^|x{-a{0|aF/ UFHBl U?v{z(Onr_",s LVqF| -9s !яbCoz}pT=ǰ N8}/l z{s_Bdٛ=@E;Yzwz#V*L!=R$7:/ Mh!#wmn{~!{_/i7hسD*>/(z,a ~0z@`z8kYO#/^^X4(D 9xo @1apwavw9iu. qb}0_Egz`@p@p0E<_q qOq;_ M2yBƀ Hhk#r' BăS<|7 W{$H|@pDžF-hd+/H--0uv'_iH| wրD8E}dwRB}wzuȈRt` Z8&( 0&HA@|~3~G 1+kaXC=փ=68W `=S犻 Kvz dLChNhAx"DȋE708 A ?∂/p 0 ;w;1J0P7AV5{sKPc @Լ T;;;Q! 1+0!SY'oKhrpf7w@Wc8XP!T0[_z"zَܣꩠzO0  Yz ]C gj ካ:kzCʬ5 V ^ZpʭJ䲺 ^ެ{I&Jj#5f3NM[!xx6 sK*+,cZ˵^ ae۪E{I+y˶M_Ԯ` xoK%Y][~;1 i´wS[mt4_鑞hqiM7Zpл;{p˽佷˻zZ zƾx; :拾ꫫ۽ ^킖 GQp :&/#mh|f\Y+)hAL0p# `A6_腁+& NjeJ/2ơb{uoԮo yFƁ+;qZڍsR'RǗk|͟G^ziMG|}r_~0Ɏ@"@a 88/0C 7Lk)>1DCCWdE_Dz 䉛u>Aw`KF#%Qx$H#n@I)*$J+Lz~iZ2S'<,}ҒˡzcL5d?%}itD)ͣʑ6a*>4PA%PC%C9Efӟ#iFϻQ\dLGRQUWeUW_5V<4@QJQN$O"}Qt/L)}?Q5ZiZk]Oa┓N;yIɈa ҭcQvQ0IX\O֥Y.B{Ok?ygX끔\5h %4YLvv4 Tf gJ4 r!_PUWw%6YTQ"Me^=Giß$ӬO=u](kMb֪R#G&}n{HmR>O^ F>YFAVIe%%,)%R,R:?t=hBEPt1Kc 3lE3oT8gC֣1D<8T;jKӹNDGKծ p)XWRVyը;U(W&hGcgюh8\Z:cHMW5/V_ ЋB/z5qsb ,X[$TPEYBR^& ֯N+` [)HE+%}J&KWNUR[T& 2R^}o|c&R 8b˼n47Mr9O0P]c#W@BH::o12|z#6;\* AyDD'=بhG-Zt::#咘jNbK$4*L&&|9c6 \$ KlC4=qmdM+LvrhgHXY[r,f2ЂVIvi 9ẗ́ hOCYFuI&Ђǫ*&v8KXk=lǵ^ǙoL8fMgD0)f7YHB|0(u8F}Cف3* & LHA*cg@ C |0?< o;0 C .ԣ(#9 q:7V#؄n#X\GH5 0&Gp;6딷B U@dTWT|U UX=TXSoG`:O(*Ud8 ,[H88ȂT[0sEs="%d:` R$ bQ/m_I:Q(*|w !:*W*L"B |9 B 9Jفe;;X1R [ SQsr!xn@Hۈ(  EAȈ!h6՗rNh8|70Z_Z:H@a˰[@`EM4ْm-YY-Y[Z-Zڤ]ځ7|ڨ8% P\ٚ Ză7@ۡ΍H{ =]Ĝ\]:ܭܾU ˃VZKX6-aDxbֹU#[+.AbAkHzH _ A@ i=`WeB%wTXz%`[:_Pw)%=ЈI1IZQ0ѣt QBh RC` 8U"9  '@* E [X(H `㨍ۀ [(F6Бx(U(/rW2&v @?шcb,E"63Nc%-f'9 6&O.n<@2E#F$d; LM"ZE9>Đ=dCeZ*j׈٨bzx*y(h}P+;ȭEߕ- PV8AX.c BPOFOvE &>aIu ԉu>s )`9 X<x#t6& AG^h8hh)#Hhڨ= ]# ޫEQ$v/!8jVj`Z`1 I ~TҖfϝ8P{ٙOFEZ e™  ~ 4!(0,/a(11 /v% Îߥ{n æڶ P&6FVn@ =@ 붒aɉonn)_heH(^)? 9(9֬hy8o^6Ǿ _\ .Vn(q(Wgwgɡi @] YY`ѝHxrV٩:G> pYr'(_ 塉&wr+**5 4 :' )s>s^ 1=_q` )oۮʡꡕN1ᝠix ig3zF։vÉ>Zƙp``U_p Xu(v(i\fhg(lמt۾lZ n&Um hgry?e}wj ++_3J"+* :*,÷* Ҭ({-0-j©:x[ vJ*U>,yo*x#Ƃ,xx /Jgx)3f+_,yZw߬,g㐟z"2yoە.32זc{0I1ߜK1z??Q,F/jXQxe GzwjJ J}Pɶmnop3\7t_Ts704Vx#m7{]7.7NK_xH[ q K05}}W6X#47qó04`RJ土y;~ .'+yAa=$JLCt3nVNU=y Ctz0eZg K0er[׉SZ3eRUqdɓ)[ yv)xhLAu.upѤK!Kʒ@d%\aĉp+~#F"ID˘Im#{,OȊ:v2ʖ/cάys )>y3ҖCNz5֮_ SO&Qo*bR} 6}I(:RTF-S6\bGUAHV|sلHcyd Ywv%T`-Hс?G}wOrMA$UD|`A&Z8,`=߅7^y祷^{%w}Wga6`ʨ F.%+"7HxSjz+7{0~H_1Y֣9b1&yY/dW6ZA6d!YeRZ $Yro)!"ʥ30J4(GA:48wdZـCБ1cAeEl RO;xȣJ8ALV_ͪN$H=^8خ>Oo=R[¶yP!H 4n=ߞ.{q1OBlӲ<ӵٺR7h. '4>T6/' 34S *ZW;J՞-j kbS]ŝR*}q{%%D#ʌ(jkᾞ3#%\%DAV'xS!3^z0|SnuXAъo=^ {+.!CcyЩnP۵&+߸? ?4|ܟ=kv3Ai&`A!4Vִ5eQ lu( V 'C & k ! ‰Ul s{[A` ND Ճmb&ɂ(Jeg &ivp[ 6%N3*4UU  d K"bP'lAVjDc\1 gPaQD'ڑ!٢-qnD;v2wp7bL  V,YjBKd'b"hzhdr HKze49aN*IMzpxY:!ʔ#iYzXt.hG?Jȶ*eK:SnXiP5: X=TIjWOh6oamS^Fjʊj*M}jT]4ӊZ 9"=V)s- g6 J7.vh̦s[@x"8K"yWD xF4!тPb҈-dYDcϠDĴcult>;A-!GK ֖+ GK'h D62,ՙp34_A[}I]tfࢬ]tv3^w^r6ORkjƌAx// t"A6˔ T-n&wA4mzP{8>Hq>,Y'|a96^絹9K.Cms<2/aKE@ '!4s@?U/lF7qߨdc6m rD6n;~UŪjPvOlϽ/xo O%j(os~ilП=ŠwK>=ko^3@1;߼;<*7}sC?ҟ>{7Q/H(w?o?zytϨ߻j/"S,RAlAeflU._JQ†0'n %)\B) 0([  B R A@e`4hFɂȂ "jBaZ0Xba/XD3aaaJAڜ&L &'dlK;ɆF]lAf_! bF΄"Fm$[H4!C&ne8b(_^b*b*ŸHܑb,䓹p؀ p a 1AH5#sD!<WBрՊ3 E CEC! %4D2@`( T4Hc(*4¬P 21N# X:N%;22#cԣ1Nc7~#R4 3P%Tce4CF$ԊAp1R41AP$:N#@6(<,dK^@LLd( ãdNjF# $ / ې }r,T0`@,@%8)fa~Li4"("2_ "`v|)i L(Mָ%2%bڬܸΥ &"Rrv^A͓@  i@a#Rtcz$"ԭc)vG`"TJf \ή:ئ~*j+ΐ*#|"R+)i}%2a_V+P ג:UNTe'Eׂ*m[l"nF&6lhނ26 jhA$`3P2PsN#BA0N z{ gp?  $ ݍ"-l؀ J&% XB'J4uWeD3@'4VG.X2C4P[oIp%p(P DINa4xpcQdx,IҰDMbMND6C!|kk|+ B+! q.A k&1,1WGjְ1W40bM-ո­e,Φskx - (|# ~ 0#m3Ȃ6g8q(q @$7r%%g2:aW_a,-dA0E28ahPRBg3s57#t20@ mވ(89s:n+$I#0s ~z7n53=3atd0cRCCtDK4oD3s#oA6>o?1= 5o(tЖt neLoBOtNN$մxv?|Q2Mt73hlh#SD@tx3a3KAB!01XuY5s;צ5jK$;K@>K&[B,&Jӳbs#5%u˂кŸ́84 ݀c((qC!'$iiσov2Qlo[mvnv_>qA`q6q431qn^iws X#4t'qqM6z  Шy-XDBѝ+ B&X z["`D(e}w)1w>X(Avb[>j &2|Ft8gN^;U;x8L{u%IJY.ʡ?СG:kDD Uek[Oil7o]04 C(s 3j pmޱ\ck[H-.p %{9m(TpC&<A4Ҥ}7;(C<71$'$ ~A>O/ 9># }OJWxbx??;r (~y>DLĸG/KC9TD`lL|Oʬ x<A7P @{\=$xΕ |8^E%b<0F/\)-F;Nǐ#KLRC=XԹgO?:hQG&UiSOFYAOU=ðbj)5TgѦUSS?VyRsժIRQƕw)Н.>/nXcLjSԉtAATiP>ɍMyxik>ѫQdƎ!+z5ï}ddZaum;]`7W}{ߩ+а)&E9Y Xk/O|ѣxH ON&62"*,4T1Hy8|%g@2C뢞Er ǒ?{B o䉦NLg%j& r"m0?F.POnq7S9@'ts,: TТ RV QLi伥MxD  S E;:4Q-30DZGaD۟p'Lje <xDnn< Hs=Gsɗ5\]y>|މ/xn0`XpϺx0AK'*ש{$O_]?~g_ѿIJ xlAz4KHS@!ox1A9@ %!z!EHB.#,!Q8Aΐ܇C=D!r>('9!yXD)NU($n1 ŝPPx_јF5mtJĞ}}1zQ˞(fs"Vt!zHI'QΩw5RΟs"cfMSe4KAOos- MK<'rO,CH PLxH- DPqH1xaIPcL@mrD‰LN{D'HŠEQGHu@jJP5R ;=ړ ūi9+SV$;YkP:׶-+/O*0g"R;Rt!B5}d+8QVU0qR0`41tA!mv̝֦++mSKX"dmm} ;Č0@)dN }m"-aTp >-'5y Aux0!]N`"C IʉTT:y͞NBhe)4wyk"'-0q\ x7.vLqosۓve]=p! 1hE[w-k!dnxK^ndC;l[XBщk\X3Sܓ)WCK*@xm!**K[P2ВX}GLg .d:a頴T,oFĆqOџWhfC]}'lbvaZu/Q!GVz&tjF說AFjo" P'-IO'!P zmoHLp`TGǑFGI7tđVM@(+*`J>3P(QbQBUN^-gS`V2Ā,J`"U'OV/N@ 0p5Vg'UWXgUԋxWJ *WTB/NAxdI OŧW5Xu@K $Z׵1թ\'AY[1K֨u_'` 42mU8`Yw^A^镒TUOYcocsU#YS%^'(b[kJbv^`52)\])Z!6Wu'2Jlމd[h*iiHNN i+AV>D5h-\е&,l϶Dkv* -ک@j" j;(`4U`Ffʩq[ "#74>f8Aa2wi.0t7pPWaUguE%LW3,\N.v 8a'Hvaa@wǑlt{ywuݫw9Wuj}2!#{=KI'='+s? 1Uw )g"Pq/L%O>ѐ 1.'݁^Eҷub;d~|w:-:Ǚԑ;)."{B! A]ǭ"3w }"J?h%=?l5{"&~s?]d?;2k$lBԵ{t)EQEGtJ1tI%R?'}=e]`y\ |8x[Ge  F5R3Ym\"Ef:R1Ũf`L0(П,.v$Ȳ˗0cʜI͛8s|ig'HV!SJ)(P\KVeYUS:$ѩTV"KDaIL38㉑ڸs+/U vYDO~)hkפ`Œ5qJ`p1)|HM۸sͻ sq㷒+_װУ#sa3ewW~_}DH-U~gI*iǂ 9QeUl(S$ 'e~Y!@r)xË'ώ0K<S @B & CTEfXRʏ vH'2wtPẢNu3&Y-1ĠmIBytxg<[:iZͨFYßPa?R'XhĮZ0* Z<,qo#Kc*S4`&ԃtN͠:ӀƤu,بVծT*֬J$CjS`7KO7}k\JCM%P5n\*UTԫͬf7ѤEYG =aSWT  A[* |ZbA>6m frЍt֓e(E9J[rZ\%h) q yS- QxCC$$0At$-^rzX- D"T{_׼ f nZ0 #nW Rq rC 9CU1ʅ 'qwă5;Q" kqjP {0m FN`s9׉u6G+jL:xγ>π`Ј.+[I#=ׄf&Ӏs5曤1' ց,c&%VuoWZ'fIi/}Nv h@*5 J]C犄a1 0x!1xN]D1&E;JW| -Duc8EN# w"(=Ñt;VtGڃ''Lю+53wKK$ ۱F<ґ o}^'D'N{Kλ)o ?GYR[]"Ĥ&Hbnh8*)!sғ:P ZCFx5erd^%P-M㿦XNq_&%&<`cZRC::vԢ%Dm c??Zo&2~'`}~~'W{Fg|2'J|3D0}էe ,_~~x~tA P}XJ('m|H||y@(fԄ քM"M75V` ~+DN u\DVONVOpAw6OQO0x\O;1T VTS@FBlYP4%QJETz\|wNdh\ 5qAyHH(n,7X5d.Q uA$xlOh%TgOxx8e Ee @b-SET0T1 bԍSSHA=SAEGDTˣ0ōu%FQeTUPXe H(Sx.q@kٖAHS؇@"F ƐhTeP @S/5 ⏳⸑EU YUBd`KcR>QZ2"V$REXR9XcTSWzA5[0~XpXUfGPUXbAՖ VWKe^Tɖ/AW[JPt ~is5Ebyhi8;e Ø}iHvPyyWԕH eM6a>ZXGU]@!D@ڕ%oh܀ "``2^E"@xIe9uA` }ifoQIT> & ﴙl*#UzY:`C Dj[:_[pKIv ЧXJxA:E ڥ5e DYO ǨwN ZW@0^^j:`JVa2a iVb.$d(d8Tb` -F/cHpy0c56P0D+" nd+V|E"6ke"72Fc⠬Q I`c g} 0 PIԮ"0 up7g PuzA+[*N&L۴4Qeh.,6a6n5NEnrnel۶evASk "Qw :wim;svG/UR1@u96;xq۹;[۹d&l⵷!;QVk[ۼxlp@ @F+o:Q8@蛾o>0d2TH+-@S`0WxnutGkWuT})oWy 'v$4)"@\z.H4Co09TK'1q:x|4` @PIJL`P$B~LkHĈ3EMHL|M߫&O\p=hL(2ыHS bXmdHIèt\tsɈ#Ex +,^0` a 9ȓ,:i\; D,XeǠ_SbEVf|vPF0X~I-1ˎYXi`ٯʕ{,/L4 Z-̿y[vp ٟ4@ n+SJP)j\YF<CuF%5Lh60uOjoT:9t*Z %F Bb,A&6K@wxJ ˰;3 ]40a1=qM"JGP[ &6ҳX%X/#Z]f>{ Omgr=t]v}xz|Q1E#:Q%mQ؇8L ;*Aػga=Xֻƃ<VPe&lkb[FկM,=-6]Ɠ%_PF,۹_ڝ]./-Qݢmal/h GAM;1ĭ`]]}-2q-m =ݾQ6/8!L p;C0 --bE%]p#֛D ~A#@3Re@C@@!A@)#0DSKx"#43R#V ,pp %0d.I ?MN$<]oބPn RN@4n!Cp Fubg^[n26%Za~+ NvOz SCn`.鞠r tNEnMQ,`瀮VR DnnQʸ {+'>5%b pc kNp CqhaHyvpp b  c pK`%z1\~ o n w`%b'  Θ`w A$Z>0 B?`$;.~>?x,?QO:o)c  n0`K@3_ɹ //1C/fa2rv 2OC1P\Golv~_o? e59D_MQlď25*"C`h[S o֏ GQ3Pr~p> ".]^

m m?H:u-l&)wX8U \'CVk(U?$O銰[)Vگ?R 3N\\=s=;<?" Y0';LҿWIZT:t+%SPBHA| i0,"qG)dL0żNO@;%?X3.V$>G*@.2ԟIͨ҆[$1̰+#b4&C |DY0VR3%dTiSS]Uu#(iXP{6ב U5w5UUY)WcRbiWM q{^^%f--ߔlh_.eC8Xz4hѝr}ZcCydK6y$NV9 ?YtK~:Y!sfF!km瞫P(P)93uqb.֑δ!VkZֲK׍HOܺźxnȉA L|05}\z%u:C̣l{\hJ~:j6q=)?5Ul57שEGV{}[nJ]#.#b\icڰA_xf7xJYǤJK乣ZתE?`$'Z>P0K) "Lh819 1!9K Na/8KW^5O|PwjeuC)RM|PF \ J@3pvOY<~ET@r&Q$>:Q"׾‚ag \ܚX-P'@#`#R@\`s ~5$4! AzIs! e8@Iv'%;!~cÓN$'HAfQ#e)MyJT2!h܉KCh= c T@@Vz fL< $䨓"PBx(ND儒j@3`:(E*Jшds's蓛l ;Vr™(Y!?|01O,? s6 E39 QӚècyj^s$It,KrP퓠9Ou2z3,;mPPiAk#D^thhAz2&|T*VUsPb>cn`׀ WVƺ5tle-{YOH6ّ֔ =K"#j]ZVl ֡3){k|C=m~[\&Wens\FWӥnu{]fWnw]W%oy{^W}"\o[[pF41 ؆)_QW&p ]'0%s(InK[BlF1óԁDaX3qjAQsNIUd $įYrlH {D60BJQfome0Ycȁ6XiCxMIB:cP5=<^y>;!؂#-yCEk2![vv <፫Dgdum}k\7b!lҸHO  q5 jP( &l#G:\a n&HG' t洞?:18!Kԃ:,nhGq\`HkG\Wor0O00 Ll9Pk>aԐ]_/Y2 A\xT'vtz 5͕ v\:t+1ry2ŭ~ug=9Nr<OT'(cQ#? o}l5ՂC.s,aӛF@m޽!{4޹t z@DD6^ug^렠c(́QH33Ga2g{;z\"w΍!&Uy?.|xbɋ9}g_$KVѲ5y?TeR,qm`>a@۵R} py@yϩPrzXLB\y@@ 桧)E>Z"3B Ypj=sehA믆s [hS[;yPkwDo>+ol8rNhW!h/rxY A:C;UjW*8dr%#C2h=c?JXi[-hgx2/;cwr n7yhNXzqtuH/w7!xx4c;E_E`$ Ӄ"B >/RFjFkF>y/_;ѯ9D?lQL .2LLq4̑˵Lϼ3K45c37"UF&K<3=?@k μ=qXLۻN+CK4ԉ^̴M:MDG;4|5WxNqQk)vu Vs5Xs,tv(Bk 輴F?24DSKSNM.ބOD\΁05TSN-̳L 5^H5`l۶ذf{h60 M017z7o 7ʁ pT|H!7sCsK|%Zx)`CHpnqXTZ@8c82=S;zSRy`R'm%m'-*96p78Ruzm89S3ŀT8k@ RBmPPOذ8Ӹ8(8ٰ[KM ,s@L49kzEH˹)9H(V+f!qzȄX:-lEL2a= qQbŹe] WLq|;vgTPWM CrI%D`oZm;xjk;khx;g;YQ<>{Fyב(%Vz}׆;C;T9;qprp zzY\Z]QjY Y LELW۳}]h<PZ(IpZ XU+SO0CDGXl٠ջC<\̂[u=ޓݽ35CA0L>+,;…Z \Ĵ[%݆P]cx>_ׯ]O>K@Q֌+cQظ/c??Ż\[u"=} WLK ߚP\,p\yC%n@DjUY ȵ^D^_ `Bk@Ԑ] t4۪TKrMט B|#KB,Bn0Bt +-ՁH%lŽ b&t˜EpDxHxvD:[X6|Cװb,bcDx_Eb#aa B726c4Va> &C3DC<†`n`F~<@BTr BMDTDFtDHDM ZP{x 5SDEULDL8T\E!NDl4O%J7O[x@TDE]t d.e-r Nܑ^FLBZne0[@eUwflpewce[ZEoe_U nd~T:d쓮=m~ $ƼG=!hx̟ Y^Xdh6TjNj^j.~xD )H썑hpkR*_(sI(OΓ+^4ʌ Sfn5N4?T@+=RmR i[J s@KΎ NӾ>6=Ѓ,~ I&9uJ׮%7nm(n@, +W@L{n1 f.kTH5F"}손-@ ̆ ِ LІP8܍L5kpΕ2m哒D *KfThwЫ wGgqn T1I1oi gD=ہ;˳=3GalN\)rZ2+1 `HN 1, MDV{.]5ePN9TD Der!hB'tDJ etٽN= uHO/F6I_jD?"tOr0Xx J4JO QÜ:ZtETۣt4v`v#PsDwoXyh7?4OtMsvv.A -PޔKݴy謹ִ|eGslu-E +AAJ}g0R??={Q 6i^,QS)UDR._!vt;(shkT>қҗ,y.R0S25S4=[FpE uT z+T!-uHKy/P/yCҰRrNd~/^ڃ_[ÜnXX{uc7w77~.¦AO6T/}7;zToLȄmy 7z5zר۟пtoT\US{D g;y .Ռ򈛁xzjB阫ji6?{-`W|=gt=Vfzw $j7D Sȃ䏠+(Q9=/C2F+#NR"EH7ēR/S1 ɍ4(Ʉ 4Idӓ%=IuIFEPxbW *euZoJG=(ӫ/@ߑzsxM`(+ZM:N<6,+v qvzDb6fٵDdFV^h}U6Т:}ܥׯC߮P9z7~5<׳o=ӯo>T;~‘|r'nBk> 4?PSB|L"R 1SS\O#j)H2Ra)k+i>3$J:#Q|b*SqvʞTYvܧA_q;\R5܅Q Ebfv90D⽎!nG"؊pp&3L@EGOT=ݚֱ@,f3YP!z5"Jqm>!< fP" :ːF4n=QBtd>;A؈ߐ-n(ѝ!뢙A8J8ouLBюy A9qE-vZc娯iBSVże+0Gߐ"WK> nX<x:/L/~Sz$ 90DX09 -IbtTS$I=qupCwXt۫1 ocB_W!2L9\(.4dǦ5Ӟ4C-l(z&$M0ΡKߊ`]]R%F'Aa؆)| g8Qa<Ƕn =v[صoK=̮|Qӻ7Ӄcc;1k31SzL)~8Ā e)ÏDeB:8$w |7;C;pL'hDΡ k8C4aW;R N&+l`:PiX;uDn`fU7CdH!E.!8ajs9JI`"A<^)!:!RMB:$_G!"":_#B%B)AV^H G"MX(<$CB:t$|C: )"*?MA=AvB:$[%l k&lKGx\ϡIM`Ќ͔_LԈsJaC r0uLNxVNtNtxg'ː[ӀM`E%W>dlg*nFabGL!P;uE!A9uЍ MQ?щrOOr}B*X:$&.i"ALR%]R&lJZ5U9!V;;S=S{4SE+LIVi:W!yU]\ITp)]iHS$88E>-?*7}UGTV!( "~*tgVinfrلzxŗ-WGٗWW XM6^7P-XAٖj}ٙiaޟ*R]+ØI+*Rk ??B~T DDS Tdg0OyD:HrI_vB`PT8(fIXUM4":$Q%a&)$aB# r-*q*a)LG+9m"Ŧz&t"DG Va֡JH59iWTU?`*N^ hi m֪qnKbvDmuEp g:TGڙ)S0WuW+k ޻5n>C)tکe:0|S:,]nGtOrm[!_x징tx/.չx{7|Ƿ|7}׷}7~~w".mYĊΐ[G7r^)6걇 Z(ׅxDH.`[GXnr_F3HJY3.~v{HΈ[WY}˓S`BKH²$2G?Jߎ| oby2i(@CZv?0*ۖ\QR t3U ƯR zD8U` 7h z"  2$Tsovz]<:[aHv7tTB a錄<ࠄRIH #F#J2BP5,(<2\4 {,! 0Ac#2*#3`Oǭc:0rFHq8b)*^|+"q=;H-.:./z;B 4W&4Nj8b$=zD&>j|*VRÇ)VxcF9v_Y*J-Ѩ)r?j(ܑpE$܉OKt[=nxjT?fP) /]U:o 3iχTZ[Fs:q.%E"`&*Cu RN*^֪OʆrclX1Wn!%(b%} yxpÉ7~yr˙77iVV}i1uSg_yx+g(YRQɟ,j\IOJ-r*b'餭\y0Q1RϟZzQ0G:Т!Αd'-L@i4UxRbSbO@jLП|0! B0P3&Co,(HOJ -rC.Aըp( Hن>@B mΎUFiboQqfg$S E;,G&۩ԟ!HYjzdAVL:iǕdۙr(\&RYg1!^}5Xh xhxnOڱeo! w\U^XcEg-,'V[nqi^x]6chqXkynW܇`'Xt"9Ӣ>餕^i$O=Aƺ鮗 =5ebMeefgWˆB`g)lyGrlGN֩Gq$6z61yg[lHryG1A&RqU{orld!ঝyCu Gŧzʵ<)t 地iHѧ X@C3 p(@=x`?E"=b@h !aGs|J!kycyCAHfHぁjIYoO P{3sC2 }lCQTF7IcAHD)ZQ^F9Q~!HIZR)UJYR1LiZS9NySAPZTIUR}JA!QT/&^1֛bjXycl<UVnXZx%+FJ0 +XDC`12 j<+FZ}+Z "yS5׻"Ё]+"0V#^E;Т"l-2$!a;YRyf\5Tm>ptz]([Ů kCc .vܳk]{ UZCd[ yN{—/|կV&hla)2P"-u(p`7gPb%5vF4n -Ŵsd.Vqu0{>!\rFj f8!1x kWDnX,]>#+f"nۿFx}l9{UDUx1Xe7FURJ=*?\ Yw6l*&^Ϊ Fwa,<6@јG!K7(<0 ܴkAq75kn0Ѕ7ZV 9gB_&$Awoz/ځ ƾH` m]!,sS1KxE|j65KD;o_=;5#ևG/Qc.0W e*$t^W>'j7hR~z"vzoVxaUUbIX2NC 5d]!@Nk0êK8I/l`x杺;?OЖ l.zﵶaJҬh"ìJ OhЮx B bҶ&%+VFT!jrPVN<-@da e)M"8lh̾LpDo0 oNO6oN"0Mp+"%D%.oLeZ"V^E!z+!XB=bdUV^֚Oє͎+*rin/ nnph @p̻ dxQPj~~lϯT=(`m U>*Unk"jlbLӈ I.PP#ҫ +18qwijŢ{F6G t8Ϡשּׂ߮hҕ| !=@=7x7yGp32ko6t=yL}7/p32ŏ<_C{)̋c/x?(r=nkƯ=}yqg檞i+N Jǧ{Bes\ӽU&9ͷo 9LWl}yW5% ,Z_AgzB]XULWWʡYTL s#0 S}ߓB!vϷ,vF @IWg*?YHd;yc\Y dbcwM ZdCyeiV*?`Tvi*vqX,(pq;mn kھ۝[=Bk'[3&y';S3d E~'[[@wUETEWUv Sw{M!ĝs(C"4kDʿ3,c\!({Ymh\%[ǭhg>,VQ{kP(F] ]{9Ū\یQ46I?Vuq\rlcޖ=Cv6To#l3''S\Pm6<.BMTOVdx4_.'};~xd^/r99:_᧎rop3egZ[٬`ķ7sldwߣEUXgsV:v,BAӁCH,ҼkK+ S*ːJ:+@9,߇GI\݈չ Jÿ>ͣ\j&߅xseznΜĥ[xi!feۂCN<X,F.RZ{[[G ;wWihah}=P'@`Fʢ2>d3X!>HH588ӧ)|_OmP NNT~~G8wKWn{EctUϜ;Yo};춺V;K XԻPal? J3l۬|LwQ9qXuiocy B)wx>O ӽݕmlVF-|go75 XQ+JgZ}嫬KUNgгf#zwsY, xj,X0ϗ{zs?cͭ(St\m^ǃZ*yh=hUBN?8vS9x[JLzSU多Fʢ2n{Ye,$M8uj_LO{u_w*ݩ'<lOW76|ym^ፕUb7 ~~> %Lj#q S>Y[`{qJx7#yl_~;xa)ww$(/ #-)]NB[x<(oyB8,߻6:b*_Mϒ*H\یaQUrik%{ml.OyXn.(T}y,^i^ZŅ0<odg_l,J,3s ି@՛[mla]hMQx*Otʭ:ٌ2Wӳ|@ZZa|3zsDUVj>[vr*f./AFʢ2N }O6⃤ijԩSZ ;y:[`bc!b(uT4Mxrt|2IMަDwUPVϯ/G< U˳?ř9Ld!⡶!SJ}K JU# eEӥ12YlâylZ|4J~a4l0L0!5.z~O|ʌҾv 4V4Bd;qX,V[J:ͯ_JX5/˦m?7v-r DOY zˢYH=kFoA4ѶrjQq: UVS]H}hf5)FʸfB|P4-u.r:O>dC ?d9PEE:JÕ2,.\!O(`ZxE$r'{әJar=!kf[#e !?zlMQl[}|mnO`߼4Ǝ=5hѬ2BPdzX,F&jyϞ$._ejV;}3\ ;=m=2p;hD==?'}&W,Rʶȵk C|jt߲[75uy[Sw-] rr/OBxq>>LAAuL%/T%'bqF-6vWK2<.\aµʭnݻYϷ# ,߬rk5ASɯ]ϜnGIV 3 '|ev2VaY-E#e܈fB|4uߥgv- !VIizV#R.h. a6r9҅Yàh!Ⱦxnki?&o2eGq{<".e1)qMx+ȳt9|P?5G^t35BdQo -w6LEA.{gDuP`0M}ףCs!f[v1@VpJGӌx[c[ K^4K 45Rݬ{e,${^|3`vmWs| u 1x011.c.#jpT4kB!ܺ4}vkȏ!nWa'ǽ-8,][ *.ݲ7}Q^Lb! ٢{-PjD- xhY+UbÏ) +,_#[,E[ V5kD,ǭz o6wPmv;N6M#[,*Je=K&qN[+hGW7aaw"k;`6g*cҨ/13|[Kq.olpG65R1=٬2B{6vD7/qtJTnw4n9T nϼ*]+/-hF &ovrtoozEUBUí[zD4Σ6wr!wtwj>nwvm\NZtO:y~f2&L1cAGxt.?.^ic*ǽ-XUR<Qmv;Lwn( ?>:R\o7}^hnL:iHNvѾ5)?S\ˉK0%],+mDyˎ|P?//.HG[e{kG_ۤ>G;;*as}`{exUnԳfq8"r`;Er v|` ͪgE#e O6 4ϩ,Ϡj%{4b>n?:{>Ods.b<Ǫ<ɮm)TAƿz`{IO{׮rx:~/Oﮮq>+C7S?]Մ)NJOpxl?ZJyU4 ,SN4/G8`ړMQX%?s8cû3aϪd4LjS<ǭ<࡭U͠:7#j9t>{f[#Ye"?q }Ce E qycspɻYhfB|EgpZ_R)400 ^Ō&&BVH|6U(r:'d2WAˉC+4_sCn77x:ɇvLd5u^^ jj^/3rrm3Ʒ#sy>hSi^\cTH*&=63] Z*|h+Oǣ1~>EMn!/J2[9j:^ ©'X.ϯ_ʳ݌z[pZJÞ.o3\"KK|"K aX)&fITE!p*䙈;Nx}9Ҕrk5/o[c|"Iۅ]XdYQ6pOOмzHY4RPdX!>HP(toźE CܟsD(@yc;r4T~uU^Zf߹zHx?~{Ǽ-<^(( VoF#B{=%$xj> m#Y<?jy?4MCQxaֽ]Zu Q( .Ξ=p2:dhm1::o'po?B!jjeZ9s 혦/_&}rC/p(o6b].'x_'E=׈N^_!P++.,/Uۮ::ڰZu#tuu(FwwKK+5ZZ<-DPdpHdb'fsLOϲrm5dk|P(dvO$F: .Kv[f!^b"^y+5(B*UᶾQiCCuN(=J;&033R666N6CUU:;\tt:q<7D0)tTMnޜFuz0Mj麅V׮MTxH$B.WX(QU|>O49r'0*=Onk϶r/^Re`;Yz?>>Q鑛_ĉѺV%)|>//_%OߙrR(>_KgϞbll|~O/YFӴ( mm&'*:?H(B(_B!)?L[[TFctuuJIR躅x<^E)|d2ʼnp](B&4}Nt: kk dXX} @1pQUsnn/7\%躾Y5V+Db׹7Sd2J/Hq{;˹V]sdsl֪S:vZ?3 GpmO~0r{lg4jQ_.U_+@ !PੳD"믿N.XΉlVEǏH$tz V^f ( 'ONzr6xvH3 |zmĕccr9 0 ւ(ۍQsd9_DUUZ[v,Y+wZ_sӜ@3WV4 (ՙzug-AV:1/BWSJk5|y:iNevv|> W^*˓J R nl6n嫕`nB$F$RZLaeeHd F.5J=7bfFX6[ji)a'^nL4xܻlVBe 򉉛E60 G*ȽjZ_+l6 y,~կzg5@IQ^ G_=zv{eN{FoXPjB!nPP522Rʕz2 LX,I4 <Ǐ`6|L IDATh @/S,h#y b&6P*72^/btvy"x2MLfw*R,fy9(B nܘypx~4M% yKd۫{_$@R?33bpTU%l eƼP(r9Xmg@qbj{+v]|PObq{_bۺ lBfkY+~P4 qWV'~ B D1*.{n~+{!/B!M :;;w}^oey\.'|/Ob`e%lGjb&}tH$z:^Z[*ΰرR0dYZ^Ģ0 )h0 7ou20ЇRi&&nToնou-JH$ik ̿i,G>@/'Ob9Uׯ^QLU4!Ngd2fЮ<Ū4mOOa*"OX{\򛜼ǏX, E5T~b&==!f0 BO;HP?ǎ aH ^V !B{r@~ tq)(ۗ6ọ̄ LB!Ds5}>SY3oȟwB!h.n'@!B!@ !B!D$B!B:I%B!u{אB!]-`( oqػzSV/ǎ o*}6rͻVNP`s3BᎧ}!AՈȟaBan7aF#}r/p(oVr9q癛[$Y%qu;##CJxFOBMPU}X, 3;;O,b u) Z{xV+m,,AՈFv9jsaBմp90v@ y>iv\̙o066`hb|9 L*w[v EQXZZTwsv|(n6Տ|>_WjDwoŢQ(UUWB!iT<_pngAUvp0F:ؾ7Ҕ J :~|ǽՓ£i=ul6k}]rLM6d 4T*M Pj@QSS3d2JsQ{l$I1Mcի׉Fco0 VWי4kUgpiHu;P8E̙[Pss /p)nll233W jՏZj;j*jmر!.\xrN~?ÃLL`xxX,N40 cdd0vL967G.z~!Bܿ4+:yX4MΜ9ɓ') d2|,`ۍnV=^UUr]sJ0➧FW,ZZ<-DPdpHdMh'133(X\\ytEgDV~K{LOϱ+XnZ XX&| E2 ~+.]eyyHdt:UidzysMzz4X,^WjAunܘ&H@ӴJ9U?4rҿ!S,hٳd2LMq:oU?v~j;j*Z3Bx{X,tta,/GDQ`uu.Ubفfey9B8b;D8|[ʯoB!HNoo/KKKdLL$@-LMr,///_%O:SUuc]=2CC}ՏZj/LUO~+ saSzkit]g+@:C.^Rak˷VY-B!?5=J$ 8qΞ=;SױhNR4T ]b(;_QV(N`I.' VzCϗ2fEUΝ;ݶ+ڹC1p>0v;Uժ_jl v;k$L8qn EQdmaZ+_WϟZSo%U|~;$RB!o2L˗/CGG}=0'F٬(R9~DKƪ_fY uƨRul6K[[D]r^ll\.aAPܧSUe:`aYOjnQOQN%N3>>r6ä*z,jO~V99ӫS˯-BH'x߸H3ܼ9 <7nL!qE!Rin>8P&4M<K= :77ŋW~n-fKNMH3d9v_K.Wg+9&-B{ZWy\yoݎnƍb$ےzWjʧsRRZ~Վ'p{b !״کT Okk+@y2 LX,I4;wPŰ QY ܈z;R(z \.'BHd>yHdmWZx܄B]24{uJ6%^fpMSd~v}RyDiZhfgQUPp( bq{_b@QT X2,bn#(B(IP`ffbHGGXKWW4ՏVTZ+jaUw8\V l?,O[֪_XB.?rU;ƍh5er=rU;~Ãwii'eݘkEC!BܻP(tOw; G( i2BjWQE9zpB!>d}o/QyժB!>蚶B!BH%B!uJ!B!$B!BI(!B!PB!BQ;橧4M܉K !B!mwGzN>}'.#B!Mjxxf_F!B!T[['N`ffB!B;iTKK ?0hf]F!B!PV{ ]I&8qEQd>B!Ք*ˑdfppm翅B!~B!N\賟lC˘&H!B!#/B!B:I%B!ucC%CB!B!B:I%B!uJ!B!$B!BI(!B!P4v B!a _F#p,v7ld:+ob6u?HA(?eb6L#jG:$߀yO/B!mӴJ4{=k5{8:?AQ-si2 lNF|rlN|{_##^~L< _=? sb6QU~B!B܋@v<ΧI!o8Dtf_.Ä>CE䝿VwE{̭ !oS)dߓlO> bcN.{Oeu<)ixk^ !BB(4/&Lrʕ#A3 CjisX(H_%pg/YCQ5yU#:H.O<WK4̿$׷NC߃#1?F/Sgq }¿|z)F'ѭ^:^5-A<}`q\lb>iM;_MOc tFzurO |K$cC arVnv2닸Oes۴?@| ,k/8Sh67&;3l> Mg?&$TP$Yz#Qȡh:@7)W(mY3G~wI"}ٯћߦ@whY;(O(B!hLS@dYVWW`tt0}Yl`i؞ibrt}tKo%JܠD,3_urUMg/3g{?)rR\cd3,_+W*=6E~/וgpAjׯ%Xv_fAwz]>rUUe!¯05R^El=/.VO)8{H.M.j{24%Q-V$uJ/7 G ykfu>7~VWzu 1BGJh rB!lM d2,mmm<@)Vi[E7w:vӗOlٜX~Tgq>'+S5ϕO`( Zea-[E8I! _EwP-6ґ12혛fr:f1O|=$\͉8UMUz5f_m8F1b/jk[j+ }Y v7cuo.DOl.ⳗX~y6GF>FKuB!;iWqX,FPrLLL0==]N(`cuR gBt;H,\y7{7@j̥Wn;[z ȣj<չ]XbeY2(\w0f!ڟS&$bE|OY?0 9tKaqxi; =FzmXx֗0 {m}I6'4IH'pt?SovEo[vs 'FWVHLb*<*i?6_+`uo:2C*<?$&>sw Q*_yEXyK5{ B! 7CtB&Y,h,vEGh=jbrwb !Bq5uegd 8Ľ4M}z NPI!B*/)B!bB!B J!B!$B!BI(!B!_bP(rշzrgObH\'w#$sE~~~䋥k[T,kB!#`hhN/LN\Ȏ;CW"9[ؐ/b۸?pRk+)VgOy,->4'7nG ^B!5=ࡇЂEɵ %Vyv㵓+\ҕ}6!B!>Ț@ bXv333ͼԾ<6A.+>GVO HLuoxd[ |팶70LH'/E(&?H3hof7B횢V(ߚbt6=Ή'\Oo_<) ~K,qqE/CPB!BܢT{{;@cǎXZZb||,$KOL0LP n IDAT !7ol#)\;D}=; yQ_ʳ'hhfOQhR8h)|X+ӬsX4?w_yv6'#)6J<[rrB!Bݚ@9baa qf^MUz[|kj pp_KqY5n+6ʍެXV(waNm.]Sֹzu{_~fH"˓| ^!BA0 4MW^!cygͼ,PG,V:qOww#/pixp|w᷿lQb檫~<أh4)Ӑ|nρs)G=(ju ~+ɯo~ʕc0}?ujݿ?>&ݾxcU#ojD~)n^m3ml(6 a U1*{|_Fo:WSp~IϬ_Kh'61֯6%?LgOt$/S[()\tTŅitc}1_l*s%co[Adf3]Ti"\$ٳgw/[^|~pj妶]vsȱKd22s oA0P[jzVz@CҾDѠRb'+u6Μ)%>> 3iDQ3gJyٿwUˍ㶋>%~dNVjW,ݛZ9)_QHFӡ/[>|Oȸ; %' 5v}&iIJ?P">$H;\Y}` 1wQUH*)&}IZҊRYqjPa J85Y30M`sD;+9MEϨr9`wIh5 *B0ՏYAd_>uj~ֵ' 9P#쮳}Ct Q@CV}o"1ct^(E -Vˉ1LF<Jv..Ձ(h!>>QΕ)[3(2Gcjx}'S1\K룶nP!V*))dYOvMw䩘l_5?ք㕨gæEwm7MFFmx8:gpwa}EQPiT{AMRn"Q5"s4jFޛ.QK,j?݁<#$ tفJ0aGLdJa_A e=f%EaPo6Jb?g^^^)w\`ӇxY`P:"Dy/{, 2dwL[E(`a"wn.UTn2gJ.S7d7Pn~#,>e9_Nۃ@AwX3g6p[SXXVk t:VX8o:u wq/n[Nyy%eeepu|ǼdYfқ:u jJ^{ Z[[/+gsanXfrrrz?~zW]:~?'NpD <;H4(h "ZVwySh %ٔDCRԧik9>yrHcBQhtRV%VsHr;Q ),/ɥrba1|0jw5PIȹf8,Hj [gq{b/.EsHN vW\T܆$~]@v쵎Aʹ:1&4<^?X+I9Yg ː8, ylM0rQ ._+3$`|$YbwƝzkaL^a(A5,PpۨM $l5=wLmsRo1a@@ ?ؑ$Xnx@q}Ks>j]b㪩njZ~=S8woZֽCQ\wYY=\doyas"NNEO-ÿSng{ 1'~Yb0gj-Ͻj K!F 4u6}C`)ULs2px၇ÿ.ԲsB2ٖ,+py]L1QS0$h4S*K߄ѐDYC9 +khO@ZR*j0%o2bbp,;w,99_|gyI뮕%KڵXn#EEkZj̙{ĉ)(Î`<-|֭ȳ 矅bfܸi3^Ϗ~\.W?ڵcewa(--C,Xp9n:sMp]wPXX֭x≧طo?+WNr EQHLL@{,>^̙۷ի{ Ilܸ  V=ΪUkמ +WގngYn3"&T*~hxWxٿz5jO=@ ޽ٰa6}Ϸu+Fezk YYY=#O4yյ='~}m~jTI4+C/nLMTEv&$&|~_ׁ܏_=N#åO֑kOSao:LzOqwAQqfS'מ! bM+P M[(RIŻ8>x$D-6rv{5q=s&)'s2{|z_ֿ@Ѽ7{Ib/BDʐ}AƮ߱ߠ Feb M9a=#f.1>ǟyb}s\|SwhcB}TwX鴩ϙuFEbLNlQ9SA䚙.V8SwwI>ژC[cˋߖL P&=ǻ_ݐ3zm?}C y;7ČD?*Vg"7n,ݶu6rϋw3L&3}jG*Q@][}θFrW ?N\xtiϛt:;ɬ`ŬeGs!|H{hј3g6gVQ]}я;iE$T*ӦMWqhސddlݺ /nC_'))n^ܹsXOVy-<92 W^y|n_cǎ#Bqqqvr$I ~_d"dYfڴi !ON6`|nF| YyJJNPYy}>jZ\4PtEBVS-̙3eOCCș5rp8j8Μ) y!/55̟6[hMQTQQQ(aDs zk_QP0'| @"hnnhX Zu~jXPr쑠?K/Ycyݗ/¢+]13-25D/r<Oi*sdLOVk^︨pDuctoR)QN۩нڤ:fgRQ-ʹ'e+Ƈ|S6AˈZiy67*YULVu&_r[m'4e}y7w!ֳ6rFRISǩIcӴ}j4jkM$I(̨ڧ+ vd3ů6%"j$p69ˇJYa y!Ӱ:u/΢G %x-$9[h/B"[NƔo؋%تBXw 2Bakg"GA_Wr]PUdsܨ*n1cS:~Jt E^~&C}2̟_5XS<,p4jJ?L}Z͡g\Zl. 6tu8g=fGm|~kgPA)|ՍG'bI4%Ib|5qZ=.ohҪjBq:};T V̙lz_HZ-lFQYy6\Јd4X`HJ lNFV_>-s؁j̘Qk],_]]=@$ZZZta"Zhoo`0bAЯ!_rr2UU=Y֘٧2%K?Hkk+wa׮== e?qfwA1}4%S_ɨT*7e#@2;: z &ULe=z<;PJ|H7Ъq3R/RD:ҨH-Jbkey绎WIΨE֪t?v6%i{ }a }ZE.SoօH9c4 $ wY:n0DB<qjf]DtڞNY3+j.h ~G0񻅸=4~D'lTEsG]ӏT7xY+2:ُuI:ҭrZ&i.KgҢRKL0c?pIR$- 2:SgkV5$H7jP_4hhٶ;ww JBh X,>g/:5whPgr*kj-;+񹾸K_EdU;(!aīOڶZF}?t#j_&|9r_қ|I .Dzm|il6^׃OqpOdYGss3/0u]_BeNg8-_~]2JЌe4\JTByWj5xWֆӗ\.7V.]7/^z_2վߢܦ i~b`Ff/@ҽ[6tj d:*<^ Wz$(iS_9&w{~d#qt]/xN[_I*qw2E!uLCW?I}% hEmDOӯҨHm$}7)AZKzf xxm^rNukeҳGܧ҄ʕ e`;)v/A7=cu6$-$I(s^j&I<.*fSdDQ(លitj(g4}ڲ/2C4iꮾ6lDgg'lذ (ZLt:BQºi[=&ܬHH赡f6Eh5x%G+g駻#P+===Yffͱe9illÉb@9ʗBJ5ksL)e={Y=[u~iISSHV =,$''>X }H =4wwqa^-& ed|iw6f"qn}#Dio<~ڿ/> 0K#W]Q8_p }vW">NQMs͡"2YI3hz=FJ}CZ\AA_^Oy̥/,zfeoUYizvQ4R31auDA *$f<ޥ3jc?}"ѕO>vR$ mwFa*Rƛ{D3i:NtC=ʁ?Gcʸw>}ﱆo䵆G}ŐutOɸZx:/֎<v6ϕO.QUS'anTֵVF1/N|'g_Odn0o4  !{h5 <ӈMW:?_%1)'X3!@C۬;ZUĉ.嚒$qTT^ 2n΍S# ,3C$Maib;[Nh0y8^UkDwͻ#bh}QP0#@]Qy? ]рD9R4l IDATu4+VooEղp>}vmF#;w~ʭނN)S5k&w۽b:::x̜YLEE%c7o.@ wI @3~|!3fL穧Vp89y2ߖ-i|AH?g`Q$ڱX,,[Ç駡;nӨ` # _}zآ`j܂c=Ȳ̂q8l&Çg||nzϣ5+;cO}}=^{5W^9Zͫp`2<~|W\1Yf2iD$IbWOfsfܓ'OaX?]ɨQ:tފfs5W3g, 8^~y ^dZ[[d۵iq8 Ͱa8q`0HSSs^ɂW1eV+oEyyEEY`>&Mʚ5é#Oӱx"nog^;lf7&뮻SHJJ3̝;!qƲp|Fԩdffg>nw񉤿Նї---ʌ\w5L6 RVV g"RLAb }asH1Z1'9tZK}:Tf ruOsa RZVr fc[; j5vZ]B`CJ)|ҝcK qYn%qxfg`DVvՃ$-iSRY6A4ʈƠZfe>5IVQ^sH)gaWf1= ZE~IZl5KJ4,㒑$-Xφ6*'Ⱥ"si=NՎ|J@aܐ|j̙ z蒴x=rr? Ygh?ӉeH'kV),xm>*UpUI)45+˸dVe+©soѫdLé54htzΦp&I26QCGi}`0.cGkCD uXyp~%$C"_;X:~<ߩؕJBQ%P.|/K?D?',HD_ff=3~pt{0"gE̝;Yrqy/Dr_*eO}AN/ed#h;A}@0T|(@ @B8P@ @#U@ 2G8P@ @#@ ,|:cǒVBII W#\%G鵬wbH7*@  i+ZZZl$&&Ϟ=v Y%UƴDFaF-ߟſo?K@Q* 5* prqiT|"@ @e3(xCbȑ#hjjb( ЂdutPI,4*^:Oi q ,pt2^I͋ZVP!Q)*\˻"]WQ?oW|b*ڃM8*$AVfrVvZ\r ^?: '@I3x @  UPP@ZZ0n8(((d(FVI'jP9#M5-t*ǬsgE3v9Te&iaEOM`#[Xu;lz$ICQ$̆*\=rUǭx\^>*mZ@ @dHÇpN'`… >|@PaFO&-Q*+ހ*+7OL QOT.8J*n?ހ *s*ϳESVIdn6v/O~Z\Ĉd9;'!Fӻk%bR*y@ 1C("͇|AO΢q)l2j_HVo@!N#SoaHMT-iZ&'vlT ?#fנ%4xn6|@3F$"s @ H4U[[K^^f͢_qSCHY#Lz2pӐ*8҉ӄHb^_n-X`($57ș'3vL2Bj:ݕ95YfwLI+7cct>.kGVqX3Mv_+@ |eRˈ#vsI˿Ϻ|AWY)a jKEjۋѫUtzXV?jQ{$Ke9F]),BeIYL̊VQ:wN Q'c_r|G ӫ*m]_+@ ||%^PIz9|QIi%@ ƐF.w|kjjj0 a6ۯJ3FOx^%r]񢨂1LF<JZ[]]ua}EQj5/Of:Ε,^hd@Fv΍F#_-*K룶ںĥ[m`o@ 3tvڅ里iӦ1rHچ˞x]<_eAvJ@rv𓟑GiXAZ::VZăg="R`H9 Ci}{N#Џ7>xK*9sfs!Gou9hZXv=Mt:VX8o:u wq/n[Nyy%eeepu|ǼdYfқ:u jJ^{ Z[[/+gsanXfrrrz?~z~WĢω%8Qѣ8{ NˊA6o~'I,^|#@{{dԨ|._!'g?Ƀ<#L4q@?w0mTRRRhii᭷pdY>amζmہPndeez)+S[[SSSY&rssh7p83f4޽HJbڴ: 2,\[Xnl:IItӍzΝêUZ͛onᡇ~ȑeʋsݼ[;v<ۖ#IRbr,Y,L6W_]ѣHN6`|nF| YyJJNPYy}>j9nZp[~3g 2~3_WW8NZ-3gJz^HoKMMb1??fBNx(K_hE?l|gy6juD=[<`8 Ɛ:Pmmm|dffp:L4kW`4ַn巿(5zlm m\ @h;vXN87tF_bNg'б8]N;T V̙lz_HZ-lFQYy6\Јd1V[xiHJ lNFV_>-s؁j̘Qk],_]]=@$ZZZta"Zhoo`0bAЯ!_rr2UUU=wm~cRu{E%K?Hkk+wa׮==2e?qfwA1}4$Ӆwz{}@g$lAe|@ &29n7MNu_IJӰpU̧Bm[-#sԾ`\,8rhu7J" ƴB'|͆v{z8m|>S>Y /(L:a{eNuG6$I %$ Xvm`joo_APXX73W^YN_stvZYt17߼f^zu>ؗ}SR,ˣ?e2>@ |^9s#tt\zrcÆMtvvɆ ߀qS)dNG)pNjhi[=&{kCi6Ehdr S|֢G+g駻/J19ԕ 33{>z=Mp8X,7WRSSHIfzΜ)g{>͏T/Ə/٪K;OLB Q?99PHfHt=(1 4 $a2Сü[MA~)))<~EMMXE4))g@Md"P^Hbb"snA0;7RIcXXl OCw܊QWWOAϟG0]}zآ`j܂c=Ȳ̂q8l&Çg||nzϣ5oo8=j$-)9u]ƍYfܲ+룼wݎ^` ^ ~Z4lySN#Iqqq̘Q̷}WMMݻE ;" jhlݺ-TޛSDO,#7)++|hGW=@ WD.$ɐ{^;RT(2Dp&ӟ~7Xh'DB~ɼhࡇ~Ư~ڻ(;gf2 H  mUojmb[ukn׶]O]{ jQ* A. HB!d&3C (9y~{7|}~Q\Q#zH@]B?0xr3ɯI ZR\nFAܹ ORR"s̢^y1 }"""Ҟ^O:yp8v=K=^ח'hzZou~ٳgqSZ;ٳg/k׾}ѯ/"""/eDDDDDDBw^$""""") (]*::Zoo RoXn]aÆf&rrrHKK%j1 voNJ$4-= bٴLR,ʼ\撑nLv؁`ܸq 8G;'>)zyI|zWwVpA \?<>Sp.J&9&~a ~$5mSN jPp(~W5t #-- Ö-[Ltt4N!CKh1Ɉ&."+L$75I!n56?+9Inj$72chu#1* ÀzwՍ-G@*6<>*Bh;xlC>&L%DDDDD6zOib#GdϞ=cj1H=G)./*QwVvVBxqm }Qypc``U.dBf vAƤXʝO"""""_3 _G|>6Z*++1 u qmɊLˎ'%ζb'ɶb'7_Cg=gbmo'FqQO][GpթTLAiO("""""PN {u|p ح?6:#~v+S\qUgQ?t:= *^gR$F?l9UIDDDDkPǎ#!!!XXo0,9P,bpB8V dۛ>4Ww~d͗'X8*0)s3:W?uٿ馸gd~JܼUݚ@Z߿WK7Vd|f f//^IH3l8xn@\DeN7O|rcu]?YHv8_V6&Qv+SDzxR:PDDDDDz'&KLLp犲l3 Ą[qy/;3 /oCo 70?W!"""""=wQ3P}řR {Zg%'MR,^eFFd2bX-Pe^]ESޤ+""""uJDDDDD$D=zDH@IaƥBz:>N'"""} ;].{z]wJȦM}deeS(20gO_~"""\cݺu.3a8윶fa^Swɓӭz(?d`^l6+MM͔ysvþb8qoYɎذ̛7dy㍷8rGL3PNf9t]_kN6ƶf^&'g8qqlr vu7:iaOO|Jٳg]1wcwr ߹ [CY^?SO=ÁY^ZoKDDD#@vrsss3U.]tچ:2<}x}^aб$$vְJkX0iz xޭ?k}4n& 49T~-_m=zp|oۀjeܛ3jl6EԜ3k;ih8=Ͽ,<{7e֌Lii^/Ǘ_c==Zag[Θvzk-SAqxx8g$//~Q[[o_lglk !++A~G+{>yy,Zto`1$%%Q]]͛o櫯bZy&8wY;YsgB}w=e! 7|Ԛ3>}瞻g߾̞=D x饘Irr2sĠA Q^^baG_ӉfcʔI{\ye99ٰf̘ Y7ʕ4[n;o#>>4arglݺKZa|>W?#?G6o>wFCCK>ʕ&YY!ض6ݱcÇ;G2es۶}Ɵ, b@XX˖̳CKAٺr\|8vU7ȑ#\ρ_oƧoQ&.*vPp`+P^[Aى`9 NĎ]\3r2|yndՖQXOZYLGvjv}+0;yrW]2e2GSRr윶f7׿a`X;v ݻb[---\*NLL474pv ?TWWcV?cA>|$8k9w|ͼٳ7x0#ȡCG3gVc+ٽ{/q̘1u!**\.}}PTt[?tt\Ӛy 2qV+^@0_VVn6jnr8xPpgkoX,k:qqq֣իXYN8Arr <ē>AQ`{EE%qqmd0@8y$11'$$`s v;&_YY9?=deeb58`UIRR"+󋏏MuNt}ZI/1g,~` 7oiSpk}$q9X,m~WZ`b1N=9-ƍKEE'Tߩ->34\w4eSD)S[<ƏGKK v>~[Zn$ 0 N3(%gSU_MFR:[-Lstf;:U{GrrЦ@,z^o&_hjkk9p+,5ka۹|G^F<667p-8jjjL4R[[_A㫫0qx ԩHJJ|˄ x饸\kq8|3x<> ϿĉZ7o;wfӦRVVNNpOouw}bdd$Nj)(؂jeƌ\ Z7`ٴpӧO&sɆ 3{Mc\qE#p~(--?>]P^^[o )˓KBдlݍfwwl`גe߱xn¬vLý3'96Fw#l0xuя\5vMzM!t|rz~7o. BTT.W#۷`͚uf:fμpY9F>E*o~+y|[xZ8r^^`,^|~cJyeu~ð0}Tbcc`)++p[vRRRXz-|aDDD0ax{Q~)""""lFzzz1>?Ol1Ѹ=PCxy)- )łi=(Da Vk|yB e}:cZ{\b_ZZ~g?<>jU~By"""͠kO~ UOZR]. ;;; Commentary: ;; Code for adding, removing, and displaying "annotations" for treemacs' ;; nodes. As of now only suffix annotations in extensions are implemented. ;;; Code: (require 'ht) (require 'dash) (require 'treemacs-async) (require 'treemacs-core-utils) (require 'treemacs-workspaces) (require 'treemacs-async) (eval-when-compile (require 'treemacs-macros) (require 'inline) (require 'cl-lib)) (eval-when-compile (cl-declaim (optimize (speed 3) (safety 0)))) (defconst treemacs--annotation-store (make-hash-table :size 200 :test 'equal)) ;; TODO(2022/02/23): clear on file delete (cl-defstruct (treemacs-annotation (:conc-name treemacs-annotation->) (:constructor treemacs-annotation->create!) (:copier nil)) suffix suffix-value git-face face face-value) (define-inline treemacs-get-annotation (path) "Get annotation data for the given PATH. Will return nil if no annotations exists. PATH: Node Path" (declare (side-effect-free t)) (inline-letevals (path) (inline-quote (ht-get treemacs--annotation-store ,path)))) (define-inline treemacs--remove-annotation-if-empty (ann path) "Remove annotation ANN for PATH from the store if it is empty." (inline-letevals (ann path) (inline-quote (when (and (null (treemacs-annotation->face ,ann)) (null (treemacs-annotation->git-face ,ann)) (null (treemacs-annotation->suffix ,ann))) (ht-remove! treemacs--annotation-store ,path))))) (define-inline treemacs--delete-annotation (path) "Complete delete annotation information for PATH." (inline-letevals (path) (inline-quote (ht-remove! treemacs--annotation-store ,path)))) ;;; Faces (define-inline treemacs-set-annotation-face (path face source) "Annotate PATH with the given FACE. Will save the FACE as coming from SOURCE so it can be combined with faces coming from other sources. Source must be a *string* so that multiple face annotations on the same node can be sorted to always be applied in the same order, regardless of when they were added. PATH: Node Path FACE: Face SOURCE: String" (inline-letevals (source path face) (inline-quote (-if-let* ((ann (treemacs-get-annotation ,path))) (let* ((face-list (treemacs-annotation->face ann)) (old-face (--first (string= ,source (car it)) face-list))) (if old-face (setcdr old-face ,face) (setf (treemacs-annotation->face ann) (--sort (string< (car it) (car other)) (cons (cons ,source ,face) face-list)))) (setf (treemacs-annotation->face-value ann) (append (mapcar #'cdr (treemacs-annotation->face ann)) (treemacs-annotation->git-face ann)))) (ht-set! treemacs--annotation-store ,path (treemacs-annotation->create! :face (list (cons ,source ,face)) :face-value (list ,face))))))) (define-inline treemacs-remove-annotation-face (path source) "Remove PATH's face annotation for the given SOURCE. PATH: Node Path SOURCE: String" (inline-letevals (path source) (inline-quote (-when-let (ann (treemacs-get-annotation ,path)) (let* ((git-face (treemacs-annotation->git-face ann)) (old-faces (treemacs-annotation->face ann)) (new-faces (--reject-first (string= ,source (car it)) old-faces))) (if new-faces (setf (treemacs-annotation->face ann) new-faces (treemacs-annotation->face-value ann) (append (mapcar #'cdr new-faces) git-face)) (setf (treemacs-annotation->face ann) nil (treemacs-annotation->face-value ann) git-face))))))) (defun treemacs-clear-annotation-faces (source) "Remove all face annotations of the given SOURCE." (treemacs--maphash treemacs--annotation-store (path ann) (-when-let (face-list (treemacs-annotation->face ann)) (setf (treemacs-annotation->face ann) (--reject-first (string= source (car it)) face-list) (treemacs-annotation->face-value ann) (append (mapcar #'cdr (treemacs-annotation->face ann)) (treemacs-annotation->git-face ann))) (treemacs--remove-annotation-if-empty ann path)))) ;; Suffixes (define-inline treemacs-set-annotation-suffix (path suffix source) "Annotate PATH with the given SUFFIX. Will save the SUFFIX as coming from SOURCE so it can be combined with suffixes coming from other sources. Source must be a *string* so that multiple suffix annotations on the same node can be sorted to always appear in the same order, regardless of when they were added. Treemacs does not prescribe using a specific face for suffix annotations, users of this api can propertize suffixes as they see fit. PATH: Node Path SUFFIX: String SOURCE: String" (inline-letevals (source path suffix) (inline-quote (progn (put-text-property 0 (length ,suffix) 'treemacs-suffix-annotation t ,suffix) (-if-let (ann (treemacs-get-annotation ,path)) (let* ((suffix-list (treemacs-annotation->suffix ann)) (old-suffix (--first (string= ,source (car it)) suffix-list))) (if old-suffix (setcdr old-suffix ,suffix) (setf (treemacs-annotation->suffix ann) (--sort (string< (car it) (car other)) (cons (cons ,source ,suffix) suffix-list)))) (setf (treemacs-annotation->suffix-value ann) (mapconcat #'identity (mapcar #'cdr (treemacs-annotation->suffix ann)) " "))) (ht-set! treemacs--annotation-store ,path (treemacs-annotation->create! :suffix (list (cons ,source ,suffix)) :suffix-value ,suffix))))))) (define-inline treemacs-remove-annotation-suffix (path source) "Remove PATH's suffix annotation for the given SOURCE. PATH: Node Path SOURCE: String" (inline-letevals (path source) (inline-quote (-when-let (ann (treemacs-get-annotation ,path)) (let* ((old-suffixes (treemacs-annotation->suffix ann)) (new-suffixes (--reject-first (string= ,source (car it)) old-suffixes))) (if new-suffixes (setf (treemacs-annotation->suffix ann) new-suffixes (treemacs-annotation->suffix-value ann) (mapconcat #'identity (mapcar #'cdr (treemacs-annotation->suffix ann)) " ")) (setf (treemacs-annotation->suffix ann) nil (treemacs-annotation->suffix-value ann) nil))))))) (defun treemacs-clear-annotation-suffixes (source) "Remove all suffix annotations of the given SOURCE." (treemacs--maphash treemacs--annotation-store (path ann) (-when-let (suffix-list (treemacs-annotation->suffix ann)) (setf (treemacs-annotation->suffix ann) (--reject-first (string= source (car it)) suffix-list) (treemacs-annotation->suffix-value ann) (mapconcat #'identity (mapcar #'cdr (treemacs-annotation->suffix ann)) " ")) (treemacs--remove-annotation-if-empty ann path)))) (defun treemacs--apply-annotations-deferred (btn path buffer git-future) "Deferred application for annotations for BTN and PATH. Runs on a timer after BTN was expanded and will apply annotations for all of BTN's *immediate* children. Change will happen in BUFFER, given that it is alive. GIT-FUTURE is only awaited when `deferred' git-mode is used. BTN: Button PATH: Node Path BUFFER: Buffer GIT-FUTURE: Pfuture" (when (eq 'deferred treemacs--git-mode) (ht-set! treemacs--git-cache path (treemacs--get-or-parse-git-result git-future))) (when (buffer-live-p buffer) (with-current-buffer buffer (save-excursion (treemacs-with-writable-buffer (let* ((depth (1+ (treemacs-button-get btn :depth))) (git-info (or (ht-get treemacs--git-cache (treemacs-button-get btn :key)) treemacs--empty-table))) ;; the depth check ensures that we only iterate over the nodes that ;; are below parent-btn and stop when we've moved on to nodes that ;; are above or belong to the next project (while (and (setq btn (next-button btn)) (>= (treemacs-button-get btn :depth) depth)) (when (= depth (treemacs-button-get btn :depth)) (treemacs--do-apply-annotation btn (ht-get git-info (treemacs-button-get btn :key))))))))))) (define-inline treemacs--do-apply-annotation (btn git-face) "Apply a single BTN's annotations. GIT-FACE is taken from the latest git cache, or nil if it's not known." (inline-letevals (btn git-face) (inline-quote (let* ((path (treemacs-button-get ,btn :path)) (ann (treemacs-get-annotation path)) (btn-start (treemacs-button-start ,btn)) (btn-end (treemacs-button-end ,btn))) ;; delete current suffix if present (goto-char ,btn) (goto-char (or (next-single-property-change ,btn 'treemacs-suffix-annotation (current-buffer) (line-end-position)) btn-end)) (delete-region (point) (line-end-position)) (if (null ann) ;; No annotation - just put git face (when ,git-face (put-text-property btn-start btn-end 'face ,git-face) ;; git face must be known for initial render (ht-set! treemacs--annotation-store path (treemacs-annotation->create! :git-face ,git-face :face-value ,git-face))) ;; annotation present, apply everything (let ((face-value (treemacs-annotation->face-value ann)) (suffix-value (treemacs-annotation->suffix-value ann)) (faces (treemacs-annotation->face ann)) (old-git-face (treemacs-annotation->git-face ann))) ;; Faces ;; annotations are present, value needs updating if the git face ;; has changed (let ((new-face-value (or (cond ((and ,git-face (not (equal ,git-face old-git-face))) (append (mapcar #'cdr faces) (list ,git-face))) ((and old-git-face (null ,git-face)) (mapcar #'cdr faces)) (t face-value)) (treemacs-button-get ,btn :default-face)))) (setf (treemacs-annotation->face-value ann) new-face-value (treemacs-annotation->git-face ann) ,git-face) (put-text-property btn-start btn-end 'face new-face-value)) ;; Suffix (when suffix-value (insert suffix-value)))))))) (defun treemacs-apply-single-annotation (path) "Apply annotations for a single node at given PATH in all treemacs buffers." (treemacs-run-in-all-derived-buffers (-when-let (btn (treemacs-find-node path)) (treemacs-with-writable-buffer (save-excursion (treemacs--do-apply-annotation btn (-when-let (git-cache (->> path (treemacs--parent-dir) (ht-get treemacs--git-cache))) (ht-get git-cache path)))))))) (defun treemacs-apply-annotations-in-buffer (buffer) "Apply annotations for all nodes in the given BUFFER." (when (buffer-live-p buffer) (with-current-buffer buffer (treemacs-with-writable-buffer (save-excursion (goto-char (point-min)) (let* ((btn (point))) (while (setf btn (next-button btn)) (let ((path (treemacs-button-get btn :path)) (use-git (not (treemacs-button-get btn :no-git)))) (treemacs--do-apply-annotation btn (-when-let (git-cache (and use-git (->> path (treemacs--parent-dir) (ht-get treemacs--git-cache)))) (ht-get git-cache path))))))))))) (defun treemacs-apply-annotations (path) "Apply annotations for all nodes under the given PATH. PATH: Node Path" (treemacs-run-in-all-derived-buffers (treemacs-with-writable-buffer (save-excursion (goto-char (treemacs-find-node path)) (let ((git-info (ht-get treemacs--git-cache path treemacs--empty-table)) (btn (point))) (treemacs--do-apply-annotation btn (ht-get git-info (treemacs-button-get btn :key))) (while (and (setf btn (next-button btn)) (/= 0 (treemacs-button-get btn :depth))) (-let [parent-path (treemacs-button-get (treemacs-button-get btn :parent) :key)] (treemacs--do-apply-annotation btn (ht-get (ht-get treemacs--git-cache parent-path git-info) (treemacs-button-get btn :key)))))))))) (provide 'treemacs-annotations) ;;; treemacs-annotations.el ends here treemacs-3.2/src/elisp/treemacs-async.el000066400000000000000000000605401476710620300203370ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Code for dealing with treemacs' asynchronous features. ;;; Code: (require 'dash) (require 'ht) (require 's) (require 'vc-hooks) (require 'pfuture) (require 'treemacs-core-utils) (require 'treemacs-customization) (require 'treemacs-workspaces) (require 'treemacs-dom) (require 'treemacs-logging) (require 'treemacs-visuals) (eval-when-compile (require 'inline) (require 'treemacs-macros)) (treemacs-import-functions-from treemacs-rendering treemacs-do-delete-single-node) (treemacs-import-functions-from treemacs-annotations treemacs--do-apply-annotation) (defconst treemacs--dirs-to-collapse.py (if (member "treemacs-dirs-to-collapse.py" (directory-files treemacs-dir)) (treemacs-join-path treemacs-dir "treemacs-dirs-to-collapse.py") (treemacs-join-path treemacs-dir "src/scripts/treemacs-dirs-to-collapse.py"))) (defconst treemacs--git-status.py (if (member "treemacs-git-status.py" (directory-files treemacs-dir)) (treemacs-join-path treemacs-dir "treemacs-git-status.py") (treemacs-join-path treemacs-dir "src/scripts/treemacs-git-status.py"))) (defconst treemacs--single-file-git-status.py (if (member "treemacs-single-file-git-status.py" (directory-files treemacs-dir)) (treemacs-join-path treemacs-dir "treemacs-single-file-git-status.py") (treemacs-join-path treemacs-dir "src/scripts/treemacs-single-file-git-status.py"))) (defconst treemacs--find-ignored-files.py (if (member "treemacs-find-ignored-files.py" (directory-files treemacs-dir)) (treemacs-join-path treemacs-dir "treemacs-find-ignored-files.py") (treemacs-join-path treemacs-dir "src/scripts/treemacs-find-ignored-files.py"))) (defconst treemacs--single-git-update-debouce-store (make-hash-table :size 10) "Table to keep track of files that will already be updated.") (defvar treemacs--git-cache-max-size 60 "Maximum size for `treemacs--git-cache'. If it does reach that size it will be cut back to 30 entries.") (defvar treemacs--git-cache (make-hash-table :size treemacs--git-cache-max-size :test #'equal) "Stores the results of previous git status calls for directories. Its effective type is HashMap>. These cached results are used as a stand-in during immediate rendering when `treemacs-git-mode' is set to be deferred, so as to minimise the effect of large face changes, especially when a full project is refreshed. Since this table is a global value that can effectively grow indefinitely its value is limited by `treemacs--git-cache-max-size'.") (defvar treemacs-git-mode) (define-inline treemacs--git-status-face (status default) "Get the git face for the given STATUS. Use DEFAULT as default match. STATUS: String DEFAULT: Face" (declare (pure t) (side-effect-free t)) (inline-letevals (status default) (inline-quote (pcase ,status ("M" 'treemacs-git-modified-face) ("U" 'treemacs-git-conflict-face) ("?" 'treemacs-git-untracked-face) ("!" 'treemacs-git-ignored-face) ("A" 'treemacs-git-added-face) ("R" 'treemacs-git-renamed-face) (_ ,default))))) (defvar treemacs--git-mode nil "Saves the specific version of git-mode that is active. Values are either `simple', `extended', `deferred' or nil.") (defun treemacs--non-simple-git-mode-enabled () "Indicate whether a version of git-mode is enabled that affects directories." (declare (side-effect-free t)) (memq treemacs--git-mode '(deferred extended))) (defun treemacs--resize-git-cache () "Cuts `treemacs--git-cache' back down to size. Specifically its size will be reduced to half of `treemacs--git-cache-max-size'." (treemacs-block (let* ((size (ht-size treemacs--git-cache)) (count (- size (/ treemacs--git-cache-max-size 2)))) (treemacs--maphash treemacs--git-cache (key _) (ht-remove! treemacs--git-cache key) (when (>= 0 (cl-decf count)) (treemacs-return :done)))))) (defun treemacs--git-status-process-function (path) "Dummy with PATH. Real implementation will be `fset' based on `treemacs-git-mode' value." (ignore path)) (defun treemacs--git-status-process (path project) "Run `treemacs--git-status-process-function' on PATH, if allowed for PROJECT. Remote projects are ignored." (when (treemacs-project->is-local-and-readable? project) (treemacs--git-status-process-function path))) (defun treemacs--git-status-parse-function (_future) "Dummy with FUTURE. Real implementation will be `fset' based on `treemacs-git-mode' value." treemacs--empty-table) (defun treemacs--git-status-process-extended (path) "Start an extended python-parsed git status process for files under PATH." (-when-let (git-root (vc-call-backend 'Git 'root path)) (let* ((file-name-handler-alist nil) (git-root (expand-file-name git-root)) (default-directory path) (open-dirs (cons path (-some->> path (treemacs-find-in-dom) (treemacs-dom-node->reentry-nodes) (-map #'treemacs-dom-node->key) ;; Remove extension nodes (-filter #'stringp)))) (command `(,treemacs-python-executable "-O" ,treemacs--git-status.py ,treemacs-git-executable ,git-root ,(number-to-string treemacs-max-git-entries) ,treemacs-git-command-pipe ,@open-dirs)) (future (apply #'pfuture-new command))) future))) (defun treemacs--parse-git-status-extended (git-future) "Parse the git status derived from the output of GIT-FUTURE. The real parsing and formatting is done by the python process. All that's really left to do is pick up the cons list and put it in a hash table. GIT-FUTURE: Pfuture" (or (when git-future (let* ((git-output (pfuture-await-to-finish git-future)) (git-stderr (pfuture-stderr git-future))) ;; Check stderr separately from parsing, often git status displays ;; warnings which do not affect the final result. (unless (s-blank? git-stderr) (let ((visible-error (--> (s-trim git-stderr) (s-replace "\n" ", " it) (s-truncate 80 it) (propertize it 'face 'error)))) (if (< (length git-stderr) 80) (treemacs-log-err "treemacs-git-status.py wrote to stderr: %s" visible-error) (treemacs-log-err "treemacs-git-status.py wrote to stderr (see full output in *Messages*): %s" visible-error) (let ((inhibit-message t)) (treemacs-log "treemacs-git-status.py wrote to stderr: %s" git-stderr))))) (when (= 0 (process-exit-status git-future)) (-let [parsed-output (read git-output)] (if (hash-table-p parsed-output) parsed-output (let ((inhibit-message t)) (treemacs-log-err "treemacs-git-status.py output: %s" git-output)) (treemacs-log-err "treemacs-git-status.py did not output a valid hash table. See full output in *Messages*.") nil))))) treemacs--empty-table)) (defun treemacs--git-status-process-simple (path) "Start a simple git status process for files under PATH." (let* ((default-directory (file-truename path)) (process-environment (cons "GIT_OPTIONAL_LOCKS=0" process-environment)) (future (pfuture-new treemacs-git-executable "status" "--porcelain" "--ignored=matching" "-z" "."))) (process-put future 'default-directory default-directory) future)) (defun treemacs--parse-git-status-simple (git-future) "Parse the output of GIT-FUTURE into a hash table." (-let [git-info-hash (make-hash-table :test #'equal :size 300)] (when git-future (pfuture-await-to-finish git-future) (when (= 0 (process-exit-status git-future)) (-let [git-output (pfuture-result git-future)] (unless (s-blank? git-output) ;; need the actual git root since git status outputs paths relative to it ;; and the output must be valid also for files in dirs being reopened (let* ((git-root (vc-call-backend 'Git 'root (process-get git-future 'default-directory))) (status-list (->> (substring git-output 0 -1) (s-split "\0") (--map (s-split-up-to " " (s-trim it) 1))))) (let ((len (length status-list)) (i 0)) (while (< i len) (let* ((status-cons (nth i status-list)) (status (car status-cons)) (path (cadr status-cons))) ;; don't include directories since only a part of the untracked dirs ;; would be shown anway (unless (eq ?/ (aref path (1- (length path)))) ;; there's a NUL after every filename, so a rename looks like ;; 'R oldnameNULnewnameNUL' which would break parsing that expects that a NUL separates ;; status entries and not just filenames (if (eq ?R (aref status 0)) (setq i (1+ i)) (ht-set! git-info-hash (treemacs-join-path git-root (s-trim-left path)) (treemacs--git-status-face (substring (s-trim-left status) 0 1) 'treemacs-git-unmodified-face))))) (setq i (1+ i))))))))) git-info-hash)) (defun treemacs-update-single-file-git-state (file) "Update the FILE node's git state, wrapped in `treemacs-save-position'. Internally calls `treemacs-do-update-single-file-git-state'. FILE: FilePath" (treemacs-save-position (treemacs-do-update-single-file-git-state file))) (defun treemacs-do-update-single-file-git-state (file &optional exclude-parents override-status) "Asynchronously update the given FILE node's git fontification. Since an update to a single node can potentially also mean a change to the states of all its parents they will likewise be updated by this function. If the file's current and new git status are the same this function will do nothing. When EXCLUDE-PARENTS is non-nil only the given FILE only the file node is updated. This is only used in case a file-watch update requires the insertion of a new file that, due to being recently created, does not have a git status cache entry. When OVERRIDE-STATUS is non-nil the FILE's cached git status will not be used. FILE: FilePath EXCLUDE-PARENTS: Boolean OVERRIDE-STATUS: Boolean" (let* ((local-buffer (current-buffer)) (parent (treemacs--parent file)) (parent-node (treemacs-find-in-dom parent))) (when (and treemacs-git-mode parent-node (null (ht-get treemacs--single-git-update-debouce-store file))) (ht-set! treemacs--single-git-update-debouce-store file t) (let* ((parents (unless (or exclude-parents (eq 'simple treemacs--git-mode) (null (treemacs-dom-node->parent parent-node))) ;; include the first parent... (cons (treemacs-dom-node->key parent-node) ;; ...but exclude the project root (cdr (-map #'treemacs-dom-node->key (treemacs-dom-node->all-parents parent-node)))))) (git-cache (ht-get treemacs--git-cache parent)) (current-face (if override-status "OVERRIDE" (or (-some-> git-cache (ht-get file) (symbol-name)) "NONE"))) (cmd `(,treemacs-python-executable "-O" ,treemacs--single-file-git-status.py ,treemacs-git-executable ,file ,current-face ,@parents))) (pfuture-callback cmd :directory parent :name "Treemacs Update Single File Process" :on-success (progn (ht-remove! treemacs--single-git-update-debouce-store file) (when (buffer-live-p local-buffer) (with-current-buffer local-buffer (treemacs-with-writable-buffer (save-excursion ;; first the file node with its own default face (-let [output (read (pfuture-callback-output))] (-let [(path . face) (pop output)] (treemacs--git-face-quick-change path face git-cache)) ;; then the directories (pcase-dolist (`(,path . ,face) output) (treemacs--git-face-quick-change path face)))))))) :on-error (progn (ht-remove! treemacs--single-git-update-debouce-store file) (pcase (process-exit-status process) (2 (ignore "No Change, Do Nothing")) (_ (-let [err-str (treemacs--remove-trailing-newline (pfuture-output-from-buffer pfuture-buffer))] (treemacs-log-err "Update of node \"%s\" failed with status \"%s\" and result" file (treemacs--remove-trailing-newline status)) (treemacs-log-err "\"%s\"" (treemacs--remove-trailing-newline err-str))))))))))) (define-inline treemacs--git-face-quick-change (path git-face &optional git-cache) "Quick-change of PATH's GIT-FACE. Updates the visible face and git-cache + annotation store entries. GIT-CACHE might be already known or not. If not it will be pulled from BTN's parent. Used when asynchronous processes report back git changes." (inline-letevals (path git-face git-cache) (inline-quote (let ((git-cache (or ,git-cache (ht-get treemacs--git-cache (treemacs--parent-dir ,path)))) (btn (treemacs-find-visible-node ,path))) (when git-cache (ht-set! git-cache ,path ,git-face)) (when btn (treemacs--do-apply-annotation btn ,git-face)))))) (defun treemacs--flattened-dirs-process (path project) "Start a new process to determine directories to collapse under PATH. Only starts the process if PROJECT is locally accessible (i.e. exists, and is not remote.) Output format is an elisp list of string lists that's read directly. Every string list consists of the following elements: 1) the extra text that must be appended in the view 2) The original full and non-collapsed path 3) a series of intermediate steps which are the result of appending the collapsed path elements onto the original, ending in 4) the full path to the directory that the collapsing leads to. For Example: (\"/26.0/elpa\" \"/home/a/Documents/git/treemacs/.cask\" \"/home/a/Documents/git/treemacs/.cask/26.0\" \"/home/a/Documents/git/treemacs/.cask/26.0/elpa\")" (when (and (> treemacs-collapse-dirs 0) treemacs-python-executable (treemacs-project->is-local-and-readable? project)) (let (;; needs to be set or we'll run into trouble when deleting ;; haven't taken the time to figure out why, so let's just leave it at that (default-directory path) (search-paths nil)) (treemacs-walk-reentry-dom (treemacs-find-in-dom path) (lambda (node) (-let [key (treemacs-dom-node->key node)] (when (stringp key) (push key search-paths))))) (-let [command `(,treemacs-python-executable "-O" ,treemacs--dirs-to-collapse.py ,(number-to-string treemacs-collapse-dirs) ,(if treemacs-show-hidden-files "t" "x") ,@search-paths)] (apply #'pfuture-new command))))) (defun treemacs--parse-flattened-dirs (path future) "Parse the output of flattened dirs in PATH with FUTURE." (when future (-if-let (output (process-get future 'output)) (ht-get output path) (let* ((stdout (pfuture-await-to-finish future)) (output (if (= 0 (process-exit-status future)) (read stdout) (ht)))) (process-put future 'output output) (ht-get output path))))) (defun treemacs--prefetch-gitignore-cache (path) "Pre-load all the git-ignored files in the given PATH. PATH is either the symbol `all', in which case the state of all projects in the current workspace is gathered instead, or a single project's path, when that project has just been added to the workspace. Required for `treemacs-hide-gitignored-files-mode' to properly work with deferred git-mode, as otherwise ignored files will not be hidden on the first run because the git cache has yet to be filled." (if (eq path 'all) (setf path (-map #'treemacs-project->path (treemacs-workspace->projects (treemacs-current-workspace)))) (setf path (list path))) (pfuture-callback `(,treemacs-python-executable "-O" ,treemacs--find-ignored-files.py ,treemacs-git-executable ,@path) :on-error (ignore) :on-success (let ((ignore-pairs (read (pfuture-callback-output))) (ignored-files nil)) (while ignore-pairs (let* ((root (pop ignore-pairs)) (file (pop ignore-pairs)) (cache (ht-get treemacs--git-cache root))) (unless cache (setf cache (make-hash-table :size 20 :test 'equal)) (ht-set! treemacs--git-cache root cache)) (ht-set! cache file 'treemacs-git-ignored-face) (push file ignored-files))) (treemacs-run-in-every-buffer (treemacs-save-position (dolist (file ignored-files) (-when-let (treemacs-is-path-visible? file) (treemacs-do-delete-single-node file)))))))) (define-minor-mode treemacs-git-mode "Toggle `treemacs-git-mode'. When enabled treemacs will check files' git status and highlight them accordingly. This git integration is available in 3 variants: simple, extended and deferred. The simple variant will start a git status process whose output is parsed in elisp. This version is simpler and slightly faster, but incomplete - it will highlight only files, not directories. The extended variant requires a non-trivial amount of parsing to be done, which is achieved with python (specifically python3). It is slightly slower, but complete - both files and directories will be highlighted according to their git status. The deferred variant is the same is extended, except the tasks of rendering nodes and highlighting them are separated. The former happens immediately, the latter after `treemacs-deferred-git-apply-delay' seconds of idle time. This may be faster (if not in truth then at least in appearance) as the git process is given a much greater amount of time to finish. The downside is that the effect of nodes changing their colours may be somewhat jarring, though this issue is largely mitigated due to the use of a caching layer. All versions run asynchronously and are optimised for not doing more work than is necessary, so their performance cost should, for the most part, be the constant time needed to fork a subprocess." :init-value nil :global t :lighter nil :group 'treemacs-git ;; case when the mode is re-activated by `custom-set-minor-mode' (when (and (equal arg 1) treemacs--git-mode) (setf arg treemacs--git-mode)) (if treemacs-git-mode (if (memq arg '(simple extended deferred)) (treemacs--setup-git-mode arg) (call-interactively 'treemacs--setup-git-mode)) (treemacs--tear-down-git-mode))) (defun treemacs--setup-git-mode (&optional arg) "Set up `treemacs-git-mode'. Use either ARG as git integration value of read it interactively." (interactive (list (-> (completing-read "Git Integration: " '("Simple" "Extended" "Deferred")) (downcase) (intern)))) (setf treemacs--git-mode arg) (pcase treemacs--git-mode ((or 'extended 'deferred) (fset 'treemacs--git-status-process-function #'treemacs--git-status-process-extended) (fset 'treemacs--git-status-parse-function #'treemacs--parse-git-status-extended)) ('simple (fset 'treemacs--git-status-process-function #'treemacs--git-status-process-simple) (fset 'treemacs--git-status-parse-function #'treemacs--parse-git-status-simple)) (_ (fset 'treemacs--git-status-process-function #'ignore) (fset 'treemacs--git-status-parse-function (lambda (_) treemacs--empty-table))))) (defun treemacs--tear-down-git-mode () "Tear down `treemacs-git-mode'." (setf treemacs--git-mode nil) (fset 'treemacs--git-status-process-function #'ignore) (fset 'treemacs--git-status-parse-function (lambda (_) treemacs--empty-table))) (define-inline treemacs--get-or-parse-git-result (future) "Get the parsed git result of FUTURE. Parse and set it if it hasn't been done yet. If FUTURE is nil an empty hash table is returned. FUTURE: Pfuture process" (inline-letevals (future) (inline-quote (if ,future (--if-let (process-get ,future 'git-table) it (let ((result (treemacs--git-status-parse-function ,future))) (process-put ,future 'git-table result) result)) treemacs--empty-table)))) (define-minor-mode treemacs-hide-gitignored-files-mode "Toggle `treemacs-hide-gitignored-files-mode'. When enabled treemacs will hide files that are ignored by git. Some form of `treemacs-git-mode' *must* be enabled, otherwise this feature will have no effect. Both `extended' and `deferred' git-mode settings will work in full (in case of `deferred' git-mode treemacs will pre-load the list of ignored files so they will be hidden even on the first run). The limitations of `simple' git-mode apply here as well: since it only knows about files and not directories only files will be hidden." :init-value nil :global t :lighter nil :group 'treemacs-git (if treemacs-hide-gitignored-files-mode (progn (add-to-list 'treemacs-pre-file-insert-predicates #'treemacs-is-file-git-ignored?) (when (and (eq 'deferred treemacs--git-mode) (not (get 'treemacs-hide-gitignored-files-mode :prefetch-done))) (treemacs--prefetch-gitignore-cache 'all) (put 'treemacs-hide-gitignored-files-mode :prefetch-done t))) (setf treemacs-pre-file-insert-predicates (delete #'treemacs-is-file-git-ignored? treemacs-pre-file-insert-predicates))) (treemacs-run-in-every-buffer (treemacs--do-refresh (current-buffer) 'all)) (when (called-interactively-p 'interactive) (treemacs-pulse-on-success "Git-ignored files will now be %s" (propertize (if treemacs-hide-gitignored-files-mode "hidden." "displayed.") 'face 'font-lock-constant-face))) ) (treemacs-only-during-init (let ((has-git (not (null (executable-find "git")))) (has-python (not (null treemacs-python-executable)))) (pcase (cons has-git has-python) (`(t . t) (treemacs-git-mode 'deferred)) (`(t . _) (treemacs-git-mode 'simple))) (when has-python (setf treemacs-collapse-dirs 3)) (unless (or has-python (boundp 'treemacs-no-load-time-warnings)) (treemacs-log-failure "Python3 not found, advanced git-mode and directory flattening features will be disabled.")))) (provide 'treemacs-async) ;;; treemacs-async.el ends here treemacs-3.2/src/elisp/treemacs-bookmarks.el000066400000000000000000000221721476710620300212110ustar00rootroot00000000000000;;; treemacs-bookmarks.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Integrates treemacs with bookmark.el. ;; NOTE: This module is lazy-loaded. ;;; Code: (require 'bookmark) (require 'dash) (require 'treemacs-follow-mode) (require 'treemacs-interface) (require 'treemacs-scope) (require 'treemacs-logging) (require 'treemacs-tags) (require 'treemacs-workspaces) (eval-when-compile (require 'cl-lib) (require 'treemacs-macros)) (treemacs-import-functions-from "treemacs" treemacs-select-window) ;;;###autoload (defun treemacs-bookmark (&optional arg) "Find a bookmark in treemacs. Only bookmarks marking either a file or a directory are offered for selection. Treemacs will try to find and focus the given bookmark's location, in a similar fashion to `treemacs-find-file'. With a prefix argument ARG treemacs will also open the bookmarked location." (interactive "P") (treemacs-block (bookmark-maybe-load-default-file) (-let [bookmarks (cl-loop for b in bookmark-alist for name = (car b) for location = (treemacs-canonical-path (bookmark-location b)) when (or (file-regular-p location) (file-directory-p location)) collect (propertize name 'location location))] (treemacs-error-return-if (null bookmarks) "Didn't find any bookmarks pointing to files.") (let* ((bookmark (completing-read "Bookmark: " bookmarks)) (location (treemacs-canonical-path (get-text-property 0 'location (--first (string= it bookmark) bookmarks)))) (dir (if (file-directory-p location) location (treemacs--parent-dir location))) (project (treemacs--find-project-for-path dir))) (treemacs-error-return-if (null project) "Bookmark at %s does not fall under any project in the workspace." (propertize location 'face 'font-lock-string-face)) (pcase (treemacs-current-visibility) ('visible (treemacs--select-visible-window)) ('exists (treemacs--select-not-visible-window)) ('none (treemacs--init))) (treemacs-goto-file-node location project) (treemacs-pulse-on-success) (when arg (treemacs-visit-node-no-split)))))) ;;;###autoload (defun treemacs--bookmark-handler (record) "Open Treemacs into a bookmark RECORD." (let ((path (bookmark-prop-get record 'treemacs-bookmark-path))) (unless path ;; Don't rely on treemacs-pulse-on-failure to display the error, since the ;; error must be handled in bookmark.el. (user-error "Treemacs--bookmark-handler invoked for a non-Treemacs bookmark")) (treemacs-select-window) ;; XXX temporary workaround for incorrect move to a saved tag node ;; must be fixed after tags were rewritten in new extension api (if (and (listp path) (stringp (car path)) (file-regular-p (car path))) (treemacs-goto-node (car path)) (treemacs-goto-node path)) ;; If the user has bookmarked a directory, they probably want to operate on ;; its contents. Expand it, and select the first child. (treemacs-with-current-button "Could not select the current bookmark" (when (eq (treemacs-button-get current-btn :state) 'dir-node-closed) (treemacs-TAB-action)) (when (eq (treemacs-button-get current-btn :state) 'dir-node-open) (let ((depth (treemacs-button-get current-btn :depth)) (next-button (next-button current-btn))) (when (and next-button (> (treemacs-button-get next-button :depth) depth)) (treemacs-next-line 1))))))) (defun treemacs--format-bookmark-title (btn) "Format the bookmark title for BTN with `treemacs-bookmark-title-template'." (s-format treemacs-bookmark-title-template (lambda (pattern) (or (cond ;; ${label} - Label of the current button ((string= pattern "label") (treemacs--get-label-of btn)) ;; ${label:1} - Label of Nth parent ((s-starts-with? "label:" pattern) (let ((depth (string-to-number (s-chop-prefix "label:" pattern))) (current-button btn)) (dotimes (_ depth) (setq current-button (when current-button (treemacs-button-get current-button :parent)))) (when current-button (treemacs--get-label-of current-button)))) ;; ${label-path} and ${label-path:4} - Path of labels, optionally limited by a number. ((or (string= pattern "label-path") (s-starts-with? "label-path:" pattern)) (let ((depth (when (s-starts-with? "label-path:" pattern) (string-to-number (s-chop-prefix "label-path:" pattern)))) (current-button btn) (path)) (while (and current-button (not (eq 0 depth))) (push (treemacs--get-label-of current-button) path) (when depth (cl-decf depth)) (setq current-button (treemacs-button-get current-button :parent))) (s-join "/" path))) ;; ${project} - Label of the project or top-level extension node. ((string= pattern "project") ;; Find the root button by iterating - don't use `treemacs-project-of-node` ;; to make this work for variadic top-level extensions. (let ((current-button btn)) (while (> (treemacs-button-get current-button :depth) 0) (setq current-button (treemacs-button-get current-button :parent))) (treemacs--get-label-of current-button))) ;; ${file-path} - Filesystem path. ((string= pattern "file-path") (treemacs--nearest-path btn)) ;; ${file-path:3} - N components of the file path ((s-starts-with? "file-path:" pattern) (let ((n (string-to-number (s-chop-prefix "file-path:" pattern)))) (-when-let (path (treemacs--nearest-path btn)) (let ((components (last (s-split "/" path) (1+ n)))) ;; Add the leading slash for absolute paths (when (and (> (length components) n) (not (string= "" (car components)))) (pop components)) (s-join "/" components))))) (t ;; Don't rely on treemacs-pulse-on-failure to display the error, since the ;; error must be handled in bookmark.el. (treemacs-pulse-on-failure) (user-error "Bookmark template pattern %s was not recognized" pattern))) "")))) (defun treemacs--make-bookmark-record () "Make a bookmark record for the current Treemacs button. This function is installed as the `bookmark-make-record-function'." (treemacs-unless-let (current-btn (treemacs-current-button)) (progn ;; Don't rely on treemacs-pulse-on-failure to display the error, since the ;; error must be handled in bookmark.el. (treemacs-pulse-on-failure) (user-error "Nothing to bookmark here")) (let* ((path (treemacs-button-get current-btn :path))) (unless path (treemacs-pulse-on-failure) (user-error "Could not find the path of the current button")) `((defaults . (,(treemacs--format-bookmark-title current-btn))) (treemacs-bookmark-path . ,path) (handler . treemacs--bookmark-handler) ,@(when (stringp path) `((filename . ,path))))))) ;;;###autoload (defun treemacs-add-bookmark () "Add the current node to Emacs' list of bookmarks. For file and directory nodes their absolute path is saved. Tag nodes additionally also save the tag's position. A tag can only be bookmarked if the treemacs node is pointing to a valid buffer position." (interactive) (treemacs-with-current-button "There is nothing to bookmark here." (pcase (treemacs-button-get current-btn :state) ((or 'file-node-open 'file-node-closed 'dir-node-open 'dir-node-closed) (-let [name (treemacs--read-string "Bookmark name: ")] (bookmark-store name `((filename . ,(treemacs-button-get current-btn :path))) nil))) ('tag-node (-let [(tag-buffer . tag-pos) (treemacs--extract-position (treemacs-button-get current-btn :marker) nil)] (if (buffer-live-p tag-buffer) (bookmark-store (treemacs--read-string "Bookmark name: ") `((filename . ,(buffer-file-name tag-buffer)) (position . ,tag-pos)) nil) (treemacs-log-failure "Tag info can not be saved because it is not pointing to a live buffer.")))) ((or 'tag-node-open 'tag-node-closed) (treemacs-pulse-on-failure "There is nothing to bookmark here."))))) (provide 'treemacs-bookmarks) ;;; treemacs-bookmarks.el ends here treemacs-3.2/src/elisp/treemacs-compatibility.el000066400000000000000000000200211476710620300220610ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Simple bits of code to make treemacs compatible with other packages ;; that aren't worth the effort of being turned into their own package. ;;; Code: (require 'dash) (require 'treemacs-customization) (require 'treemacs-logging) (require 'treemacs-scope) (require 'treemacs-core-utils) (require 'treemacs-interface) (require 'treemacs-persistence) (eval-when-compile (require 'treemacs-macros)) (treemacs-only-during-init ;; make sure frame params are not persisted by desktop-save-mode (push '(treemacs-id . :never) frameset-filter-alist) (push '(treemacs-workspace . :never) frameset-filter-alist)) (with-eval-after-load 'tramp (setf treemacs--no-abbr-on-persist-prefixes (--map (format "/%s:" (car it)) (with-no-warnings tramp-methods)) treemacs--file-name-handler-alist (with-no-warnings (list (cons tramp-file-name-regexp #'tramp-file-name-handler))))) (with-eval-after-load 'recentf (with-no-warnings (add-to-list 'recentf-exclude treemacs-persist-file) (add-to-list 'recentf-exclude treemacs-last-error-persist-file))) (with-eval-after-load 'eyebrowse (defun treemacs--follow-after-eyebrowse-switch () (when treemacs-follow-mode (--when-let (treemacs-get-local-window) (with-selected-window it (treemacs--follow-after-buffer-list-update) (hl-line-highlight))))) (declare-function treemacs--follow-after-eyebrowse-switch "treemacs-compatibility") (add-hook 'eyebrowse-post-window-switch-hook #'treemacs--follow-after-eyebrowse-switch)) (with-eval-after-load 'windmove (defun treemacs--windmove-swap-state-advice (original-fn &rest args) "Advice for windmove-swap-state-* functions to ignore treemacs. These commands do not seem to be compatible with side windows (and thus treemacs in its default configuration), so this advice changes them to do nothing when the `selected-window' is treemacs. For all other cases ORIGINAL-FN is called with original ARGS." (unless (and treemacs-display-in-side-window (treemacs-is-treemacs-window-selected?)) (apply original-fn args))) (with-no-warnings (advice-add 'windmove-swap-states-in-direction :around #'treemacs--windmove-swap-state-advice))) (with-eval-after-load 'winum (when (boundp 'winum-ignored-buffers-regexp) (add-to-list 'winum-ignored-buffers-regexp (regexp-quote (format "%sScoped-Buffer-" treemacs--buffer-name-prefix))))) (with-eval-after-load 'ace-window (when (boundp 'aw-ignored-buffers) (push 'treemacs-mode aw-ignored-buffers))) (with-eval-after-load 'golden-ratio (when (boundp 'golden-ratio-exclude-modes) (add-to-list 'golden-ratio-exclude-modes 'treemacs-mode))) (with-eval-after-load 'indent-guide (when (boundp 'indent-guide-inhibit-modes) (push 'treemacs-mode indent-guide-inhibit-modes))) (with-eval-after-load 'ediff (add-hook 'ediff-before-setup-hook (defun treemacs--dont-diff-in-treemacs-window () "Select `next-window' before ediff's window setup. Treemacs is by default a side-window, meaning it'll throw an error if ediff trys to split it." (when treemacs--in-this-buffer (select-window (next-window)))))) (with-eval-after-load 'persp-mode (defun treemacs--remove-treemacs-window-in-new-frames (persp-activated-for) (when (eq persp-activated-for 'frame) (-when-let (w (--first (treemacs-is-treemacs-window? it) (window-list))) (unless (assoc (treemacs-scope->current-scope treemacs--current-scope-type) treemacs--scope-storage) (delete-window w))))) (declare-function treemacs--remove-treemacs-window-in-new-frames "treemacs-compatibility") (if (boundp 'persp-activated-functions) (add-to-list 'persp-activated-functions #'treemacs--remove-treemacs-window-in-new-frames) (treemacs-log-failure "`persp-activated-functions' not defined - couldn't add compatibility."))) (with-eval-after-load 'perspective (defun treemacs--remove-treemacs-window-in-new-frames (&rest _) (-when-let (w (--first (treemacs-is-treemacs-window? it) (window-list))) (unless (assoc (treemacs-scope->current-scope treemacs--current-scope-type) treemacs--scope-storage) (delete-window w)))) (declare-function treemacs--remove-treemacs-window-in-new-frames "treemacs-compatibility") (if (boundp 'persp-activated-hook) (add-to-list 'persp-activated-hook #'treemacs--remove-treemacs-window-in-new-frames) (treemacs-log-failure "`persp-activated-hook' not defined - couldn't add compatibility."))) (defun treemacs--split-window-advice (original-split-function &rest args) "Advice to make sure window splits are sized correctly with treemacs. This will treat the treemacs window as a side-window for the duration of the split, calling the ORIGINAL-SPLIT-FUNCTION with its ARGS. This prevents the calculations in `split-window-right' from outputting the wrong result for the width of the new window when the treemacs window is visible." (-let [w (treemacs-get-local-window)] (unwind-protect (progn (when w (set-window-parameter w 'window-side treemacs-position)) (apply original-split-function args)) (when (and w (null treemacs-display-in-side-window)) (set-window-parameter w 'window-side nil))))) (advice-add 'split-window-right :around #'treemacs--split-window-advice) (with-eval-after-load 'org (defun treemacs-store-org-link () "Store an `org-mode' link for the node at point." (when (eq major-mode 'treemacs-mode) (-when-let* ((btn (treemacs-current-button)) (file (treemacs--nearest-path btn))) (-let [link (format "file:%s" (abbreviate-file-name file))] (with-no-warnings (org-add-link-props :link link :description (treemacs--filename file))) link)))) (with-no-warnings (if (fboundp 'org-link-set-parameters) (org-link-set-parameters "treemacs" :store #'treemacs-store-org-link) (add-hook 'org-store-link-functions #'treemacs-store-org-link)))) (when (fboundp 'context-menu-mode) (defun treemacs--disable-context-menu-mode () (treemacs-run-in-all-derived-buffers (with-no-warnings (setq-local context-menu-functions nil)))) (add-hook 'context-menu-mode-hook 'treemacs--disable-context-menu-mode)) (defun treemacs-load-all-the-icons-with-workaround-font (font) "Load the `treemacs-all-the-icons' package using a workaround FONT for tabs. Use this if you experience the issue of icons jumping around when they are closed or opened which can appear when using specific fonts. FONT should be a simple string name, for example \"Hermit\". Finding the right FONT is a matter of trial and error, you can quickly try different fonts using `set-frame-font'. The workaround will overwrite the values for `treemacs-indentation' and `treemacs-indentation-string', using your own values for them is no longer possible. Can only work if the `treemacs-all-the-icons' module has not been loaded yet." (defvar treemacs-all-the-icons-tab-font font) (setf treemacs-indentation 1 treemacs-indentation-string (propertize "\t" 'face `((:family ,treemacs-all-the-icons-tab-font)))) (require 'treemacs-all-the-icons) (treemacs-load-theme "all-the-icons")) (provide 'treemacs-compatibility) ;;; treemacs-compatibility.el ends here treemacs-3.2/src/elisp/treemacs-core-utils.el000066400000000000000000001551301476710620300213100ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; General implementation details. ;;; Code: (require 'hl-line) (require 'dash) (require 's) (require 'ht) (require 'pfuture) (require 'treemacs-customization) (require 'treemacs-logging) (eval-when-compile (require 'inline) (require 'cl-lib) (require 'treemacs-macros)) (treemacs-import-functions-from "cfrs" cfrs-read) (treemacs-import-functions-from "treemacs-interface" treemacs-toggle-node) (treemacs-import-functions-from "treemacs-tags" treemacs--expand-file-node treemacs--collapse-file-node treemacs--expand-tag-node treemacs--collapse-tag-node treemacs--extract-position treemacs--goto-tag) (treemacs-import-functions-from "treemacs" treemacs-refresh) (treemacs-import-functions-from "treemacs-scope" treemacs-get-local-window treemacs-get-local-buffer treemacs-get-local-buffer-create treemacs-scope-shelf->buffer treemacs-scope-shelf->workspace treemacs-current-visibility treemacs--select-visible-window treemacs--remove-buffer-after-kill treemacs--scope-store) (treemacs-import-functions-from "treemacs-rendering" treemacs-do-delete-single-node treemacs-do-update-node treemacs-do-delete-single-node treemacs--current-screen-line treemacs--add-root-element treemacs--expand-root-node treemacs--collapse-root-node treemacs--expand-dir-node treemacs--collapse-dir-node treemacs--render-projects) (treemacs-import-functions-from "treemacs-filewatch-mode" treemacs--stop-filewatch-for-current-buffer treemacs--stop-watching treemacs--cancel-refresh-timer) (treemacs-import-functions-from "treemacs-follow-mode" treemacs--follow) (treemacs-import-functions-from "treemacs-visuals" treemacs-pulse-on-success treemacs--forget-previously-follow-tag-btn) (treemacs-import-functions-from "treemacs-async" treemacs--git-status-process treemacs--non-simple-git-mode-enabled treemacs-update-single-file-git-state treemacs--flattened-dirs-process) (treemacs-import-functions-from "treemacs-dom" treemacs-on-collapse treemacs-dom-node->set-position! treemacs-find-in-dom treemacs-dom-node->key treemacs-dom-node->position) (treemacs-import-functions-from "treemacs-workspaces" treemacs--next-project-pos treemacs--find-workspace treemacs-current-workspace treemacs-workspace->projects treemacs-workspace->is-empty? treemacs-do-add-project-to-workspace treemacs-project->path treemacs-project->name treemacs-project->refresh! treemacs-project->position treemacs-project-p treemacs--find-project-for-path) (treemacs-import-functions-from "treemacs-visuals" treemacs-pulse-on-failure) (treemacs-import-functions-from "treemacs-persistence" treemacs--maybe-load-workspaces) (treemacs-import-functions-from "treemacs-annotations" treemacs--delete-annotation) (declare-function treemacs-mode "treemacs-mode") (defconst treemacs--empty-table (ht) "Constant value of an empty hash table. Used to avoid creating unnecessary garbage.") (defvar treemacs--closed-node-states '(root-node-closed dir-node-closed file-node-closed tag-node-closed) "States marking a node as closed. Used in `treemacs-is-node-collapsed?'") (defvar treemacs--open-node-states '(project-node-open root-node-open dir-node-open file-node-open tag-node-open) "States marking a node as open. Used in `treemacs-is-node-expanded?'") (define-inline treemacs--unslash (path) "Remove the final slash in PATH." (declare (pure t) (side-effect-free t)) (inline-letevals (path) (inline-quote (if (and (> (length ,path) 1) (eq ?/ (aref ,path (1- (length ,path))))) (substring ,path 0 -1) ,path)))) (define-inline treemacs-string-trim-right (string) "Trim STRING of trailing string matching REGEXP. Same as the builtin `string-trim-right', but re-implemented here for Emacs 27." (declare (side-effect-free t)) (inline-letevals (string) (inline-quote (let ((i (string-match-p "\\(?:[ \t\n\r]+\\)\\'" ,string))) (if i (substring ,string 0 i) ,string))))) (define-inline treemacs--prefix-arg-to-recurse-depth (arg) "Translates prefix ARG into a number. Used for depth-based expansion of nodes - a numeric prefix will translate to itself, the default representation translates to 9999." (declare (pure t) (side-effect-free t)) (inline-letevals (arg) (inline-quote (cond ((null ,arg) 0) ((integerp ,arg) ,arg) (t 999))))) (defun treemacs--all-buttons-with-depth (depth) "Get all buttons with the given DEPTH." (declare (side-effect-free t)) (save-excursion (goto-char (point-min)) (let ((current-btn (treemacs-current-button)) (result)) (when (and current-btn (= depth (treemacs-button-get current-btn :depth))) (push current-btn result)) (while (= 0 (forward-line 1)) (setf current-btn (treemacs-current-button)) (when (and current-btn (= depth (treemacs-button-get current-btn :depth))) (push current-btn result))) result))) (define-inline treemacs--parent-dir (path) "Return the parent of PATH is it's a file, or PATH if it is a directory. PATH: File Path" (declare (side-effect-free t) (pure t)) (inline-letevals (path) (inline-quote (-> ,path (file-name-directory) (treemacs--unslash))))) (defconst treemacs--buffer-name-prefix " *Treemacs-") (defconst treemacs-dir ;; locally we're in src/elisp, installed from melpa we're at the package root (-let [dir (-> (if load-file-name (file-name-directory load-file-name) default-directory) (expand-file-name))] (if (s-ends-with? "src/elisp/" dir) (-> dir (treemacs--unslash) (treemacs--parent-dir) (treemacs--parent-dir)) dir)) "The directory treemacs.el is stored in.") (defvar-local treemacs--width-is-locked t "Keeps track of whether the width of the treemacs window is locked.") (defvar-local treemacs--in-this-buffer nil "Non-nil only in buffers meant to show treemacs. Used to show an error message if someone mistakenly activates `treemacs-mode'.") (define-inline treemacs--remove-trailing-newline (str) "Remove final newline in STR." (declare (pure t) (side-effect-free t)) (inline-letevals (str) (inline-quote (let ((len (1- (length ,str)))) (if (= 10 (aref ,str len)) (substring ,str 0 len) ,str))))) (define-inline treemacs--add-trailing-slash (str) "Add final slash to STR. If STR already has a slash return it unchanged." (declare (pure t) (side-effect-free t)) (inline-letevals (str) (inline-quote (if (eq ?/ (aref ,str (1- (length ,str)))) ,str (concat ,str "/"))))) (define-inline treemacs--delete-line () "Delete the current line. Unlike the function `kill-whole-line' this won't pollute the kill ring." (inline-quote (delete-region (line-beginning-position) (min (point-max) (1+ (line-end-position)))))) (define-inline treemacs-current-button () "Get the button in the current line. Returns nil when point is between projects." (declare (side-effect-free error-free)) (inline-quote (-some-> (text-property-not-all (line-beginning-position) (line-end-position) 'button nil) (copy-marker t)))) (defalias 'treemacs-node-at-point #'treemacs-current-button) (define-inline treemacs-button-put (button prop val) "Set BUTTON's PROP property to VAL. Same as `button-put', but faster since it's inlined and does not query the button type on every call." (inline-letevals (button prop val) (inline-quote (put-text-property (or (previous-single-property-change (1+ ,button) 'button) (point-min)) (or (next-single-property-change ,button 'button) (point-max)) ,prop ,val)))) (define-inline treemacs-button-get (button prop) "Get the property of button BUTTON named PROP. Same as `button-get', but faster since it's inlined and does not query the button type on every call." (declare (side-effect-free t)) (inline-letevals (button prop) (inline-quote (get-text-property ,button ,prop)))) (define-inline treemacs-button-start (button) "Return the start position of BUTTON. Same as `button-start', but faster since it's inlined and does not query the button type on every call." (declare (side-effect-free t)) (inline-letevals (button) (inline-quote (or (previous-single-property-change (1+ ,button) 'button) (point-min))))) (define-inline treemacs-button-end (button) "Return the end position of BUTTON. Same as `button-end', but faster since it's inlined and does not query the button type on every call." (declare (side-effect-free t)) (inline-letevals (button) (inline-quote (or (next-single-property-change ,button 'button) (point-max))))) (define-inline treemacs-is-node-expanded? (btn) "Return whether BTN is in an open state." (declare (side-effect-free t)) (inline-quote (memq (treemacs-button-get ,btn :state) treemacs--open-node-states))) (define-inline treemacs-is-node-collapsed? (btn) "Return whether BTN is in a closed state." (declare (side-effect-free t)) (inline-quote (memq (treemacs-button-get ,btn :state) treemacs--closed-node-states))) (define-inline treemacs--get-label-of (btn) "Return the text label of BTN." (declare (side-effect-free t)) (inline-quote (buffer-substring-no-properties (treemacs-button-start ,btn) (treemacs-button-end ,btn)))) (define-inline treemacs--tokenize-path (path exclude-prefix) "Get the PATH's single elements, excluding EXCLUDE-PREFIX. For example the input /A/B/C/D/E + /A/B will return [C D E]. PATH: File Path EXCLUDE-PREFIX: File Path" (declare (pure t) (side-effect-free t)) (inline-letevals (path exclude-prefix) (inline-quote (treemacs-split-path (substring ,path (length ,exclude-prefix)))))) (defun treemacs--replace-recentf-entry (old-file new-file) "Replace OLD-FILE with NEW-FILE in the recent file list." ;; code taken from spacemacs - is-bound check due to being introduced after emacs24? ;; better safe than sorry so let's keep it (with-no-warnings (when (fboundp 'recentf-add-file) (recentf-add-file new-file) (recentf-remove-if-non-kept old-file)))) (defun treemacs--select-project-by-name () "Interactively choose a project from the current workspace." (let* ((projects (--map (cons (treemacs-project->name it) it) (-> (treemacs-current-workspace) (treemacs-workspace->projects)))) (selection (completing-read "Project: " projects))) (cdr (assoc selection projects)))) (define-inline treemacs--select-not-visible-window () "Switch to treemacs buffer, given that it not visible." (inline-quote (let ((buffer (current-buffer))) (treemacs--setup-buffer) (when (or treemacs-follow-after-init (with-no-warnings treemacs-follow-mode)) (with-current-buffer buffer (treemacs--follow))) (run-hook-with-args 'treemacs-select-functions 'exists)))) (define-inline treemacs--button-symbol-switch (new-symbol) "Replace icon in current line with NEW-SYMBOL." (inline-letevals (new-symbol) (inline-quote (save-excursion (let ((len (length ,new-symbol))) (goto-char (- (treemacs-button-start (next-button (line-beginning-position) t)) len)) (insert ,new-symbol) (delete-char len)))))) (defun treemacs-project-of-node (node) "Find the project the given NODE belongs to." (declare (side-effect-free t)) (-let [project (treemacs-button-get node :project)] (while (not project) (setq node (treemacs-button-get node :parent) project (treemacs-button-get node :project))) project)) (defun treemacs-last-node-of-project (project) "Find the last node in given PROJECT. Returns nil if the project is not expanded." (declare (side-effect-free t)) (let ((node (treemacs-project->position project))) (when (treemacs-is-node-expanded? node) (save-excursion (goto-char node) (previous-button (treemacs--next-project-pos)))))) (define-inline treemacs--prop-at-point (prop) "Grab property PROP of the button at point. Returns nil when there is no button at point." (declare (side-effect-free t)) (inline-quote (-when-let (b (treemacs-current-button)) (treemacs-button-get b ,prop)))) (define-inline treemacs--filename (file) "Return the name of FILE, same as `f-filename', but inlined." (declare (pure t) (side-effect-free t)) (inline-quote (file-name-nondirectory (directory-file-name ,file)))) (define-inline treemacs--reject-ignored-files (file) "Return t if FILE is *not* an ignored file. FILE here is a list consisting of an absolute path and file attributes." (declare (side-effect-free t)) (inline-letevals (file) (inline-quote (let ((filename (treemacs--filename ,file))) (--none? (funcall it filename ,file) treemacs-ignored-file-predicates))))) (define-inline treemacs--reject-ignored-and-dotfiles (file) "Return t when FILE is neither ignored, nor a dotfile. FILE here is a list consisting of an absolute path and file attributes." (declare (side-effect-free t)) (inline-letevals (file) (inline-quote (let ((filename (treemacs--filename ,file))) (and (not (s-matches? treemacs-dotfiles-regex filename)) (--none? (funcall it filename ,file) treemacs-ignored-file-predicates)))))) (defun treemacs--file-extension (filename) "Same as `file-name-extension', but also works with leading periods. This is something a of workaround to easily allow assigning icons to a FILENAME with a name like '.gitignore' without always having to check for both filename extensions and special names like this." (declare (side-effect-free t)) (if (string-match treemacs-file-extension-regex filename) (substring filename (1+ (match-beginning 0))) filename)) (define-inline treemacs-is-treemacs-window? (window) "Return t when WINDOW is showing a treemacs buffer." (declare (side-effect-free t)) (inline-quote (->> ,window (window-buffer) (buffer-name) (s-starts-with? treemacs--buffer-name-prefix)))) (define-inline treemacs--next-neighbour-of (btn) "Get the next same-level neighbour of BTN, if any." (declare (side-effect-free t)) (inline-letevals (btn) (inline-quote (-let ((depth (treemacs-button-get ,btn :depth)) (next (next-button (treemacs-button-end ,btn)))) (while (and next (< depth (treemacs-button-get next :depth))) (setq next (next-button (treemacs-button-end next)))) (when (and next (= depth (treemacs-button-get next :depth))) next))))) (define-inline treemacs--prev-non-child-button (btn) "Get the previous same-level neighbour of BTN, if any." (declare (side-effect-free t)) (inline-letevals (btn) (inline-quote (let ((depth (treemacs-button-get ,btn :depth)) (prev (previous-button (treemacs-button-start ,btn)))) (while (and prev (< depth (treemacs-button-get prev :depth))) (setq prev (previous-button (treemacs-button-start prev)))) (when (and prev (= depth (treemacs-button-get prev :depth))) prev))))) (define-inline treemacs--next-non-child-button (btn) "Return the next button after BTN that is not a child of BTN." (declare (side-effect-free t)) (inline-letevals (btn) (inline-quote (when ,btn (let ((depth (treemacs-button-get ,btn :depth)) (next (next-button (treemacs-button-end ,btn) t))) (while (and next (< depth (treemacs-button-get next :depth))) (setq next (next-button (treemacs-button-end next) t))) next))))) (define-inline treemacs--on-file-deletion (path &optional no-buffer-delete) "Cleanup to run when treemacs file at PATH was deleted. Do not try to delete buffers for PATH when NO-BUFFER-DELETE is non-nil. This is necessary since interacting with magit can cause file delete events for files being edited to trigger." (inline-letevals (path no-buffer-delete) (inline-quote (progn (treemacs--delete-annotation ,path) (unless ,no-buffer-delete (treemacs--kill-buffers-after-deletion ,path t)) (treemacs--stop-watching ,path t) ;; filewatch mode needs the node's information to be in the dom (unless (with-no-warnings treemacs-filewatch-mode) (treemacs-run-in-every-buffer (treemacs-on-collapse ,path t))) (when (treemacs--non-simple-git-mode-enabled) (treemacs-run-in-every-buffer (treemacs-update-single-file-git-state (treemacs--parent-dir ,path)))))))) (define-inline treemacs--refresh-dir (path &optional project) "Local refresh for button at PATH and PROJECT. Simply collapses and re-expands the button (if it has not been closed)." (inline-letevals (path project) (inline-quote (let ((btn (treemacs-goto-file-node ,path ,project))) (when (memq (treemacs-button-get btn :state) '(dir-node-open file-node-open root-node-open)) (goto-char (treemacs-button-start btn)) (treemacs--push-button btn) (goto-char (treemacs-button-start btn)) (treemacs--push-button btn)))))) (define-inline treemacs-canonical-path (path) "The canonical version of PATH for being handled by treemacs. In practice this means expand PATH and remove its final slash." (declare (pure t) (side-effect-free t)) (inline-letevals (path) (inline-quote (if (file-remote-p ,path) (treemacs--unslash ,path) (let (file-name-handler-alist) (-> ,path (expand-file-name) (treemacs--unslash))))))) ;; TODO(2020/12/28): alias is for backwards compatibility, remove it eventually (defalias 'treemacs--canonical-path #'treemacs-canonical-path) (define-inline treemacs-is-file-git-ignored? (file git-info) "Determined if FILE is ignored by git by means of GIT-INFO." (declare (side-effect-free t)) (inline-letevals (file git-info) (inline-quote (eq 'treemacs-git-ignored-face (ht-get ,git-info ,file))))) (define-inline treemacs-is-treemacs-window-selected? () "Return t when the treemacs window is selected." (declare (side-effect-free t)) (inline-quote (s-starts-with? treemacs--buffer-name-prefix (buffer-name)))) (defun treemacs--reload-buffers-after-rename (old-path new-path) "Reload buffers and windows after OLD-PATH was renamed to NEW-PATH." ;; first buffers shown in windows (dolist (frame (frame-list)) (dolist (window (window-list frame)) (let* ((win-buff (window-buffer window)) (buff-file (buffer-file-name win-buff))) (when buff-file (setq buff-file (expand-file-name buff-file)) (when (treemacs-is-path buff-file :in old-path) (treemacs-without-following (with-selected-window window (kill-buffer win-buff) (let ((new-file (s-replace old-path new-path buff-file))) (find-file-existing new-file) (treemacs--replace-recentf-entry buff-file new-file))))))))) ;; then the rest (--each (buffer-list) (-when-let (buff-file (buffer-file-name it)) (setq buff-file (expand-file-name buff-file)) (when (treemacs-is-path buff-file :in old-path) (let ((new-file (s-replace old-path new-path buff-file))) (kill-buffer it) (find-file-noselect new-file) (treemacs--replace-recentf-entry buff-file new-file)))))) (defun treemacs-collect-child-nodes (parent-btn) "Get all buttons exactly one level deeper than PARENT-BTN. The child buttons are returned in the same order as they appear in the treemacs buffer." (let (ret) (treemacs-first-child-node-where parent-btn (push child-btn ret) nil) (nreverse ret))) (defalias 'treemacs--get-children-of #'treemacs-collect-child-nodes) (with-no-warnings (make-obsolete #'treemacs--get-children-of #'treemacs-collect-child-nodes "v2.7")) (defun treemacs--init (&optional root name) "Initialise a treemacs buffer from the current workspace. Add a project for ROOT and NAME if they are non-nil." (treemacs--maybe-load-workspaces) (let ((origin-buffer (current-buffer)) (current-workspace (treemacs-current-workspace)) (run-hook? nil) (visibility (treemacs-current-visibility))) (pcase visibility ('visible (treemacs--select-visible-window)) ('exists (treemacs--select-not-visible-window)) ('none (treemacs--setup-buffer) (treemacs-mode) ;; Render the projects even if there are none. This ensures that top-level ;; extensions are always rendered, and the project markers are initialized. (treemacs--render-projects (treemacs-workspace->projects current-workspace)) (when (treemacs-workspace->is-empty?) (let* ((path (-> (treemacs--read-first-project-path) (treemacs-canonical-path))) (name (treemacs--filename path))) (treemacs-do-add-project-to-workspace path name) (treemacs-log "Created first project."))) (goto-char 2) (run-hooks 'treemacs-post-buffer-init-hook) (setf run-hook? t))) (when root (treemacs-do-add-project-to-workspace (treemacs-canonical-path root) name)) (with-no-warnings (setq treemacs--ready-to-follow t)) (let* ((origin-file (buffer-file-name origin-buffer)) (file-project (treemacs-is-path origin-file :in-workspace))) (cond ((and (or treemacs-follow-after-init (with-no-warnings treemacs-follow-mode)) file-project) (treemacs-goto-file-node origin-file file-project)) (treemacs-expand-after-init (treemacs-toggle-node)))) ;; The hook should run at the end of the setup, but also only ;; if a new buffer was created, as the other cases are already covered ;; in their respective setup functions. (when run-hook? (run-hook-with-args 'treemacs-select-functions visibility)))) (defun treemacs--push-button (btn &optional recursive) "Execute the appropriate action given the state of the pushed BTN. Optionally do so in a RECURSIVE fashion." (pcase (treemacs-button-get btn :state) ('root-node-closed (treemacs--expand-root-node btn)) ('dir-node-open (treemacs--collapse-dir-node btn recursive)) ('dir-node-closed (treemacs--expand-dir-node btn :recursive recursive)) ('file-node-open (treemacs--collapse-file-node btn recursive)) ('file-node-closed (treemacs--expand-file-node btn recursive)) ('tag-node-open (treemacs--collapse-tag-node btn recursive)) ('tag-node-closed (treemacs--expand-tag-node btn recursive)) ('tag-node (progn (other-window 1) (treemacs--goto-tag btn))) (_ (error "[Treemacs] Cannot push button with unknown state '%s'" (treemacs-button-get btn :state))))) (defun treemacs--nearest-path (btn) "Return the file path of the BTN. If the `:path' property is not set or not a file, keep looking upward, via the `:parent' property. Useful to e.g. find the path of the file of the currently selected tags or extension entry. Must be called from treemacs buffer." (let ((path (treemacs-button-get btn :path))) (if (stringp path) path (-some-> (treemacs-button-get btn :parent) (treemacs--nearest-path))))) (define-inline treemacs--follow-path-elements (btn items) "Starting at BTN follow (goto and open) every single element in ITEMS. Return the button that is found or the symbol `follow-failed' if the search failed." (inline-letevals (btn items) (inline-quote (cl-block search (when (treemacs-is-node-collapsed? ,btn) (goto-char ,btn) (funcall (cdr (assq (treemacs-button-get ,btn :state) treemacs-TAB-actions-config)))) (while ,items (let ((item (pop ,items))) (setq ,btn (treemacs-first-child-node-where ,btn (equal (treemacs-button-get child-btn :key) item))) (unless ,btn (cl-return-from search 'follow-failed)) (goto-char ,btn) (when (and ,items (treemacs-is-node-collapsed? ,btn)) (funcall (cdr (assq (treemacs-button-get ,btn :state) treemacs-TAB-actions-config)))))) ,btn)))) (define-inline treemacs--follow-each-dir (btn dir-parts project) "Starting at BTN follow (goto and open) every single dir in DIR-PARTS. Return the button that is found or the symbol `follow-failed' if the search failed. PROJECT is used for determining whether Git actions are appropriate." (inline-letevals (btn dir-parts project) (inline-quote (let* ((root (treemacs-button-get ,btn :path)) (git-future (treemacs--git-status-process root ,project)) (last-index (- (length ,dir-parts) 1)) (depth (treemacs-button-get ,btn :depth))) (goto-char ,btn) ;; point is currently on the next closest dir to the followed file we could get ;; from the dom, so we expand it to keep going (pcase (treemacs-button-get ,btn :state) ('dir-node-closed (treemacs--expand-dir-node ,btn :git-future git-future)) ('root-node-closed (treemacs--expand-root-node ,btn))) (catch 'follow-failed (let ((index 0) (dir-part nil)) ;; for every item in dir-parts append it to the already found path for a new ;; 'root' to follow, so for root = /x/ and dir-parts = [src, config, foo.el] ;; consecutively try to move to /x/src, /x/src/confg and finally /x/src/config/foo.el (while ,dir-parts (setq dir-part (pop ,dir-parts) root (treemacs-join-path root dir-part) ,btn (let (current-btn) (cl-block search ;; first a plain text-based search for the current dir-part string ;; then we grab the node we landed at and see what's going on ;; there's a couple ways this can go (while (progn (goto-char (line-end-position)) (search-forward dir-part nil :no-error)) (setq current-btn (treemacs-current-button)) (cond ;; somehow we landed on a line where there isn't even anything to look at ;; technically this should never happen, but better safe than sorry ((null current-btn) (cl-return-from search)) ;; the search matched a custom button - skip those, as they cannot match ;; and their :paths are not strings, which would cause the following checks ;; to crash ((treemacs-button-get current-btn :custom)) ;; perfect match - return the node we're at ((treemacs-is-path root :same-as (treemacs-button-get current-btn :path)) (cl-return-from search current-btn)) ;; perfect match - taking collapsed dirs into account ;; return the node, but make sure to advance the loop variables an ;; appropriate nuber of times, since a collapsed directory is basically ;; multiple search iterations bundled as one ((and (treemacs-button-get current-btn :collapsed) (treemacs-is-path (treemacs-button-get current-btn :path) :parent-of root)) (dotimes (_ (car (treemacs-button-get current-btn :collapsed))) (setq root (concat root "/" (pop ,dir-parts))) (cl-incf index)) (cl-return-from search current-btn)) ;; node we're at has a smaller depth than the one we started from ;; that means we overshot our target and there's nothing to be found here ((>= depth (treemacs-button-get current-btn :depth)) (cl-return-from search))))))) (unless ,btn (throw 'follow-failed 'follow-failed)) (goto-char ,btn) ;; don't open dir at the very end of the list since we only want to put ;; point in its line (when (and (eq 'dir-node-closed (treemacs-button-get ,btn :state)) (< index last-index)) (treemacs--expand-dir-node ,btn :git-future git-future)) (setq index (1+ index)))) ,btn))))) (defun treemacs--find-custom-top-level-node (path) "Find the position of the top level extension node at PATH." (let* ((root-key (cadr path)) ;; go back here if the search fails ;; the root key isn't really a project, it's just the :root-key-form (start (prog1 (point) (goto-char (treemacs-project->position root-key)))) ;; making a copy since the variable is a reference to a node actual path ;; and will be changed in-place here (goto-path (copy-sequence path)) (counter (1- (length goto-path))) ;; manual as in to be expanded manually after we moved to the next closest node we can find ;; in the dom (manual-parts nil) (dom-node nil)) ;; Try to move as close as possible to the followed node, starting with its immediate parent ;; keep moving upwards in the path we move to until reaching the root of the project. Root of ;; project is met when counter is one, (not zero like with other nodes), since the root path of ;; top-level extensions is of form (:CUSTOM Root-Key), already containing two elements. (while (and (> counter 1) (null dom-node)) (setq dom-node (treemacs-find-in-dom goto-path) counter (1- counter)) (cond ((null dom-node) (push (nth (1+ counter) goto-path) manual-parts) (setcdr (nthcdr counter goto-path) nil)) ((and dom-node (null (treemacs-dom-node->position dom-node))) (setq dom-node nil) (push (nth (1+ counter) goto-path) manual-parts) (setcdr (nthcdr counter goto-path) nil)))) (let* ((btn (if dom-node (treemacs-dom-node->position dom-node) (treemacs-project->position root-key))) ;; do the rest manually (search-result (if manual-parts (treemacs--follow-path-elements btn manual-parts) (goto-char btn)))) (if (eq 'follow-failed search-result) (prog1 nil (goto-char start)) search-result)))) (cl-macrolet ((define-find-custom-node (name project-form doc) `(defun ,name (path) ,doc (let* (;; go back here if the search fails (project ,project-form) (start (prog1 (point) (goto-char (treemacs-project->position project)))) ;; making a copy since the variable is a reference to a node actual path ;; and will be changed in-place here (goto-path (copy-sequence path)) ;; manual as in to be expanded manually after we moved to the next closest node we can find ;; in the dom (manual-parts nil) (dom-node nil)) ;; try to move as close as possible to the followed node, starting with its immediate parent ;; keep moving upwards in the path we move to until reaching the root of the project (counter = 0) ;; all the while collecting the parts of the path that beed manual expanding (-let [continue t] (while continue (setf dom-node (treemacs-find-in-dom goto-path)) (if (or (null dom-node) ;; dom node might exist, but a leaf's position is not always known (null (treemacs-dom-node->position dom-node))) (progn (push (-last-item goto-path) manual-parts) (setf goto-path (-butlast goto-path)) (unless (cdr goto-path) (setf goto-path (car goto-path)))) (setf continue nil)))) (let* ((btn (--if-let (treemacs-dom-node->position dom-node) it (treemacs-project->position project))) ;; do the rest manually (search-result (if manual-parts (treemacs--follow-path-elements btn manual-parts) (goto-char btn)))) (if (eq 'follow-failed search-result) (prog1 nil (goto-char start)) (treemacs-dom-node->set-position! (treemacs-find-in-dom path) search-result) search-result)))))) (define-find-custom-node treemacs--find-custom-project-node (pop path) "Move to the project extension node at PATH.") (define-find-custom-node treemacs--find-custom-dir-node (treemacs--find-project-for-path (car path)) "Move to the directory extension node at PATH.")) (defun treemacs-find-visible-node (path) "Find position of node at PATH. Unlike `treemacs-find-node' this will not expand other nodes in the view, but only look among those currently visible. The result however is the same: either a marker pointing to the found node or nil. Unlike `treemacs-find-node', this function does not go to the node. PATH: Node Path" (-when-let (dom-node (treemacs-is-path-visible? path)) (or (treemacs-dom-node->position dom-node) (save-excursion (treemacs-find-node path))))) (defun treemacs-find-node (path &optional project) "Find position of node identified by PATH under PROJECT in the current buffer. In spite of the signature this function effectively supports two different calling conventions. The first one is for movement towards a node that identifies a normal file. In this case the signature is applied as is, and this function diverges simply into `treemacs-goto-file-node'. PATH is a file path string while PROJECT is a `treemacs-project' struct instance and fully optional, as treemacs is able to determine which project, if any, a given file belongs to. Providing the project when it happens to be available is therefore only a small optimisation. If PROJECT is not given it will be found with `treemacs--find-project-for-path'. No attempt is made to verify that PATH actually falls under a project in the workspace. It is assumed that this check has already been made. The second calling convention deals with custom nodes defined by an extension for treemacs. In this case the PATH is made up of all the node keys that lead to the node to be moved to and PROJECT is not used. Either way this function will return a marker to the moved-to position if it was successful. PATH: Filepath | Node Path PROJECT Project Struct" (save-excursion (treemacs-with-path path :file-action (when (and (eq t treemacs--in-this-buffer) (file-exists-p path)) (treemacs-find-file-node path project)) :extension-action (treemacs--find-custom-node path)))) (defun treemacs--find-custom-node (path) "Specialisation to find a custom node at the given PATH." (let* (;; go back here if the search fails (start (point)) ;; (top-pos (treemacs-dom-node->position (treemacs-find-in-dom (car path)))) ;; making a copy since the variable is a reference to a node actual path ;; and will be changed in-place here (goto-path (if (listp path) (copy-sequence path) (list path))) ;; manual as in to be expanded manually after we moved to the next closest node we can find ;; in the dom (manual-parts nil) (dom-node nil)) (-let [continue t] (while continue (setf dom-node (treemacs-find-in-dom goto-path)) (if (or (null dom-node) ;; dom node might exist, but a leaf's position is not always known (null (treemacs-dom-node->position dom-node))) (if (cdr goto-path) (progn (push (-last-item goto-path) manual-parts) (setf goto-path (-butlast goto-path))) (setf goto-path (car goto-path))) (setf continue nil)))) (let* ((btn (treemacs-dom-node->position dom-node)) ;; do the rest manually (search-result (if manual-parts (treemacs--follow-path-elements btn manual-parts) (goto-char btn)))) (if (eq 'follow-failed search-result) (prog1 nil (goto-char start)) (treemacs-dom-node->set-position! (treemacs-find-in-dom path) search-result) search-result)))) (defun treemacs-goto-node (path &optional project ignore-file-exists) "Move point to button identified by PATH under PROJECT in the current buffer. Falls under the same constraints as `treemacs-find-node', but will actually move point. Will do nothing if file at PATH does not exist, unless IGNORE-FILE-EXISTS is non-nil. PATH: Filepath | Node Path PROJECT Project Struct IGNORE-FILE-EXISTS Boolean" (treemacs-with-path path :file-action (when (or ignore-file-exists (file-exists-p path)) (treemacs-goto-file-node path project)) :extension-action (treemacs-goto-extension-node path))) (define-inline treemacs-goto-extension-node (path) "Move to an extension node at the given PATH. Small short-cut over `treemacs-goto-node' if you know for certain that PATH leads to an extension node." (inline-letevals (path) (inline-quote (-when-let (result (treemacs--find-custom-node ,path)) (treemacs--evade-image) (hl-line-highlight) ;; Only change window point if the current buffer is actually visible (-when-let (window (get-buffer-window)) (set-window-point window (point))) result)))) (defun treemacs-find-file-node (path &optional project) "Find position of node identified by PATH under PROJECT in the current buffer. If PROJECT is not given it will be found with `treemacs--find-project-for-path'. No attempt is made to verify that PATH falls under a project in the workspace. It is assumed that this check has already been made. PATH: File Path PROJECT: Project Struct" (unless project (setq project (treemacs--find-project-for-path path))) (let* (;; go back here if the search fails (start (prog1 (point) (goto-char (treemacs-project->position project)))) ;; the path we're moving to minus the project root (path-minus-root (->> project (treemacs-project->path) (length) (substring path))) ;; the parts of the path that we can try to go to until we arrive at the project root (dir-parts (nreverse (s-split "/" path-minus-root :omit-nulls))) ;; the path we try to quickly move to because it's already open and thus in the dom (goto-path path) ;; manual as in to be expanded manually after we moved to the next closest node we can find ;; in the dom (manual-parts nil) (dom-node nil)) ;; try to move as close as possible to the followed file, starting with its immediate parent ;; keep moving upwards in the path we move to until reaching the root of the project (counter = 0) ;; all the while collecting the parts of the path that beed manual expanding (-let [continue t] (while continue (setf dom-node (treemacs-find-in-dom goto-path) goto-path (treemacs--parent goto-path)) (if (or (null dom-node) ;; dom node might exist, but a leaf's position is not always known (null (treemacs-dom-node->position dom-node))) (progn (push (pop dir-parts) manual-parts)) (setf continue nil)))) (let* ((btn (--if-let (treemacs-dom-node->position dom-node) it (treemacs-project->position project))) ;; do the rest manually - at least the actual file to move to is still left in manual-parts (search-result (if manual-parts (save-match-data (treemacs--follow-each-dir btn manual-parts project)) (goto-char btn)))) (if (eq 'follow-failed search-result) (prog1 nil (goto-char start)) (treemacs-dom-node->set-position! (treemacs-find-in-dom path) search-result) search-result)))) (cl-macrolet ((define-goto (name find-function has-project doc) `(define-inline ,name (path ,@(when has-project '(&optional project))) ,doc (inline-letevals (path ,@(when has-project '(project))) (inline-quote (-when-let (result (,find-function ,(quote ,path) ,@(when has-project '(,project)))) (treemacs--evade-image) (hl-line-highlight) ;; Only change window point if the current buffer is actually visible (-when-let (window (get-buffer-window)) (set-window-point window (point))) result)))))) (define-goto treemacs-goto-file-node treemacs-find-file-node t "Move point to button identified by PATH under PROJECT in the current buffer. Relies on `treemacs-find-file-node', and will also set window-point and ensure hl-line highlighting. Called by `treemacs-goto-node' when PATH identifies a file name. PATH: Filepath PROJECT: Project Struct") (define-goto treemacs--goto-custom-top-level-node treemacs--find-custom-top-level-node nil "Move to the top-level extension node at PATH, returning the button's position.") (define-goto treemacs--goto-custom-dir-node treemacs--find-custom-dir-node nil "Move to the directory extension node at PATH, returning the button's position.") (define-goto treemacs--goto-custom-project-node treemacs--find-custom-project-node nil "Move to the project extension node at PATH, returning the button's position.")) (defun treemacs--on-window-config-change () "Collects all tasks that need to run on a window config change." (-when-let (w (treemacs-get-local-window)) (treemacs-without-following (with-selected-window w ;; apparently keeping the hook around can lead to a feeback loop together with helms ;; auto-resize mode as seen in https://github.com/Alexander-Miller/treemacs/issues/76 (let (window-configuration-change-hook) (set-window-parameter w 'no-delete-other-windows treemacs-no-delete-other-windows) (when treemacs-display-in-side-window (set-window-parameter w 'window-side treemacs-position) (set-window-parameter w 'window-slot 0)) (when treemacs-is-never-other-window (set-window-parameter w 'no-other-window t))))))) (defun treemacs--set-width (width) "Set the width of the treemacs buffer to WIDTH." (unless (one-window-p) (let ((window-size-fixed) (w (max width window-safe-min-width))) (cond ((> (window-width) w) (shrink-window-horizontally (- (window-width) w))) ((< (window-width) w) (enlarge-window-horizontally (- w (window-width)))))))) (defun treemacs--filter-files-to-be-shown (files) "Filter FILES for those files which treemacs should show. These are the files which return nil for every function in `treemacs-ignored-file-predicates' and do not match `treemacs-dotfiles-regex'. The second test not apply if `treemacs-show-hidden-files' is t." (if treemacs-show-hidden-files (-filter #'treemacs--reject-ignored-files files) (-filter #'treemacs--reject-ignored-and-dotfiles files))) (define-inline treemacs--std-ignore-file-predicate (file _) "The default predicate to detect ignored files. Will return t when FILE 1) starts with \".#\" (lockfiles) 2) starts with \"flycheck_\" (flycheck temp files) 3) ends with \"~\" (backup files) 4) is surrounded with \"#\" (auto save files) 5) is \".git\" (see also `treemacs-hide-dot-git-directory') 6) is \".\" or \"..\" (default dirs)" (declare (side-effect-free t) (pure t)) (inline-letevals (file) (inline-quote (let ((last (aref ,file (1- (length ,file))))) (or (string-prefix-p ".#" ,file) (and (eq ?# last) (eq ?# (aref ,file 0))) (eq ?~ last) (string-equal ,file ".") (string-equal ,file "..") (and treemacs-hide-dot-git-directory (string-equal ,file ".git")) (string-prefix-p "flycheck_" ,file)))))) (define-inline treemacs--mac-ignore-file-predicate (file _) "Ignore FILE if it is .DS_Store and .localized. Will be added to `treemacs-ignored-file-predicates' on Macs." (declare (side-effect-free t) (pure t)) (inline-letevals (file) (inline-quote (or (string-equal ,file ".DS_Store") (string-equal ,file ".localized"))))) (defun treemacs--popup-window () "Pop up a side window and buffer for treemacs." (let ((buf (treemacs-get-local-buffer-create))) (display-buffer buf `(,(if treemacs-display-in-side-window 'display-buffer-in-side-window 'display-buffer-in-direction) . (;; for buffer in direction (direction . ,treemacs-position) (window . root) ;; for side windows (slot . -1) (side . ,treemacs-position) ;; general-purpose settings (window-width . ,treemacs-width) (dedicated . t)))) (select-window (get-buffer-window buf)))) (defun treemacs--setup-buffer () "Create and setup a buffer for treemacs in the right position and size." (-if-let (lv-buffer (-some-> (--find (string= " *LV*" (buffer-name (window-buffer it))) (window-list (selected-frame))) (window-buffer))) (progn ;; workaround for LV windows like spacemacs' transient states preventing ;; side windows from popping up right ;; see https://github.com/abo-abo/hydra/issues/362 (with-current-buffer lv-buffer (setf window-size-fixed nil)) (treemacs--popup-window) (with-current-buffer lv-buffer (setf window-size-fixed t))) (treemacs--popup-window)) (setq-local treemacs--in-this-buffer t)) (define-inline treemacs--parent (path) "Parent of PATH, or PATH itself if PATH is the root directory. PATH: Node Path" (declare (pure t) (side-effect-free t)) (inline-letevals (path) (inline-quote (treemacs-with-path ,path :file-action (treemacs--parent-dir ,path) :extension-action (-butlast ,path) :no-match-action (user-error "Path %s appears to be neither a file nor an extension" ,path))))) (define-inline treemacs--evade-image () "The cursor visibly blinks when on top of an icon. It needs to be moved aside in a way that works for all indent depths and `treemacs-indentation' settings." (inline-quote (when (eq major-mode 'treemacs-mode) (beginning-of-line) (when (eq 'image (car-safe (get-text-property (point) 'display))) (forward-char 1))))) (defun treemacs--read-first-project-path () "Read the first project on start with an empty workspace. This function is extracted here specifically so that treemacs-projectile can overwrite it so as to present the project root instead of the current dir as the first choice." (when (treemacs-workspace->is-empty?) (file-truename (read-directory-name "Project root: ")))) (defun treemacs--sort-value-selection () "Interactive selection for a new `treemacs-sorting' value. Returns a cons cell of a descriptive string name and the sorting symbol." (declare (side-effect-free t)) (let* ((sort-names '(("Sort Alphabetically Ascending" . alphabetic-asc) ("Sort Alphabetically Descending" . alphabetic-desc) ("Sort Alphabetically and Numerically Ascending" . alphabetic-numeric-asc) ("Sort Alphabetically and Numerically Descending" . alphabetic-numeric-desc) ("Sort Case Insensitive Alphabetically Ascending" . alphabetic-case-insensitive-asc) ("Sort Case Insensitive Alphabetically Descending" . alphabetic-case-insensitive-desc) ("Sort Case Insensitive Alphabetically and Numerically Ascending" . alphabetic-numeric-case-insensitive-asc) ("Sort Case Insensitive Alphabetically and Numerically Descending" . alphabetic-numeric-case-insensitive-desc) ("Sort by Size Ascending" . size-asc) ("Sort by Size Descending" . size-desc) ("Sort by Modification Date Ascending" . mod-time-asc) ("Sort by Modification Date Descending" . mod-time-desc))) (selected-value (completing-read (format "Sort Method (current is %s)" treemacs-sorting) (-map #'car sort-names)))) (--first (s-equals? (car it) selected-value) sort-names))) (defun treemacs--kill-buffers-after-deletion (path is-file) "Clean up after a deleted file or directory. Just kill the buffer visiting PATH if IS-FILE. Otherwise, go through the buffer list and kill buffer if PATH is a prefix." (if is-file (let ((buf (get-file-buffer path))) (and buf (y-or-n-p (format "Kill buffer of %s, too? " (treemacs--filename path))) (kill-buffer buf))) ;; Prompt for each buffer visiting a file in directory (--each (buffer-list) (and (treemacs-is-path (buffer-file-name it) :in path) (y-or-n-p (format "Kill buffer %s in %s, too? " (buffer-name it) (treemacs--filename path))) (kill-buffer it))) ;; Kill all dired buffers in one step (when (bound-and-true-p dired-buffers) (-when-let (dired-buffers-for-path (->> dired-buffers (--filter (treemacs-is-path (car it) :in path)) (-map #'cdr))) (and (y-or-n-p (format "Kill Dired buffers of %s, too? " (treemacs--filename path))) (-each dired-buffers-for-path #'kill-buffer)))))) (defun treemacs--do-refresh (buffer project) "Execute the refresh process for BUFFER and PROJECT in that buffer. Specifically extracted with the buffer to refresh being supplied so that filewatch mode can refresh multiple buffers at once. Will refresh every project when PROJECT is \\='all." (with-current-buffer buffer (treemacs-save-position (progn (treemacs--cancel-refresh-timer) (run-hook-with-args 'treemacs-pre-refresh-hook project curr-win-line curr-btn curr-state curr-file curr-node-path) (if (eq 'all project) (-each (treemacs-workspace->projects (treemacs-current-workspace)) #'treemacs-project->refresh!) (treemacs-project->refresh! project))) (run-hook-with-args 'treemacs-post-refresh-hook project curr-win-line curr-btn curr-state curr-file curr-node-path) (unless treemacs-silent-refresh (treemacs-log "Refresh complete."))))) (define-inline treemacs-is-node-file-or-dir? (node) "Return t when NODE is a file or directory." (inline-letevals (node) (inline-quote (memq (treemacs-button-get node :state) '(file-node-open file-node-closed dir-node-open dir-node-closed))))) (define-inline treemacs-is-path-visible? (path) "Return whether a node for PATH is displayed in the current buffer. Returns the backing dom node is the PATH is visible, nil otherwise. Morally equivalent to `treemacs-find-in-dom'. PATH: Node Path" (declare (side-effect-free t)) (inline-letevals (path) (inline-quote (treemacs-find-in-dom ,path)))) (defun treemacs--find-repeated-file-name (path) "Find a fitting copy name for given file PATH. Returns a name in the /file/name (Copy 1).ext. If that also already exists it returns /file/name (Copy 2).ext etc." (let* ((n 0) (dir (treemacs--parent-dir path)) (filename (treemacs--filename path)) (filename-no-ext (file-name-sans-extension path)) (ext (--when-let (file-name-extension filename) (concat "." it))) (template " (Copy %d)") (new-path path)) (while (file-exists-p new-path) (cl-incf n) (setf new-path (treemacs-join-path dir (concat filename-no-ext (format template n) ext)))) new-path)) (defun treemacs--read-string (prompt &optional initial-input) "Read a string with an interface based on `treemacs-read-string-input'. PROMPT and INITIAL-INPUT will be passed on to the read function. PROMPT: String INITIAL-INPUT: String" (declare (side-effect-free t)) (pcase treemacs-read-string-input ('from-child-frame (cfrs-read prompt initial-input)) ('from-minibuffer (read-string prompt initial-input)) (other (user-error "Unknown read-string-input value: `%s'" other)))) (defun treemacs-join-path (&rest items) "Join the given ITEMS to a single file PATH." (declare (side-effect-free t)) (--reduce-from (expand-file-name it acc) "/" items)) (define-inline treemacs-split-path (path) "Split the given PATH into single items." (declare (pure t) (side-effect-free t)) (inline-letevals (path) (inline-quote (split-string ,path "/" :omit-nulls)))) (defun treemacs--jump-to-next-treemacs-window () "Jump from the current to the next treemacs-based window. Will do nothing and return nil if no such window exists, or if there is only one treemacs window." (let* ((current-window (selected-window)) (treemacs-windows (--filter (buffer-local-value 'treemacs--in-this-buffer (window-buffer it)) (window-list)))) (-when-let (idx (--find-index (equal it current-window) treemacs-windows)) (-let [next-window (nth (% (1+ idx) (length treemacs-windows)) treemacs-windows)] (unless (eq next-window current-window) (select-window next-window)))))) (defun treemacs--pre-sorted-list (items) "Return a lambda that includes sorting metadata for `completing-read'. Ensures that the order of ITEMS is not changed during completion." (lambda (string pred action) (pcase action ('metadata `(metadata (display-sort-function . ,#'identity))) (_ (complete-with-action action items string pred))))) (provide 'treemacs-core-utils) ;;; treemacs-core-utils.el ends here treemacs-3.2/src/elisp/treemacs-customization.el000066400000000000000000001371151476710620300221350ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Customize interface definitions. ;;; Code: (require 's) (require 'widget) (require 'dash) (eval-when-compile (require 'cl-lib)) (defun treemacs--find-python3 () "Determine the location of python 3." (--if-let (executable-find "python3") it (when (eq system-type 'windows-nt) (condition-case _ (->> "where python" (shell-command-to-string) (s-trim) (s-lines) (--first (when (file-exists-p it) (condition-case _ (->> (concat (shell-quote-argument it) " --version") (shell-command-to-string) (s-trim) (s-replace "Python " "") (s-left 1) (version<= "3")) (error nil))))) (error nil))))) (cl-macrolet ((define-action-widget (name include-default include-tab include-ret) `(define-widget ',name 'lazy "Treemacs button action" :format "%v" :type '(choice :tag "Action" ,@(when include-default `((const :tag "Default visit action" treemacs-visit-node-default))) ,@(when include-tab `((const :tag "Same as TAB" treemacs-TAB-action))) ,@(when include-ret `((const :tag "Same as RET" treemacs-RET-action))) (const :tag "Visit node without splitting" treemacs-visit-node-no-split) (const :tag "Visit node in a vertical split" treemacs-visit-node-vertical-split) (const :tag "Visit node in a horizontal split" treemacs-visit-node-horizontal-split) (const :tag "Visit node with Ace" treemacs-visit-node-ace) (const :tag "Visit node with Ace in a horizontal split" treemacs-visit-node-ace-horizontal-split) (const :tag "Visit node with Ace in a vertical split" treemacs-visit-node-ace-vertical-split) (const :tag "Visit node in the most recently used window" treemacs-visit-node-in-most-recently-used-window) (const :tag "Toggle node" treemacs-toggle-node) (const :tag "Toggle node (prefer tag visit)" treemacs-toggle-node-prefer-tag-visit) (function :tag "Custom function"))))) (define-action-widget treemacs-default-action nil nil nil) (define-action-widget treemacs-ret-action t t nil) (define-action-widget treemacs-tab-action t nil t) (define-action-widget treemacs-mouse-action t t t)) (defgroup treemacs nil "Treemacs configuration options." :group 'treemacs :prefix "treemacs-") (defgroup treemacs-faces nil "Faces for treemacs' syntax highlighting." :group 'treemacs :group 'faces :prefix "treemacs-" :link '(url-link :tag "Repository" "https://github.com/Alexander-Miller/treemacs")) (defgroup treemacs-git nil "Customisations for treemacs' git integration." :group 'treemacs :prefix "treemacs-" :link '(url-link :tag "Repository" "https://github.com/Alexander-Miller/treemacs")) (defgroup treemacs-hooks nil "Hooks provided by treemacs." :group 'treemacs :prefix "treemacs-" :link '(url-link :tag "Repository" "https://github.com/Alexander-Miller/treemacs")) (defgroup treemacs-follow nil "Customisations for the behaviour of the treemacs' file and tag following." :group 'treemacs :prefix "treemacs-" :link '(url-link :tag "Repository" "https://github.com/Alexander-Miller/treemacs")) (defgroup treemacs-mouse nil "Customisations for treemacs' mouse integration." :group 'treemacs :prefix "treemacs-" :link '(url-link :tag "Repository" "https://github.com/Alexander-Miller/treemacs")) (defgroup treemacs-window nil "Customisations for the behaviour of the treemacs window." :group 'treemacs :prefix "treemacs-" :link '(url-link :tag "Repository" "https://github.com/Alexander-Miller/treemacs")) (defcustom treemacs-indentation 2 "The number of spaces or pixels each level is indented in the file tree. If the value is integer, indentation is created by repeating `treemacs-indentation-string'. If the value is a list of form \\='(INTEGER px), indentation will be a space INTEGER pixels wide." :type '(choice (integer :tag "Spaces" :value 2) (list :tag "Pixels" (integer :tag "Pixels" :value 16) (const :tag "" px))) :group 'treemacs) (defcustom treemacs-litter-directories '("/node_modules" "/.venv" "/.cask") "List of directories affected by `treemacs-cleanup-litter'. Every item in the list is a regular expression, to be recognised a directory must be matched with `string-match-p'. Regexp-quoting the items in this list is *not* necessary, the quoting will happen automatically when needed." :type 'list :group 'treemacs) (defcustom treemacs-read-string-input (if (getenv "WAYLAND_DISPLAY") 'from-minibuffer 'from-child-frame) "The function treemacs uses to read user input. Only applies to plaintext input, like when renaming a project, file or workspace. There are 2 options: - `from-child-frame': will use the `cfrs' package to read input from a small child frame pop-up. Only available in GUI frames, otherwise the default minibuffer input is used. - `from-minibuffer': will read input from the minibuffer, same as baseline Emacs. Note: there seem to be issues with focusing child frames on wayland, therefore treemacs will use the minibuffer if it thinks you are running wayland." :type '(choice (const :tag "With Child Frame Popup" from-child-frame) (const :tag "From the Minibuffer (Emacs Default)" from-minibuffer)) :group 'treemacs) (defcustom treemacs-move-forward-on-expand nil "When non-nil treemacs will move to the first child of an expanded node." :type 'boolean :group 'treemacs) (defcustom treemacs-eldoc-display 'simple "Enables eldoc display of the file path at point. There are 2 options: - `simple': shows the absolute path of the file at point - `detailed': shows the absolute path, size, last modification time and permissions of the file at point Requires eldoc mode to be enabled." :type '(choice (const :tag "Simple" simple) (const :tag "Detailed" detailed)) :group 'treemacs) (defcustom treemacs-indent-guide-style 'line "Determines the appearance of `treemacs-indent-guide-mode'. The choices are - `line' for indent guides to use the ' ┃ ' character for every indentation level - `block' to use a thick '██' block interspersed at every second indentation level" :type '(choice (const :tag "Line" line) (const :tag "Block" block)) :group 'treemacs) (defcustom treemacs-indentation-string " " "The string that is for indentation in the file tree. Indentation is created by repeating this string `treemacs-indentation' many times. If `treemacs-indentation' is specified in pixels, this value is only used when there is no windowing system available." :type 'string :group 'treemacs) (defcustom treemacs-show-hidden-files t "Dotfiles will be shown if this is set to t and be hidden otherwise. Can be toggled by `treemacs-toggle-show-dotfiles'." :type 'boolean :group 'treemacs) (defcustom treemacs-show-edit-workspace-help t "When non-nil the workspace-edit buffer will display a short help greeting. See also `treemacs-edit-workspaces'." :type 'boolean :group 'treemacs) (defcustom treemacs-TAB-actions-config '((root-node-open . treemacs-toggle-node) (root-node-closed . treemacs-toggle-node) (dir-node-open . treemacs-toggle-node) (dir-node-closed . treemacs-toggle-node) (file-node-open . treemacs-toggle-node) (file-node-closed . treemacs-toggle-node) (tag-node-open . treemacs-toggle-node) (tag-node-closed . treemacs-toggle-node) (tag-node . treemacs-visit-node-default)) "Defines the behaviour of `treemacs-TAB-action'. See the doc string of `treemacs-RET-actions-config' for a detailed description of how this config works and how to modify it." :type '(alist :key-type symbol :value-type treemacs-tab-action) :group 'treemacs) (defcustom treemacs-doubleclick-actions-config '((root-node-open . treemacs-toggle-node) (root-node-closed . treemacs-toggle-node) (dir-node-open . treemacs-toggle-node) (dir-node-closed . treemacs-toggle-node) (file-node-open . treemacs-visit-node-in-most-recently-used-window) (file-node-closed . treemacs-visit-node-in-most-recently-used-window) (tag-node-open . treemacs-toggle-node) (tag-node-closed . treemacs-toggle-node) (tag-node . treemacs-visit-node-in-most-recently-used-window)) "Defines the behaviour of `treemacs-doubleclick-action'. See the doc string of `treemacs-RET-actions-config' for a detailed description of how this config works and how to modify it." :type '(alist :key-type symbol :value-type treemacs-mouse-action) :group 'treemacs) (defcustom treemacs-default-visit-action 'treemacs-visit-node-no-split "Defines the behaviour of `treemacs-visit-node-default'." :type 'treemacs-default-action :group 'treemacs) (defcustom treemacs-RET-actions-config '((root-node-open . treemacs-toggle-node) (root-node-closed . treemacs-toggle-node) (dir-node-open . treemacs-toggle-node) (dir-node-closed . treemacs-toggle-node) (file-node-open . treemacs-visit-node-default) (file-node-closed . treemacs-visit-node-default) (tag-node-open . treemacs-toggle-node-prefer-tag-visit) (tag-node-closed . treemacs-toggle-node-prefer-tag-visit) (tag-node . treemacs-visit-node-default)) "Defines the behaviour of `treemacs-RET-action'. Each alist element maps from a button state to the function that should be used for that state. The list of all possible button states is defined in `treemacs-valid-button-states'. Possible values are all treemacs-visit-node-* functions as well as `treemacs-toggle-node' for simple open/close actions, though in general you can use any function that accepts the prefix arg as its single argument. To keep the alist clean changes should not be made directly, but with `treemacs-define-RET-action', for example like this: \(treemacs-define-RET-action \\='file-node-closed #\\='treemacs-visit-node-ace)" :type '(alist :key-type symbol :value-type treemacs-ret-action) :group 'treemacs) (defcustom treemacs-COLLAPSE-actions-config '((root-node-open . treemacs-toggle-node) (root-node-closed . treemacs-goto-parent-node) (dir-node-open . treemacs-toggle-node) (dir-node-closed . treemacs-goto-parent-node) (file-node-open . treemacs-toggle-node) (file-node-closed . treemacs-goto-parent-node) (tag-node-open . treemacs-toggle-node) (tag-node-closed . treemacs-goto-parent-node) (tag-node . treemacs-goto-parent-node)) "Defines the behaviour of `treemacs-COLLAPSE-action'. See the doc string of `treemacs-RET-actions-config' for a detailed description of how this config works and how to modify it." :type '(alist :key-type symbol :value-type treemacs-collapse-action) :group 'treemacs) (defcustom treemacs-dotfiles-regex (rx bol "." (1+ any)) "Files matching this regular expression count as dotfiles. This controls the matching behaviour of `treemacs-toggle-show-dotfiles'." :type 'regexp :group 'treemacs) (defcustom treemacs-hide-dot-git-directory t "Indicates whether the .git directory should be hidden. When this is non-nil the .git dir will be hidden regardless of current setting of `treemacs-toggle-show-dotfiles'." :type 'list :group 'treemacs) (defcustom treemacs-sorting 'alphabetic-asc "Indicates how treemacs will sort its files and directories. Files will still always be shown after directories. Valid values are: * `alphabetic-asc', * `alphabetic-desc', * `alphabetic-numeric-asc', * `alphabetic-numeric-desc', * `alphabetic-case-insensitive-asc', * `alphabetic-case-insensitive-desc', * `alphabetic-numeric-case-insensitive-asc', * `alphabetic-numeric-case-insensitive-desc', * `size-asc', * `size-desc', * `mod-time-asc', * `mod-time-desc' * a custom function In the latter case it must be a function that can be passed to `sort' to sort absolute filepaths. For an example see `treemacs--sort-alphabetic-asc' Note about performance: Treemacs does its best to optimise its performance critical path, it does so by doing as little work as possible and producing as little garbage as possible. Deciding on the order in which its nodes are inserted is a part of this path. As such certain trade-offs need to be accounted far. In plaintext: some sort settings are much slower than others. Alphabetic sorting (the default) is fastest and causes no additional overhead (even when compared against foregoing sorting altogether). Modification time sorting takes the middle, being ca. 4x slower than alphabetic. Sorting by size is slowest, being ca. 5-6x slower than alphabetic. It also produces the most garbage, making it more like for you to run into a garbage collection pause. Lest these numbers scare you off keep in mind that they will likely have little to no effect on your usage of treemacs until you begin frequently refreshing treemacs views containing hundreds or even thousands of nodes." :type '(choice (const alphabetic-asc) (const alphabetic-desc) (const alphabetic-numeric-asc) (const alphabetic-numeric-desc) (const alphabetic-case-insensitive-asc) (const alphabetic-case-insensitive-desc) (const alphabetic-numeric-case-insensitive-asc) (const alphabetic-numeric-case-insensitive-desc) (const size-asc) (const size-desc) (const mod-time-asc) (const mod-time-desc)) :group 'treemacs) (defcustom treemacs-ignored-file-predicates (pcase system-type ('darwin '(treemacs--std-ignore-file-predicate treemacs--mac-ignore-file-predicate)) (_ '(treemacs--std-ignore-file-predicate))) "List of predicates to test for files and directories ignored by treemacs. Ignored files will *never* be shown in the treemacs buffer (unlike dotfiles whose presence is controlled by `treemacs-show-hidden-files'). Each predicate is a function that takes 2 arguments: a file's name and its absolute path and returns t if the file should be ignored and nil otherwise. A file which returns t for *any* function in this list counts as ignored. By default this list contains `treemacs--std-ignore-file-predicate' which filters out \".\", \"..\", Emacs' lock files as well temp files created by flycheck. This means that this variable should *not* be set directly, but instead modified with functions like `add-to-list'. Additionally `treemacs--mac-ignore-file-predicate' is also included on Mac-derived operating systems (when `system-type' is `darwin')." :type 'list :group 'treemacs) (defcustom treemacs-pre-file-insert-predicates nil "List of predicates to test for files and directories that shouldn't be shown. The difference between this and `treemacs-ignored-file-predicates' is that the functions in this list will be called on files just before they would be rendered, when the files' git status information is now available. This for example allows to make files ignored by git invisible (however this particular use-case is already covered by `treemacs-hide-gitignored-files-mode'). The functions in this list are therefore expected to have a different signature: They must take two arguments - a file's absolute path and a hash table that maps files to their git status. The files' paths are the table's keys, its values are characters (and not strings) indicating the file's git condition. The chars map map as follows: (the pattern is derived from \\='git status --porcelain\\=') * M - file is modified * U - file is in conflict * ? - file is untracked * ! - file is ignored * A - file is added to index * other - file is unchanged Otherwise the behaviour is the same as `treemacs-ignored-file-predicates', in that any one function returning t for a file means that this file will not be rendered." :type 'list :group 'treemacs) (defcustom treemacs-file-event-delay 2000 "How long (in milliseconds) to collect file events before refreshing. When treemacs receives a file change notification it doesn't immediately refresh and instead waits `treemacs-file-event-delay' milliseconds to collect further file change events. This is done so as to avoid refreshing multiple times in a short time. See also `treemacs-filewatch-mode'." :type 'integer :group 'treemacs) (defcustom treemacs-goto-tag-strategy 'refetch-index "Indicates how to move to a tag when its buffer is dead. The tags in the treemacs view store their position as markers (or overlays if semantic mode is on) pointing to a buffer. If that buffer is killed, or has never really been open, as treemacs kills buffer after fetching their tags if they did no exist before, the stored positions become stale, and treemacs needs to use a different method to move to that tag. This variable sets that method. Its possible values are: * refetch-index Call up the file's imenu index again and use its information to jump. * call-xref Call `xref-find-definitions' to find the tag. * issue-warning Just issue a warning that the tag's position pointer is invalid." :type 'integer :group 'treemacs) (defcustom treemacs-collapse-dirs 0 "When > 0 treemacs will collapse directories into one when possible. A directory is collapsible when its content consists of nothing but another directory. The value determines how many directories can be collapsed at once, both as a performance cap and to prevent too long directory names in the treemacs view. To minimise this option's impact on display performance the search for directories to collapse is done asynchronously in a python script and will thus only work when python installed. The script should work both on python 2 and 3. If you experience incorrect display of CJK characters while using this feature you have to inform Emacs about your language environment using `set-language-environment'." :type 'integer :group 'treemacs) (defcustom treemacs-silent-refresh nil "When non-nil a completed refresh will not be announced with a message. This applies to refreshing both manual as well as automatic (due to e.g. `treemacs-filewatch-mode'). To only disable messages from refreshes induced by filewatch mode use `treemacs-silent-filewatch'." :type 'boolean :group 'treemacs) (defcustom treemacs-silent-filewatch nil "When non-nil a refresh due to filewatch mode will cause no log message. To disable all refresh messages use `treemacs-silent-refresh'." :type 'boolean :group 'treemacs) (defcustom treemacs-no-png-images nil "When non-nil treemacs will use TUI string icons even when running in a GUI. The change will apply the next time a treemacs buffer is created." :type 'boolean :group 'treemacs) (defcustom treemacs-expand-after-init t "When non-nil expand the first project after treemacs is first initialised. Might be superseded by `treemacs-follow-after-init'." :type 'boolean :group 'treemacs) (defcustom treemacs-expand-added-projects t "When non-nil newly added projects will be expanded." :type 'boolean :group 'treemacs) (defcustom treemacs-recenter-after-project-jump 'always "Decides when to recenter view after moving between projects. Specifically applies to calling `treemacs-next-project' and `treemacs-previous-project'. Possible values are: * nil: never recenter * \\='always: always recenter * \\='on-distance: recenter based on `treemacs-recenter-distance'" :type '(choice (const :tag "Always" always) (const :tag "Based on Distance" on-distance) (const :tag "Never" nil)) :group 'treemacs) (defcustom treemacs-recenter-after-project-expand 'on-visibility "Decides when to recenter view after expanding a project root node. Possible values are: * nil: never recenter * \\='always: always recenter * \\='on-distance: recenter based on `treemacs-recenter-distance' * \\='on-visibility: recenter only when the newly rendered lines don't fit the current screen" :type '(choice (const :tag "Always" always) (const :tag "Based on Distance" on-distance) (const :tag "Based on Visibility" on-visibility) (const :tag "Never" nil)) :group 'treemacs) (defcustom treemacs-pulse-on-success t "When non-nil treemacs will pulse the current line as a success indicator. This applies to actions like `treemacs-copy-relative-path-at-point'." :type 'boolean :group 'treemacs) (defcustom treemacs-pulse-on-failure t "When non-nil treemacs will pulse the current line as a failure indicator. This applies to actions like treemacs not finding any tags it can show when `treemacs-toggle-node' is called on a file node." :type 'boolean :group 'treemacs) (defcustom treemacs-recenter-distance 0.1 "Minimum distance from a window's top/bottom for treemacs to call `recenter'. This value will apply when any one of the following options is set to `on-distance': * treemacs-recenter-after-tag-follow * treemacs-recenter-after-file-follow * treemacs-recenter-after-project-jump * treemacs-recenter-after-project-expand In that case a call to `recenter' will be made when the distance between point and the top/bottom of the treemacs window is less then this many lines. The value is not an absolute line count, but a relative floating-point percentage, with 0.0 being 0% and 1.0 being 100%. This means that, for example, when this variable is set to 0.1 `recenter' will be called within a 10% distance of the treemacs window's top/bottom. For a window height of 40 lines that means point being within the first or last 4 lines of the treemacs window. Note that this does *not* take `scroll-margin' into account." :type 'float :group 'treemacs) (defcustom treemacs-elisp-imenu-expression (let ((name (rx (1+ whitespace) (? "'") (group-n 2 symbol-start (1+ (or (syntax word) (syntax symbol))) symbol-end))) (prefix (rx bol (0+ (syntax whitespace)) "("))) `(("Functions" ,(concat prefix (rx (? "cl-") (or "defgeneric" "defmethod" "defun" "defadvice")) name) 2) ("Dependencies" ,(concat prefix "require" name) 2) ("Inline Functions" ,(concat prefix (rx (? "cl-") (or "defsubst" "define-inline")) name) 2) ("Customizations" ,(concat prefix "defcustom" name) 2) ;; struct whose name maybe be wrapped in parens ("Types" ,(rx (group-n 1 (? "cl-") "defstruct" (1+ whitespace) (? "(" (0+ whitespace))) (group-n 2 symbol-start (1+ (or (syntax word) (syntax symbol))) symbol-end)) 2) ("Types" ,(concat prefix (rx (group-n 1 (or (seq (? "cl-") "defstruct" (? " (")) "defclass" "deftype" "defgroup" "define-widget" "deferror"))) name) 2) ("Variables" ,(concat prefix (rx (or "defvar" "defvar-local" "defconst" "defconst-mode-local")) name) 2) ("Macros" ,(concat prefix (rx (? "cl-") (or "define-compiler-macro" "defmacro")) name) 2) ("Faces" ,(concat prefix (rx "defface") name) 2))) "The value for `imenu-generic-expression' treemacs uses in elisp buffers. More discriminating than the default as it distinguishes between functions, inline functions, macros, faces, variables, customisations and types. Can be set to nil to use the default value." :type 'alist :group 'treemacs) (defcustom treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory) "Path to the file treemacs uses to persist its state. Can be set to nil to disable workspace persistence." :group 'treemacs :type 'string) (defcustom treemacs-last-error-persist-file (expand-file-name ".cache/treemacs-persist-at-last-error" user-emacs-directory) "File that stores the treemacs state as it was during the last load error." :group 'treemacs :type 'string) (defcustom treemacs-missing-project-action 'ask "Action to perform when a persisted project is not found on the disk. If the project is not found, the project can either be kept in the project list, or removed from it. If the project is removed, when projects are persisted, the missing project will not appear in the project list next time Emacs is started. Possible values are: - `ask' - `remove' - `keep'" :type '(choice (const :tag "Ask whether to remove" ask) (const :tag "Remove without asking" remove) (const :tag "Keep without asking" keep)) :group 'treemacs) (defcustom treemacs-space-between-root-nodes t "When non-nil treemacs will separate root nodes with an empty line." :type 'boolean :group 'treemacs) (defcustom treemacs-wrap-around t "When non-nil treemacs will wrap around buffer edges when moving between lines." :type 'boolean :group 'treemacs) (defcustom treemacs--fringe-indicator-bitmap (if (fboundp 'define-fringe-bitmap) (define-fringe-bitmap 'treemacs--fringe-indicator-bitmap-default (make-vector 200 #b00000111)) 'vertical-bar) "The fringe bitmap used by the fringe-indicator minor mode." :type (append '(choice) ;; :type is evaluated before the call to define-fringe-bitmap ;; so 'treemacs--fringe-indicator-bitmap-default is not yet in ;; fringe-bitmaps '((const treemacs--fringe-indicator-bitmap-default)) ;; `fringe-bitmpas' is void in the CI build Emacs (when (bound-and-true-p fringe-bitmaps) (mapcar (lambda (sym) `(const ,sym)) fringe-bitmaps))) :group 'treemacs) (defcustom treemacs-show-cursor nil "When non-nil treemacs the cursor will remain visible in the treemacs buffer." :type 'boolean :group 'treemacs) (defcustom treemacs-directory-name-transformer #'identity "Transformer to apply to directory names before rendering for cosmetic effect." :type 'function :group 'treemacs) (defcustom treemacs-file-name-transformer #'identity "Transformer to apply to file names before rendering for cosmetic effect." :type 'function :group 'treemacs) (make-obsolete-variable 'treemacs-follow-recenter-distance 'treemacs-recenter-distance "v2.5") (defcustom treemacs-follow-recenter-distance 0.1 "Minimum distance from the top/bottom for (tag-)follow mode to recenter. Treemacs will be calling `recenter' after following a file/tag if the distance between point and the top/bottom of the treemacs window is less then this many lines. The value is not an absolute line count, but a percentage, with 0.0 being 0% and 1.0 being 100%. This means that when this variable is set to 0.1 `recenter' will be called within a 10% distance of the window top/bottom. For a window height of 40 lines that means point being within the first or last 4 lines of the treemacs window. Will only take effect if `treemacs-recenter-after-tag-follow' and/or `treemacs-recenter-after-file-follow' is non-nil. Note that this does *not* take `scroll-margin' into account." :type 'float :group 'treemacs-follow) (defcustom treemacs-follow-after-init nil "When non-nil find the current file in treemacs after it is first initialised. Might supersede `treemacs-expand-after-init'." :type 'boolean :group 'treemacs-follow) (defcustom treemacs-file-follow-delay 0.2 "Delay in seconds of idle time for treemacs to follow the selected window." :type 'number :group 'treemacs-follow) (defcustom treemacs-tag-follow-delay 1.5 "Delay in seconds of inactivity for `treemacs-tag-follow-mode' to trigger." :type 'number :group 'treemacs-follow) (defcustom treemacs-tag-follow-cleanup t "When non-nil `treemacs-tag-follow-mode' will close file nodes it is leaving. When jumping between different files this can prevent the view from being flooded with their tags." :type 'boolean :group 'treemacs-follow) (defcustom treemacs-recenter-after-file-follow nil "Decides when to recenter view after following a file. Possible values are: * nil: never recenter * \\='always: always recenter * \\='on-distance: recenter based on `treemacs-recenter-distance'" :type '(choice (const :tag "Always" always) (const :tag "Based on Distance" on-distance) (const :tag "Never" nil)) :group 'treemacs-follow) (defcustom treemacs-recenter-after-tag-follow nil "Decides when to recenter view after following a tag. Possible values are: * nil: never recenter * \\='always: always recenter * \\='on-distance: recenter based on `treemacs-recenter-distance'" :type '(choice (const :tag "Always" always) (const :tag "Based on Distance" on-distance) (const :tag "Never" nil)) :group 'treemacs-follow) (defcustom treemacs-project-follow-cleanup nil "When non-nil `treemacs-follow-mode' will close projects it is leaving. This means that treemacs will make sure that only the currently followed project is expanded while all others will remain collapsed. Setting this to t might lead to noticeable slowdowns, at least when `treemacs-git-mode' is enabled, since constantly expanding an entire project is fairly expensive." :type 'boolean :group 'treemacs-follow) (defcustom treemacs-project-follow-into-home nil "When non-nil `treemacs-project-follow-mode' will also follow into $HOME. By default project-following excludes the home directory as an option for the current project. Setting this to non-nil will open up $HOME to being the final fallback." :type 'boolean :group 'treemacs-follow) (defcustom treemacs-move-files-by-mouse-dragging t "When non-nil treemacs will move files by dragging with the mouse." :group 'treemacs-mouse :type 'boolean) (defcustom treemacs-deferred-git-apply-delay 0.5 "Delay in seconds of idle time before git fontification is applied. This is only relevant when using the deferred variant of git-mode." :type 'number :group 'treemacs-git) (defcustom treemacs-max-git-entries 5000 "Maximum number of git status entries treemacs will process. Information for entries that number will be silently ignored. The \"entries\" refer to the lines output by `git status --porcelain --ignored=matching'. The limit does not apply to the simple `treemacs-git-mode.'" :type 'number :group 'treemacs-git) (defcustom treemacs-python-executable (treemacs--find-python3) "The python executable used by treemacs. An asynchronous python process is used in two optional features: `treemacs-collapse-dirs' and the extended variant of `treemacs-git-mode'. There is generally only one reason to change this value: an extended `treemacs-git-mode' requires python3 to work. If the default python executable is pointing to python2 this config variable can be used to direct treemacs to the python3 binary." :type 'string :group 'treemacs-git) (defcustom treemacs-git-executable "git" "The git executable used by treemacs." :type 'string :group 'treemacs-git) (defcustom treemacs-git-command-pipe "" "Text to be appended to treemacs' git command. With `treemacs-git-mode' the command `git status --porcelain --ignored=matching .' is run to fetch a directory's git information. The content of this variable will be appended to this git command. This might be useful in cases when the output produced by git is so large that it leads to palpable delays, while setting `treemacs-max-git-entries' leads to loss of information. In such a scenario an additional filter statement (for example `| grep -v \"/vendor_dir/\"') can be used to reduce the size of the output to a manageable volume for treemacs." :type 'string :group 'treemacs-git) (defcustom treemacs-is-never-other-window nil "When non-nil treemacs will use the `no-other-window' parameter. In practice it means that treemacs will become invisible to commands like `other-window' or `evil-window-left'." :type 'boolean :group 'treemacs-window) (defcustom treemacs-width-is-initially-locked t "Indicates whether the width of the treemacs window is initially locked. A locked width means that changes it is only possible with the commands `treemacs-set-width' or `treemacs-toggle-fixed-width'." :type 'boolean :group 'treemacs-window) (defcustom treemacs-window-background-color nil "This variable is obsolete and no longer in use. Instead you can modify `treemacs-window-background-face' and `treemacs-hl-line-face'." :type '(cons color color) :group 'treemacs-window) (make-obsolete-variable 'treemacs-window-background-color "`treemacs-window-background-face' & `treemacs-hl-line-face'" "v3.2" 'set) (defcustom treemacs-width 35 "Width of the treemacs window." :type 'integer :group 'treemacs-window) (defcustom treemacs-wide-toggle-width 70 "When resizing, this value is added or subtracted from the window width." :type 'integer :group 'treemacs-window) (defcustom treemacs-width-increment 1 "When resizing, this value is added or subtracted from the window width." :type 'integer :group 'treemacs-window) (defcustom treemacs-display-in-side-window t "When non-nil treemacs will use a dedicated side-window. On the one hand this will alleviate issues of unequally sized window splits when treemacs is visible (since Emacs does not quite understand that treemacs has fixed window size). On the other hand it may lead to issues with other packages like shell-pop, as making treemacs a side-window renders it un-splittable." :type 'boolean :group 'treemacs-window) (defcustom treemacs-no-delete-other-windows t "When non-nil treemacs will have the `no-delete-other-windows' parameter. This parameter prevents the treemacs window from closing when calling `delete-other-windows' or when a command like `magit-status' would launch a new full-screen buffer. Note that treemacs has its own delete-windows command with `treemacs-delete-other-windows' that behaves the same as `delete-other-windows', but won't close treemacs itself. This parameter was only introduced in Emacs 26. On Emacs 25 its effect is included in `treemacs-display-in-side-window'." :type 'boolean :group 'treemacs-window) (defcustom treemacs-user-header-line-format nil "The header line used in the treemacs window. Can be set either to `treemacs-header-buttons-format' or any one of its constituent parts, or any other value acceptable for `header-line-format'." :type 'string :group 'treemacs-window) (defcustom treemacs-text-scale nil "Optional scale for the text (not the icons) in the treemacs window. If set the value will be passed to `text-scale-increase'. Both positive and negative values are possible." :type 'integer :group 'treemacs-window) (defcustom treemacs-header-scroll-indicators '(nil . "^^^^^^") "The strings used for `treemacs-indicate-top-scroll-mode'. The value must be a cons, where the car is the string used when treemacs is scrolled all the way to the top, and the cdr is used when it isn't." :type '(cons string string) :group 'treemacs-window) (defcustom treemacs-select-when-already-in-treemacs 'move-back "How `treemacs-select-window' behaves when treemacs is already selected. Possible values are: - `stay' - remain in the treemacs windows, effectively doing nothing - `close' - close the treemacs window - `goto-next' - jump to the next treemacs-based window (e.g. treemacs-mu4e) - `move-back' - move point back to the most recently used window (as selected by `get-mru-window') - `next-or-back' - a combination of the two previous options. First try to move to the next treemacs-based window, if none exists move back to the most recently used window" :type '(choice (const stay) (const close) (const move-back)) :group 'treemacs) (defcustom treemacs-position 'left "Position of treemacs buffer. Valid values are * `left', * `right'" :type '(choice (const left) (const right)) :group 'treemacs) (defcustom treemacs-post-buffer-init-hook nil "Hook run after a treemacs buffer is first initialised. Only applies to treemacs filetree buffers, not extensions." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-post-project-refresh-functions nil "Hook that runs after a project was updated with `treemacs-refresh'. Will be called with the new project as the sole argument." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-create-project-functions nil "Hooks to run whenever a project is created. Will be called with the new project as the sole argument." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-create-file-functions nil "Hooks to run whenever a file or directory is created. Applies only when using `treemacs-create-file' or `treemacs-create-dir'. Will be called with the created file's or dir's path as the sole argument." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-delete-file-functions nil "Hooks to run whenever a file or directory is deleted. Applies only when using `treemacs-delete'. Will be called with the created file's or dir's path as the sole argument." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-rename-file-functions nil "Hooks to run whenever a file or directory is renamed. Applies only when using `treemacs-rename'. Will be called with 2 arguments: the file's old name, and the file's new name, both as absolute paths." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-move-file-functions nil "Hooks to run whenever a file or directory is moved. Applies only when using `treemacs-move-file'. Will be called with 2 arguments: the file's old location, and the file's new location, both as absolute paths." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-copy-file-functions nil "Hooks to run whenever a file or directory is copied. Applies only when using `treemacs-copy-file'. Will be called with 2 arguments: the original file's location, and the copy's location, both as absolute paths." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-delete-project-functions nil "Hooks to run whenever a project is deleted. Will be called with the deleted project as the sole argument *after* it has been deleted." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-find-workspace-method 'find-for-file-or-pick-first "The method by which treemacs selects a workspace when first starting. There are 3 options: - `find-for-file-or-pick-first' means treemacs will select the first workspace with a project that contains the current buffer's file. If no such workspace exists, or if the current buffer is not visiting a file, the first workspace in the list (as seen in `treemacs-edit-workspaces' or picked with `treemacs-set-fallback-workspace') is selected - `find-for-file-or-manually-select' works the same, but an interactive selection is used as fallback instead - `always-ask' means the workspace *always* has to be manually selected Note that the selection process will be skipped if there is only one workspace." :type '(choice (const :tag "Find workspace for current file, pick the first workspace as falback" find-for-file-or-pick-first) (const :tag "Find workspace for current file, interactively select workspace as falback" find-for-file-or-manually-select) (const :tag "Always ask" always-ask)) :group 'treemacs-hooks) (defcustom treemacs-rename-project-functions nil "Hooks to run whenever a project is renamed. Will be called with the renamed project and the old name as its arguments." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-create-workspace-functions nil "Hooks to run whenever a workspace is created. Will be called with the new workspace as the sole argument." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-delete-workspace-functions nil "Hooks to run whenever a workspace is deleted. Will be called with the deleted workspace as the sole argument *after* it has been deleted." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-rename-workspace-functions nil "Hooks to run whenever a workspace is renamed. Will be called with the renamed workspace and the old name as its arguments." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-switch-workspace-hook nil "Hooks to run whenever the workspace is changed. The current workspace will be available as `treemacs-current-workspace'." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-workspace-edit-hook nil "Hooks to run whenever the entire workspace layout has been rebuilt. This hook runs after `treemacs-finish-edit' has been called. After such an edit any number (including zero) of workspaces and projects may have been changed or created or deleted." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-bookmark-title-template "Treemacs - ${project}: ${label}" "Template for default bookmark titles. The following replacements are available: * ${project}: The label of the project. * ${label}: Label of the current button. * ${label:N} Label of the Nth parent. If the parent does not exist, an empty string. * ${label-path}: Label path of the button. For example, \"Project/directory/file.txt\" * ${label-path:N}: Last N components of the label path. * ${file-path}: Absolute file-system path of the node. If the node is a top-level extension node, this expands to an empty string. If the node is a directory or or project extension, the path of its parent. * ${file-path:N}: Last N components of the filesystem path." :type 'string :group 'treemacs) (defcustom treemacs-pre-refresh-hook nil "Hooks to run right before the refresh process for a project kicks off. During the refresh the project is effectively collapsed and then expanded again. This hook runs *before* that happens. It runs with treemacs as the `current-buffer' and receives as its arguments all the information that treemacs collects for its refresh process: * The project being refreshed (might be \\='all) * The current screen-line number (can be nil). * The current button. Might be nil if point is on the header line. * The current button's state. See also `treemacs-valid-button-states'. Is nil if the current button is nil. * The nearest file path, as collected with `treemacs--nearest-path'. Is nil if point is on the header. * The current button's tag path. Is nil if the current button is nil." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-post-refresh-hook nil "Hooks to run right before the refresh process is finished off. During the refresh the project is effectively collapsed and then expanded again. This hook runs *after* that has happened. It runs with treemacs as the `current-buffer' and receives as its arguments all the information that treemacs collects for its refresh process. Note that these values were collected at the start of the refresh, and may now be longer valid (for example the current button's position will be wrong, even if it wasn't deleted outright): * The project being refreshed (might be \\='all) * The current screen-line number (can be nil). * The current button. Might be nil if point was on the header line. * The current button's state. See also `treemacs-valid-button-states'. Is nil if the current button is nil. * The nearest file path, as collected with `treemacs--nearest-path'. Is nil if point was on the header. * The current button's tag path. Is nil if the current button is nil." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-quit-hook nil "Hooks to run when `treemacs-quit' is called. The hooks will be run *after* the treemacs buffer was buried." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-kill-hook nil "Hooks to run when `treemacs-kill-buffer' is called. The hooks will be run *after* the treemacs buffer was destroyed." :type 'hook :group 'treemacs-hooks) (define-obsolete-variable-alias 'treemacs-select-hook 'treemacs-select-functions "2.9") (defcustom treemacs-select-functions nil "Hooks to run when the treemacs window is selected. The hook should accept one argument which is a symbol describing treemacs' visibility before the select was invoked, as it would have been returned by `treemacs-current-visibility'. This hook only applies to commands like `treemacs' or `treemacs-select-window', not general window selection commands like `other-window'." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-workspace-first-found-functions nil "Hooks that run when treemacs finds a workspace for the first time. Hooks are expected to take 2 arguments: the workspace that was found and the current scope (frame or perspective) it was found for." :type 'hook :group 'treemacs-hooks) (defcustom treemacs-after-visit-functions nil "Hooks that run after treemacs executes a `treemacs-visit-node-***' command. Does not apply to `treemacs-visit-node-in-external-application'. Hooks are expected to take 1 argument, which is the buffer where the node is visited in." :type 'hook :group 'treemacs-hooks) (defconst treemacs-last-period-regex-value "\\.[^.]*\\'") (defconst treemacs-first-period-regex-value "\\.") (defcustom treemacs-file-extension-regex treemacs-last-period-regex-value "Decides how treemacs determines a file's extension. There are 2 options: - An extension should be everything past the *last* period of the file name. In this case this should be set to `treemacs-last-period-regex-value' - An extension should be everything past the *first* period of the file name. In this case this should be set to `treemacs-first-period-regex-value'" :group 'treemacs :type `(choice (const :tag "Text after first period" ,treemacs-first-period-regex-value) (const :tag "Text after last period" ,treemacs-last-period-regex-value))) (defcustom treemacs-user-mode-line-format nil "Custom mode line format to be used in `treemacs-mode'. If nil treemacs will look for default value provided by `spaceline', `moody' or `doom-modeline' in that order. Finally, if none of these packages is available \"Treemacs\" text will be displayed. Setting this to `none' will disable the modeline. For more specific information about formatting mode line check `mode-line-format'." :type 'sexp :group 'treemacs) (defcustom treemacs-workspace-switch-cleanup nil "Indicates which, if any, buffers should be deleted on a workspace switch. Only applies when interactively calling `treemacs-switch-workspace'. Valid values are - nil to do nothing - `files' to delete buffers visiting files - `all' to delete all buffers other than treemacs and the scratch buffer In any case treemacs itself and the scratch and messages buffer will be unaffected." :type '(choice (const :tag "All Buffers" all) (const :tag "Only File Buffers" files) (const :tag "None" nil)) :group 'treemacs) (defcustom treemacs-imenu-scope 'everything "Determines which items treemacs' imenu function will collect. There are 2 options: - `everything' will collect entries from every project in the workspace. - `current-project' will only gather the index for the project at point." :type '(choice (const :tag "Everything" everything) (const :tag "Current Project Only" current-project)) :group 'treemacs) (provide 'treemacs-customization) ;;; treemacs-customization.el ends here treemacs-3.2/src/elisp/treemacs-diagnostics.el000066400000000000000000000072031476710620300215260ustar00rootroot00000000000000;;; treemacs-diagnostics.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; WIP implementation of diagnostics display. ;;; Code: (require 'ht) (require 'thunk) (require 'dash) (require 'overlay) (require 'treemacs-dom) (require 'treemacs-scope) (require 'treemacs-workspaces) (require 'treemacs-core-utils) (eval-when-compile (require 'treemacs-macros)) (defconst treemacs--diag-store (make-hash-table :size 50 :test 'equal)) (defvar treemacs--diagnostic-timer nil "Debounce guard for the application of diagnostics.") (defconst treemacs--apply-diagnostics-delay 3 "Debounce delay for the application of diagnostics.") (defface treemacs-diagnostic-error-face '((t :underline "red")) "TODO." :group 'treemacs-faces) (defface treemacs-diagnostic-warning-face '((t :underline "yellow")) "TODO." :group 'treemacs-faces) (defun treemacs--reset-and-save-diagnosics (path diagnostics) "TODO PATH DIAGNOSTICS." (-let [ht (ht-get treemacs--diag-store path)] (if ht (ht-clear! ht) (setf ht (make-hash-table :size 100 :test 'equal)) (ht-set! treemacs--diag-store path ht)) (while diagnostics (ht-set! ht (pop diagnostics) (pop diagnostics))))) (defun treemacs-apply-diagnostics (provider) "Display diagnostics based on the given arguments PROVIDER. PROVIDER should be a `thunk' (see thunk.el) that, when evaluated, returns a flat list of consecutive path and face items. File paths should use treemacs' canonical format - they should be absolute, expanded and *not* have a trailing slash. The diagnostic faces could be any face symbols or raw face literals. Treemacs features several pre-made faces named `treemacs-diagnostic-*-face'. This method is debounced, it will never run more often than once every 3 seconds. In addition the use of a lazy thunk ensures that potentially expensive transformations happen only once and only when required. Performance is thus not expected to be a major issue. A basic example use would look like this: \(treemacs-apply-diagnostics (thunk-delay \\='(\"/path/to/file/x\" \\='treemacs-diagnostic-warning-face \"/path/to/file/y\" \\='treemacs-diagnostic-error-face \"/path/to/file/z\" \\='((:underline \"green\")))))" (treemacs-debounce treemacs--diagnostic-timer treemacs--apply-diagnostics-delay (treemacs-run-in-every-buffer (save-excursion (-each (overlays-in (point-min) (point-max)) #'delete-overlay) (-let [diagnostics (thunk-force provider)] (while diagnostics (let ((path (pop diagnostics)) (state (pop diagnostics))) (when (treemacs-is-path-visible? path) (-let [btn (treemacs-find-file-node path)] (-doto (make-overlay (treemacs-button-start btn) (treemacs-button-end btn)) (overlay-put 'face state)))))))) (hl-line-highlight)))) (provide 'treemacs-diagnostics) ;;; treemacs-diagnostics.el ends here treemacs-3.2/src/elisp/treemacs-dom.el000066400000000000000000000242131476710620300177760ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Basically this: https://github.com/Alexander-Miller/treemacs/issues/143. ;;; Code: (require 'ht) (require 'dash) (require 's) (eval-when-compile (require 'cl-lib) (require 'inline) (require 'treemacs-macros)) (eval-when-compile (cl-declaim (optimize (speed 3) (safety 0)))) (defvar-local treemacs-dom nil) (cl-defstruct (treemacs-dom-node (:conc-name treemacs-dom-node->) (:constructor treemacs-dom-node->create!)) key parent children reentry-nodes position refresh-flag collapse-keys) ;; needed because simple declare-function for pos slot in core-utils wont properly expand via setf (define-inline treemacs-dom-node->set-position! (self value) "Set `position' field of SELF to VALUE. SELF: Dom Node Struct VALUE: Marker" (inline-letevals (self value) (inline-quote (setf (treemacs-dom-node->position ,self) ,value)))) (defun treemacs--reset-dom () "Reset the dom." (setf treemacs-dom (make-hash-table :size 1000 :test 'equal))) (define-inline treemacs-find-in-dom (key) "Get node with KEY, if any. KEY: Node Path" (declare (side-effect-free t)) (inline-letevals (key) (inline-quote (ht-get treemacs-dom ,key)))) (define-inline treemacs-dom-node->insert-into-dom! (self) "Insert SELF into the dom. SELF: Dom Node Struct" (inline-letevals (self) (inline-quote (ht-set! treemacs-dom (treemacs-dom-node->key ,self) ,self)))) (define-inline treemacs-dom-node->add-child! (self child) "Add CHILD to to the children of SELF." (inline-letevals (self child) (inline-quote (setf (treemacs-dom-node->children ,self) (cons ,child (treemacs-dom-node->children ,self)))))) (define-inline treemacs-dom-node->remove-from-dom! (self) "Remove SELF from the dom. SELF: Dom Node Struct" (inline-letevals (self) (inline-quote (progn (ht-remove! treemacs-dom (treemacs-dom-node->key ,self)) (let ((parent (treemacs-dom-node->parent ,self))) (setf (treemacs-dom-node->children parent) (delete ,self (treemacs-dom-node->children parent)))) (dolist (key (treemacs-dom-node->collapse-keys ,self)) (ht-remove! treemacs-dom key)))))) (define-inline treemacs-dom-node->remove-collapse-keys! (self keys) "Remove the given collapse KEYS from both SELF and the dom." (inline-letevals (self keys) (inline-quote (progn (dolist (key ,keys) (ht-remove! treemacs-dom key)) (setf (treemacs-dom-node->collapse-keys ,self) (--reject (member it ,keys) (treemacs-dom-node->collapse-keys ,self))))))) (define-inline treemacs-dom-node->all-parents (self) "Get all parent nodes of SELF. List will be sorted top to bottom. SELF: Dom Node Struct" (declare (side-effect-free t)) (inline-letevals (self) (inline-quote (let ((parent (treemacs-dom-node->parent ,self)) (ret)) (while parent (push parent ret) (setf parent (treemacs-dom-node->parent parent))) ret)))) (define-inline treemacs-on-expand (key pos) "Re-arrange the dom when node at KEY with POS is expanded. KEY: Node Path POS: Marker" (inline-letevals (key pos) (inline-quote (-if-let (dom-node (treemacs-find-in-dom ,key)) (progn (setf (treemacs-dom-node->position dom-node) ,pos) (dolist (collapse-key (treemacs-dom-node->collapse-keys dom-node)) (setf (treemacs-dom-node->position (treemacs-find-in-dom collapse-key)) ,pos)) (-when-let (parent-dom-node (treemacs-dom-node->parent dom-node)) (setf (treemacs-dom-node->reentry-nodes parent-dom-node) (cons dom-node (treemacs-dom-node->reentry-nodes parent-dom-node))))) ;; expansion of root (setf dom-node (treemacs-dom-node->create! :key ,key :position ,pos)) (treemacs-dom-node->insert-into-dom! dom-node))))) (define-inline treemacs-on-collapse (key &optional purge) "Re-arrange the dom when node at KEY was collapsed. Will remove NODE's parent/child link and invalidate the position and refresh data of NODE and all its children. When PURGE is non-nil will instead remove NODE and its children from the dom. KEY: Node Path Purge: Boolean" (inline-letevals (key purge) (inline-quote (let* ((dom-node (treemacs-find-in-dom ,key)) (children (treemacs-dom-node->children dom-node))) (-when-let (parent-dom-node (treemacs-dom-node->parent dom-node)) (setf (treemacs-dom-node->reentry-nodes parent-dom-node) (delete dom-node (treemacs-dom-node->reentry-nodes parent-dom-node)))) (cond (,purge (treemacs--on-purged-collapse dom-node)) (children (treemacs--on-collapse-of-node-with-children dom-node)) (t (treemacs--on-collapse-of-node-without-children dom-node))))))) (define-inline treemacs--on-purged-collapse (dom-node) "Run when a DOM-NODE is collapsed with a purge (prefix) argument. Will remove all the children of DOM-NODE from the dom. DOM-NODE: Dom Node Struct" (inline-letevals (dom-node) (inline-quote (progn (treemacs-walk-dom-exclusive ,dom-node (lambda (it) (treemacs-dom-node->remove-from-dom! it))) (setf (treemacs-dom-node->children ,dom-node) nil (treemacs-dom-node->reentry-nodes ,dom-node) nil))))) (define-inline treemacs--on-collapse-of-node-without-children (dom-node) "Run when a DOM-NODE without any children is collapsed. Will remove DOm-NODE from its parent's reentry list. DOM-NODE: Dom Node Struct" (inline-letevals (dom-node) (inline-quote (let ((parent-dom-node (treemacs-dom-node->parent ,dom-node))) (when parent-dom-node (setf (treemacs-dom-node->reentry-nodes parent-dom-node) (delete ,dom-node (treemacs-dom-node->reentry-nodes parent-dom-node)))))))) (define-inline treemacs--on-collapse-of-node-with-children (dom-node) "Run when a DOM-NODE with children is collapsed. Will remove all entries below the one collapsed from the dom. DOM-NODE: Dom Node Struct" (inline-letevals (dom-node) (inline-quote (progn (treemacs-walk-dom-exclusive ,dom-node (lambda (it) (treemacs-dom-node->remove-from-dom! it) (setf (treemacs-dom-node->children it) nil))) (setf (treemacs-dom-node->children ,dom-node) nil))))) (defun treemacs--on-rename (old-name new-name dont-rename-initial) "Renames dom entries after a file was renamed from OLD-NAME to NEW-NAME. Renames the initial dom entry (the one backing the file that was actually renamed) only if DONT-RENAME-INITIAL is nil in case the entry is required for filewatch-mode to work. OLD-NAME: File Path | Tag Path NEW-NAME: File Path | Tag Path DONT-RENAME-INITIAL: Boolean" (-when-let (dom-node (treemacs-find-in-dom old-name)) (-let [migrate-keys (lambda (it) (let* ((old-key (treemacs-dom-node->key it)) (new-key (cond ((stringp old-key) (s-replace old-name new-name old-key)) ((and (consp old-key) (stringp (car old-key))) (cons (s-replace old-name new-name (car old-key)) (cdr old-key)))))) (when new-key (ht-remove! treemacs-dom old-key) (ht-set! treemacs-dom new-key it) (setf (treemacs-dom-node->key it) new-key))))] ;; when filewatch is enabled the acutally renamed file needs to keep ;; its dom entry until refresh actually runs so it can be deleted properly (if dont-rename-initial (progn (treemacs-walk-reentry-dom-exclusive dom-node migrate-keys) (treemacs-walk-dom-exclusive dom-node migrate-keys)) (treemacs-walk-dom dom-node migrate-keys) (treemacs-walk-reentry-dom dom-node migrate-keys))))) (defun treemacs-walk-dom (node fn) "Recursively walk the dom starting at NODE. Calls FN on every node encountered in a depth-first pattern, starting with the deepest. This assures that FN may destructively modify the dom, at least on levels the one currently visiting. NODE: Dom Node Struct FN: (Dom Node) -> Any" (declare (indent 1)) (-let [children (treemacs-dom-node->children node)] (funcall fn node) (dolist (it children) (treemacs-walk-dom it fn)))) (defun treemacs-walk-dom-exclusive (node fn) "Same as `treemacs-walk-dom', but start NODE will not be passed to FN. NODE: Dom Node Struct FN: (Dom Node) -> Any" (declare (indent 1)) (dolist (it (treemacs-dom-node->children node)) (treemacs-walk-dom it fn))) (defun treemacs-walk-reentry-dom (node fn) "Recursively walk the dom starting at NODE. Unlike `treemacs-walk-dom' only expanded nodes are selected. Calls FN on every node encountered in a depth-first pattern, starting with the deepest. This assures that FN may destructively modify the dom, at least on levels the one currently visiting. NODE: Dom Node Struct FN: (Dom Node) -> Any" (declare (indent 1)) (funcall fn node) (dolist (it (treemacs-dom-node->reentry-nodes node)) (treemacs-walk-reentry-dom it fn))) (defun treemacs-walk-reentry-dom-exclusive (node fn) "Same as `treemacs-walk-reentry-dom', but start NODE will not be passed to FN. NODE: Dom Node Struct FN: (Dom Node) -> Any" (declare (indent 1)) (dolist (it (treemacs-dom-node->reentry-nodes node)) (treemacs-walk-reentry-dom it fn))) (provide 'treemacs-dom) ;;; treemacs-dom.el ends here treemacs-3.2/src/elisp/treemacs-extensions.el000066400000000000000000000637151476710620300214300ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; API required for writing extensions for/with treemacs. ;;; Code: (require 'dash) (require 's) (require 'treemacs-rendering) (require 'treemacs-core-utils) (require 'treemacs-fringe-indicator) (require 'treemacs-mouse-interface) (eval-when-compile (require 'treemacs-macros) (require 'cl-lib)) (treemacs-import-functions-from "treemacs-mode" treemacs-mode) (treemacs-import-functions-from "treemacs-rendering" treemacs--insert-root-separator) (treemacs-import-functions-from "treemacs-visuals" treemacs--get-indentation) (defmacro treemacs--build-extension-addition (name) "Internal building block. Creates a `treemacs-define-${NAME}-extension' function and the necessary helpers." (let ((define-function-name (intern (s-lex-format "treemacs-define-${name}-extension"))) (top-extension-point (intern (s-lex-format "treemacs--${name}-top-extensions"))) (bottom-extension-point (intern (s-lex-format "treemacs--${name}-bottom-extensions")))) `(progn (defvar ,top-extension-point nil) (defvar ,bottom-extension-point nil) (cl-defun ,define-function-name (&key extension predicate position) ,(s-lex-format "Define an extension of type `${name}' for treemacs to use. EXTENSION is an extension function, as created by `treemacs-define-expandable-node' when a `:root' argument is given. PREDICATE is a function that will be called to determine whether the extension should be displayed. It is invoked with a single argument, which is the treemacs project struct that is being expanded. All methods that can be invoked on this type start with the `treemacs-project->' prefix. POSITION is either `top' or `bottom', indicating whether the extension should be rendered as the first or last element of a project. See also `treemacs-remove-${name}-extension'.") (-let [cell (cons extension predicate)] (pcase position ('top (add-to-list ',top-extension-point cell)) ('bottom (add-to-list ',bottom-extension-point cell)) (other (error "Invalid extension position value `%s'" other))) t))))) (defmacro treemacs--build-extension-removal (name) "Internal building block. Creates a `treemacs-remove-${NAME}-extension' function and the necessary helpers." (let ((remove-function-name (intern (s-lex-format "treemacs-remove-${name}-extension"))) (top-extension-point (intern (s-lex-format "treemacs--${name}-top-extensions"))) (bottom-extension-point (intern (s-lex-format "treemacs--${name}-bottom-extensions")))) `(progn (cl-defun ,remove-function-name (extension posistion) ,(s-lex-format "Remove an EXTENSION of type `${name}' at a given POSITION. See also `treemacs-define-${name}-extension'.") (pcase posistion ('top (setq ,top-extension-point (--reject (equal extension (car it)) ,top-extension-point))) ('bottom (setq ,bottom-extension-point (--reject (equal extension (car it)) ,bottom-extension-point))) (other (error "Invalid extension position value `%s'" other))) t)))) (defmacro treemacs--build-extension-application (name) "Internal building block. Creates treemacs--apply-${NAME}-top/bottom-extensions functions." (let ((apply-top-name (intern (s-lex-format "treemacs--apply-${name}-top-extensions"))) (apply-bottom-name (intern (s-lex-format "treemacs--apply-${name}-bottom-extensions"))) (top-extension-point (intern (s-lex-format "treemacs--${name}-top-extensions"))) (bottom-extension-point (intern (s-lex-format "treemacs--${name}-bottom-extensions")))) `(progn (defsubst ,apply-top-name (node data) ,(s-lex-format "Apply the top extensions for NODE of type `${name}' Also pass additional DATA to predicate function.") (dolist (cell ,top-extension-point) (let ((extension (car cell)) (predicate (cdr cell))) (when (or (null predicate) (funcall predicate data)) (funcall extension node))))) (defsubst ,apply-bottom-name (node data) ,(s-lex-format "Apply the bottom extensions for NODE of type `${name}' Also pass additional DATA to predicate function.") (dolist (cell ,bottom-extension-point) (let ((extension (car cell)) (predicate (cdr cell))) (when (or (null predicate) (funcall predicate data)) (funcall extension node)))))))) (treemacs--build-extension-addition "project") (treemacs--build-extension-removal "project") (treemacs--build-extension-application "project") (treemacs--build-extension-addition "directory") (treemacs--build-extension-removal "directory") (treemacs--build-extension-application "directory") (treemacs--build-extension-addition "top-level") (treemacs--build-extension-removal "top-level") (define-obsolete-function-alias 'treemacs-define-root-extension #'treemacs-define-top-level-extension "v2.4") (define-obsolete-function-alias 'treemacs-remove-root-extension #'treemacs-remove-top-level-extension "v2.4") ;; slighty non-standard application for root extensions (cl-macrolet ((define-root-extension-application (name variable doc) `(defun ,name (workspace &optional has-previous) ,doc (let ((is-first (not has-previous))) (--each ,variable (let ((extension (car it)) (predicate (cdr it))) (when (or (null predicate) (funcall predicate workspace)) (unless is-first (treemacs--insert-root-separator)) (setq is-first (funcall extension))))) (not is-first))))) (define-root-extension-application treemacs--apply-root-top-extensions treemacs--top-level-top-extensions "Apply the top extensions for NODE of type `root' for the current WORKSPACE. Returns t if extensions were inserted.") (define-root-extension-application treemacs--apply-root-bottom-extensions treemacs--top-level-bottom-extensions "Apply the bottom extensions for NODE of type `root' for the current WORKSPACE. Returns t if extensions were inserted.")) (defsubst treemacs-as-icon (string &rest more-properties) "Turn STRING into an icon for treemacs. Optionally include MORE-PROPERTIES (like `face' or `display')." (declare (indent 1)) (apply #'propertize string 'icon t more-properties)) (cl-defmacro treemacs-render-node (&key icon label-form state face key-form more-properties) "Macro that produces the strings required to render a single treemacs node. Meant to be used as a `:render-action' for `treemacs-define-expandable-node'. ICON is a simple string serving as the node's icon, and must be created with `treemacs-as-icon'. If the icon is for a file you can also use `treemacs-icon-for-file'. LABEL-FORM must return the string that will serve as the node's label text, based on the element that should be rendered being bound as `item'. So for example if rendering a list of buffers RENDER-FORM would look like `(buffer-name item)'. STATE is the symbol that will identify the type of the node. FACE is its face. KEY-FORM is the form that will give the node a unique key, necessary for the node's (and the full custom tree's) ability to stay expanded and visible when the project is refreshed, but also for compatibility and integration with `follow-mode' and `filewatch-mode.' MORE-PROPERTIES is a plist of text properties that can arbitrarily added to the node for quick retrieval later." (treemacs-static-assert (and icon label-form state key-form) "All values except :more-properties and :face are mandatory") `(let* ((path (append (treemacs-button-get node :path) (list ,key-form))) (dom-node (treemacs-dom-node->create! :key path :parent parent-dom-node))) (treemacs-dom-node->insert-into-dom! dom-node) (when parent-dom-node (treemacs-dom-node->add-child! parent-dom-node dom-node)) (list (unless (zerop depth) prefix) ,icon (propertize ,label-form 'button '(t) 'category 'treemacs-button ,@(when face `((quote face) ,face)) :custom t :state ,state :parent node :depth depth :path path :key ,key-form ,@more-properties) (when (zerop depth) (if treemacs-space-between-root-nodes "\n\n" "\n"))))) (cl-defmacro treemacs-define-leaf-node (name icon &key ret-action tab-action mouse1-action visit-action) "Define a type of node that is a leaf and cannot be further expanded. Based on the given NAME this macro will define a `treemacs-${name}-state' state variable and a `treemacs-${name}-icon' icon variable. If the icon should not be static, and should be instead computed every time this node is rendered in its parent's :render-action use \\='dynamic-icon as a value for ICON. The ICON is a string that should be created with `treemacs-as-icon'. If the icon is for a file you can also use `treemacs-icon-for-file'. RET-ACTION, TAB-ACTION and MOUSE1-ACTION are function references that will be invoked when RET or TAB are pressed or mouse1 is double-clicked a node of this type. VISIT-ACTION is used in `treemacs-visit-node-no-split' actions." (declare (indent 1)) (let ((state-name (intern (format "treemacs-%s-state" name))) (icon-name (intern (format "treemacs-%s-icon" name)))) `(progn (defvar ,state-name ',state-name) ,(unless (equal icon (quote 'dynamic-icon)) `(defvar ,icon-name ,icon)) ,(when (or ret-action visit-action) `(treemacs-define-RET-action ,state-name ,(or ret-action '(quote treemacs-visit-node-default)))) ,(when tab-action `(treemacs-define-TAB-action ,state-name ,tab-action)) ,(when mouse1-action `(treemacs-define-doubleclick-action ,state-name ,mouse1-action)) ,(when visit-action `(put ',state-name :treemacs-visit-action ,visit-action)) t))) (cl-defmacro treemacs-define-expandable-node (name &key icon-open icon-closed icon-open-form icon-closed-form render-action query-function ret-action visit-action after-expand after-collapse root-marker root-label root-face root-key-form top-level-marker) "Define a type of node with given NAME that can be further expanded. ICON-OPEN and ICON-CLOSED are strings and must be created by `treemacs-as-icon'. They will be defvar'd as \\='treemacs-icon-${name}-open/closed'. As an alternative to static icons you can also supply ICON-OPEN-FORM and ICON-CLOSED-FORM that will be dynamically executed whenever a new icon is needed. Keep in mind that, since child nodes are first rendered by their parents, an ICON-CLOSED-FORM will need to be repeated in the parent's RENDER-ACTION. QUERY-FUNCTION is a form and will be invoked when the node is expanded. It must provide the list of elements that will be rendered with RENDER-ACTION. RENDER-ACTION is another form that will render the single items provided by QUERY-FUNCTION. For every RENDER-FORM invocation the element to be rendered is bound under the name `item'. The form itself should end in a call to `treemacs-render-node'. RET-ACTION will define what function is called when RET is pressed on this type of node. Only RET, without TAB and mouse1 can be defined since for expandable nodes both TAB and RET should toggle expansion/collapse. VISIT-ACTION is used in `treemacs-visit-node-no-split' actions. AFTER-EXPAND and AFTER-COLLAPSE are optional forms that will be called after a node has been expanded or collapsed. The closed or opened node marker will be visible under the name `node' in their scope. ROOT-MARKER is a simple boolean. It indicates the special case that the node being defined is a top level entry point. When this value is non-nil this macro will create an additional function in the form `treemacs-${NAME}-extension' that can be passed to `treemacs-define-project-extension'. It also means that the following pieces of additional information are required to render this node: ROOT-LABEL is the displayed label of the root node. ROOT-FACE is its face. ROOT-KEY-FORM is the form that will give the root node its unique key, the same way as the KEY-FORM argument in `treemacs-render-node'. TOP-LEVEL-MARKER works much the same way as ROOT-MARKER (and is mutually exclusive with it). The difference is that it declares the node defined here to a top level element with nothing above it, like a project, instead of a top level node *inside* a project. Other than that things work the same. Setting TOP-LEVEL-MARKER will define a function named `treemacs-${NAME}-extension' that can be passed to `treemacs-define-root-extension', and it requires the same additional keys." (declare (indent 1)) ;; TODO(2019/01/29): simplify (treemacs-static-assert (or (when top-level-marker (not root-marker)) (when root-marker (not top-level-marker)) (and (not root-marker) (not top-level-marker))) "Root and top-level markers cannot both be set.") (treemacs-static-assert (and (or icon-open-form icon-open) (or icon-closed-form icon-closed) query-function render-action) "All values (except additional root information) are mandatory") (treemacs-static-assert (or (null icon-open) (null icon-open-form)) ":icon-open and :icon-open-form are mutually exclusive.") (treemacs-static-assert (or (null icon-closed) (null icon-closed-form)) ":icon-closed and :icon-closed-form are mutually exclusive.") (let ((variadic? (equal top-level-marker (quote 'variadic))) (open-icon-name (intern (format "treemacs-icon-%s-open" (symbol-name name)))) (closed-icon-name (intern (format "treemacs-icon-%s-closed" (symbol-name name)))) (open-state-name (intern (format "treemacs-%s-open-state" (symbol-name name)))) (closed-state-name (intern (format "treemacs-%s-closed-state" (symbol-name name)))) (expand-name (intern (format "treemacs-expand-%s" (symbol-name name)))) (collapse-name (intern (format "treemacs-collapse-%s" (symbol-name name)))) (do-expand-name (intern (format "treemacs--do-expand-%s" (symbol-name name)))) (do-collapse-name (intern (format "treemacs--do-collapse-%s" (symbol-name name))))) `(progn ,(when open-icon-name `(defvar ,open-icon-name ,icon-open)) ,(when closed-icon-name `(defvar ,closed-icon-name ,icon-closed)) (defvar ,open-state-name ',open-state-name) (defvar ,closed-state-name ',closed-state-name) (add-to-list 'treemacs--open-node-states ,open-state-name) (add-to-list 'treemacs--closed-node-states ,closed-state-name) (add-to-list 'treemacs-valid-button-states ,closed-state-name) (add-to-list 'treemacs-valid-button-states ,open-state-name) ,(when (or ret-action visit-action) `(progn (treemacs-define-RET-action ,open-state-name ,(or ret-action '(quote treemacs-visit-node-default))) (treemacs-define-RET-action ,closed-state-name ,(or ret-action '(quote treemacs-visit-node-default))))) ,@(when visit-action `((put ',open-state-name :treemacs-visit-action ,visit-action) (put ',closed-state-name :treemacs-visit-action ,visit-action))) (defun ,expand-name (&optional _) ,(format "Expand treemacs nodes of type `%s'." name) (interactive) (treemacs-block (-let [node (treemacs-node-at-point)] (when (null node) (treemacs-return (treemacs-pulse-on-failure "There is nothing to do here."))) (when (not (eq ',closed-state-name (treemacs-button-get node :state))) (treemacs-return (treemacs-pulse-on-failure "This function cannot expand a node of type '%s'." (propertize (format "%s" (treemacs-button-get node :state)) 'face 'font-lock-type-face)))) (,do-expand-name node)))) (defun ,do-expand-name (node) ,(format "Execute expansion of treemacs nodes of type `%s'." name) (let ((items ,query-function) (depth (1+ (treemacs-button-get node :depth))) ;; must be implicitly in scope for calls to `treemacs-render-node' (parent-dom-node (treemacs-find-in-dom (treemacs-button-get node :path)))) (treemacs--button-open :button node :new-state ',open-state-name :new-icon ,(unless variadic? (if icon-open open-icon-name icon-open-form)) :immediate-insert t :open-action (treemacs--create-buttons :nodes items :depth depth :node-name item :node-action ,render-action) :post-open-action (progn (treemacs-on-expand (treemacs-button-get node :path) node) (treemacs--reentry (treemacs-button-get node :path)) ,after-expand)))) (defun ,collapse-name (&optional _) ,(format "Collapse treemacs nodes of type `%s'." name) (interactive) (treemacs-block (-let [node (treemacs-node-at-point)] (when (null node) (treemacs-return (treemacs-pulse-on-failure "There is nothing to do here."))) (when (not (eq ',open-state-name (treemacs-button-get node :state))) (treemacs-return (treemacs-pulse-on-failure "This function cannot collapse a node of type '%s'." (propertize (format "%s" (treemacs-button-get node :state)) 'face 'font-lock-type-face)))) (,do-collapse-name node)))) (defun ,do-collapse-name (node) ,(format "Collapse treemacs nodes of type `%s'." name) (treemacs--button-close :button node :new-state ',closed-state-name :new-icon ,(unless variadic? (if icon-closed closed-icon-name icon-closed-form)) :post-close-action (progn (treemacs-on-collapse (treemacs-button-get node :path)) ,after-collapse))) (treemacs-define-TAB-action ',open-state-name #',collapse-name) (treemacs-define-TAB-action ',closed-state-name #',expand-name) ,(when root-marker (treemacs-static-assert (and root-label root-face root-key-form) ":root-label, :root-face and :root-key-form must be provided when `:root-marker' is non-nil") `(cl-defun ,(intern (format "treemacs-%s-extension" (upcase (symbol-name name)))) (parent) (let* ((depth (1+ (treemacs-button-get parent :depth))) (path (list (or (treemacs-button-get parent :project) (treemacs-button-get parent :key)) ,root-key-form)) (parent-dom-node (treemacs-find-in-dom (treemacs-button-get parent :path))) (new-dom-node (treemacs-dom-node->create! :key path :parent parent-dom-node))) (treemacs-dom-node->insert-into-dom! new-dom-node) (when parent-dom-node (treemacs-dom-node->add-child! parent-dom-node new-dom-node)) (insert "\n" (treemacs--get-indentation depth) ,(if icon-closed closed-icon-name icon-closed-form) (propertize ,root-label 'button '(t) 'category 'treemacs-button 'face ,root-face :custom t :key ,root-key-form :path path :depth depth :no-git t :parent parent :state ,closed-state-name))) nil)) ,(when top-level-marker (treemacs-static-assert (and root-label root-face root-key-form) ":root-label :root-face :root-key-form must be provided when `:top-level-marker' is non-nil") (let ((ext-name (intern (format "treemacs-%s-extension" (upcase (symbol-name name)))))) (put ext-name :defined-in (or load-file-name (buffer-name))) `(progn ,(if variadic? ;; When the extension is variadic it will be managed by a hidden top-level ;; node. Its depth is -1 and it is not visible, but can still be used to update ;; the entire extension without explicitly worrying about complex dom changes. `(defun ,ext-name () (treemacs-with-writable-buffer (save-excursion (let* ((pr (treemacs-project->create! :name ,root-label :path ,root-key-form :path-status 'extension)) (button-start (point-marker)) (dom-node (treemacs-dom-node->create! :key ,root-key-form :position button-start))) (treemacs-dom-node->insert-into-dom! dom-node) (insert (propertize "Hidden Node\n" 'button '(t) 'category 'treemacs-button 'invisible t 'skip t :custom t :key ,root-key-form :path (list :custom ,root-key-form) :depth -1 :project pr :state ,closed-state-name)) (let ((marker (copy-marker (point) t))) (funcall ',do-expand-name button-start) (goto-char marker))))) t) `(progn (defun ,ext-name (&rest _) (treemacs-with-writable-buffer (-let [pr (treemacs-project->create! :name ,root-label :path ,root-key-form :path-status 'extension)] (insert ,(if icon-closed closed-icon-name icon-closed-form)) (insert (propertize ,root-label 'button '(t) 'category 'treemacs-button 'face ,root-face :custom t :key ,root-key-form :path (list :custom ,root-key-form) :depth 0 :project pr :state ,closed-state-name)))) nil))))))))) (cl-defmacro treemacs-define-variadic-node (name &key query-function render-action root-key-form) "Define a variadic top level node with given NAME. The term \"variadic\" means that the node will produce an unknown amount of child nodes when expanded. For example think of an extension that groups buffers based on the major mode, with each major-mode being its own top-level group, so it is not known which (if any) major-mode groupings exist. Works the same as `treemacs-define-expandable-node', so the same restrictions and rules apply for QUERY-FUNCTION, RENDER-ACTION and ROOT-KEY-FORM." (declare (indent 1)) `(treemacs-define-expandable-node ,name :icon-closed "" :icon-open "" :root-label "" :root-face "" :top-level-marker 'variadic :query-function ,query-function :render-action ,render-action :root-key-form ,root-key-form)) (defun treemacs-initialize () "Initialise treemacs in an external buffer for extension use." (treemacs--disable-fringe-indicator) (treemacs-with-writable-buffer (erase-buffer)) ;; make sure the fringe indicator is enabled later, otherwise treemacs attempts ;; to move it right after the `treemacs-mode' call ;; the indicator cannot be created before either since the major-mode activation ;; wipes out buffer-local variables' values (let ((treemacs-fringe-indicator-mode nil) (treemacs--in-this-buffer t)) (treemacs-mode)) (setq-local treemacs--in-this-buffer :extension)) (treemacs-log "The treemacs-extensions module is obsolete, treemacs-treelib should be used instead.") (provide 'treemacs-extensions) ;;; treemacs-extensions.el ends here treemacs-3.2/src/elisp/treemacs-faces.el000066400000000000000000000135051476710620300203020ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Treemacs faces. ;;; Code: (defface treemacs-directory-face '((t :inherit font-lock-function-name-face)) "Face used by treemacs for directories." :group 'treemacs-faces) (defface treemacs-directory-collapsed-face '((t :inherit treemacs-directory-face)) "Face used by treemacs for collapsed directories. This is the face used for the collapsed part of nodes, so if the node is \"foo/bar/baz\", the face is used for \"foo/bar/\". Using this face is incompatible with `treemacs-git-mode' (exept for the simple variant), so it will only be used if git-mode is disabled or set to simple." :group 'treemacs-faces) (defface treemacs-window-background-face '((t :inherit default)) "Face used for the background of the treemacs window." :group 'treemacs-faces) (defface treemacs-hl-line-face '((t :inherit hl-line)) "Face used for the hl-line selection in the treemacs window." :group 'treemacs-faces) (defface treemacs-file-face '((t :inherit default)) "Face used by treemacs for files." :group 'treemacs-faces) (defface treemacs-root-face '((t :inherit font-lock-constant-face :underline t :bold t :height 1.2)) "Face used by treemacs for its root nodes." :group 'treemacs-faces) (defface treemacs-root-unreadable-face '((t :inherit treemacs-root-face :strike-through t)) "Face used by treemacs for unreadable root nodes." :group 'treemacs-faces) (defface treemacs-root-remote-face '((t :inherit (font-lock-function-name-face treemacs-root-face))) "Face used by treemacs for remote (Tramp) root nodes." :group 'treemacs-faces) (defface treemacs-root-remote-unreadable-face '((t :inherit treemacs-root-unreadable-face)) "Face used by treemacs for unreadable remote (Tramp) root nodes." :group 'treemacs-faces) (defface treemacs-root-remote-disconnected-face '((t :inherit (warning treemacs-root-remote-face))) "Face used by treemacs for disconnected remote (Tramp) root nodes." :group 'treemacs-faces) (defface treemacs-term-node-face '((t :inherit font-lock-string-face)) "Face used by treemacs in the terminal for directory node symbols." :group 'treemacs-faces) (defface treemacs-git-unmodified-face '((t :inherit treemacs-file-face)) "Face used for unmodified files." :group 'treemacs-faces) (defface treemacs-git-modified-face '((t :inherit font-lock-variable-name-face)) "Face used for modified files." :group 'treemacs-faces) (defface treemacs-git-renamed-face '((t :inherit font-lock-doc-face)) "Face used for renamed files." :group 'treemacs-faces) (defface treemacs-git-ignored-face '((t :inherit font-lock-comment-face)) "Face for ignored files." :group 'treemacs-faces) (defface treemacs-git-untracked-face '((t :inherit font-lock-string-face)) "Face for untracked files." :group 'treemacs-faces) (defface treemacs-git-added-face '((t :inherit font-lock-type-face)) "Face for newly added files." :group 'treemacs-faces) (defface treemacs-git-conflict-face '((t :inherit error)) "Face for conflicting files." :group 'treemacs-faces) (defface treemacs-tags-face '((t :inherit font-lock-builtin-face)) "Face for tags." :group 'treemacs-faces) (defface treemacs-help-title-face `((t :inherit ,(if (facep 'spacemacs-transient-state-title-face) 'spacemacs-transient-state-title-face 'font-lock-constant-face))) "Face for the title of the helpful hydra." :group 'treemacs-faces) (defface treemacs-help-column-face '((t :inherit font-lock-keyword-face :underline t)) "Face for column headers of the helpful hydra." :group 'treemacs-faces) (defface treemacs-on-failure-pulse-face '((t :foreground "#111111" :background "#ab3737" :extend t)) "Pulse face used when an error occurs or an action fails." :group 'treemacs-faces) (defface treemacs-on-success-pulse-face '((t :foreground "#111111" :background "#669966" :extend t)) "Pulse face used to signal a successful action." :group 'treemacs-faces) (defface treemacs-fringe-indicator-face `((t :foreground ,(face-background 'cursor nil t))) "Face for the fringe indicator." :group 'treemacs-faces) (defface treemacs-header-button-face '((t :inherit 'font-lock-keyword-face)) "Face used for header buttons. Applies to buttons like - `treemacs-header-close-button' - `treemacs-header-projects-button' - `treemacs-header-workspace-button'" :group 'treemacs-faces) (defface treemacs-peek-mode-indicator-face '((t :background "#669966")) "Face used to indicate that `treemacs-peek-mode' is enabled." :group 'treemacs-faces) (defface treemacs-marked-file-face '((t :foreground "#F0C674" :background "#AB3737" :bold t)) "Face for files marked by treemacs." :group 'treemacs-faces) (defface treemacs-git-commit-diff-face '((t :inherit 'font-lock-comment-face)) "Face for `treemacs-git-commit-diff-mode' annotations." :group 'treemacs-faces) (defface treemacs-async-loading-face '((t :inherit 'font-lock-comment-face :height 0.8)) "Face used for the \"Loading…\" string used by asynchronous extensions." :group 'treemacs-faces) (provide 'treemacs-faces) ;;; treemacs-faces.el ends here treemacs-3.2/src/elisp/treemacs-file-management.el000066400000000000000000000570431476710620300222570ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Everything related to file management. ;; NOTE: This module is lazy-loaded. ;;; Code: (require 'dash) (require 'hydra) (require 'treemacs-core-utils) (require 'treemacs-visuals) (require 'treemacs-filewatch-mode) (require 'treemacs-logging) (require 'treemacs-rendering) (require 'treemacs-annotations) (require 'treemacs-async) (eval-when-compile (require 'inline) (require 'treemacs-macros)) (declare-function string-join "subr-x.el") (defconst treemacs--mark-annotation-source "treemacs-marked-paths") (defvar-local treemacs--marked-paths nil) (with-eval-after-load 'recentf (declare-function recentf-remove-if-non-kept "recentf") (declare-function treemacs--remove-from-recentf-after-move/rename "treemacs-file-management") (defun treemacs--remove-from-recentf-after-move/rename (path _) "Remove PATH from recentf after the file was moved or renamed." (recentf-remove-if-non-kept path)) (add-hook 'treemacs-rename-file-functions #'treemacs--remove-from-recentf-after-move/rename) (add-hook 'treemacs-move-file-functions #'treemacs--remove-from-recentf-after-move/rename) (add-hook 'treemacs-delete-file-functions #'recentf-remove-if-non-kept)) (defconst treemacs--file-node-states '(file-node-open file-node-closed dir-node-open dir-node-closed) "List of node states treemacs is able to rename/delete etc.") (define-inline treemacs--is-node-file-manageable? (btn) "Determines whether BTN is a file node treemacs can rename/delete." (declare (side-effect-free t)) (inline-letevals (btn) (inline-quote (memq (treemacs-button-get ,btn :state) treemacs--file-node-states)))) ;;;###autoload (defun treemacs-delete-file (&optional arg) "Delete node at point. A delete action must always be confirmed. Directories are deleted recursively. By default files are deleted by moving them to the trash. With a prefix ARG they will instead be wiped irreversibly." (interactive "P") (treemacs-block (treemacs-unless-let (btn (treemacs-current-button)) (treemacs-pulse-on-failure "Nothing to delete here.") (treemacs-error-return-if (not (memq (treemacs-button-get btn :state) '(file-node-open file-node-closed dir-node-open dir-node-closed))) "Only files and directories can be deleted.") (treemacs--without-filewatch (let* ((delete-by-moving-to-trash (not arg)) (path (treemacs--select-file-from-btn btn "Delete: ")) (file-name (propertize (treemacs--filename path) 'face 'font-lock-string-face))) (cond ((file-symlink-p path) (if (yes-or-no-p (format "Remove link '%s -> %s' ? " file-name (propertize (file-symlink-p path) 'face 'font-lock-face))) (delete-file path delete-by-moving-to-trash) (treemacs-return (treemacs-log "Cancelled.")))) ((file-regular-p path) (if (yes-or-no-p (format "Delete '%s' ? " file-name)) (delete-file path delete-by-moving-to-trash) (treemacs-return (treemacs-log "Cancelled.")))) ((file-directory-p path) (if (yes-or-no-p (format "Recursively delete '%s' ? " file-name)) (delete-directory path t delete-by-moving-to-trash) (treemacs-return (treemacs-log "Cancelled.")))) (t (treemacs-error-return (treemacs-pulse-on-failure "Item is neither a file, a link or a directory - treemacs does not know how to delete it. (Maybe it no longer exists?)")))) (treemacs--on-file-deletion path) (treemacs-without-messages (treemacs-run-in-every-buffer (treemacs-delete-single-node path))) (run-hook-with-args 'treemacs-delete-file-functions path) (treemacs-log "Deleted %s." (propertize path 'face 'font-lock-string-face)))) (treemacs--evade-image)))) (defalias 'treemacs-delete #'treemacs-delete-file) (make-obsolete #'treemacs-delete #'treemacs-delete-file "v2.9.3") ;;;###autoload (defun treemacs-delete-marked-files (&optional arg) "Delete all marked files. A delete action must always be confirmed. Directories are deleted recursively. By default files are deleted by moving them to the trash. With a prefix ARG they will instead be wiped irreversibly. For marking files see `treemacs-bulk-file-actions'." (interactive "P") (treemacs-block (let ((delete-by-moving-to-trash (not arg)) (to-delete (-filter #'file-exists-p treemacs--marked-paths))) (treemacs-error-return-if (null treemacs--marked-paths) "There are no marked files") (unless (yes-or-no-p (format "Really delete %s marked files?" (length to-delete))) (treemacs-return (treemacs-log "Cancelled."))) (treemacs--without-filewatch (dolist (path to-delete) ;; 2nd check in case of recursive deletes (when (file-exists-p path) (cond ((or (file-symlink-p path) (file-regular-p path)) (delete-file path delete-by-moving-to-trash)) ((file-directory-p path) (delete-directory path t delete-by-moving-to-trash)))) (treemacs--on-file-deletion path) (treemacs-without-messages (treemacs-run-in-every-buffer (treemacs-delete-single-node path))) (run-hook-with-args 'treemacs-delete-file-functions path)) (treemacs--evade-image) (setf treemacs--marked-paths (-difference treemacs--marked-paths to-delete)) (treemacs-log "Deleted %s files." (length to-delete)))))) ;;;###autoload (defun treemacs-move-file () "Move file (or directory) at point. If the selected target is an existing directory the source file will be directly moved into this directory. If the given target instead does not exist then it will be treated as the moved file's new name, meaning the original source file will be both moved and renamed." (interactive) (treemacs--copy-or-move :action 'move :no-node-msg "There is nothing to move here." :wrong-type-msg "Only files and directories can be moved." :action-fn #'rename-file :prompt "Move to: " :flat-prompt "File to copy: " :finish-verb "Moved")) ;;;###autoload (defun treemacs-copy-file () "Copy file (or directory) at point. If the selected target is an existing directory the source file will be directly copied into this directory. If the given target instead does not exist then it will be treated as the copied file's new name, meaning the original source file will be both copied and renamed." (interactive) (treemacs--copy-or-move :action 'copy :no-node-msg "There is nothing to move here." :wrong-type-msg "Only files and directories can be copied." :action-fn (lambda (from to) (if (file-directory-p from) (copy-directory from to) (copy-file from to))) :prompt "Copy to: " :flat-prompt "File to copy: " :finish-verb "Copied")) (cl-defun treemacs--copy-or-move (&key action no-node-msg wrong-type-msg action-fn prompt flat-prompt finish-verb) "Internal implementation for copying and moving files. ACTION: either `copy' or `move' NO-NODE-MSG: error message in case there is no node in the current line WRONG-TYPE-MSG: error message in case current node is not a file ACTION-FN: function to actually copy or move a file PROMPT: prompt to read the target directory FLAT-PROMPT: prompt to select source file when node is flattened FINISH-VERB: finisher for the success message." (treemacs-block (let ((btn (treemacs-current-button))) (treemacs-error-return-if (null btn) no-node-msg) (treemacs-error-return-if (not (memq (treemacs-button-get btn :state) '(file-node-open file-node-closed dir-node-open dir-node-closed))) wrong-type-msg) (let* ((source (treemacs--select-file-from-btn btn flat-prompt)) (destination (treemacs--canonical-path (read-directory-name prompt nil default-directory))) (destination-dir (if (file-directory-p destination) destination (treemacs--parent-dir destination))) (target-name (treemacs--filename (if (file-directory-p destination) source destination))) (target (->> target-name (treemacs-join-path destination-dir) (treemacs--find-repeated-file-name)))) (unless (file-exists-p destination-dir) (make-directory destination-dir :parents)) (when (eq action 'move) ;; do the deletion *before* moving the file, otherwise it will ;; no longer exist and treemacs will not recognize it as a file path (treemacs-do-delete-single-node source)) (treemacs--without-filewatch (funcall action-fn source target)) (pcase action ('move (run-hook-with-args 'treemacs-copy-file-functions source target) (treemacs--on-file-deletion source)) ('copy (run-hook-with-args 'treemacs-move-file-functions source target) (treemacs-remove-annotation-face source "treemacs-marked-paths"))) (treemacs-update-node destination-dir) (when (treemacs-is-path target :in-workspace) (treemacs-goto-file-node target)) (treemacs-pulse-on-success "%s %s to %s" finish-verb (propertize (treemacs--filename target) 'face 'font-lock-string-face) (propertize destination-dir 'face 'font-lock-string-face)))))) ;;;###autoload (defun treemacs-move-marked-files () "Move all marked files. For marking files see `treemacs-bulk-file-actions'." (interactive) (treemacs--bulk-copy-or-move :action 'move :action-fn #'rename-file :prompt "Move to: " :finish-verb "Moved")) ;;;###autoload (defun treemacs-copy-marked-files () "Copy all marked files. For marking files see `treemacs-bulk-file-actions'." (interactive) (treemacs--bulk-copy-or-move :action 'copy :action-fn (lambda (from to) (if (file-directory-p from) (copy-directory from to) (copy-file from to))) :prompt "Copy to: " :finish-verb "Copied")) (cl-defun treemacs--bulk-copy-or-move (&key action action-fn prompt finish-verb) "Internal implementation for bulk-copying and -moving files. ACTION: either `copy' or `move' ACTION-FN: function to actually copy or move a file PROMPT: prompt to read the target directory FINISH-VERB: finisher for the success message." (treemacs-block (let* ((to-move (-filter #'file-exists-p treemacs--marked-paths)) (destination-dir (treemacs--canonical-path (read-directory-name prompt nil default-directory))) (projects (->> to-move (-map #'treemacs--find-project-for-path) (cl-remove-duplicates) (-filter #'identity)))) (treemacs-save-position (dolist (source to-move) (let ((target (->> source (treemacs--filename) (treemacs-join-path destination-dir) (treemacs--find-repeated-file-name)))) (unless (string= source target) (unless (file-exists-p destination-dir) (make-directory destination-dir :parents)) (when (eq action 'move) ;; do the deletion *before* moving the file, otherwise it will ;; no longer exist and treemacs will not recognize it as a file path (treemacs-do-delete-single-node source)) (treemacs--without-filewatch (funcall action-fn source target)) (pcase action ('move (run-hook-with-args 'treemacs-copy-file-functions source target) (treemacs--on-file-deletion source)) ('copy (run-hook-with-args 'treemacs-move-file-functions source target) (treemacs-remove-annotation-face source "treemacs-marked-paths")))))) (dolist (project projects) (treemacs-project->refresh! project))) (when (treemacs-is-path destination-dir :in-workspace) (treemacs-goto-file-node destination-dir)) (setf treemacs--marked-paths (-difference treemacs--marked-paths to-move)) (treemacs-pulse-on-success "%s %s files to %s" finish-verb (propertize (number-to-string (length to-move)) 'face 'font-lock-constant-face) (propertize destination-dir 'face 'font-lock-string-face))))) ;;;###autoload (cl-defun treemacs-rename-file () "Rename the file/directory at point. Buffers visiting the renamed file or visiting a file inside the renamed directory and windows showing them will be reloaded. The list of recent files will likewise be updated." (interactive) (treemacs-block (treemacs-unless-let (btn (treemacs-current-button)) (treemacs-pulse-on-failure "Nothing to rename here.") (-let [old-path (treemacs--select-file-from-btn btn "Rename: ")] (treemacs-error-return-if (null old-path) "Found nothing to rename here.") (treemacs-error-return-if (not (treemacs--is-node-file-manageable? btn)) "Only files and directories can be deleted.") (treemacs-error-return-if (not (file-exists-p old-path)) "The file to be renamed does not exist.") (let* ((old-name (treemacs--filename old-path)) (new-name (treemacs--read-string "New name: " (file-name-nondirectory old-path))) (dir (treemacs--parent-dir old-path)) (new-path (treemacs-join-path dir new-name)) (parent (treemacs-button-get btn :parent))) (treemacs-error-return-if (and (file-exists-p new-path) (or (not (eq 'darwin system-type)) (not (string= old-name new-name)))) "A file named %s already exists." (propertize new-name 'face font-lock-string-face)) (treemacs--without-filewatch (rename-file old-path new-path) (treemacs--replace-recentf-entry old-path new-path) (-let [treemacs-silent-refresh t] (treemacs-run-in-every-buffer (treemacs--on-rename old-path new-path treemacs-filewatch-mode) ;; save-excursion does not work for whatever reason (-let [p (point)] (treemacs-do-update-node (treemacs-button-get parent :path)) (goto-char p))))) (treemacs--reload-buffers-after-rename old-path new-path) (run-hook-with-args 'treemacs-rename-file-functions old-path new-path) (treemacs-pulse-on-success "Renamed %s to %s." (propertize (treemacs--filename old-path) 'face font-lock-string-face) (propertize new-name 'face font-lock-string-face))))))) (defalias 'treemacs-rename #'treemacs-rename-file) (make-obsolete #'treemacs-rename #'treemacs-rename-file "v2.9.3") ;;; Bulk Actions ;;;###autoload (defun treemacs-show-marked-files () "Print a list of all files marked by treemacs." (interactive) (let* ((len (length treemacs--marked-paths)) (message (pcase len (0 "There are currently no marked files.") (1 (format "There is currently 1 marked file:\n%s" (car treemacs--marked-paths))) (_ (format "There are currently %s marked files:\n%s" len (string-join treemacs--marked-paths "\n")))))) (treemacs-log message))) ;;;###autoload (defun treemacs-mark-or-unmark-path-at-point () "Mark or unmark the absolute path of the node at point." (interactive) (treemacs-block (-let [path (treemacs--prop-at-point :path)] (treemacs-error-return-if (null path) "There is nothing to mark here") (treemacs-error-return-if (or (not (stringp path)) (not (file-exists-p path))) "Path at point is not a file or directory.") (if (member path treemacs--marked-paths) (progn (setq treemacs--marked-paths (remove path treemacs--marked-paths)) (treemacs-log "Unmarked path: %s" (propertize path 'face 'font-lock-string-face)) (treemacs-remove-annotation-face path "treemacs-marked-paths")) (progn (setq treemacs--marked-paths (append treemacs--marked-paths (list path))) (treemacs-log "Marked path: %s" (propertize path 'face 'font-lock-string-face)) (treemacs-set-annotation-face path 'treemacs-marked-file-face "treemacs-marked-paths"))) (treemacs-apply-annotations (treemacs--parent-dir path))))) ;;;###autoload (defun treemacs-reset-marks () "Unmark all previously marked files in the current buffer." (interactive) (let ((count (length treemacs--marked-paths)) (projects)) (dolist (path treemacs--marked-paths) (treemacs-remove-annotation-face path treemacs--mark-annotation-source) (push (treemacs--find-project-for-path path) projects)) (setf treemacs--marked-paths nil) (dolist (project (-uniq projects)) (treemacs-apply-annotations (treemacs-project->path project))) (treemacs-pulse-on-success "Unmarked %s file(s)." count))) ;;;###autoload (defun treemacs-delete-marked-paths () "Delete all previously marked files." (interactive) (treemacs-save-position (when (yes-or-no-p (format "Really delete %s marked file(s)?" (length treemacs--marked-paths))) (-let [count (length treemacs--marked-paths)] (dolist (path treemacs--marked-paths) (if (file-directory-p path) (delete-directory path t) (delete-file path)) (treemacs-do-delete-single-node path) (treemacs-remove-annotation-face path treemacs--mark-annotation-source)) (setf treemacs--marked-paths nil) (hl-line-highlight) (treemacs-log "Deleted %s files." count))))) ;; shut down docstring width warnings (with-no-warnings (defhydra treemacs-bulk-file-actions-hydra (:exit t :hint nil) ("m" #'treemacs-mark-or-unmark-path-at-point "(un)mark") ("u" #'treemacs-reset-marks "unmark all") ("s" #'treemacs-show-marked-files "show") ("d" #'treemacs-delete-marked-files "delete") ("c" #'treemacs-copy-marked-files "copy") ("o" #'treemacs-move-marked-files "move") ("q" nil "cancel"))) ;;;###autoload (defun treemacs-bulk-file-actions () "Activate the bulk file actions hydra. This interface allows to quickly (unmark) files, so as to copy, move or delete them in bulk. Note that marking files is *permanent*, files will stay marked until they are either manually unmarked or deleted. You can show a list of all currently marked files with `treemacs-show-marked-files' or `s' in the hydra." (interactive) (treemacs-bulk-file-actions-hydra/body)) ;;;###autoload (defun treemacs-create-file () "Create a new file. Enter first the directory to create the new file in, then the new file's name. The pre-selection for what directory to create in is based on the \"nearest\" path to point - the containing directory for tags and files or the directory itself, using $HOME when there is no path at or near point to grab." (interactive) (treemacs--create-file/dir t)) ;;;###autoload (defun treemacs-create-dir () "Create a new directory. Enter first the directory to create the new dir in, then the new dir's name. The pre-selection for what directory to create in is based on the \"nearest\" path to point - the containing directory for tags and files or the directory itself, using $HOME when there is no path at or near point to grab." (interactive) (treemacs--create-file/dir nil)) (defun treemacs--create-file/dir (is-file?) "Interactively create either a file or directory, depending on IS-FILE. IS-FILE?: Bool" (interactive) (let* ((curr-path (treemacs--select-file-from-btn (treemacs-current-button) "Create in: " :dir-only)) (path-to-create (treemacs-canonical-path (read-file-name (if is-file? "Create File: " "Create Directory: ") (treemacs--add-trailing-slash (if (file-directory-p curr-path) curr-path (treemacs--parent-dir curr-path))))))) (treemacs-block (treemacs-error-return-if (file-exists-p path-to-create) "%s already exists." (propertize path-to-create 'face 'font-lock-string-face)) (treemacs--without-filewatch (if is-file? (-let [dir (treemacs--parent-dir path-to-create)] (unless (file-exists-p dir) (make-directory dir t)) (write-region "" nil path-to-create nil 0)) (make-directory path-to-create t)) (run-hook-with-args 'treemacs-create-file-functions path-to-create)) (-when-let (project (treemacs--find-project-for-path path-to-create)) (-when-let* ((created-under (treemacs--parent path-to-create)) (created-under-btn (treemacs-find-visible-node created-under))) ;; update only the part that changed to keep things smooth ;; for files that's just their parent, for directories we have to take ;; flattening into account (-let [path-to-update (if (treemacs-button-get created-under-btn :collapsed) (treemacs-button-get (treemacs-button-get created-under-btn :parent) :path) (treemacs-button-get created-under-btn :path))] (treemacs-update-node path-to-update) (when (treemacs--non-simple-git-mode-enabled) (treemacs-update-single-file-git-state path-to-update)))) (treemacs-goto-file-node path-to-create project) (recenter)) (treemacs-pulse-on-success "Created %s." (propertize path-to-create 'face 'font-lock-string-face))))) (defun treemacs--select-file-from-btn (btn prompt &optional dir-only) "Select the file at BTN for file management. Offer a specifying dialogue with PROMPT when the button is flattened. Pick only directories when DIR-ONLY is non-nil." (declare (side-effect-free t)) (let* ((path (and btn (treemacs-button-get btn :path))) (collapse-info (and btn (treemacs-button-get btn :collapsed))) (is-str (and path (stringp path))) (is-dir (and is-str (file-directory-p path))) (is-file (and is-str (file-regular-p path)))) (cond (collapse-info (completing-read prompt collapse-info nil :require-match)) (is-dir path) ((and is-file dir-only) (treemacs--parent-dir path)) (is-file path) (t (expand-file-name "~"))))) (provide 'treemacs-file-management) ;;; treemacs-file-management.el ends here treemacs-3.2/src/elisp/treemacs-filewatch-mode.el000066400000000000000000000342441476710620300221140ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; File event watch and reaction implementation. ;; Open directories are put under watch and file changes event ;; collected even if filewatch-mode is disabled. This allows to ;; remove deleted files from all the caches they are in. Activating ;; filewatch-mode will therefore only enable automatic refresh of ;; treemacs buffers. ;;; Code: (require 'dash) (require 's) (require 'ht) (require 'filenotify) (require 'treemacs-core-utils) (require 'treemacs-async) (require 'treemacs-dom) (require 'treemacs-rendering) (eval-when-compile (require 'treemacs-macros) (require 'inline)) (defvar treemacs--collapsed-filewatch-index (make-hash-table :size 100 :test #'equal) "Keeps track of dirs under filewatch due to being collapsed into one. Collapsed directories require special handling since all directories of a series need to be put under watch so as to be notified when the collapsed structure needs to change, but removing the file watch is not straightforward: Assume a series of directories are collapsed into one as \"/c1/c2/c3/c4\" and a new file is created in \"/c1/c2\". A refresh is started and only \"/c1/c2\" is collapsed now, c3 and c4 are no longer part of the treemacs view and must be removed from the filewatch list. However the event that triggered the refresh was one of a file being created, so it is not possible to know that c3 and c4 need to stop being watched unless one also knows that they and c2 are under file watch because they have been collapsed. This is why this hash is used to keep track of collapsed directories under file watch.") (defvar treemacs--filewatch-index (make-hash-table :size 100 :test 'equal) "Hash of all directories being watched for changes. A file path is the key, the value is a cons, its car is a list of the treemacs buffers watching that path, its cdr is the watch descriptor.") (defvar treemacs--refresh-timer nil "Timer that will run a refresh after `treemacs-file-event-delay' ms. Stored here to allow it to be cancelled by a manual refresh.") (define-inline treemacs--start-filewatch-timer () "Start the filewatch timer if it is not already running." (inline-quote (unless treemacs--refresh-timer (setf treemacs--refresh-timer (run-with-timer (/ treemacs-file-event-delay 1000) nil #'treemacs--process-file-events))))) (define-inline treemacs--cancel-refresh-timer () "Cancel a the running refresh timer if it is active." (inline-quote (when treemacs--refresh-timer (cancel-timer treemacs--refresh-timer) (setq treemacs--refresh-timer nil)))) (define-inline treemacs--start-watching (path &optional collapse) "Watch PATH for file system events. Assumes to be run in the treemacs buffer as it will set PATH to be watched by `current-buffer'. Also add PATH to `treemacs--collapsed-filewatch-index' when COLLAPSE is non-nil. PATH: Filepath COLLAPSE: Bool" (inline-letevals (path collapse) (inline-quote (progn (when ,collapse (ht-set! treemacs--collapsed-filewatch-index ,path t)) (-if-let (watch-info (ht-get treemacs--filewatch-index ,path)) ;; just add current buffer to watch list if path is watched already (unless (memq (current-buffer) (car watch-info)) (setcar watch-info (cons (current-buffer) (car watch-info)))) ;; if the Tramp connection does not support watches, don't show an error ;; every time a watch is started. (treemacs-with-ignored-errors ((file-notify-error "No file notification program found")) ;; make new entry otherwise and set a new watcher (ht-set! treemacs--filewatch-index ,path (cons (list (current-buffer)) (file-notify-add-watch ,path '(change) #'treemacs--filewatch-callback))))))))) (define-inline treemacs--stop-watching (path &optional all) "Stop watching PATH for file events. This also means stopping the watch over all dirs below path. Must be called inside the treemacs buffer since it will remove `current-buffer' from PATH's watch list. Does not apply if this is called in reaction to a file being deleted. In this case ALL is t and all buffers watching PATH will be removed from the filewatch hashes. PATH: Filepath ALL: Bool" (inline-letevals (path all) (inline-quote (let (to-remove) (treemacs--maphash treemacs--filewatch-index (watched-path watch-info) (when (treemacs-is-path watched-path :in ,path) (let ((watching-buffers (car watch-info)) (watch-descr (cdr watch-info))) (if ,all (progn (file-notify-rm-watch watch-descr) (ht-remove! treemacs--collapsed-filewatch-index watched-path) (push watched-path to-remove)) (when (memq (current-buffer) watching-buffers) (if (cdr watching-buffers) (setcar watch-info (delq (current-buffer) watching-buffers)) (file-notify-rm-watch watch-descr) (ht-remove! treemacs--collapsed-filewatch-index watched-path) (push watched-path to-remove))))))) (dolist (it to-remove) (ht-remove! treemacs--filewatch-index it)))))) (define-inline treemacs--is-event-relevant? (event) "Decide if EVENT is relevant to treemacs or should be ignored. An event counts as relevant when 1) The event's action is not \"stopped\". 2) The event's action is not \"changed\" while `treemacs-git-mode' is disabled 3) The event's file will not return t when given to any of the functions which are part of `treemacs-ignored-file-predicates'." (declare (side-effect-free t)) (inline-letevals (event) (inline-quote (when (with-no-warnings treemacs-filewatch-mode) (let ((action (cadr ,event))) (not (or (eq action 'stopped) (and (eq action 'changed) (not treemacs-git-mode)) (and treemacs-hide-gitignored-files-mode (let* ((file (caddr ,event)) (parent (treemacs--parent-dir file)) (cache (ht-get treemacs--git-cache parent))) (and cache (eq 'treemacs-git-ignored-face (ht-get cache file))))) (let* ((dir (caddr ,event)) (filename (treemacs--filename dir))) (--any? (funcall it filename dir) treemacs-ignored-file-predicates))))))))) (define-inline treemacs--set-refresh-flags (location type path) "Set refresh flags at LOCATION for TYPE and PATH in the dom of every buffer. Also start the refresh timer if it's not started already." (inline-letevals (location type path) (inline-quote (progn (when (ht-get treemacs--collapsed-filewatch-index ,path) (ht-remove! treemacs--collapsed-filewatch-index ,path) (treemacs--stop-watching ,path)) (treemacs-run-in-every-buffer (--when-let (treemacs-find-in-dom ,location) (let ((current-flag (assoc ,path (treemacs-dom-node->refresh-flag it)))) (pcase (cdr current-flag) (`nil (push (cons ,path ,type) (treemacs-dom-node->refresh-flag it))) ('created (when (eq ,type 'deleted) (setf (cdr current-flag) 'deleted))) ('deleted (when (eq ,type 'created) (setf (cdr current-flag) 'created))) ('changed (when (eq ,type 'deleted) (setf (cdr current-flag) 'deleted)))))) (treemacs--start-filewatch-timer)))))) (defun treemacs--filewatch-callback (event) "Add EVENT to the list of file change events. Do nothing if this event's file is irrelevant as per `treemacs--is-event-relevant?'. Otherwise start a timer to process the collected events if it has not been started already. Also immediately remove the changed file from caches if it has been deleted instead of waiting for file processing." (when (treemacs--is-event-relevant? event) (-let [(_ event-type path) event] (when (eq 'deleted event-type) (treemacs--on-file-deletion path :no-buffer-delete)) (if (eq 'renamed event-type) (let ((old-name path) (new-name (cadddr event))) (treemacs-run-in-every-buffer (treemacs--on-rename old-name new-name (with-no-warnings treemacs-filewatch-mode))) (treemacs--set-refresh-flags (treemacs--parent old-name) 'deleted old-name) (when (--none? (funcall it (treemacs--filename new-name) new-name) treemacs-ignored-file-predicates) (treemacs--set-refresh-flags (treemacs--parent new-name) 'created new-name))) (treemacs--set-refresh-flags (treemacs--parent path) event-type path))))) (define-inline treemacs--do-process-file-events () "Dumb helper function. Extracted only so `treemacs--process-file-events' can decide when to call `save-excursion' without code duplication." (inline-quote (treemacs-run-in-every-buffer (treemacs-save-position (-let [treemacs--no-messages (or treemacs-silent-refresh treemacs-silent-filewatch)] (dolist (project (treemacs-workspace->projects workspace)) (-when-let (root-node (-> project (treemacs-project->path) (treemacs-find-in-dom))) (treemacs--recursive-refresh-descent root-node project))))) (hl-line-highlight)))) (defun treemacs--process-file-events () "Process the file events that have been collected. Stop watching deleted dirs and refresh all the buffers that need updating." (setf treemacs--refresh-timer nil) (treemacs-without-following (if (eq treemacs--in-this-buffer t) (treemacs--do-process-file-events) ;; need to save excursion here because an update when the treemacs window is not visible ;; will actually move point in the current buffer ;; TODO(2019/07/18): check if this is still necessary after granular filewatch is done (save-excursion (treemacs--do-process-file-events))))) (defun treemacs--stop-filewatch-for-current-buffer () "Called when a treemacs buffer is torn down/killed. Will stop file watch on every path watched by this buffer." (let ((buffer (treemacs-get-local-buffer)) (to-remove)) (treemacs--maphash treemacs--filewatch-index (watched-path watch-info) (-let [(watching-buffers . watch-descr) watch-info] (when (memq buffer watching-buffers) (if (= 1 (length watching-buffers)) (progn (file-notify-rm-watch watch-descr) (ht-remove! treemacs--collapsed-filewatch-index watched-path) (push watched-path to-remove)) (setcar watch-info (delq buffer watching-buffers)))))) (dolist (it to-remove) (ht-remove! treemacs--filewatch-index it)))) (defun treemacs--stop-watching-all () "Cancel any and all running file watch processes. Clear the filewatch and collapsed filewatch indices. Reset the refresh flags of every buffer. Called when filewatch mode is disabled." (treemacs-run-in-every-buffer (treemacs--maphash treemacs-dom (_ node) (setf (treemacs-dom-node->refresh-flag node) nil))) (treemacs--maphash treemacs--filewatch-index (_ watch-info) (file-notify-rm-watch (cdr watch-info))) (ht-clear! treemacs--filewatch-index) (ht-clear! treemacs--collapsed-filewatch-index)) (define-inline treemacs--tear-down-filewatch-mode () "Stop watch processes, throw away file events, stop the timer." (inline-quote (progn (treemacs--stop-watching-all) (treemacs--cancel-refresh-timer)))) (define-minor-mode treemacs-filewatch-mode "Minor mode to let treemacs auto-refresh itself on file system changes. Activating this mode enables treemacs to watch the files it is displaying (and only those) for changes and automatically refresh its view when it detects a change that it decides is relevant. A file change event is relevant for treemacs if a new file has been created or deleted or a file has been changed and `treemacs-git-mode' is enabled. Events caused by files that are ignored as per `treemacs-ignored-file-predicates' are counted as not relevant. The refresh is not called immediately after an event was received, treemacs instead waits `treemacs-file-event-delay' ms to see if any more files have changed to avoid having to refresh multiple times over a short period of time. Due to limitations in the underlying kqueue library this mode may not be able to track file modifications on MacOS, making it miss potentially useful updates when used in combination with `treemacs-git-mode.' The watch mechanism only applies to directories opened *after* this mode has been activated. This means that to enable file watching in an already existing treemacs buffer it needs to be torn down and rebuilt by calling `treemacs' or `treemacs-projectile'. Turning off this mode is, on the other hand, instantaneous - it will immediately turn off all existing file watch processes and outstanding refresh actions." :init-value nil :global t :lighter nil :group 'treemacs (unless treemacs-filewatch-mode (treemacs--tear-down-filewatch-mode))) ;; in case we don't have a file notification library (like on travis CI) (unless file-notify--library (fset 'treemacs--start-watching (lambda (_x &optional _y) (ignore))) (fset 'treemacs--stop-watching (lambda (_x &optional _y) (ignore)))) (treemacs-only-during-init (treemacs-filewatch-mode)) (provide 'treemacs-filewatch-mode) ;;; treemacs-filewatch-mode.el ends here treemacs-3.2/src/elisp/treemacs-follow-mode.el000066400000000000000000000117711476710620300214500ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Follow mode definition. ;;; Code: (require 'hl-line) (require 'dash) (require 's) (require 'treemacs-customization) (require 'treemacs-rendering) (require 'treemacs-dom) (require 'treemacs-async) (require 'treemacs-core-utils) (eval-when-compile (require 'treemacs-macros)) (treemacs-import-functions-from "dired" dired-current-directory) (defvar treemacs--ready-to-follow nil "Signals to `treemacs-follow-mode' if a follow action may be run. Must be set to nil when no following should be triggered, e.g. when the treemacs buffer is being rebuilt or during treemacs' own window selection functions.") (defvar treemacs--follow-timer nil "Idle timer for `treemacs--follow' to run.") (defun treemacs--follow () "Move point to the current file in the treemacs buffer. Expand directories if needed. Do nothing if current file does not exist in the file system or is not below current treemacs root or if the treemacs buffer is not visible." ;; Treemacs selecting files with `ace-window' results in a large amount of ;; window selections, so we should be breaking out as soon as possbile (setq treemacs--follow-timer nil) (when treemacs--ready-to-follow (treemacs-without-following (let* ((treemacs-window (treemacs-get-local-window)) (current-buffer (current-buffer)) (buffer-name (buffer-name current-buffer)) (current-file (or (buffer-file-name current-buffer) (when (eq major-mode 'dired-mode) (treemacs-canonical-path (dired-current-directory)))))) (when (and treemacs-window current-file (not (s-starts-with? treemacs--buffer-name-prefix buffer-name)) (file-exists-p current-file) (not (string= buffer-name "COMMIT_EDITMSG"))) (-when-let (project-for-file (treemacs--find-project-for-buffer current-file)) (with-selected-window treemacs-window (-let [selected-file (--if-let (treemacs-current-button) (treemacs--nearest-path it) (treemacs-project->path project-for-file))] (unless (treemacs-is-path selected-file :same-as current-file) (when (treemacs-goto-file-node current-file project-for-file) (when treemacs-project-follow-cleanup (dolist (project (treemacs-workspace->projects (treemacs-current-workspace))) (unless (or (not (treemacs-project->is-expanded? project)) (eq project project-for-file)) (-when-let (project-pos (treemacs-project->position project)) (goto-char project-pos) (treemacs--collapse-root-node project-pos))))) (when treemacs-recenter-after-file-follow (treemacs--maybe-recenter treemacs-recenter-after-file-follow)))))))))))) (defun treemacs--follow-after-buffer-list-update () "Debounced call to `treemacs--follow'." (when treemacs--ready-to-follow (unless treemacs--follow-timer (setq treemacs--follow-timer (run-with-idle-timer treemacs-file-follow-delay nil #'treemacs--follow))))) (defun treemacs--setup-follow-mode () "Setup all the hooks needed for `treemacs-follow-mode'." (add-hook 'buffer-list-update-hook #'treemacs--follow-after-buffer-list-update) (treemacs--follow)) (defun treemacs--tear-down-follow-mode () "Remove the hooks added by `treemacs--setup-follow-mode'." (remove-hook 'buffer-list-update-hook #'treemacs--follow-after-buffer-list-update)) (define-minor-mode treemacs-follow-mode "Toggle `treemacs-follow-mode'. When enabled treemacs will keep track of and focus the currently selected buffer's file. This only applies if the file is within the treemacs root directory. This functionality can also be manually invoked with `treemacs-find-file'." :init-value nil :global t :lighter nil :group 'treemacs (if treemacs-follow-mode (treemacs--setup-follow-mode) (treemacs--tear-down-follow-mode))) (treemacs-only-during-init (treemacs-follow-mode)) (provide 'treemacs-follow-mode) ;;; treemacs-follow-mode.el ends here treemacs-3.2/src/elisp/treemacs-fringe-indicator.el000066400000000000000000000131021476710620300224360ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Handling of visuals in general and icons in particular. ;;; Code: (require 'dash) (require 'treemacs-core-utils) (require 'treemacs-scope) (require 'treemacs-customization) (eval-when-compile (require 'inline) (require 'treemacs-macros)) (defvar-local treemacs--fringe-indicator-overlay nil) (defconst treemacs--fringe-overlay-before-string (propertize " " 'display `(left-fringe ,treemacs--fringe-indicator-bitmap treemacs-fringe-indicator-face)) "The `before-string' property value used by the fringe indicator overlay.") (defun treemacs--move-fringe-indicator-to-point () "Move the fringe indicator to the position of point." (when treemacs--fringe-indicator-overlay (-let [pabol (line-beginning-position)] (move-overlay treemacs--fringe-indicator-overlay pabol (1+ pabol))))) (defun treemacs--enable-fringe-indicator () "Enabled the fringe indicator in the current buffer." (unless treemacs--fringe-indicator-overlay (setq-local treemacs--fringe-indicator-overlay (-doto (make-overlay 1 1 (current-buffer)) (overlay-put 'before-string treemacs--fringe-overlay-before-string))) (treemacs--move-fringe-indicator-to-point))) (defun treemacs--disable-fringe-indicator () "Enabled the fringe indicator in the current buffer." (when treemacs--fringe-indicator-overlay (delete-overlay treemacs--fringe-indicator-overlay) (setf treemacs--fringe-indicator-overlay nil))) (defun treemacs--show-fringe-indicator-only-when-focused (window) "Hook to ensure the fringe indicator not shown when treemacs is not selected. WINDOW is the treemacs window that has just been focused or unfocused." (if (eq treemacs--in-this-buffer t) (when treemacs--fringe-indicator-overlay (overlay-put treemacs--fringe-indicator-overlay 'before-string treemacs--fringe-overlay-before-string)) (with-selected-window window (when treemacs--fringe-indicator-overlay (overlay-put treemacs--fringe-indicator-overlay 'before-string nil))))) (defun treemacs--tear-down-fringe-indicator-mode () "Tear down `treemacs-fringe-indicator-mode'." (remove-hook 'treemacs-mode-hook #'treemacs--enable-fringe-indicator-in-current-buffer) (treemacs-run-in-all-derived-buffers (treemacs--disable-fringe-indicator) (advice-remove #'hl-line-highlight #'treemacs--move-fringe-indicator-to-point) (remove-hook 'window-selection-change-functions #'treemacs--show-fringe-indicator-only-when-focused :local))) (define-minor-mode treemacs-fringe-indicator-mode "Toggle `treemacs-fringe-indicator-mode'. When enabled, a visual indicator in the fringe will be displayed to highlight the selected line in addition to `hl-line-mode'. Useful if `hl-line-mode' doesn't stand out enough with your colour theme. Can be called with one of two arguments: - `always' will always show the fringe indicator. - `only-when-focused' will only show the fringe indicator when the treemacs window is focused (only possible with Emacs 27+). For backward compatibility just enabling this mode without an explicit argument has the same effect as using `always'." :init-value nil :global t :lighter nil :group 'treemacs (if treemacs-fringe-indicator-mode (progn (setf arg (or arg t)) (if (memq arg '(always only-when-focused t)) (treemacs--setup-fringe-indicator-mode arg) (call-interactively #'treemacs--setup-fringe-indicator-mode))) (treemacs--tear-down-fringe-indicator-mode))) (defun treemacs--setup-fringe-indicator-mode (arg) "Setup `treemacs-fringe-indicator-mode'. When ARG is `only-when-focused' a hook will be set up to only display the fringe indicator when the treemacs window is selected." (interactive (list (->> (completing-read "Fringe Indicator" '("Always" "Only When Focused")) (downcase) (s-split " ") (s-join "-") (intern)))) (setf treemacs-fringe-indicator-mode arg) (add-hook 'treemacs-mode-hook #'treemacs--enable-fringe-indicator-in-current-buffer) (treemacs-run-in-all-derived-buffers (treemacs--enable-fringe-indicator-in-current-buffer))) (defun treemacs--enable-fringe-indicator-in-current-buffer () "Set up fringe-indicator-mode for the current buffer." (treemacs--enable-fringe-indicator) (advice-add #'hl-line-highlight :after #'treemacs--move-fringe-indicator-to-point) (when (memq treemacs-fringe-indicator-mode '(t only-when-focused)) (add-hook 'window-selection-change-functions #'treemacs--show-fringe-indicator-only-when-focused nil :local))) (treemacs-only-during-init (treemacs-fringe-indicator-mode)) (provide 'treemacs-fringe-indicator) ;;; treemacs-fringe-indicator.el ends here treemacs-3.2/src/elisp/treemacs-git-commit-diff-mode.el000066400000000000000000000117171476710620300231250ustar00rootroot00000000000000;;; treemacs-git-commit-diff-mode.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Minor mode to annotate project with the number of commits a repo is ahead ;; and/or behind its remote. ;; NOTE: This module is lazy-loaded. ;;; Code: (require 'vc-git) (require 'dash) (require 'pfuture) (require 'treemacs-customization) (require 'treemacs-workspaces) (require 'treemacs-annotations) (eval-when-compile (require 'treemacs-macros)) (defconst treemacs--git-commit-diff.py (if (member "treemacs-git-commit-diff.py" (directory-files treemacs-dir)) (treemacs-join-path treemacs-dir "treemacs-git-commit-diff.py") (treemacs-join-path treemacs-dir "src/scripts/treemacs-git-commit-diff.py"))) (defconst treemacs--commit-diff-ann-source "treemacs-commit-diff" "Annotation source name for commit diffs.") (defun treemacs--update-git-commit-diff (project &optional buffer) "Update the commit diff for a single PROJECT. Look for the PROJECT either in BUFFER or the local treemacs buffer." (let ((path (treemacs-project->path project)) (buffer (or buffer (treemacs-get-local-buffer)))) (treemacs-with-path path :no-match-action (ignore) :file-action (pfuture-callback `(,treemacs-python-executable "-O" ,treemacs--git-commit-diff.py ,treemacs-git-executable ,path) :directory path :on-success (when (buffer-live-p buffer) (-let [out (-> (pfuture-callback-output) (treemacs-string-trim-right) (read))] (with-current-buffer buffer (if out (treemacs-set-annotation-suffix path out treemacs--commit-diff-ann-source) (treemacs-remove-annotation-suffix path treemacs--commit-diff-ann-source)) (treemacs-apply-single-annotation path)))))))) (defun treemacs--update-commit-diff-in-every-project () "Update diffs for every project in the current scope. To be run when commt-diff-mode is activated or a treemacs buffer is created." (dolist (project (treemacs-workspace->projects (treemacs-current-workspace))) (when (vc-git-responsible-p (treemacs-project->path project)) (treemacs--update-git-commit-diff project)))) (defun treemacs--enable-git-commit-diff-mode () "Setup for `treemacs-comit-diff-mode'." (add-hook 'treemacs-post-project-refresh-functions #'treemacs--update-git-commit-diff) (add-hook 'treemacs-post-buffer-init-hook #'treemacs--update-commit-diff-in-every-project) (treemacs-run-in-every-buffer (treemacs--update-commit-diff-in-every-project))) (defun treemacs--disable-git-commit-diff-mode () "Tear-down for `treemacs-comit-diff-mode'." (remove-hook 'treemacs-post-project-refresh-functions #'treemacs--update-git-commit-diff) (remove-hook 'treemacs-post-buffer-init-hook #'treemacs--update-commit-diff-in-every-project) (treemacs-run-in-every-buffer (dolist (project (treemacs-workspace->projects (treemacs-current-workspace))) (-let [path (treemacs-project->path project)] (treemacs-remove-annotation-suffix path treemacs--commit-diff-ann-source) (treemacs-apply-single-annotation path))))) ;;;###autoload (define-minor-mode treemacs-git-commit-diff-mode "Minor mode to display commit differences for your git-tracked projects. When enabled treemacs will add an annotation next to every git project showing how many commits ahead or behind your current branch is compared to its remote counterpart. The difference will be shown using the format `↑x ↓y', where `x' and `y' are the numbers of commits a project is ahead or behind. The numbers are determined based on the output of `git status -sb'. By default the annotation is only updated when manually updating a project with `treemacs-refresh'. You can install `treemacs-magit' to enable automatic updates whenever you commit/fetch/rebase etc. in magit. Does not require `treemacs-git-mode' to be active." :init-value nil :global t :lighter nil :group 'treemacs (if treemacs-git-commit-diff-mode (treemacs--enable-git-commit-diff-mode) (treemacs--disable-git-commit-diff-mode))) (provide 'treemacs-git-commit-diff-mode) ;;; treemacs-git-commit-diff-mode.el ends here treemacs-3.2/src/elisp/treemacs-header-line.el000066400000000000000000000132171476710620300213760ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Variations of header-line-format treemacs can use. ;;; Code: (require 'dash) (require 'treemacs-faces) (require 'treemacs-interface) (eval-when-compile (require 'treemacs-macros) (require 'cl-lib)) (cl-macrolet ((make-local-map (&rest body) `(-doto (make-sparse-keymap) (define-key [header-line mouse-1] (lambda (event) (interactive "e") ,@body))))) (defconst treemacs-header-close-button (propertize "(❌)" 'local-map (make-local-map (delete-window (posn-window (event-start event)))) 'face 'treemacs-header-button-face) "Header button to close the treemacs window.") (defconst treemacs-header-projects-button (propertize "(P)" 'local-map (make-local-map (let* ((menu (easy-menu-create-menu nil `(["Add Project" treemacs-add-project] ["Add Projectile Project" treemacs-projectile :visible (featurep 'treemacs-projectile)] ["Remove Project" treemacs-remove-project-from-workspace]))) (choice (x-popup-menu event menu))) (when choice (call-interactively (lookup-key menu (apply 'vector choice)))))) 'face 'treemacs-header-button-face) "Header button to open a project administration menu.") (defconst treemacs-header-workspace-button (propertize "(W)" 'local-map (make-local-map (let* ((menu (easy-menu-create-menu nil `(["Edit Workspaces" treemacs-edit-workspaces] ["Create Workspace" treemacs-create-workspace] ["Remove Workspace" treemacs-remove-workspace] ["Rename Workspace" treemacs-rename-workspace] ["Switch Workspace" treemacs-switch-workspace] ["Set Fallback Workspace" treemacs-set-fallback-workspace]))) (choice (x-popup-menu event menu))) (when choice (call-interactively (lookup-key menu (apply 'vector choice))))) ) 'face 'treemacs-header-button-face) "Header button to open a workspace administration menu.") (defconst treemacs-header-toggles-button (propertize "(T)" 'local-map (make-local-map (let* ((menu (easy-menu-create-menu nil `([,(format "Dotfile Visibility (Currently %s)" (if treemacs-show-hidden-files "Enabled" "Disabled")) treemacs-toggle-show-dotfiles] [,(format "Follow-Mode (Currently %s)" (if treemacs-follow-mode "Enabled" "Disabled")) treemacs-follow-mode] [,(format "Filewatch-Mode (Currently %s)" (if treemacs-filewatch-mode "Enabled" "Disabled")) treemacs-filewatch-mode] [,(format "Fringe-Indicator-Mode (Currently %s)" (if treemacs-fringe-indicator-mode "Enabled" "Disabled")) treemacs-fringe-indicator-mode]))) (choice (x-popup-menu event menu))) (when choice (call-interactively (lookup-key menu (apply 'vector choice))))) ) 'face 'treemacs-header-button-face) "Header button to open a minor-modes/toggles administration menu.")) (defconst treemacs-header-buttons-format (concat " " treemacs-header-close-button " " treemacs-header-projects-button " " treemacs-header-workspace-button " " treemacs-header-toggles-button) "Possible value setting for `treemacs-header-line-format'. Consists for 4 different buttons: - `treemacs-header-close-button' - `treemacs-header-projects-button' - `treemacs-header-workspace-button' - `treemacs-header-toggles-button'") (defun treemacs--header-top-scroll-indicator () "Determine header line for `treemacs-indicate-top-scroll-mode'." (if (= (window-start) (point-min)) (car treemacs-header-scroll-indicators) (cdr treemacs-header-scroll-indicators))) ;;;###autoload (define-minor-mode treemacs-indicate-top-scroll-mode "Minor mode which shows whether treemacs is scrolled all the way to the top. When this mode is enabled the header line of the treemacs window will display whether the window's first line is visible or not. The strings used for the display are determined by `treemacs-header-scroll-indicators'. This mode makes use of `treemacs-user-header-line-format' - and thus `header-line-format' - and is therefore incompatible with other modifications to these options." :init-value nil :global t :group 'treemacs (setf treemacs-user-header-line-format (when treemacs-indicate-top-scroll-mode '("%e" (:eval (treemacs--header-top-scroll-indicator))))) (treemacs-run-in-every-buffer (setf header-line-format treemacs-user-header-line-format))) (provide 'treemacs-header-line) ;;; treemacs-header-line.el ends here treemacs-3.2/src/elisp/treemacs-hydras.el000066400000000000000000000521271476710620300205160ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Definition for the Helpful Hydras. ;; NOTE: This module is lazy-loaded. ;;; Code: (require 'cl-lib) (require 'dash) (require 'treemacs-logging) (require 'treemacs-scope) (require 'treemacs-interface) (require 'treemacs-bookmarks) (eval-when-compile (require 'treemacs-macros)) (treemacs-import-functions-from "treemacs" treemacs-edit-workspaces treemacs-version) (treemacs-import-functions-from "treemacs-file-management" treemacs-rename-file treemacs-create-file treemacs-create-dir treemacs-copy-file treemacs-move-file treemacs-delete-file treemacs-bulk-file-actions) (treemacs-import-functions-from "treemacs-hydras" treemacs--common-helpful-hydra/body treemacs--advanced-helpful-hydra/body) (treemacs-import-functions-from "treemacs-peek-mode" treemacs-peek-mode) (treemacs-import-functions-from "treemacs-header-line" treemacs-indicate-top-scroll-mode) (treemacs-import-functions-from "treemacs-git-commit-diff-mode" treemacs-git-commit-diff-mode) (cl-defun treemacs--find-keybind (func &optional (pad 8)) "Find the keybind for FUNC in treemacs. Return of cons of the key formatted for inclusion in the hydra string, including a minimum PAD width for alignment, and the key itself for the hydra heads. Prefer evil keybinds, otherwise pick the first result." (-if-let (keys (where-is-internal func)) (let ((key (key-description (-if-let (evil-keys (--first (eq 'treemacs-state (aref it 0)) keys)) (--map (aref evil-keys it) (number-sequence 1 (- (length evil-keys) 1))) (--map (aref (car keys) it) (number-sequence 0 (- (length (car keys)) 1))))))) (setf key (s-replace-all '(("" . "RET") ("" . "LEFT") ("" . "RIGHT") ("" . "UP") ("" . "DOWN") ("^" . "C-") ("⇢⌥" . ">O-") ("⌥" . "O-") ("⇢⌘" . ">#-") ("⌘" . "#-") ("⇧" . "S-")) key)) (cons (s-pad-right pad " " (format "_%s_:" key)) key)) (cons (s-pad-right pad " " (format "_%s_:" " ")) " "))) ;;;###autoload (defun treemacs-common-helpful-hydra () "Summon a helpful hydra to show you the treemacs keymap. This hydra will show the most commonly used keybinds for treemacs. For the more advanced (probably rarely used keybinds) see `treemacs-advanced-helpful-hydra'. The keybinds shown in this hydra are not static, but reflect the actual keybindings currently in use (including evil mode). If the hydra is unable to find the key a command is bound to it will show a blank instead." (interactive) (-if-let (b (treemacs-get-local-buffer)) (with-current-buffer b (let* ((title (format (propertize "Treemacs %s Common Helpful Hydra" 'face 'treemacs-help-title-face) (treemacs-version))) (adv-hint (format "%s %s" (propertize "For advanced keybinds see" 'face 'treemacs-help-title-face) (propertize "treemacs-advanced-helpful-hydra" 'face 'font-lock-function-name-face))) (column-nav (propertize "Navigation" 'face 'treemacs-help-column-face)) (column-nodes (propertize "Opening Nodes" 'face 'treemacs-help-column-face)) (column-toggles (propertize "Toggles " 'face 'treemacs-help-column-face)) (column-projects (propertize "Projects" 'face 'treemacs-help-column-face)) (key-adv-hydra (treemacs--find-keybind #'treemacs-advanced-helpful-hydra)) (key-root-up (treemacs--find-keybind #'treemacs-root-up)) (key-root-down (treemacs--find-keybind #'treemacs-root-down)) (key-next-line (treemacs--find-keybind #'treemacs-next-line)) (key-prev-line (treemacs--find-keybind #'treemacs-previous-line)) (key-next-neighbour (treemacs--find-keybind #'treemacs-next-neighbour)) (key-prev-neighbour (treemacs--find-keybind #'treemacs-previous-neighbour)) (key-goto-parent (treemacs--find-keybind #'treemacs-goto-parent-node)) (key-down-next-w (treemacs--find-keybind #'treemacs-next-line-other-window)) (key-up-next-w (treemacs--find-keybind #'treemacs-previous-line-other-window)) (key-ret (treemacs--find-keybind #'treemacs-RET-action)) (key-tab (treemacs--find-keybind #'treemacs-TAB-action)) (key-open (treemacs--find-keybind #'treemacs-visit-node-no-split)) (key-open-horiz (treemacs--find-keybind #'treemacs-visit-node-horizontal-split)) (key-open-vert (treemacs--find-keybind #'treemacs-visit-node-vertical-split)) (key-open-ace (treemacs--find-keybind #'treemacs-visit-node-ace)) (key-open-ace-h (treemacs--find-keybind #'treemacs-visit-node-ace-horizontal-split)) (key-open-ace-v (treemacs--find-keybind #'treemacs-visit-node-ace-vertical-split)) (key-open-ext (treemacs--find-keybind #'treemacs-visit-node-in-external-application)) (key-open-mru (treemacs--find-keybind #'treemacs-visit-node-in-most-recently-used-window)) (key-open-close (treemacs--find-keybind #'treemacs-visit-node-close-treemacs)) (key-close-above (treemacs--find-keybind #'treemacs-collapse-parent-node)) (key-follow-mode (treemacs--find-keybind #'treemacs-follow-mode)) (key-header-mode (treemacs--find-keybind #'treemacs-indicate-top-scroll-mode)) (key-fringe-mode (treemacs--find-keybind #'treemacs-fringe-indicator-mode)) (key-fwatch-mode (treemacs--find-keybind #'treemacs-filewatch-mode)) (key-commit-diff (treemacs--find-keybind #'treemacs-git-commit-diff-mode)) (key-git-mode (treemacs--find-keybind #'treemacs-git-mode)) (key-show-dotfiles (treemacs--find-keybind #'treemacs-toggle-show-dotfiles)) (key-indent-guide (treemacs--find-keybind #'treemacs-indent-guide-mode)) (key-show-gitignore (treemacs--find-keybind #'treemacs-hide-gitignored-files-mode)) (key-toggle-width (treemacs--find-keybind #'treemacs-toggle-fixed-width)) (key-add-project (treemacs--find-keybind #'treemacs-add-project-to-workspace 12)) (key-remove-project (treemacs--find-keybind #'treemacs-remove-project-from-workspace 12)) (key-rename-project (treemacs--find-keybind #'treemacs-rename-project 12)) (hydra-str (format " %s %s (%s) %s ^^^^^^^^│ %s ^^^^^^^^^^^│ %s ^^^^^^│ %s ――――――――――――――――――――――――┼――――――――――――――――――――――――――――┼――――――――――――――――――――――――――――――┼―――――――――――――――――――――――――― %s next line ^^^^│ %s dwim TAB ^^^^│ %s follow mode ^^^^│ %s add project %s prev line ^^^^│ %s dwim RET ^^^^│ %s filewatch mode ^^^^│ %s remove project %s next neighbour ^^^^│ %s open no split ^^^^│ %s git mode ^^^^│ %s rename project %s prev neighbour ^^^^│ %s open horizontal ^^^^│ %s show dotfiles ^^^^│ %s goto parent ^^^^│ %s open vertical ^^^^│ %s show gitignored files ^^^^│ %s down next window ^^^^│ %s open ace ^^^^│ %s resizability ^^^^│ %s up next window ^^^^│ %s open ace horizontal ^^^^│ %s fringe indicator ^^^^│ %s root up ^^^^│ %s open ace vertical ^^^^│ %s indent guide ^^^^│ %s root down ^^^^│ %s open mru window ^^^^│ %s top scroll indicator ^^^^│ │ %s open externally ^^^^│ %s git commit difference ^^^^│ │ %s open close treemacs ^^^^│ │ │ %s close parent ^^^^│ │ " title adv-hint (car (s-split":" (car key-adv-hydra))) column-nav column-nodes column-toggles column-projects (car key-next-line) (car key-tab) (car key-follow-mode) (car key-add-project) (car key-prev-line) (car key-ret) (car key-fwatch-mode) (car key-remove-project) (car key-next-neighbour) (car key-open) (car key-git-mode) (car key-rename-project) (car key-prev-neighbour) (car key-open-horiz) (car key-show-dotfiles) (car key-goto-parent) (car key-open-vert) (car key-show-gitignore) (car key-down-next-w) (car key-open-ace) (car key-toggle-width) (car key-up-next-w) (car key-open-ace-h) (car key-fringe-mode) (car key-root-up) (car key-open-ace-v) (car key-indent-guide) (car key-root-down) (car key-open-mru) (car key-header-mode) (car key-open-ext) (car key-commit-diff) (car key-open-close) (car key-close-above)))) (eval `(defhydra treemacs--common-helpful-hydra (:exit nil :hint nil :columns 4) ,hydra-str (,(cdr key-adv-hydra) #'treemacs-advanced-helpful-hydra :exit t) (,(cdr key-next-line) #'treemacs-next-line) (,(cdr key-prev-line) #'treemacs-previous-line) (,(cdr key-root-up) #'treemacs-root-up) (,(cdr key-root-down) #'treemacs-root-down) (,(cdr key-down-next-w) #'treemacs-next-line-other-window) (,(cdr key-up-next-w) #'treemacs-previous-line-other-window) (,(cdr key-next-neighbour) #'treemacs-next-neighbour) (,(cdr key-prev-neighbour) #'treemacs-previous-neighbour) (,(cdr key-goto-parent) #'treemacs-goto-parent-node) (,(cdr key-ret) #'treemacs-RET-action) (,(cdr key-tab) #'treemacs-TAB-action) (,(cdr key-open) #'treemacs-visit-node-no-split) (,(cdr key-open-horiz) #'treemacs-visit-node-horizontal-split) (,(cdr key-open-vert) #'treemacs-visit-node-vertical-split) (,(cdr key-open-ace) #'treemacs-visit-node-ace) (,(cdr key-open-ace-h) #'treemacs-visit-node-ace-horizontal-split) (,(cdr key-open-ace-v) #'treemacs-visit-node-ace-vertical-split) (,(cdr key-open-mru) #'treemacs-visit-node-in-most-recently-used-window) (,(cdr key-open-ext) #'treemacs-visit-node-in-external-application) (,(cdr key-open-close) #'treemacs-visit-node-close-treemacs) (,(cdr key-close-above) #'treemacs-collapse-parent-node) (,(cdr key-follow-mode) #'treemacs-follow-mode) (,(cdr key-header-mode) #'treemacs-indicate-top-scroll-mode) (,(cdr key-show-dotfiles) #'treemacs-toggle-show-dotfiles) (,(cdr key-show-gitignore) #'treemacs-hide-gitignored-files-mode) (,(cdr key-toggle-width) #'treemacs-toggle-fixed-width) (,(cdr key-commit-diff) #'treemacs-git-commit-diff-mode) (,(cdr key-fringe-mode) #'treemacs-fringe-indicator-mode) (,(cdr key-indent-guide) #'treemacs-indent-guide-mode) (,(cdr key-git-mode) #'treemacs-git-mode) (,(cdr key-fwatch-mode) #'treemacs-filewatch-mode) (,(cdr key-add-project) #'treemacs-add-project-to-workspace) (,(cdr key-remove-project) #'treemacs-remove-project-from-workspace) (,(cdr key-rename-project) #'treemacs-rename-project) ("" nil "Exit")))) (treemacs--common-helpful-hydra/body)) (treemacs-log-failure "The helpful hydra cannot be summoned without an existing treemacs buffer."))) (defalias 'treemacs-helpful-hydra #'treemacs-common-helpful-hydra) ;;;###autoload (defun treemacs-advanced-helpful-hydra () "Summon a helpful hydra to show you the treemacs keymap. This hydra will show the more advanced (rarely used) keybinds for treemacs. For the more commonly used keybinds see `treemacs-common-helpful-hydra'. The keybinds shown in this hydra are not static, but reflect the actual keybindings currently in use (including evil mode). If the hydra is unable to find the key a command is bound to it will show a blank instead." (interactive) (-if-let (b (treemacs-get-local-buffer)) (with-current-buffer b (let* ((title (format (propertize "Treemacs %s Advanced Helpful Hydra" 'face 'treemacs-help-title-face) (treemacs-version))) (column-files (propertize "File Management" 'face 'treemacs-help-column-face)) (column-ws (propertize "Workspaces" 'face 'treemacs-help-column-face)) (column-misc (propertize "Misc." 'face 'treemacs-help-column-face)) (column-window (propertize "Other Window" 'face 'treemacs-help-column-face)) (common-hint (format "%s %s" (propertize "For common keybinds see" 'face 'treemacs-help-title-face) (propertize "treemacs-common-helpful-hydra" 'face 'font-lock-function-name-face))) (key-common-hydra (treemacs--find-keybind #'treemacs-common-helpful-hydra)) (key-create-file (treemacs--find-keybind #'treemacs-create-file)) (key-create-dir (treemacs--find-keybind #'treemacs-create-dir)) (key-rename (treemacs--find-keybind #'treemacs-rename-file)) (key-delete (treemacs--find-keybind #'treemacs-delete-file)) (key-copy-file (treemacs--find-keybind #'treemacs-copy-file)) (key-move-file (treemacs--find-keybind #'treemacs-move-file)) (key-refresh (treemacs--find-keybind #'treemacs-refresh)) (key-set-width (treemacs--find-keybind #'treemacs-set-width)) (key-copy-path-abs (treemacs--find-keybind #'treemacs-copy-absolute-path-at-point)) (key-copy-path-rel (treemacs--find-keybind #'treemacs-copy-relative-path-at-point)) (key-copy-root (treemacs--find-keybind #'treemacs-copy-project-path-at-point)) (key-resort (treemacs--find-keybind #'treemacs-resort)) (key-bookmark (treemacs--find-keybind #'treemacs-add-bookmark)) (key-edit-ws (treemacs--find-keybind #'treemacs-edit-workspaces 12)) (key-create-ws (treemacs--find-keybind #'treemacs-create-workspace 12)) (key-remove-ws (treemacs--find-keybind #'treemacs-remove-workspace 12)) (key-rename-ws (treemacs--find-keybind #'treemacs-rename-workspace 12)) (key-switch-ws (treemacs--find-keybind #'treemacs-switch-workspace 12)) (key-next-ws (treemacs--find-keybind #'treemacs-next-workspace 12)) (key-fallback-ws (treemacs--find-keybind #'treemacs-set-fallback-workspace 12)) (key-peek (treemacs--find-keybind #'treemacs-peek-mode 10)) (key-line-down (treemacs--find-keybind #'treemacs-next-line-other-window 10)) (key-line-up (treemacs--find-keybind #'treemacs-previous-line-other-window 10)) (key-page-down (treemacs--find-keybind #'treemacs-next-page-other-window 10)) (key-page-up (treemacs--find-keybind #'treemacs-previous-page-other-window 10)) (key-bulk-actions (treemacs--find-keybind #'treemacs-bulk-file-actions)) (hydra-str (format " %s %s (%s) %s ^^^^^^^^^^^^^│ %s ^^^^^^^^│ %s ^^^^^^^^^^│ %s ―――――――――――――――――――――┼―――――――――――――――――――――――――――――┼――――――――――――――――――――┼―――――――――――――――――――――― %s create file ^^^^│ %s Edit Workspaces ^^^^^^^^│ %s peek ^^^^^^│ %s refresh %s create dir ^^^^│ %s Create Workspace ^^^^^^^^│ %s line down ^^^^^^│ %s (re)set width %s rename ^^^^│ %s Remove Workspace ^^^^^^^^│ %s line up ^^^^^^│ %s copy path absolute %s delete ^^^^│ %s Rename Workspace ^^^^^^^^│ %s page down ^^^^^^│ %s copy path relative %s copy ^^^^│ %s Switch Workspace ^^^^^^^^│ %s page up ^^^^^^│ %s copy root path %s move ^^^^│ %s Next Workspace ^^^^^^^^│ │ %s re-sort %s bulk actions ^^^^│ %s Set Fallback ^^^^^^^^│ │ %s bookmark " title common-hint (car (s-split":" (car key-common-hydra))) column-files column-ws column-window column-misc (car key-create-file) (car key-edit-ws) (car key-peek) (car key-refresh) (car key-create-dir) (car key-create-ws) (car key-line-down) (car key-set-width) (car key-rename) (car key-remove-ws) (car key-line-up) (car key-copy-path-abs) (car key-delete) (car key-rename-ws) (car key-page-down) (car key-copy-path-rel) (car key-copy-file) (car key-switch-ws) (car key-page-up) (car key-copy-root) (car key-move-file) (car key-next-ws) (car key-resort) (car key-bulk-actions) (car key-fallback-ws) (car key-bookmark)))) (eval `(defhydra treemacs--advanced-helpful-hydra (:exit nil :hint nil :columns 3) ,hydra-str (,(cdr key-common-hydra) #'treemacs-common-helpful-hydra :exit t) (,(cdr key-create-file) #'treemacs-create-file) (,(cdr key-create-dir) #'treemacs-create-dir) (,(cdr key-rename) #'treemacs-rename-file) (,(cdr key-delete) #'treemacs-delete-file) (,(cdr key-copy-file) #'treemacs-copy-file) (,(cdr key-move-file) #'treemacs-move-file) (,(cdr key-refresh) #'treemacs-refresh) (,(cdr key-set-width) #'treemacs-set-width) (,(cdr key-copy-path-rel) #'treemacs-copy-absolute-path-at-point) (,(cdr key-copy-path-abs) #'treemacs-copy-relative-path-at-point) (,(cdr key-copy-root) #'treemacs-copy-project-path-at-point) (,(cdr key-resort) #'treemacs-resort) (,(cdr key-bookmark) #'treemacs-add-bookmark) (,(cdr key-edit-ws) #'treemacs-edit-workspaces) (,(cdr key-create-ws) #'treemacs-create-workspace) (,(cdr key-remove-ws) #'treemacs-remove-workspace) (,(cdr key-rename-ws) #'treemacs-rename-workspace) (,(cdr key-switch-ws) #'treemacs-switch-workspace) (,(cdr key-next-ws) #'treemacs-next-workspace) (,(cdr key-fallback-ws) #'treemacs-set-fallback-workspace) (,(cdr key-peek) #'treemacs-peek-mode) (,(cdr key-line-down) #'treemacs-next-line-other-window) (,(cdr key-line-up) #'treemacs-previous-line-other-window) (,(cdr key-page-down) #'treemacs-next-page-other-window) (,(cdr key-page-up) #'treemacs-previous-previous-other-window) (,(cdr key-bulk-actions) #'treemacs-bulk-file-actions) ("" nil "Exit")))) (treemacs--advanced-helpful-hydra/body)) (treemacs-log-failure "The helpful hydra cannot be summoned without an existing treemacs buffer."))) (provide 'treemacs-hydras) ;;; treemacs-hydras.el ends here treemacs-3.2/src/elisp/treemacs-icons.el000066400000000000000000001064751476710620300203450ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Most of everything related to icons is handled here. Specifically ;; the definition, instantiation, customization, resizing and ;; resetting of icons. ;;; Code: (require 'image) (require 'dash) (require 's) (require 'ht) (require 'treemacs-themes) (require 'treemacs-logging) (require 'treemacs-scope) (eval-when-compile (require 'cl-lib) (require 'inline) (require 'treemacs-macros)) (define-inline treemacs--set-img-property (image property value) "Set IMAGE's PROPERTY to VALUE." ;; the emacs26 code where this is copied from says it's for internal ;; use only - let's se how that goes (inline-letevals (image property value) (inline-quote (progn (plist-put (cdr ,image) ,property ,value) ,value)))) (define-inline treemacs--get-img-property (image property) "Return the value of PROPERTY in IMAGE." ;; code aken from emacs 26 (declare (side-effect-free t)) (inline-letevals (image property) (inline-quote (plist-get (cdr ,image) ,property)))) (gv-define-setter treemacs--get-img-property (val img prop) `(plist-put (cdr ,img) ,prop ,val)) (defmacro treemacs-get-icon-value (ext &optional tui theme) "Get the value of an icon for extension EXT. If TUI is non-nil the terminal fallback value is returned. THEME is the name of the theme to look in. Will cause an error if the theme does not exist." `(let* ((theme ,(if theme `(treemacs--find-theme ,theme) `(treemacs-current-theme))) (icons ,(if tui `(treemacs-theme->tui-icons theme) `(treemacs-theme->gui-icons theme)))) (ht-get icons ,ext))) (define-inline treemacs--get-local-face-background (face) "Get the `:background' of the given face. Unlike `face-attribute' this will take the `faces-remapping-alist' into account." (declare (side-effect-free t)) (inline-letevals (face) (inline-quote (--if-let (car (alist-get ,face face-remapping-alist)) (plist-get it :background) (face-attribute ,face :background nil t))))) (define-inline treemacs--is-image-creation-impossible? () "Will return non-nil when Emacs is unable to create images. In this scenario (usually caused by running Emacs without a graphical environment) treemacs will not create any of its icons and will be forced to permanently use its simple string icon fallback." (declare (pure t) (side-effect-free t)) (inline-quote (not (image-type-available-p 'png)))) (define-inline treemacs--should-use-tui-icons? () "Determines whether the current buffer must use TUI instead of GUI icons." (declare (side-effect-free t)) (inline-quote (or (treemacs--is-image-creation-impossible?) treemacs-no-png-images (not (window-system))))) (defvar treemacs-icons nil "Currently used icons. Aliased to the current theme's gui or tui icons.") (defvar treemacs--icon-symbols nil "List of icons with variables. Every symbol S maps to a variable named \"treemacs-icons-S\". In addition S is also the key for the icon in both `treemacs-gui-icons' and `treemacs-tui-icons'. This combination allows these icons-with-variables to be correctly changed in `treemacs--select-icon-set'.") (defvar treemacs--icon-size 22 "Size in pixels icons will be resized to. See also `treemacs-resize-icons'.") (defvar treemacs--icon-vars nil "List of all icons assigned to variables.") (defmacro treemacs--root-icon-size-adjust (width height) "Special adjust for the WIDTH and HEIGHT of an icon. Necessary since root icons are not rectangular." `(let ((w (round (* ,width 0.9090))) (h (round (* ,height 1.1818)))) (setq ,width w ,height h))) (defun treemacs--create-image (file-path) "Load image from FILE-PATH and size it based on `treemacs--icon-size'." (let ((height treemacs--icon-size) (width treemacs--icon-size)) (when (and (integerp treemacs--icon-size) (s-starts-with? "root-" file-path)) (treemacs--root-icon-size-adjust width height)) (if (and (integerp treemacs--icon-size) (image-type-available-p 'imagemagick)) (create-image file-path 'imagemagick nil :ascent 'center :width width :height height :mask 'heuristic) (create-image file-path (intern (treemacs--file-extension (treemacs--filename file-path))) nil :ascent 'center :width width :height height :mask 'heuristic)))) (defun treemacs--create-icon-strings (file fallback) "Create propertized icon strings for a given FILE image and TUI FALLBACK." (let ((tui-icon fallback) (gui-icon (if (treemacs--is-image-creation-impossible?) fallback (concat (propertize " " 'display (treemacs--create-image file)) " ")))) (cons gui-icon tui-icon))) (defmacro treemacs--splice-icon (icon) "Splice the given ICON data depending on whether it is a value or an sexp." (if (listp icon) `(progn ,@icon) `(progn ,icon))) (cl-defmacro treemacs-create-icon (&key file icon (fallback " ") icons-dir extensions) "Create an icon for the current theme. - FILE is a file path relative to the icon directory of the current theme. - ICON is a string of an already created icon. Mutually exclusive with FILE. - FALLBACK is the fallback string for situations where png images are unavailable. Can be set to `same-as-icon' to use the same value as ICON. - ICONS-DIR can optionally be used to overwrite the path used to find icons. Normally the current theme's icon-path is used, but it may be convenient to use another when calling `treemacs-modify-theme'. - EXTENSIONS is a list of file extensions the icon should be used for. Note that treemacs has a loose understanding of what constitutes an extension: it's either the text past the last period or the entire filename, so names like \".gitignore\" and \"Makefile\" can be matched as well. An extension may also be a symbol instead of a string. In this case treemacs will also create a variable named \"treemacs-icon-%s\" making it universally accessible." (treemacs-static-assert (or (null icon) (null file)) "FILE and ICON arguments are mutually exclusive") (when (and (consp extensions) (or (symbolp (car extensions)) (stringp (car extensions)))) (setf extensions `(quote (,@extensions)))) `(let* ((xs (--map (if (stringp it) (downcase it) it) ,extensions)) (fallback ,(if (equal fallback (quote 'same-as-icon)) icon fallback)) (icons-dir ,(if icons-dir icons-dir `(treemacs-theme->path treemacs--current-theme))) (icon-path ,(if file `(treemacs-join-path icons-dir ,file) nil)) (icon-pair ,(if file `(treemacs--create-icon-strings icon-path fallback) `(cons ,(treemacs--splice-icon icon) fallback))) (gui-icons (treemacs-theme->gui-icons treemacs--current-theme)) (tui-icons (treemacs-theme->tui-icons treemacs--current-theme)) (gui-icon (car icon-pair)) (tui-icon (cdr icon-pair))) ,(unless file `(progn (ignore icon-path) (ignore icons-dir))) ;; prefer to have icons as empty strings with a display property for compatibility ;; in e.g. dired, where an actual text icon would break `dired-goto-file-1' (unless (get-text-property 0 'display gui-icon) (setf gui-icon (propertize " " 'display gui-icon))) (dolist (ext xs) (when (symbolp ext) (-let [symbol (intern (format "treemacs-icon-%s" ext))] (add-to-list 'treemacs--icon-symbols ext) (set symbol nil)))) (--each xs ;; NOTE: Disable creation of GUI svg icons without getting in the way of the rest ;; of the icon creation process. This is good enough a workaround for Emacs versions ;; that don't support svg images for as long as svg icons are a minority. (unless (and ,file (not (image-type-available-p 'svg)) (string= (treemacs--file-extension ,file) "svg")) (ht-set! gui-icons it gui-icon)) (ht-set! tui-icons it tui-icon)))) (treemacs-create-theme "Default" :icon-directory (treemacs-join-path treemacs-dir "icons/default") :config (progn ;; directory and other icons (treemacs-create-icon :file "vsc/root-closed.png" :extensions (root-closed) :fallback "") (treemacs-create-icon :file "vsc/root-open.png" :extensions (root-open) :fallback "") (treemacs-create-icon :file "vsc/dir-closed.png" :extensions (dir-closed) :fallback (propertize "+ " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-open.png" :extensions (dir-open) :fallback (propertize "- " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "tags-leaf.png" :extensions (tag-leaf) :fallback (propertize "• " 'face 'font-lock-constant-face)) (treemacs-create-icon :file "tags-open.png" :extensions (tag-open) :fallback (propertize "▸ " 'face 'font-lock-string-face)) (treemacs-create-icon :file "tags-closed.png" :extensions (tag-closed) :fallback (propertize "▾ " 'face 'font-lock-string-face)) (treemacs-create-icon :file "error.png" :extensions (error) :fallback (propertize "• " 'face 'font-lock-string-face)) (treemacs-create-icon :file "warning.png" :extensions (warning) :fallback (propertize "• " 'face 'font-lock-string-face)) (treemacs-create-icon :file "info.png" :extensions (info) :fallback (propertize "• " 'face 'font-lock-string-face)) (treemacs-create-icon :file "bookmark.png" :extensions (bookmark) :fallback " ") (treemacs-create-icon :file "svgrepo/screen.png" :extensions (screen) :fallback " ") (treemacs-create-icon :file "svgrepo/house.png" :extensions (house) :fallback " ") (treemacs-create-icon :file "svgrepo/list.png" :extensions (list) :fallback " ") (treemacs-create-icon :file "svgrepo/repeat.png" :extensions (repeat) :fallback " ") (treemacs-create-icon :file "svgrepo/suitcase.png" :extensions (suitcase) :fallback " ") (treemacs-create-icon :file "svgrepo/close.png" :extensions (close) :fallback " ") (treemacs-create-icon :file "svgrepo/cal.png" :extensions (calendar) :fallback " ") (treemacs-create-icon :file "svgrepo/briefcase.png" :extensions (briefcase) :fallback " ") (treemacs-create-icon :file "svgrepo/mail.png" :extensions (mail) :fallback " ") (treemacs-create-icon :file "svgrepo/mail-plus.png" :extensions (mail-plus) :fallback " ") (treemacs-create-icon :file "svgrepo/inbox.png" :extensions (inbox) :fallback " ") ;; custom dir icons (treemacs-create-icon :file "svgrepo/dir-src-closed.png" :extensions ("src-closed") :fallback (propertize "+ " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "svgrepo/dir-src-open.png" :extensions ("src-open") :fallback (propertize "- " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "svgrepo/dir-test-closed.png" :extensions ("test-closed") :fallback (propertize "+ " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "svgrepo/dir-test-open.png" :extensions ("test-open") :fallback (propertize "- " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-binary-closed.png" :extensions ("bin-closed") :fallback (propertize "+ " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-binary-open.png" :extensions ("bin-open") :fallback (propertize "- " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-services-closed.png" :extensions ("build-closed") :fallback (propertize "+ " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-services-open.png" :extensions ("build-open") :fallback (propertize "- " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "svgrepo/dir-git-closed.png" :extensions ("git-closed") :fallback (propertize "+ " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "svgrepo/dir-git-open.png" :extensions ("git-open") :fallback (propertize "- " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-github-closed.png" :extensions ("github-closed") :fallback (propertize "+ " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-github-open.png" :extensions ("github-open") :fallback (propertize "- " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-public-closed.png" :extensions ("public-closed") :fallback (propertize "+ " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-public-open.png" :extensions ("public-open") :fallback (propertize "- " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-private-closed.png" :extensions ("private-closed") :fallback (propertize "+ " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-private-open.png" :extensions ("private-open") :fallback (propertize "- " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-temp-closed.png" :extensions ("temp-closed" "tmp-closed") :fallback (propertize "+ " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-temp-open.png" :extensions ("temp-open" "tmp-open") :fallback (propertize "- " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-docs-closed.png" :extensions ("readme-closed" "docs-closed") :fallback (propertize "+ " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-docs-open.png" :extensions ("readme-open" "docs-open") :fallback (propertize "- " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-images-closed.png" :extensions ("screenshots-closed" "icons-closed") :fallback (propertize "+ " 'face 'treemacs-term-node-face)) (treemacs-create-icon :file "vsc/dir-images-open.png" :extensions ("screenshots-open" "icons-open") :fallback (propertize "- " 'face 'treemacs-term-node-face)) ;; mode icons (treemacs-create-icon :file "emacs.png" :extensions (emacs-lisp-mode)) (treemacs-create-icon :file "git.png" :extensions (gitignore-mode)) (treemacs-create-icon :file "python.png" :extensions (python-mode)) (treemacs-create-icon :file "vsc/make.png" :extensions (makefile-gmake-mode)) (treemacs-create-icon :file "vsc/dir-closed.png" :extensions (dired-mode)) (treemacs-create-icon :file "ledger.png" :extensions (ledger-mode)) (treemacs-create-icon :file "vsc/org.png" :extensions (org-mode org-agenda-mode)) (treemacs-create-icon :file "vsc/vim.png" :extensions (tridactylrc-mode)) (treemacs-create-icon :file "conf.png" :extensions (conf-mode i3wm-config-mode)) (treemacs-create-icon :file "conf.png" :extensions (conf-mode i3wm-config-mode)) (treemacs-create-icon :file "shell.png" :extensions (fish-mode)) (treemacs-create-icon :file "svgrepo/list.png" :extensions (elfeed-search-mode)) (treemacs-create-icon :file "vsc/deps.png" :extensions (cask-mode)) (treemacs-create-icon :file "yaml.png" :extensions (yaml-mode)) (treemacs-create-icon :file "css.png" :extensions (css-mode)) (treemacs-create-icon :file "markdown.png" :extensions (markdown-mode)) ;; file icons (treemacs-create-icon :file "txt.png" :extensions (fallback)) (treemacs-create-icon :file "emacs.png" :extensions ("el" "elc" "eln")) (treemacs-create-icon :file "ledger.png" :extensions ("ledger" "beancount")) (treemacs-create-icon :file "yaml.png" :extensions ("yml" "yaml" "travis.yml")) (treemacs-create-icon :file "shell.png" :extensions ("sh" "zsh" "zshrc" "zshenv" "fish" "zprofile" "zlogin" "zlogout" "bash" "bash_profile" "bashrc" "bash_login" "profile" "bash_aliases")) (treemacs-create-icon :file "pdf.png" :extensions ("pdf")) (treemacs-create-icon :file "c.png" :extensions ("c" "h")) (treemacs-create-icon :file "haskell.png" :extensions ("hs" "lhs")) (treemacs-create-icon :file "cabal.png" :extensions ("cabal")) (treemacs-create-icon :file "lock.png" :extensions ("lock")) (treemacs-create-icon :file "python.png" :extensions ("py" "pyc")) (treemacs-create-icon :file "markdown.png" :extensions ("md")) (treemacs-create-icon :file "asciidoc.png" :extensions ("adoc" "asciidoc")) (treemacs-create-icon :file "rust.png" :extensions ("rs")) (treemacs-create-icon :file "image.png" :extensions ("jpg" "jpeg" "bmp" "svg" "png" "xpm" "gif")) (treemacs-create-icon :file "clojure.png" :extensions ("clj" "cljs" "cljc" "cljd" "edn")) (treemacs-create-icon :file "ts.png" :extensions ("ts" "tsx")) (treemacs-create-icon :file "vue.png" :extensions ("vue")) (treemacs-create-icon :file "css.png" :extensions ("css" "rasi")) (treemacs-create-icon :file "conf.png" :extensions ("properties" "conf" "config" "cfg" "ini" "xdefaults" "xresources" "terminalrc" "ledgerrc")) (treemacs-create-icon :file "html.png" :extensions ("html" "htm")) (treemacs-create-icon :file "git.png" :extensions ("git" "gitignore" "gitconfig" "gitmodules" "gitattributes")) (treemacs-create-icon :file "dart.png" :extensions ("dart")) (treemacs-create-icon :file "jar.png" :extensions ("jar")) (treemacs-create-icon :file "kotlin.png" :extensions ("kt")) (treemacs-create-icon :file "scala.png" :extensions ("scala")) (treemacs-create-icon :file "gradle.png" :extensions ("gradle" "kts" "build.gradle.kts" "settings.gradle.kts")) (treemacs-create-icon :file "sbt.png" :extensions ("sbt")) (treemacs-create-icon :file "go.png" :extensions ("go")) (treemacs-create-icon :file "systemd.png" :extensions ("service" "timer")) (treemacs-create-icon :file "php.png" :extensions ("php")) (treemacs-create-icon :file "js.png" :extensions ("js" "jsx")) (treemacs-create-icon :file "babel.png" :extensions ("babel")) (treemacs-create-icon :file "hy.png" :extensions ("hy")) (treemacs-create-icon :file "json.png" :extensions ("json")) (treemacs-create-icon :file "julia.png" :extensions ("jl")) (treemacs-create-icon :file "elx.png" :extensions ("ex")) (treemacs-create-icon :file "elx-light.png" :extensions ("exs" "eex" "leex" "heex")) (treemacs-create-icon :file "ocaml.png" :extensions ("ml" "mli" "merlin" "ocaml")) (treemacs-create-icon :file "direnv.png" :extensions ("envrc")) (treemacs-create-icon :file "puppet.png" :extensions ("pp")) (treemacs-create-icon :file "docker.png" :extensions ("dockerfile" "docker-compose.yml")) (treemacs-create-icon :file "vagrant.png" :extensions ("vagrantfile")) (treemacs-create-icon :file "jinja2.png" :extensions ("j2" "jinja2")) (treemacs-create-icon :file "video.png" :extensions ("webm" "mp4" "avi" "mkv" "flv" "mov" "wmv" "mpg" "mpeg" "mpv")) (treemacs-create-icon :file "audio.png" :extensions ("mp3" "ogg" "oga" "wav" "flac")) (treemacs-create-icon :file "tex.png" :extensions ("tex")) (treemacs-create-icon :file "racket.png" :extensions ("racket" "rkt" "rktl" "rktd" "scrbl" "scribble" "plt")) (treemacs-create-icon :file "erlang.png" :extensions ("erl" "hrl")) (treemacs-create-icon :file "purescript.png" :extensions ("purs")) (treemacs-create-icon :file "nix.png" :extensions ("nix")) (treemacs-create-icon :file "project.png" :extensions ("project")) (treemacs-create-icon :file "scons.png" :extensions ("sconstruct" "sconstript")) (treemacs-create-icon :file "vsc/make.png" :extensions ("makefile")) (treemacs-create-icon :file "vsc/license.png" :extensions ("license")) (treemacs-create-icon :file "vsc/zip.png" :extensions ("zip" "7z" "tar" "gz" "rar" "tar.gz")) (treemacs-create-icon :file "vsc/elm.png" :extensions ("elm")) (treemacs-create-icon :file "vsc/xml.png" :extensions ("xml" "xsl")) (treemacs-create-icon :file "vsc/access.png" :extensions ("accdb" "accdt" "accdt")) (treemacs-create-icon :file "vsc/ascript.png" :extensions ("actionscript")) (treemacs-create-icon :file "vsc/ai.png" :extensions ("ai")) (treemacs-create-icon :file "vsc/alaw.png" :extensions ("al")) (treemacs-create-icon :file "vsc/angular.png" :extensions ("angular-cli.json" "angular.json")) (treemacs-create-icon :file "vsc/ansible.png" :extensions ("ansible")) (treemacs-create-icon :file "vsc/antlr.png" :extensions ("antlr")) (treemacs-create-icon :file "vsc/any.png" :extensions ("anyscript")) (treemacs-create-icon :file "vsc/apache.png" :extensions ("apacheconf")) (treemacs-create-icon :file "vsc/apple.png" :extensions ("applescript")) (treemacs-create-icon :file "vsc/appveyor.png" :extensions ("appveyor.yml")) (treemacs-create-icon :file "vsc/arduino.png" :extensions ("ino" "pde")) (treemacs-create-icon :file "vsc/asp.png" :extensions ("asp")) (treemacs-create-icon :file "vsc/asm.png" :extensions ("asm" "arm")) (treemacs-create-icon :file "vsc/autohk.png" :extensions ("ahk")) (treemacs-create-icon :file "vsc/babel.png" :extensions ("babelrc" "babelignore" "babelrc.js" "babelrc.json" "babel.config.js")) (treemacs-create-icon :file "vsc/bat.png" :extensions ("bat" "exe" "gradlew")) (treemacs-create-icon :file "vsc/binary.png" :extensions ("dll" "obj" "so" "o")) (treemacs-create-icon :file "vsc/bazel.png" :extensions ("bazelrc" "bazel")) (treemacs-create-icon :file "vsc/bower.png" :extensions ("bowerrc" "bower.json")) (treemacs-create-icon :file "vsc/bundler.png" :extensions ("gemfile" "gemfile.lock")) (treemacs-create-icon :file "vsc/cargo.png" :extensions ("cargo.toml" "cargo.lock")) (treemacs-create-icon :file "vsc/cert.png" :extensions ("csr" "crt" "cer" "der" "pfx" "p12" "p7b" "p7r" "src" "crl" "sst" "stl")) (treemacs-create-icon :file "vsc/class.png" :extensions ("class")) (treemacs-create-icon :file "vsc/cmake.png" :extensions ("cmake" "cmake-cache")) (treemacs-create-icon :file "vsc/cobol.png" :extensions ("cobol")) (treemacs-create-icon :file "vsc/cfscript.png" :extensions ("coffeescript")) (treemacs-create-icon :file "vsc/cpp.png" :extensions ("cpp" "cxx" "tpp" "cc")) (treemacs-create-icon :file "vsc/cpph.png" :extensions ("hpp" "hxx" "hh")) (treemacs-create-icon :file "vsc/cucumber.png" :extensions ("feature")) (treemacs-create-icon :file "vsc/cython.png" :extensions ("cython")) (treemacs-create-icon :file "vsc/delphi.png" :extensions ("pascal" "objectpascal")) (treemacs-create-icon :file "vsc/django.png" :extensions ("djt" "django-html" "django-txt")) (treemacs-create-icon :file "vsc/dlang.png" :extensions ("d" "dscript" "dml" "diet")) (treemacs-create-icon :file "vsc/diff.png" :extensions ("diff")) (treemacs-create-icon :file "vsc/editorcfg.png" :extensions ("editorconfig")) (treemacs-create-icon :file "vsc/erb.png" :extensions ("erb")) (treemacs-create-icon :file "vsc/eslint.png" :extensions ("eslintrc" "eslintignore" "eslintcache")) (treemacs-create-icon :file "vsc/excel.png" :extensions ("xls" "xlsx" "xlsm" "ods" "fods")) (treemacs-create-icon :file "vsc/font.png" :extensions ("woff" "woff2" "ttf" "otf" "eot" "pfa" "pfb" "sfd")) (treemacs-create-icon :file "vsc/fortran.png" :extensions ("fortran" "fortran-modern" "fortranfreeform")) (treemacs-create-icon :file "vsc/fsharp.png" :extensions ("fsharp")) (treemacs-create-icon :file "vsc/fsproj.png" :extensions ("fsproj")) (treemacs-create-icon :file "vsc/godot.png" :extensions ("gdscript")) (treemacs-create-icon :file "vsc/graphql.png" :extensions ("graphql")) (treemacs-create-icon :file "vsc/helm.png" :extensions ("helm")) (treemacs-create-icon :file "vsc/java.png" :extensions ("java")) (treemacs-create-icon :file "vsc/jenkins.png" :extensions ("jenkins")) (treemacs-create-icon :file "vsc/jupyter.png" :extensions ("ipynb")) (treemacs-create-icon :file "vsc/key.png" :extensions ("key" "pem")) (treemacs-create-icon :file "vsc/less.png" :extensions ("less")) (treemacs-create-icon :file "vsc/locale.png" :extensions ("locale")) (treemacs-create-icon :file "vsc/manifest.png" :extensions ("manifest")) (treemacs-create-icon :file "vsc/maven.png" :extensions ("pom.xml" "maven.config" "extensions.xml" "settings.xml")) (treemacs-create-icon :file "vsc/meson.png" :extensions ("meson" "meson.build")) (treemacs-create-icon :file "vsc/nginx.png" :extensions ("nginx.conf" "nginx")) (treemacs-create-icon :file "vsc/npm.png" :extensions ("npmignore" "npmrc" "package.json" "package-lock.json" "npm-shrinwrap.json")) (treemacs-create-icon :file "vsc/wasm.png" :extensions ("wasm" "wat")) (treemacs-create-icon :file "vsc/yarn.png" :extensions ("yarn.lock" "yarnrc" "yarnclean" "yarn-integrity" "yarn-metadata.json" "yarnignore")) (treemacs-create-icon :file "vsc/pkg.png" :extensions ("pkg")) (treemacs-create-icon :file "vsc/patch.png" :extensions ("patch")) (treemacs-create-icon :file "vsc/perl6.png" :extensions ("perl6")) (treemacs-create-icon :file "vsc/pgsql.png" :extensions ("pgsql")) (treemacs-create-icon :file "vsc/phpunit.png" :extensions ("phpunit" "phpunit.xml")) (treemacs-create-icon :file "vsc/pip.png" :extensions ("pipfile" "pipfile.lock" "pip-requirements")) (treemacs-create-icon :file "vsc/plsql.png" :extensions ("plsql" "orcale")) (treemacs-create-icon :file "vsc/pp.png" :extensions ("pot" "potx" "potm" "pps" "ppsx" "ppsm" "ppt" "pptx" "pptm" "pa" "ppa" "ppam" "sldm" "sldx")) (treemacs-create-icon :file "vsc/prettier.png" :extensions ("prettier.config.js" "prettierrc.js" "prettierrc.json" "prettierrc.yml" "prettierrc.yaml")) (treemacs-create-icon :file "vsc/prolog.png" :extensions ("pro" "prolog")) (treemacs-create-icon :file "vsc/protobuf.png" :extensions ("proto" "proto3")) (treemacs-create-icon :file "vsc/rake.png" :extensions ("rake" "rakefile")) (treemacs-create-icon :file "vsc/sqlite.png" :extensions ("sqlite" "db3" "sqlite3")) (treemacs-create-icon :file "vsc/swagger.png" :extensions ("swagger")) (treemacs-create-icon :file "vsc/swift.png" :extensions ("swift")) (treemacs-create-icon :file "vsc/ruby.png" :extensions ("rb")) (treemacs-create-icon :file "vsc/scss.png" :extensions ("scss")) (treemacs-create-icon :file "vsc/lua.png" :extensions ("lua")) (treemacs-create-icon :file "vsc/log.png" :extensions ("log")) (treemacs-create-icon :file "vsc/lisp.png" :extensions ("lisp")) (treemacs-create-icon :file "vsc/sql.png" :extensions ("sql")) (treemacs-create-icon :file "vsc/toml.png" :extensions ("toml")) (treemacs-create-icon :file "vsc/nim.png" :extensions ("nim")) (treemacs-create-icon :file "vsc/org.png" :extensions ("org" "org_archive")) (treemacs-create-icon :file "vsc/perl.png" :extensions ("pl" "pm" "perl")) (treemacs-create-icon :file "vsc/vim.png" :extensions ("vimrc" "tridactylrc" "vimperatorrc" "ideavimrc" "vrapperrc")) (treemacs-create-icon :file "vsc/deps.png" :extensions ("cask")) (treemacs-create-icon :file "vsc/r.png" :extensions ("r")) (treemacs-create-icon :file "vsc/terraform.png" :extensions ("tf" "terraform")) (treemacs-create-icon :file "vsc/reason.png" :extensions ("re" "rei")))) (define-inline treemacs-icon-for-file (file) "Retrieve an icon for FILE from `treemacs-icons' based on its extension. Works only with files, not directories. Uses `treemacs-icon-fallback' as fallback." (declare (side-effect-free t)) (inline-letevals (file) (inline-quote (let ((file-downcased (-> ,file (treemacs--filename) (downcase)))) (or (ht-get treemacs-icons file-downcased) (ht-get treemacs-icons (treemacs--file-extension file-downcased) (with-no-warnings treemacs-icon-fallback))))))) (define-inline treemacs-icon-for-mode (mode) "Retrieve an icon for major MODE from `treemacs-icons'. Uses `treemacs-icon-fallback' as fallback." (declare (side-effect-free t)) (inline-letevals (mode) (inline-quote (ht-get treemacs-icons ,mode (with-no-warnings treemacs-icon-fallback))))) (define-inline treemacs-icon-for-dir (dir state) "Retrieve an icon for DIR from `treemacs-icons' in given STATE. STATE must be either `open' or `closed'. Works only with directories, not files. Uses the `dir-open' and `dir-closed' icons as fallback." (declare (side-effect-free t)) (inline-letevals (dir state) (inline-quote (let ((name-downcased (-> ,dir (treemacs--filename) (downcase)))) (when (eq ?. (aref name-downcased 0)) (setf name-downcased (substring name-downcased 1))) (pcase-exhaustive ,state (`open (let ((name (format "%s-%s" name-downcased "open"))) (or (ht-get treemacs-icons name) (ht-get treemacs-icons 'dir-open)))) (`closed (let ((name (format "%s-%s" name-downcased "closed"))) (or (ht-get treemacs-icons name) (ht-get treemacs-icons 'dir-closed))))))))) ;;;###autoload (defun treemacs-resize-icons (size) "Resize the current theme's icons to the given SIZE. If SIZE is \\='nil' the icons are not resized and will retain their default size of 22 pixels. There is only one size, the icons are square and the aspect ratio will be preserved when resizing them therefore width and height are the same. Resizing the icons only works if Emacs was built with ImageMagick support, or if using Emacs >= 27.1,which has native image resizing support. If this is not the case this function will not have any effect. Custom icons are not taken into account, only the size of treemacs' own icons png are changed." (interactive "nIcon size in pixels: ") (if (not (or (and (functionp 'image-transforms-p) (member 'scale (image-transforms-p))) (image-type-available-p 'imagemagick))) (treemacs-log-failure "Icons cannot be resized without image transforms or imagemagick support.") (setq treemacs--icon-size size) (treemacs--maphash (treemacs-theme->gui-icons treemacs--current-theme) (_ icon) (let ((display (get-text-property 0 'display icon)) (width treemacs--icon-size) (height treemacs--icon-size)) (when (eq 'image (car-safe display)) (when (s-ends-with? "root.png" (plist-get (cdr display) :file)) (treemacs--root-icon-size-adjust width height)) (plist-put (cdr display) :height height) (plist-put (cdr display) :width width)))))) (defun treemacs--select-icon-set () "Select the right set of icons for the current buffer. Will select either the GUI or the TUI icons of the current theme. TUI icons will be used if * `treemacs--is-image-creation-impossible?' returns t, * `treemacs-no-png-images' is it * or if the current frame is a TUI frame" (-let [icons (if (treemacs--should-use-tui-icons?) (treemacs-theme->tui-icons treemacs--current-theme) (treemacs-theme->gui-icons treemacs--current-theme))] (setq-local treemacs-icons icons) (dolist (icon-symbol treemacs--icon-symbols) (let ((variable (intern (format "treemacs-icon-%s" icon-symbol))) (value (ht-get icons icon-symbol))) (set (make-local-variable variable) value))))) (define-inline treemacs-current-icons (&optional tui) "Return the current theme's icons. Return the fallback icons if TUI is non-nil." (inline-letevals (tui) (inline-quote (if ,tui (treemacs-theme->tui-icons treemacs--current-theme) (treemacs-theme->gui-icons treemacs--current-theme))))) ;;;###autoload (defun treemacs-define-custom-icon (icon &rest file-extensions) "Define a custom ICON for the current theme to use for FILE-EXTENSIONS. Note that treemacs has a very loose definition of what constitutes a file extension - it's either everything past the last period, or just the file's full name if there is no period. This makes it possible to match file names like \\='.gitignore' and \\='Makefile'. Additionally FILE-EXTENSIONS are also not case sensitive and will be stored in a down-cased state." (unless icon (user-error "Custom icon cannot be nil")) (dolist (ext file-extensions) (ht-set! (treemacs-theme->gui-icons treemacs--current-theme) (downcase ext) (concat icon " ")))) ;;;###autoload (defun treemacs-define-custom-image-icon (file &rest file-extensions) "Same as `treemacs-define-custom-icon' but for image icons instead of strings. FILE is the path to an icon image (and not the actual icon string). FILE-EXTENSIONS are all the (not case-sensitive) file extensions the icon should be used for." (unless file (user-error "Custom icon cannot be nil")) (-let [icon (car (treemacs--create-icon-strings file " "))] (dolist (ext file-extensions) (ht-set! (treemacs-theme->gui-icons treemacs--current-theme) (downcase ext) icon)))) ;;;###autoload (defun treemacs-map-icons-with-auto-mode-alist (extensions mode-icon-alist) "Remaps icons for EXTENSIONS according to `auto-mode-alist'. EXTENSIONS should be a list of file extensions such that they match the regex stored in `auto-mode-alist', for example \\='(\".cc\"). MODE-ICON-ALIST is an alist that maps which mode from `auto-mode-alist' should be assigned which treemacs icon, for example `((c-mode . ,(treemacs-get-icon-value \"c\")) (c++-mode . ,(treemacs-get-icon-value \"cpp\")))" (dolist (extension extensions) (-when-let* ((mode (cdr (--first (s-matches? (car it) extension) auto-mode-alist))) (icon (cdr (assq mode mode-icon-alist)))) (ht-set! (treemacs-theme->gui-icons treemacs--current-theme) (substring extension 1) icon)))) (treemacs-only-during-init (treemacs-load-theme "Default")) (provide 'treemacs-icons) ;;; treemacs-icons.el ends here treemacs-3.2/src/elisp/treemacs-interface.el000066400000000000000000001747551476710620300212000ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Not autoloaded, but user-facing functions. ;;; Code: (require 'hl-line) (require 'button) (require 's) (require 'dash) (require 'treemacs-core-utils) (require 'treemacs-filewatch-mode) (require 'treemacs-rendering) (require 'treemacs-scope) (require 'treemacs-follow-mode) (require 'treemacs-customization) (require 'treemacs-workspaces) (require 'treemacs-persistence) (require 'treemacs-logging) (eval-when-compile (require 'cl-lib) (require 'treemacs-macros)) (autoload 'ansi-color-apply-on-region "ansi-color") (treemacs-import-functions-from "ace-window" ace-select-window) (treemacs-import-functions-from "cfrs" cfrs-read) (treemacs-import-functions-from "treemacs" treemacs-find-file treemacs-select-window) (treemacs-import-functions-from "treemacs-tags" treemacs--expand-file-node treemacs--collapse-file-node treemacs--expand-tag-node treemacs--collapse-tag-node treemacs--goto-tag treemacs--visit-or-expand/collapse-tag-node) (defvar treemacs-valid-button-states '(root-node-open root-node-closed dir-node-open dir-node-closed file-node-open file-node-closed tag-node-open tag-node-closed tag-node) "List of all valid values for treemacs buttons' :state property.") (defun treemacs-next-line (&optional count) "Go to next line. A COUNT argument, moves COUNT lines down." (interactive "p") ;; Move to EOL - if point is in the middle of a button, forward-button ;; just moves to the end of the current button. (goto-char (line-end-position)) ;; Don't show the "No more buttons" message. (ignore-errors (forward-button count treemacs-wrap-around)) ;; Move to BOL, since the button might not start at BOL, but parts ;; of Treemacs might expect that the point is always at BOL. (forward-line 0) (treemacs--evade-image)) (defun treemacs-previous-line (&optional count) "Go to previous line. A COUNT argument, moves COUNT lines up." (interactive "p") ;; Move to the start of line - if point is in the middle of a button, ;; backward-button just moves to the start of the current button. (forward-line 0) ;; Don't show the "No more buttons" message. (ignore-errors (backward-button count treemacs-wrap-around)) ;; Move to BOL, since backward-button moves to the end of the button, ;; and the button might not start at BOL, but parts of Treemacs might ;; expect that the point is always at BOL. (forward-line 0) (treemacs--evade-image)) (defun treemacs-toggle-node (&optional arg) "Expand or close the current node. If a prefix ARG is provided the open/close process is done recursively. When opening directories that means that all sub-directories are opened as well. When opening files all their tag sections will be opened. Recursively closing any kind of node means that treemacs will forget about everything that was expanded below that node. Since tags cannot be opened or closed a goto definition action will called on them instead." (interactive "P") (treemacs-do-for-button-state :on-root-node-open (treemacs--collapse-root-node btn arg) :on-root-node-closed (treemacs--expand-root-node btn arg) :on-dir-node-open (treemacs--collapse-dir-node btn arg) :on-dir-node-closed (treemacs--expand-dir-node btn :recursive arg) :on-file-node-open (treemacs--collapse-file-node btn arg) :on-file-node-closed (treemacs--expand-file-node btn arg) :on-tag-node-open (treemacs--collapse-tag-node btn arg) :on-tag-node-closed (treemacs--expand-tag-node btn arg) :on-tag-node-leaf (progn (other-window 1) (treemacs--goto-tag btn)) :on-nil (treemacs-pulse-on-failure "There is nothing to do here.") :fallback (treemacs-TAB-action))) (defun treemacs-toggle-node-prefer-tag-visit (&optional arg) "Same as `treemacs-toggle-node' but will visit a tag node in some conditions. Tag nodes, despite being expandable sections, will be visited in the following conditions: * Tags belong to a .py file and the tag section's first child element's label ends in \" definition*\". This indicates the section is the parent element in a nested class/function definition and can be moved to. * Tags belong to a .org file and the tag section element possesses a \\='org-imenu-marker text property. This indicates that the section is a headline with further org elements below it. The prefix argument ARG is treated the same way as with `treemacs-toggle-node'." (interactive) (run-hook-with-args 'treemacs-after-visit-functions (treemacs-do-for-button-state :on-root-node-open (treemacs--collapse-root-node btn arg) :on-root-node-closed (treemacs--expand-root-node btn) :on-dir-node-open (treemacs--collapse-dir-node btn arg) :on-dir-node-closed (treemacs--expand-dir-node btn :recursive arg) :on-file-node-open (treemacs--collapse-file-node btn arg) :on-file-node-closed (treemacs--expand-file-node btn arg) :on-tag-node-open (treemacs--visit-or-expand/collapse-tag-node btn arg t) :on-tag-node-closed (treemacs--visit-or-expand/collapse-tag-node btn arg t) :on-tag-node-leaf (progn (other-window 1) (treemacs--goto-tag btn)) :on-nil (treemacs-pulse-on-failure "There is nothing to do here.")))) (defun treemacs-TAB-action (&optional arg) "Run the appropriate TAB action for the current node. In the default configuration this usually means to expand or close the content of the currently selected node. A potential prefix ARG is passed on to the executed action, if possible. This function's exact configuration is stored in `treemacs-TAB-actions-config'." (interactive "P") (-when-let (state (treemacs--prop-at-point :state)) (--if-let (cdr (assq state treemacs-TAB-actions-config)) (progn (funcall it arg) (treemacs--evade-image)) (treemacs-pulse-on-failure "No TAB action defined for node of type %s." (propertize (format "%s" state) 'face 'font-lock-type-face))))) (defun treemacs-goto-parent-node (&optional _arg) "Select parent of selected node, if possible. ARG is optional and only available so this function can be used as an action." (interactive) (--if-let (-some-> (treemacs-current-button) (treemacs-button-get :parent)) (goto-char it) (treemacs-pulse-on-failure "There is no parent to move up to."))) (defun treemacs-next-neighbour () "Select next node at the same depth as currently selected node, if possible." (interactive) (or (-some-> (treemacs-current-button) (treemacs--next-neighbour-of) (goto-char)) (treemacs-pulse-on-failure))) (defun treemacs-previous-neighbour () "Select previous node at the same depth as currently selected node, if possible." (interactive) (or (-some-> (treemacs-current-button) (treemacs--prev-non-child-button) (goto-char)) (treemacs-pulse-on-failure))) (defun treemacs-visit-node-vertical-split (&optional arg) "Open current file or tag by vertically splitting `next-window'. Stay in the current window with a single prefix argument ARG, or close the treemacs window with a double prefix argument." (interactive "P") (run-hook-with-args 'treemacs-after-visit-functions (treemacs--execute-button-action :split-function #'split-window-vertically :file-action (find-file (treemacs-safe-button-get btn :path)) :dir-action (dired (treemacs-safe-button-get btn :path)) :tag-section-action (treemacs--visit-or-expand/collapse-tag-node btn arg nil) :tag-action (treemacs--goto-tag btn) :window-arg arg :no-match-explanation "Node is neither a file, a directory or a tag - nothing to do here."))) (defun treemacs-visit-node-horizontal-split (&optional arg) "Open current file or tag by horizontally splitting `next-window'. Stay in the current window with a single prefix argument ARG, or close the treemacs window with a double prefix argument." (interactive "P") (run-hook-with-args 'treemacs-after-visit-functions (treemacs--execute-button-action :split-function #'split-window-horizontally :file-action (find-file (treemacs-safe-button-get btn :path)) :dir-action (dired (treemacs-safe-button-get btn :path)) :tag-section-action (treemacs--visit-or-expand/collapse-tag-node btn arg nil) :tag-action (treemacs--goto-tag btn) :window-arg arg :no-match-explanation "Node is neither a file, a directory or a tag - nothing to do here."))) (defun treemacs-visit-node-close-treemacs (&optional _) "Open current node without and close treemacs. Works just like calling `treemacs-visit-node-no-split' with a double prefix arg." (interactive "P") (treemacs-visit-node-no-split '(16))) (defun treemacs-visit-node-no-split (&optional arg) "Open current node without performing any window split or window selection. The node will be displayed in the window next to treemacs, the exact selection is determined by `next-window'. If the node is already opened in some other window then that window will be selected instead. Stay in the current window with a single prefix argument ARG, or close the treemacs window with a double prefix argument." (interactive "P") (run-hook-with-args 'treemacs-after-visit-functions (treemacs--execute-button-action :file-action (find-file (treemacs-safe-button-get btn :path)) :dir-action (dired (treemacs-safe-button-get btn :path)) :tag-section-action (treemacs--visit-or-expand/collapse-tag-node btn arg nil) :tag-action (treemacs--goto-tag btn) :window-arg arg :ensure-window-split t :window (-some-> btn (treemacs--nearest-path) (get-file-buffer) (get-buffer-window)) :no-match-explanation "Node is neither a file, a directory or a tag - nothing to do here."))) (defun treemacs-visit-node-ace (&optional arg) "Open current file or tag in window selected by `ace-window'. Stay in the current window with a single prefix argument ARG, or close the treemacs window with a double prefix argument." (interactive "P") (run-hook-with-args 'treemacs-after-visit-functions (treemacs--execute-button-action :window (ace-select-window) :file-action (find-file (treemacs-safe-button-get btn :path)) :dir-action (dired (treemacs-safe-button-get btn :path)) :tag-section-action (treemacs--visit-or-expand/collapse-tag-node btn arg nil) :tag-action (treemacs--goto-tag btn) :window-arg arg :ensure-window-split t :no-match-explanation "Node is neither a file, a directory or a tag - nothing to do here."))) (defun treemacs-visit-node-in-most-recently-used-window (&optional arg) "Open current file or tag in window selected by `get-mru-window'. Stay in the current window with a single prefix argument ARG, or close the treemacs window with a double prefix argument." (interactive "P") (run-hook-with-args 'treemacs-after-visit-functions (treemacs--execute-button-action :window (get-mru-window (selected-frame) nil :not-selected) :file-action (find-file (treemacs-safe-button-get btn :path)) :dir-action (dired (treemacs-safe-button-get btn :path)) :tag-section-action (treemacs--visit-or-expand/collapse-tag-node btn arg nil) :tag-action (treemacs--goto-tag btn) :window-arg arg :ensure-window-split t :no-match-explanation "Node is neither a file, a directory or a tag - nothing to do here."))) (defun treemacs-visit-node-ace-horizontal-split (&optional arg) "Open current file by horizontally splitting window selected by `ace-window'. Stay in the current window with a single prefix argument ARG, or close the treemacs window with a double prefix argument." (interactive "P") (run-hook-with-args 'treemacs-after-visit-functions (treemacs--execute-button-action :split-function #'split-window-horizontally :window (ace-select-window) :file-action (find-file (treemacs-safe-button-get btn :path)) :dir-action (dired (treemacs-safe-button-get btn :path)) :tag-section-action (treemacs--visit-or-expand/collapse-tag-node btn arg nil) :tag-action (treemacs--goto-tag btn) :window-arg arg :no-match-explanation "Node is neither a file, a directory or a tag - nothing to do here."))) (defun treemacs-visit-node-ace-vertical-split (&optional arg) "Open current file by vertically splitting window selected by `ace-window'. Stay in the current window with a single prefix argument ARG, or close the treemacs window with a double prefix argument." (interactive "P") (run-hook-with-args 'treemacs-after-visit-functions (treemacs--execute-button-action :split-function #'split-window-vertically :window (ace-select-window) :file-action (find-file (treemacs-safe-button-get btn :path)) :dir-action (dired (treemacs-safe-button-get btn :path)) :tag-section-action (treemacs--visit-or-expand/collapse-tag-node btn arg nil) :tag-action (treemacs--goto-tag btn) :window-arg arg :no-match-explanation "Node is neither a file, a directory or a tag - nothing to do here."))) (defun treemacs-visit-node-default (&optional arg) "Run `treemacs-default-visit-action' for the current button. A potential prefix ARG is passed on to the executed action, if possible." (interactive "P") (funcall-interactively treemacs-default-visit-action arg)) (defun treemacs-RET-action (&optional arg) "Run the appropriate RET action for the current button. In the default configuration this usually means to open the content of the currently selected node. A potential prefix ARG is passed on to the executed action, if possible. This function's exact configuration is stored in `treemacs-RET-actions-config'." (interactive "P") (-when-let (state (treemacs--prop-at-point :state)) (--if-let (cdr (assq state treemacs-RET-actions-config)) (progn (funcall it arg) (treemacs--evade-image)) (treemacs-pulse-on-failure "No RET action defined for node of type %s." (propertize (format "%s" state) 'face 'font-lock-type-face))))) (defun treemacs-define-RET-action (state action) "Define the behaviour of `treemacs-RET-action'. Determines that a button with a given STATE should lead to the execution of ACTION. The list of possible states can be found in `treemacs-valid-button-states'. ACTION should be one of the `treemacs-visit-node-*' commands." (setf treemacs-RET-actions-config (assq-delete-all state treemacs-RET-actions-config)) (push (cons state action) treemacs-RET-actions-config)) (defun treemacs-define-TAB-action (state action) "Define the behaviour of `treemacs-TAB-action'. Determines that a button with a given STATE should lead to the execution of ACTION. The list of possible states can be found in `treemacs-valid-button-states'. ACTION should be one of the `treemacs-visit-node-*' commands." (setf treemacs-TAB-actions-config (assq-delete-all state treemacs-TAB-actions-config)) (push (cons state action) treemacs-TAB-actions-config)) (defun treemacs-COLLAPSE-action (&optional arg) "Run the appropriate COLLAPSE action for the current button. In the default configuration this usually means to close the content of the currently selected node. A potential prefix ARG is passed on to the executed action, if possible. This function's exact configuration is stored in `treemacs-COLLAPSE-actions-config'." (interactive "P") (-when-let (state (treemacs--prop-at-point :state)) (--if-let (cdr (assq state treemacs-COLLAPSE-actions-config)) (progn (funcall it arg) (treemacs--evade-image)) (treemacs-pulse-on-failure "No COLLAPSE action defined for node of type %s." (propertize (format "%s" state) 'face 'font-lock-type-face))))) (defun treemacs-define-COLLAPSE-action (state action) "Define the behaviour of `treemacs-COLLAPSE-action'. Determines that a button with a given STATE should lead to the execution of ACTION. The list of possible states can be found in `treemacs-valid-button-states'. ACTION should be one of the `treemacs-visit-node-*' commands." (setf treemacs-COLLAPSE-actions-config (assq-delete-all state treemacs-COLLAPSE-actions-config)) (push (cons state action) treemacs-COLLAPSE-actions-config)) (defun treemacs-visit-node-in-external-application () "Open current file according to its mime type in an external application. Treemacs knows how to open files on linux, windows and macos." (interactive) ;; code adapted from ranger.el (-if-let (path (treemacs--prop-at-point :path)) (pcase system-type ('windows-nt (declare-function w32-shell-execute "w32fns.c") (w32-shell-execute "open" (replace-regexp-in-string "/" "\\" path t t))) ('darwin (shell-command (format "open \"%s\"" path))) ('gnu/linux (let (process-connection-type) (start-process "" nil "sh" "-c" ;; XXX workaround for #633 (format "xdg-open %s; sleep 1" (shell-quote-argument path))))) (_ (treemacs-pulse-on-failure "Don't know how to open files on %s." (propertize (symbol-name system-type) 'face 'font-lock-string-face)))) (treemacs-pulse-on-failure "Nothing to open here."))) (defun treemacs-quit (&optional arg) "Quit treemacs with `bury-buffer'. With a prefix ARG call `treemacs-kill-buffer' instead." (interactive "P") (if arg (treemacs-kill-buffer) (bury-buffer) (run-hooks 'treemacs-quit-hook))) (defun treemacs-kill-buffer () "Kill the treemacs buffer." (interactive) (when treemacs--in-this-buffer ;; teardown logic handled in kill hook (if (one-window-p) (kill-this-buffer) (kill-buffer-and-window)) (run-hooks 'treemacs-kill-hook))) (defun treemacs-toggle-show-dotfiles () "Toggle the hiding and displaying of dotfiles. For toggling the display of git-ignored files see `treemacs-hide-gitignored-files-mode'." (interactive) (setq treemacs-show-hidden-files (not treemacs-show-hidden-files)) (treemacs-run-in-every-buffer (treemacs--do-refresh (current-buffer) 'all)) (treemacs-log "Dotfiles will now be %s" (if treemacs-show-hidden-files "displayed." "hidden."))) (defun treemacs-toggle-fixed-width () "Toggle whether the local treemacs buffer should have a fixed width. See also `treemacs-width.'" (interactive) (-if-let (buffer (treemacs-get-local-buffer)) (with-current-buffer buffer (setq treemacs--width-is-locked (not treemacs--width-is-locked) window-size-fixed (when treemacs--width-is-locked 'width)) (treemacs-log "Window width has been %s." (propertize (if treemacs--width-is-locked "locked" "unlocked") 'face 'font-lock-string-face))) (treemacs-log-failure "There is no treemacs buffer in the current scope."))) (defun treemacs-set-width (&optional arg) "Select a new value for `treemacs-width'. With a prefix ARG simply reset the width of the treemacs window." (interactive "P") (unless arg (setq treemacs-width (->> treemacs-width (format "New Width (current = %s): ") (read-number)))) (treemacs--set-width treemacs-width)) (defun treemacs-increase-width (&optional arg) "Increase the value for `treemacs-width' with `treemacs-width-increment'. With a prefix ARG add the increment value multiple times." (interactive "P") (let* ((treemacs-window (treemacs-get-local-window)) (multiplier (if (numberp arg) arg 1)) (old-width (window-body-width treemacs-window)) (new-width (+ old-width (* multiplier treemacs-width-increment)))) (setq treemacs-width new-width) (treemacs--set-width new-width) (let ((current-size (window-body-width treemacs-window))) (when (not (eq current-size new-width)) (setq treemacs-width old-width) (treemacs--set-width old-width) (treemacs-pulse-on-failure "Could not increase window width!"))))) (defun treemacs-decrease-width (&optional arg) "Decrease the value for `treemacs-width' with `treemacs-width-increment'. With a prefix ARG substract the increment value multiple times." (interactive "P") (let* ((treemacs-window (treemacs-get-local-window)) (multiplier (if (numberp arg) arg 1)) (old-width (window-body-width treemacs-window)) (new-width (- old-width (* multiplier treemacs-width-increment)))) (setq treemacs-width new-width) (treemacs--set-width new-width) (let ((current-size (window-body-width treemacs-window))) (when (not (eq current-size new-width)) (setq treemacs-width old-width) (treemacs--set-width old-width) (treemacs-pulse-on-failure "Could not decrease window width!"))))) (defun treemacs-copy-absolute-path-at-point () "Copy the absolute path of the node at point." (interactive) (treemacs-block (-let [path (treemacs--prop-at-point :path)] (treemacs-error-return-if (null path) "There is nothing to copy here") (treemacs-error-return-if (not (stringp path)) "Path at point is not a file.") (when (file-directory-p path) (setf path (treemacs--add-trailing-slash path))) (kill-new path) (treemacs-pulse-on-success "Copied absolute path: %s" (propertize path 'face 'font-lock-string-face))))) (defun treemacs-copy-relative-path-at-point () "Copy the path of the node at point relative to the project root." (interactive) (treemacs-block (let ((path (treemacs--prop-at-point :path)) (project (treemacs-project-at-point))) (treemacs-error-return-if (null path) "There is nothing to copy here") (treemacs-error-return-if (not (stringp path)) "Path at point is not a file.") (when (file-directory-p path) (setf path (treemacs--add-trailing-slash path))) (-let [copied (-> path (file-relative-name (treemacs-project->path project)))] (kill-new copied) (treemacs-pulse-on-success "Copied relative path: %s" (propertize copied 'face 'font-lock-string-face)))))) (defun treemacs-copy-project-path-at-point () "Copy the absolute path of the current treemacs root." (interactive) (treemacs-block (-let [project (treemacs-project-at-point)] (treemacs-error-return-if (null project) "There is nothing to copy here") (treemacs-error-return-if (not (stringp (treemacs-project->path project))) "Project at point is not a file.") (-let [copied (-> project (treemacs-project->path))] (kill-new copied) (treemacs-pulse-on-success "Copied project path: %s" (propertize copied 'face 'font-lock-string-face)))))) (defun treemacs-copy-filename-at-point () "Copy the filename of the node at point." (interactive) (treemacs-block (-let [path (treemacs--prop-at-point :path)] (treemacs-error-return-if (null path) "There is nothing to copy here") (treemacs-error-return-if (not (stringp path)) "Path at point is not a file.") (let ((filename (file-name-nondirectory path))) (kill-new filename) (treemacs-pulse-on-success "Copied filename: %s" (propertize filename 'face 'font-lock-string-face)))))) (defun treemacs-paste-dir-at-point-to-minibuffer () "Paste the directory at point into the minibuffer. This is used by the \"Paste here\" mouse menu button, which assumes that we are running `treemacs--copy-or-move', so that pasting this path into the minibuffer allows us to copy/move the previously-selected file into the path at point." (interactive) (treemacs-block (treemacs-error-return-if (not (active-minibuffer-window)) "Minibuffer is not active") (let* ((path-at-point (treemacs--prop-at-point :path)) (dir (if (file-directory-p path-at-point) path-at-point (file-name-directory path-at-point)))) (select-window (active-minibuffer-window)) (delete-region (minibuffer-prompt-end) (point-max)) (insert dir)) (message "Copied from treemacs"))) (defun treemacs-delete-other-windows () "Same as `delete-other-windows', but will not delete the treemacs window. If this command is run when the treemacs window is selected `next-window' will also not be deleted." (interactive) (save-selected-window (-let [w (treemacs-get-local-window)] (when (eq w (selected-window)) (select-window (next-window))) (delete-other-windows) ;; we still want to call `delete-other-windows' since it contains plenty of nontrivial code ;; that we shouldn't prevent from running, so we just restore treemacs instead of preventing ;; it from being deleted ;; 'no-delete-other-windows could be used instead, but it's only available for emacs 26 (when (and w (not (equal 'visible (treemacs-current-visibility)))) (treemacs--select-not-visible-window))))) (defun treemacs-temp-resort-root (&optional sort-method) "Temporarily resort the entire treemacs buffer. SORT-METHOD is a cons of a string describing the method and the actual sort value, as returned by `treemacs--sort-value-selection'. SORT-METHOD will be provided when this function is called from `treemacs-resort' and will be interactively read otherwise. This way this function can be bound directly, without the need to call `treemacs-resort' with a prefix arg." (interactive) (-let* (((sort-name . sort-method) (or sort-method (treemacs--sort-value-selection))) (treemacs-sorting sort-method)) (treemacs-without-messages (treemacs-refresh)) (treemacs-log "Temporarily resorted everything with sort method '%s.'" (propertize sort-name 'face 'font-lock-type-face)))) (defun treemacs-temp-resort-current-dir (&optional sort-method) "Temporarily resort the current directory. SORT-METHOD is a cons of a string describing the method and the actual sort value, as returned by `treemacs--sort-value-selection'. SORT-METHOD will be provided when this function is called from `treemacs-resort' and will be interactively read otherwise. This way this function can be bound directly, without the need to call `treemacs-resort' with a prefix arg." (interactive) (-let* (((sort-name . sort-method) (or sort-method (treemacs--sort-value-selection))) (treemacs-sorting sort-method)) (-if-let (btn (treemacs-current-button)) (pcase (treemacs-button-get btn :state) ('dir-node-closed (treemacs--expand-dir-node btn) (treemacs-log "Resorted %s with sort method '%s'." (propertize (treemacs--get-label-of btn) 'face 'font-lock-string-face) (propertize sort-name 'face 'font-lock-type-face))) ('dir-node-open (treemacs--collapse-dir-node btn) (goto-char (treemacs-button-start btn)) (treemacs--expand-dir-node btn) (treemacs-log "Resorted %s with sort method '%s'." (propertize (treemacs--get-label-of btn) 'face 'font-lock-string-face) (propertize sort-name 'face 'font-lock-type-face))) ((or 'file-node-open 'file-node-closed 'tag-node-open 'tag-node-closed 'tag-node) (let* ((parent (treemacs-button-get btn :parent))) (while (and parent (not (-some-> parent (treemacs-button-get :path) (file-directory-p)))) (setq parent (treemacs-button-get parent :parent))) (if parent (let ((line (line-number-at-pos)) (window-point (window-point))) (goto-char (treemacs-button-start parent)) (treemacs--collapse-dir-node parent) (goto-char (treemacs-button-start btn)) (treemacs--expand-dir-node parent) (set-window-point (selected-window) window-point) (with-no-warnings (goto-line line)) (treemacs-log "Resorted %s with sort method '%s'." (propertize (treemacs--get-label-of parent) 'face 'font-lock-string-face) (propertize sort-name 'face 'font-lock-type-face))) ;; a top level file's containing dir is root (treemacs-without-messages (treemacs-refresh)) (treemacs-log "Resorted root directory with sort method '%s'." (propertize sort-name 'face 'font-lock-type-face))))))))) (defun treemacs-resort (&optional arg) "Select a new permanent value for `treemacs-sorting' and refresh. With a single prefix ARG use the new sort value to *temporarily* resort the \(closest\) directory at point. With a double prefix ARG use the new sort value to *temporarily* resort the entire treemacs view. Temporary sorting will only stick around until the next refresh, either manual or automatic via `treemacs-filewatch-mode'. Instead of calling this with a prefix arg you can also directly call `treemacs-temp-resort-current-dir' and `treemacs-temp-resort-root'." (interactive "P") (pcase arg ;; Resort current dir only (`(4) (treemacs-temp-resort-current-dir)) ;; Temporarily resort everything (`(16) (treemacs-temp-resort-root)) ;; Set new permanent value (_ (-let (((sort-name . sort-value) (treemacs--sort-value-selection))) (setq treemacs-sorting sort-value) (treemacs-without-messages (treemacs-refresh)) (treemacs-log "Sorting method changed to '%s'." (propertize sort-name 'face 'font-lock-type-face))))) (treemacs--evade-image)) (defun treemacs-next-line-other-window (&optional count) "Scroll forward COUNT lines in `next-window'." (interactive "p") (treemacs-without-following (with-selected-window (next-window) (scroll-up-line count)))) (defun treemacs-previous-line-other-window (&optional count) "Scroll backward COUNT lines in `next-window'." (interactive "p") (treemacs-without-following (with-selected-window (next-window) (scroll-down-line count)))) (defun treemacs-next-page-other-window (&optional count) "Scroll forward COUNT pages in `next-window'. For slower scrolling see `treemacs-next-line-other-window'" (interactive "p") (treemacs-without-following (with-selected-window (next-window) (condition-case _ (dotimes (_ (or count 1)) (scroll-up nil)) (end-of-buffer (goto-char (point-max))))))) (defun treemacs-previous-page-other-window (&optional count) "Scroll backward COUNT pages in `next-window'. For slower scrolling see `treemacs-previous-line-other-window'" (interactive "p") (treemacs-without-following (with-selected-window (next-window) (condition-case _ (dotimes (_ (or count 1)) (scroll-down nil)) (beginning-of-buffer (goto-char (point-min))))))) (defun treemacs-next-project () "Move to the next project root node." (interactive) (-let [pos (treemacs--next-project-pos)] (if (or (= pos (point)) (= pos (point-max))) (treemacs-pulse-on-failure "There is no next project to move to.") (goto-char pos) (treemacs--maybe-recenter treemacs-recenter-after-project-jump)))) (defun treemacs-previous-project () "Move to the next project root node." (interactive) (-let [pos (treemacs--prev-project-pos)] (if (or (= pos (point)) (= pos (point-min))) (treemacs-pulse-on-failure "There is no previous project to move to.") (goto-char pos) (treemacs--maybe-recenter treemacs-recenter-after-project-jump)))) (defun treemacs-rename-project () "Give the project at point a new name." (interactive) (treemacs-with-writable-buffer (treemacs-block (treemacs-unless-let (project (treemacs-project-at-point)) (treemacs-pulse-on-failure "There is no project here.") (let* ((old-name (treemacs-project->name project)) (project-btn (treemacs-project->position project)) (state (treemacs-button-get project-btn :state)) (new-name (treemacs--read-string "New name: " (treemacs-project->name project)))) (treemacs-save-position (progn (treemacs-return-if (treemacs--is-name-invalid? new-name) (treemacs-pulse-on-failure "'%s' is an invalid name." (propertize new-name 'face 'font-lock-type-face))) (treemacs-return-if (string-equal old-name new-name) (treemacs-pulse-on-failure "The new name is the same as the old name.")) (setf (treemacs-project->name project) new-name) ;; after renaming, delete and redisplay the project (goto-char (treemacs-button-end project-btn)) (delete-region (line-beginning-position) (line-end-position)) (treemacs--add-root-element project) (when (eq state 'root-node-open) (treemacs--collapse-root-node (treemacs-project->position project)) (treemacs--expand-root-node (treemacs-project->position project)))) (run-hook-with-args 'treemacs-rename-project-functions project old-name) (treemacs-pulse-on-success "Renamed project %s to %s." (propertize old-name 'face 'font-lock-type-face) (propertize new-name 'face 'font-lock-type-face))))))) (treemacs--evade-image)) (defun treemacs-add-project-to-workspace (path &optional name) "Add a project at given PATH to the current workspace. The PATH's directory name will be used as a NAME for a project. The NAME can \(or must) be entered manually with either a prefix arg or if a project with the auto-selected name already exists." (interactive "DProject root: ") (let* ((default-name (treemacs--filename path)) (double-name (--first (string= default-name (treemacs-project->name it)) (treemacs-workspace->projects (treemacs-current-workspace))))) (if (or current-prefix-arg double-name) (setf name (treemacs--read-string "Project Name: " (unless double-name (treemacs--filename path)))) (setf name default-name))) (pcase (treemacs-do-add-project-to-workspace path name) (`(success ,project) (treemacs-pulse-on-success "Added project '%s' to the workspace." (propertize (treemacs-project->name project) 'face 'font-lock-type-face))) (`(invalid-path ,reason) (treemacs-pulse-on-failure (concat "Path '%s' is invalid: %s") (propertize path 'face 'font-lock-string-face) reason)) (`(invalid-name ,name) (treemacs-pulse-on-failure "Name '%s' is invalid." (propertize name 'face 'font-lock-string-face))) (`(duplicate-project ,duplicate) (goto-char (treemacs-project->position duplicate)) (treemacs-pulse-on-failure "A project for '%s' already exists. Projects may not overlap." (propertize (treemacs-project->path duplicate) 'face 'font-lock-string-face))) (`(includes-project ,project) (goto-char (treemacs-project->position project)) (treemacs-pulse-on-failure "Project '%s' is included in '%s'. Projects may not overlap." (propertize (treemacs-project->name project) 'face 'font-lock-type-face) (propertize path 'face 'font-lock-string-face))) (`(duplicate-name ,duplicate) (goto-char (treemacs-project->position duplicate)) (treemacs-pulse-on-failure "A project with the name %s already exists." (propertize (treemacs-project->name duplicate) 'face 'font-lock-type-face)))) nil) (defalias 'treemacs-add-project #'treemacs-add-project-to-workspace) (with-no-warnings (make-obsolete #'treemacs-add-project #'treemacs-add-project-to-workspace "v2.2.1")) (defun treemacs-remove-project-from-workspace (&optional arg) "Remove the project at point from the current workspace. With a prefix ARG select project to remove by name." (interactive "P") (let ((project (treemacs-project-at-point)) (save-pos)) (when (or arg (null project)) (setf project (treemacs--select-project-by-name) save-pos (not (equal project (treemacs-project-at-point))))) (pcase (if save-pos (treemacs-save-position (treemacs-do-remove-project-from-workspace project nil :ask)) (treemacs-do-remove-project-from-workspace project nil :ask)) (`success (whitespace-cleanup) (treemacs-pulse-on-success "Removed project %s from the workspace." (propertize (treemacs-project->name project) 'face 'font-lock-type-face))) (`user-cancel (ignore)) (`cannot-delete-last-project (treemacs-pulse-on-failure "Cannot delete the last project.")) (`(invalid-project ,reason) (treemacs-pulse-on-failure "Cannot delete project: %s" (propertize reason 'face 'font-lock-string-face)))))) (defun treemacs-create-workspace () "Create a new workspace." (interactive) (pcase (treemacs-do-create-workspace) (`(success ,workspace) (treemacs-pulse-on-success "Workspace %s successfully created." (propertize (treemacs-workspace->name workspace) 'face 'font-lock-type-face))) (`(invalid-name ,name) (treemacs-pulse-on-failure "Name '%s' is invalid." (propertize name 'face 'font-lock-string-face))) (`(duplicate-name ,duplicate) (treemacs-pulse-on-failure "A workspace with the name %s already exists." (propertize (treemacs-workspace->name duplicate) 'face 'font-lock-string-face))))) (defun treemacs-remove-workspace () "Delete a workspace." (interactive) (pcase (treemacs-do-remove-workspace nil :ask-to-confirm) ('only-one-workspace (treemacs-pulse-on-failure "You cannot delete the last workspace.")) (`(workspace-not-found ,name) (treemacs-pulse-on-failure "Workspace with name '%s' does not exist" (propertize name 'face 'font-lock-type-face))) ('user-cancel (ignore)) (`(success ,deleted ,_) (treemacs-pulse-on-success "Workspace %s was deleted." (propertize (treemacs-workspace->name deleted) 'face 'font-lock-type-face))))) (defun treemacs-switch-workspace (arg) "Select a different workspace for treemacs. With a prefix ARG clean up buffers after the switch. A single prefix argument will delete all file visiting buffers, 2 prefix arguments will clean up all open buffers (except for treemacs itself and the scratch and messages buffers). Without a prefix argument `treemacs-workspace-switch-cleanup' will be followed instead." (interactive "P") (pcase (treemacs-do-switch-workspace) ('only-one-workspace (treemacs-pulse-on-failure "There are no other workspaces to select.")) (`(success ,workspace) (treemacs--maybe-clean-buffers-on-workspace-switch (pcase arg (`(4) 'files) (`(16) 'all) (_ treemacs-workspace-switch-cleanup))) (treemacs-pulse-on-success "Selected workspace %s." (propertize (treemacs-workspace->name workspace)))))) (defun treemacs-set-fallback-workspace (&optional arg) "Set the current workspace as the default fallback. With a non-nil prefix ARG choose the fallback instead. The fallback workspace is the one treemacs will select when it is opened for the first time and the current file at the time is not part of any of treemacs' workspaces." (interactive "P") (treemacs-block (-let [fallback (if arg (treemacs--select-workspace-by-name) (treemacs-current-workspace))] (treemacs-error-return-if (null fallback) "There is no workspace with that name.") (setf treemacs--workspaces (sort treemacs--workspaces (lambda (ws _) (equal ws fallback)))) (treemacs--persist) (treemacs-pulse-on-success "Selected workspace %s as fallback." (propertize (treemacs-workspace->name fallback) 'face 'font-lock-type-face))))) (defun treemacs-rename-workspace () "Select a workspace to rename." (interactive) (pcase (treemacs-do-rename-workspace) (`(success ,old-name ,workspace) (treemacs-pulse-on-success "Workspace %s successfully renamed to %s." (propertize old-name 'face 'font-lock-type-face) (propertize (treemacs-workspace->name workspace) 'face 'font-lock-type-face))) (`(invalid-name ,name) (treemacs-pulse-on-failure "Name '%s' is invalid." (propertize name 'face 'font-lock-string-face))))) (defun treemacs-refresh () "Refresh the project at point." (interactive) (treemacs-unless-let (btn (treemacs-current-button)) (treemacs-log-failure "There is nothing to refresh.") (-let [project (treemacs-project-of-node btn)] (treemacs-without-recenter (treemacs--do-refresh (current-buffer) project)) (run-hook-with-args 'treemacs-post-project-refresh-functions project)))) (defun treemacs-collapse-project (&optional arg) "Close the project at point. With a prefix ARG also forget about all the nodes opened in the project." (interactive "P") (treemacs-unless-let (project (treemacs-project-at-point)) (treemacs-pulse-on-failure "There is nothing to close here.") (-let [btn (treemacs-project->position project)] (when (treemacs-is-node-expanded? btn) (goto-char btn) (treemacs--collapse-root-node btn arg) (treemacs--maybe-recenter 'on-distance))) (treemacs-pulse-on-success "Collapsed current project"))) (defun treemacs-collapse-all-projects (&optional arg) "Collapses all projects. With a prefix ARG remember which nodes were expanded." (interactive "P") (-when-let (buffer (treemacs-get-local-buffer)) (with-current-buffer buffer (save-excursion (dolist (project (treemacs-workspace->projects (treemacs-current-workspace))) (-when-let (pos (treemacs-project->position project)) (when (eq 'root-node-open (treemacs-button-get pos :state)) (goto-char pos) (treemacs--collapse-root-node pos (not arg)))))) (treemacs--maybe-recenter 'on-distance) (treemacs-pulse-on-success "Collapsed all projects")))) (defun treemacs-collapse-other-projects (&optional arg) "Collapses all projects except the project at point. With a prefix ARG also forget about all the nodes opened in the projects." (interactive "P") (save-excursion (-let [curr-project (treemacs-project-at-point)] (dolist (project (treemacs-workspace->projects (treemacs-current-workspace))) (unless (eq project curr-project) (-when-let (pos (treemacs-project->position project)) (when (eq 'root-node-open (treemacs-button-get pos :state)) (goto-char pos) (treemacs--collapse-root-node pos arg))))))) (treemacs--maybe-recenter 'on-distance) (treemacs-pulse-on-success "Collapsed all other projects")) (defun treemacs-root-up (&optional _) "Move treemacs' root one level upward. Only works with a single project in the workspace." (interactive "P") (treemacs-block (unless (= 1 (length (treemacs-workspace->projects (treemacs-current-workspace)))) (treemacs-error-return "Ad-hoc navigation is only possible when there is but a single project in the workspace.")) (-let [btn (treemacs-current-button)] (unless btn (setq btn (previous-button (point)))) (let* ((project (-> btn (treemacs--nearest-path) (treemacs--find-project-for-path))) (old-root (treemacs-project->path project)) (new-root (treemacs--parent old-root)) (new-name (pcase new-root ("/" new-root) (_ (file-name-nondirectory new-root)))) (treemacs--no-messages t) (treemacs-pulse-on-success nil)) (unless (treemacs-is-path old-root :same-as new-root) (treemacs-do-remove-project-from-workspace project :ignore-last-project-restriction) (treemacs--reset-dom) ;; remove also the previous root's dom entry (treemacs-do-add-project-to-workspace new-root new-name) (treemacs-goto-file-node old-root)))))) (defun treemacs-root-down (&optional _) "Move treemacs' root into the directory at point. Only works with a single project in the workspace." (interactive "P") (treemacs-block (treemacs-error-return-if (/= 1 (length (treemacs-workspace->projects (treemacs-current-workspace)))) "Free navigation is only possible when there is but a single project in the workspace.") (treemacs-unless-let (btn (treemacs-current-button)) (treemacs-pulse-on-failure "There is no directory to move into here.") (pcase (treemacs-button-get btn :state) ((or 'dir-node-open 'dir-node-closed) (let ((new-root (treemacs-button-get btn :path)) (treemacs--no-messages t) (treemacs-pulse-on-success nil)) (treemacs-do-remove-project-from-workspace (treemacs-project-at-point) :ignore-last-project-restriction) (treemacs--reset-dom) ;; remove also the previous root's dom entry (treemacs-do-add-project-to-workspace new-root (file-name-nondirectory new-root)) (treemacs-goto-file-node new-root))) (_ (treemacs-pulse-on-failure "Button at point is not a directory.")))))) (defun treemacs-show-extensions () "Display a list of all active extensions." (interactive) (-let [txt (list "#+TITLE: Treemacs Active Extensions\n")] (cl-flet ((with-face (txt face) (propertize txt 'font-lock-face face))) (pcase-dolist (`(,headline . ,name) '(("* Directory Extensions" . directory) ("* Project Extensions" . project) ("* Root Extetensions" . root)) ) (let ((top-name (symbol-value (intern (format "treemacs--%s-top-extensions" name)))) (bottom-name (symbol-value (intern (format "treemacs--%s-bottom-extensions" name))))) (push headline txt) (pcase-dolist (`(,pos-txt . ,pos-val) `(("** Top" . ,top-name) ("** Bottom" . ,bottom-name))) (push pos-txt txt) (if pos-val (dolist (ext pos-val) (push (format " - %s\n with predicate %s\n defined in %s" (with-face (symbol-name (car ext)) 'font-lock-keyword-face) (with-face (--if-let (cdr ext) (symbol-name it) "None") 'font-lock-function-name-face) (with-face (get (car ext) :defined-in) 'font-lock-string-face)) txt)) (push (with-face " - None" 'font-lock-comment-face) txt)))))) (-let [buf (get-buffer-create "*Treemacs Extension Overview*")] (switch-to-buffer buf) (org-mode) (erase-buffer) (->> txt (nreverse) (--map (concat it "\n")) (apply #'concat) (insert)) (with-no-warnings (org-reveal)) (goto-char 0) (forward-line)))) (defun treemacs-move-project-up () "Switch position of the project at point and the one above it." (interactive) (treemacs-block (let* ((workspace (treemacs-current-workspace)) (projects (treemacs-workspace->projects workspace)) (project1 (treemacs-project-at-point)) (index1 (or (treemacs-error-return-if (null project1) "There is nothing to move here.") (-elem-index project1 projects))) (index2 (1- index1)) (project2 (or (treemacs-error-return-if (> 0 index2) "There is no project to switch places with above.") (nth index2 projects))) (bounds1 (treemacs--get-bounds-of-project project1)) (bounds2 (treemacs--get-bounds-of-project project2))) (treemacs-with-writable-buffer (transpose-regions (car bounds1) (cdr bounds1) (car bounds2) (cdr bounds2))) (setf (nth index1 projects) project2 (nth index2 projects) project1) (treemacs--persist) (recenter)))) (defun treemacs-move-project-down () "Switch position of the project at point and the one below it." (interactive) (treemacs-block (let* ((workspace (treemacs-current-workspace)) (projects (treemacs-workspace->projects workspace)) (project1 (treemacs-project-at-point)) (index1 (or (treemacs-error-return-if (null project1) "There is nothing to move here.") (-elem-index project1 projects))) (index2 (1+ index1)) (project2 (or (treemacs-error-return-if (>= index2 (length projects)) "There is no project to switch places with below.") (nth index2 projects))) (bounds1 (treemacs--get-bounds-of-project project1)) (bounds2 (treemacs--get-bounds-of-project project2))) (treemacs-with-writable-buffer (transpose-regions (car bounds1) (cdr bounds1) (car bounds2) (cdr bounds2))) (setf (nth index1 projects) project2 (nth index2 projects) project1) (treemacs--persist) (recenter)))) (defun treemacs-finish-edit () "Finish editing your workspaces and apply the change." (interactive) (treemacs-block (treemacs-error-return-if (not (equal (buffer-name) treemacs--org-edit-buffer-name)) "This is not a valid treemacs workspace edit buffer") (treemacs--org-edit-remove-validation-msg) (widen) (whitespace-cleanup) (-let [lines (treemacs--read-persist-lines (buffer-string))] (treemacs-error-return-if (null (buffer-string)) "The buffer is empty, there is nothing here to save.") (pcase (treemacs--validate-persist-lines lines) (`(error ,err-line ,err-msg) (treemacs--org-edit-display-validation-msg err-msg err-line)) ('success (treemacs--invalidate-buffer-project-cache) (write-region (apply #'concat (--map (concat it "\n") lines)) nil treemacs-persist-file nil :silent) (treemacs--restore) (-if-let (ws (treemacs--find-workspace-by-name (treemacs-workspace->name (treemacs-current-workspace)))) (setf (treemacs-current-workspace) ws) (treemacs--find-workspace)) (treemacs--consolidate-projects) (if (and (treemacs-get-local-window) (= 2 (length (window-list)))) (kill-buffer) (quit-window) (kill-buffer-and-window)) (run-hooks 'treemacs-workspace-edit-hook) (when treemacs-hide-gitignored-files-mode (treemacs--prefetch-gitignore-cache 'all)) (treemacs-log "Edit completed successfully.")))))) (defun treemacs-collapse-parent-node (arg) "Close the parent of the node at point. Prefix ARG will be passed on to the closing function \(see `treemacs-toggle-node'.\)" (interactive "P") (-if-let* ((btn (treemacs-current-button)) (parent (button-get btn :parent))) (progn (goto-char parent) (treemacs-toggle-node arg) (treemacs--evade-image)) (treemacs-pulse-on-failure (if btn "Already at root." "There is nothing to close here.")))) (defun treemacs-run-shell-command-in-project-root (&optional arg) "Run an asynchronous shell command in the root of the current project. Output will only be saved and displayed if prefix ARG is non-nil. Every instance of the string `$path' will be replaced with the (properly quoted) absolute path of the project root." (interactive "P") (let* ((cmd (read-shell-command "Command: ")) (name "*Treemacs Shell Command*") (node (treemacs-node-at-point)) (buffer (progn (--when-let (get-buffer name) (kill-buffer it)) (get-buffer-create name))) (working-dir nil)) (treemacs-block (treemacs-error-return-if (null node) (treemacs-pulse-on-failure "There is no project here.")) (-let [project (treemacs-project-of-node node)] (treemacs-error-return-if (treemacs-project->is-unreadable? project) (treemacs-pulse-on-failure "Project path is not readable.")) (setf working-dir (treemacs-project->path project) cmd (s-replace "$path" (shell-quote-argument working-dir) cmd)) (pfuture-callback `(,shell-file-name ,shell-command-switch ,cmd) :name name :buffer buffer :directory working-dir :on-success (if arg (progn (pop-to-buffer pfuture-buffer) (require 'ansi-color) (ansi-color-apply-on-region (point-min) (point-max))) (treemacs-log "Shell command completed successfully.") (kill-buffer buffer)) :on-error (progn (treemacs-log-failure "Shell command failed with exit code %s and output:" (process-exit-status process)) (message "%s" (pfuture-callback-output)) (kill-buffer buffer))))))) (defun treemacs-run-shell-command-for-current-node (&optional arg) "Run a shell command on the current node. Output will only be saved and displayed if prefix ARG is non-nil. Will use the location of the current node as working directory. If the current node is not a file/dir, then the next-closest file node will be used. If all nodes are non-files, or if there is no node at point, $HOME will be set as the working directory. Every instance of the string `$path' will be replaced with the (properly quoted) absolute path of the node (if it is present)." (interactive "P") (let* ((cmd (read-shell-command "Command: ")) (name "*Treemacs Shell Command*") (node (treemacs-node-at-point)) (buffer (progn (--when-let (get-buffer name) (kill-buffer it)) (get-buffer-create name))) (working-dir (-some-> node (treemacs-button-get :path)))) (cond ((null node) (setf working-dir "~/")) ((or (null working-dir) (not (file-exists-p working-dir))) (setf working-dir (treemacs--nearest-path node)) (when (or (null working-dir) (not (file-exists-p working-dir))) (setf working-dir "~/"))) (t (setf working-dir (treemacs--parent working-dir)))) (when (and node (treemacs-is-node-file-or-dir? node)) (setf cmd (s-replace "$path" (shell-quote-argument (treemacs-button-get node :path)) cmd))) (pfuture-callback `(,shell-file-name ,shell-command-switch ,cmd) :name name :buffer buffer :directory working-dir :on-success (if arg (progn (pop-to-buffer pfuture-buffer) (require 'ansi-color) (autoload 'ansi-color-apply-on-region "ansi-color") (ansi-color-apply-on-region (point-min) (point-max))) (treemacs-log "Shell command completed successfully.") (kill-buffer buffer)) :on-error (progn (treemacs-log-failure "Shell command failed with exit code %s and output:" (process-exit-status process)) (message "%s" (pfuture-callback-output)) (kill-buffer buffer))))) (defun treemacs-narrow-to-current-file () "Close everything except the view on the current file. This command is best understood as a combination of `treemacs-collapse-all-projects' followed by `treemacs-find-file'." (interactive) (treemacs-unless-let (buffer (treemacs-get-local-buffer)) (treemacs-log-failure "There is no treemacs buffer") (let* ((treemacs-pulse-on-success nil) (treemacs-pulse-on-failure nil) (treemacs--no-messages t)) (with-current-buffer buffer (treemacs-collapse-all-projects :forget-all)) (treemacs-find-file)))) (defun treemacs-select-scope-type () "Select the scope for treemacs buffers. The default (and only) option is scoping by frame, which means that every Emacs frame (and only an Emacs frame) will have its own unique treemacs buffer. Additional scope types can be enabled by installing the appropriate package. The following packages offer additional scope types: * treemacs-persp * treemacs-perspective To programmatically set the scope type see `treemacs-set-scope-type'." (interactive) (let* ((selection (completing-read "Select Treemacs Scope: " treemacs-scope-types)) (new-scope-type (-> selection (intern) (assoc treemacs-scope-types) (cdr)))) (cond ((null new-scope-type) (treemacs-log "Nothing selected, type %s remains in effect." (propertize selection 'face 'font-lock-type-face))) ((eq new-scope-type treemacs--current-scope-type) (treemacs-log "New scope type is same as old, nothing has changed.")) (t (treemacs--do-set-scope-type new-scope-type) (treemacs-log "Scope of type %s is now in effect." (propertize selection 'face 'font-lock-type-face)))))) (defun treemacs-cleanup-litter () "Collapse all nodes matching any of `treemacs-litter-directories'." (interactive) (-let [litter-list (-map #'regexp-quote treemacs-litter-directories)] (treemacs-run-in-every-buffer (treemacs-save-position (dolist (project (treemacs-workspace->projects workspace)) (treemacs-walk-reentry-dom (-> project treemacs-project->path treemacs-find-in-dom) (lambda (dom-node) (-let [path (treemacs-dom-node->key dom-node)] (when (and (stringp path) (--any? (string-match-p it path) litter-list)) (--when-let (treemacs-find-node path project) (goto-char it) (treemacs-toggle-node :purge))))))))) (treemacs-pulse-on-success "Cleanup complete."))) (defun treemacs-fit-window-width () "Make treemacs wide enough to display its entire content. Specifically this will increase (or reduce) the width of the treemacs window to that of the longest line, counting all lines, not just the ones that are visible." (interactive) (let ((longest 0) (depth 0)) (save-excursion (goto-char (point-min)) (while (= 0 (forward-line 1)) (-let [new-len (- (line-end-position) (line-beginning-position))] (when (> new-len longest) (setf longest new-len depth (treemacs--prop-at-point :depth)))))) (let* ((icon-px-diff (* depth (- treemacs--icon-size (frame-char-width)))) (icon-offset (% icon-px-diff (frame-char-width))) (new-width (+ longest icon-offset))) (setf treemacs-width new-width) (treemacs--set-width new-width) (treemacs-pulse-on-success "Width set to %s" (propertize (format "%s" new-width) 'face 'font-lock-string-face))))) (defun treemacs-extra-wide-toggle () "Expand the treemacs window to an extr-wide state (or turn it back). Specifically this will toggle treemacs' width between `treemacs-wide-toggle-width' and the normal `treemacs-width'." (interactive) (if (get 'treemacs-extra-wide-toggle :toggle-on) (progn (treemacs--set-width treemacs-width) (put 'treemacs-extra-wide-toggle :toggle-on nil) (treemacs-log "Switched to normal width display")) (treemacs--set-width treemacs-wide-toggle-width) (put 'treemacs-extra-wide-toggle :toggle-on t) (treemacs-log "Switched to extra width display"))) (defun treemacs-next-workspace (&optional arg) "Switch to the next workspace. With a prefix ARG switch to the previous workspace instead." (interactive) (treemacs-block (treemacs-error-return-if (= 1 (length treemacs--workspaces)) "There is only 1 workspace.") (let* ((ws (treemacs-current-workspace)) (ws-count (length treemacs--workspaces)) (idx (--find-index (eq it ws) treemacs--workspaces)) (new-idx (% (+ ws-count (if arg (1- idx) (1+ idx))) ws-count)) (new-ws (nth new-idx treemacs--workspaces))) (treemacs-do-switch-workspace new-ws) (treemacs-pulse-on-success "Switched to workspace '%s'" (propertize (treemacs-workspace->name new-ws) 'face 'font-lock-string-face))))) (defun treemacs-create-workspace-from-project (&optional arg) "Create (and switch to) a workspace containing only the current project. By default uses the project at point in the treemacs buffer. If there is no treemacs buffer, then the project of the current file is used instead. With a prefix ARG it is also possible to interactively select the project." (interactive "P") (treemacs-block (-let [project nil] (if (eq t treemacs--in-this-buffer) (setf project (treemacs-project-of-node (treemacs-current-button))) (setf project (treemacs--find-project-for-buffer (buffer-file-name (current-buffer)))) (treemacs-select-window)) (when (or arg (null project)) (setf project (treemacs--select-project-by-name)) (treemacs-return-if (null project))) (let* ((ws-name (treemacs-project->name project)) (new-ws (treemacs--find-workspace-by-name ws-name))) (if new-ws (setf (treemacs-workspace->projects new-ws) (list project)) (-let [ws-create-result (treemacs-do-create-workspace ws-name)] (treemacs-error-return-if (not (equal 'success (car ws-create-result))) "Something went wrong when creating a new workspace: %s" ws-create-result) (setf new-ws (cdr ws-create-result)) (setf (treemacs-workspace->projects new-ws) (list project)) (treemacs--persist))) (treemacs-do-switch-workspace new-ws) (treemacs-pulse-on-success "Switched to project workspace '%s'" (propertize ws-name 'face 'font-lock-type-face)))))) (defun treemacs-icon-catalogue () "Showcase a catalogue of all treemacs themes and their icons." (interactive) (switch-to-buffer (get-buffer-create "*Treemacs Icons*")) (erase-buffer) (dolist (theme (nreverse treemacs--themes)) (insert (format "* Theme %s\n\n" (treemacs-theme->name theme))) (insert " |------+------------|\n") (insert " | Icon | Extensions |\n") (insert " |------+------------|\n") (let* ((icons (treemacs-theme->gui-icons theme)) (rev-icons (make-hash-table :size (ht-size icons) :test 'equal)) (txt)) (treemacs--maphash icons (ext icon) (let* ((display (get-text-property 0 'display icon)) (saved-exts (ht-get rev-icons display))) (if saved-exts (cl-pushnew ext saved-exts) (setf saved-exts (list ext))) (ht-set! rev-icons display saved-exts))) (treemacs--maphash rev-icons (display exts) (push (format " | %s | %s |\n" (propertize "x" 'display display) (s-join " " (-map #'prin1-to-string exts))) txt)) (insert (apply #'concat (nreverse txt))) (with-no-warnings (org-mode) (org-table-align)))) (goto-char 0)) (provide 'treemacs-interface) ;;; treemacs-interface.el ends here treemacs-3.2/src/elisp/treemacs-logging.el000066400000000000000000000061131476710620300206440ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Implementation for logging messages. ;;; Code: (require 'treemacs-customization) (defvar treemacs--saved-eldoc-display nil "Stores the value of `treemacs-eldoc-display'. The value is set to nil and stashed here with every log statement to prevent the logged message being almost immediately overridden by the eldoc output. The value is also stashed as a single-item-list which serves as a check make sure it isn't stashed twice (thus stashing the already disabled nil value).") (defvar treemacs--no-messages nil "When set to t `treemacs-log' will produce no output. Not used directly, but as part of `treemacs-without-messages'.") (defun treemacs--restore-eldoc-after-log () "Restore the stashed value of `treemacs-eldoc-display'." (remove-hook 'pre-command-hook #'treemacs--restore-eldoc-after-log) (setf treemacs-eldoc-display (car treemacs--saved-eldoc-display) treemacs--saved-eldoc-display nil)) (defmacro treemacs-without-messages (&rest body) "Temporarily turn off messages to execute BODY." (declare (debug t)) `(let ((treemacs--no-messages t)) ,@body)) (defmacro treemacs--do-log (prefix msg &rest args) "Print a log statement with the given PREFIX and MSG and format ARGS." `(progn (unless (consp treemacs--saved-eldoc-display) (setf treemacs--saved-eldoc-display (list treemacs-eldoc-display))) (setf treemacs-eldoc-display nil) (unless treemacs--no-messages (message "%s %s" ,prefix (format ,msg ,@args))) (add-hook 'pre-command-hook #'treemacs--restore-eldoc-after-log))) (defmacro treemacs-log (msg &rest args) "Write an info/success log statement given format string MSG and ARGS." (declare (indent 1)) `(treemacs--do-log (propertize "[Treemacs]" 'face 'font-lock-keyword-face) ,msg ,@args)) (defmacro treemacs-log-failure (msg &rest args) "Write a warning/failure log statement given format string MSG and ARGS." (declare (indent 1)) `(treemacs--do-log (propertize "[Treemacs]" 'face '((:inherit warning :weight bold))) ,msg ,@args)) (defmacro treemacs-log-err (msg &rest args) "Write an error log statement given format string MSG and ARGS." (declare (indent 1)) `(treemacs--do-log (propertize "[Treemacs]" 'face '((:inherit error :weight bold))) ,msg ,@args)) (provide 'treemacs-logging) ;;; treemacs-logging.el ends here treemacs-3.2/src/elisp/treemacs-macros.el000066400000000000000000000574101476710620300205100ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; General purpose macros, and those used in, but defined outside of ;; treemacs-core-utils.el are put here, to prevent using them before ;; their definition, hopefully preventing issues like #97. ;;; Code: (require 'dash) (require 's) (require 'pcase) (eval-when-compile (require 'cl-lib) (require 'gv)) (declare-function treemacs--scope-store "treemacs-scope") (defmacro treemacs-import-functions-from (file &rest functions) "Import FILE's FUNCTIONS. Creates a list of `declare-function' statements." (declare (indent 1)) (let ((imports (--map (list 'declare-function it file) functions))) `(progn ,@imports))) (defmacro treemacs-static-assert (predicate error-msg &rest error-args) "Assert for macros that triggers at expansion time. Tests PREDICATE and, if it evaluates to nil, throws an error with ERROR-MSG and ERROR-ARGS. Basically the same thing as `cl-assert', but does not (seem to) interfere with auto-completion." (declare (indent 1)) `(unless ,predicate (error (apply #'format (concat "[Treemacs] " ,error-msg) (list ,@error-args))))) (defmacro treemacs-with-writable-buffer (&rest body) "Temporarily turn off read-only mode to execute BODY." (declare (debug t)) `(let (buffer-read-only) ,@body)) (defmacro treemacs-safe-button-get (button &rest properties) "Safely extract BUTTON's PROPERTIES. Using `button-get' on a button located in a buffer that is not the current buffer does not work, so this function will run the property extraction from inside BUTTON's buffer." `(with-current-buffer (marker-buffer ,button) ,(if (= 1 (length properties)) `(treemacs-button-get ,button ,(car properties)) `(--map (treemacs-button-get ,button it) ,properties)))) (defmacro treemacs-with-button-buffer (btn &rest body) "Use BTN's buffer to execute BODY. Required for button interactions (like `treemacs-button-get') that do not work when called from another buffer than the one the button resides in and `treemacs-safe-button-get' is not enough." (declare (indent 1) (debug (form body))) `(with-current-buffer (marker-buffer ,btn) ,@body)) (defmacro treemacs-unless-let (var-val &rest forms) "Same as `-if-let-', but the negative case is handled in the first form. Delegates VAR-VAL and the given FORMS to `-if-let-'." (declare (debug ((sexp form) body)) (indent 2)) (let ((then (cdr forms)) (else (car forms))) `(-if-let ,var-val (progn ,@then) ,else))) (defmacro treemacs-with-current-button (error-msg &rest body) "Execute an action with the current button bound to \\='current-btn'. Log ERROR-MSG if no button is selected, otherwise run BODY." (declare (debug (form body))) `(-if-let (current-btn (treemacs-current-button)) (progn ,@body) (treemacs-pulse-on-failure ,error-msg))) (defmacro treemacs-without-following (&rest body) "Execute BODY with `treemacs--ready-to-follow' set to nil." (declare (debug t)) `(let ((treemacs--ready-to-follow nil)) ;; ignore because not every module using this macro requires follow-mode.el (ignore treemacs--ready-to-follow) ,@body)) (cl-defmacro treemacs-do-for-button-state (&key no-error fallback on-root-node-open on-root-node-closed on-file-node-open on-file-node-closed on-dir-node-open on-dir-node-closed on-tag-node-open on-tag-node-closed on-tag-node-leaf on-nil) "Building block macro to execute a form based on the current node state. Will bind to current button to \\='btn' for the execution of the action forms. When NO-ERROR is non-nil no error will be thrown if no match for the button state is achieved. A general FALLBACK can also be used instead of NO-ERROR. In that case the unknown state will be bound as `state' in the FALLBACK form. Otherwise either one of ON-ROOT-NODE-OPEN, ON-ROOT-NODE-CLOSED, ON-FILE-NODE-OPEN, ON-FILE-NODE-CLOSED, ON-DIR-NODE-OPEN, ON-DIR-NODE-CLOSED, ON-TAG-NODE-OPEN, ON-TAG-NODE-CLOSED, ON-TAG-NODE-LEAF or ON-NIL will be executed." (declare (debug (&rest [sexp form]))) (treemacs-static-assert (or (null no-error) (null fallback)) "no-error and fallback arguments are mutually exclusive.") `(-if-let (btn (treemacs-current-button)) (pcase (treemacs-button-get btn :state) ,@(when on-root-node-open `((`root-node-open ,on-root-node-open))) ,@(when on-root-node-closed `((`root-node-closed ,on-root-node-closed))) ,@(when on-file-node-open `((`file-node-open ,on-file-node-open))) ,@(when on-file-node-closed `((`file-node-closed ,on-file-node-closed))) ,@(when on-dir-node-open `((`dir-node-open ,on-dir-node-open))) ,@(when on-dir-node-closed `((`dir-node-closed ,on-dir-node-closed))) ,@(when on-tag-node-open `((`tag-node-open ,on-tag-node-open))) ,@(when on-tag-node-closed `((`tag-node-closed ,on-tag-node-closed))) ,@(when on-tag-node-leaf `((`tag-node ,on-tag-node-leaf))) ,@(when fallback `((state (ignore state) ,fallback))) ,@(unless (or fallback no-error) `((state (error "[Treemacs] Unexpected button state %s" state))))) ,on-nil)) (cl-defmacro treemacs--execute-button-action (&key no-match-explanation window split-function ensure-window-split dir-action file-action tag-section-action tag-action window-arg) "Infrastructure macro for setting up actions on different button states. Fetches the currently selected button and verifies it's in the correct state based on the given state actions. If it isn't it will log NO-MATCH-EXPLANATION, if it is it selects WINDOW (or `next-window' if none is given) and splits it with SPLIT-FUNCTION if given. If ENSURE-WINDOW-SPLIT is non-nil treemacs will vertically split the window if treemacs is the only window to make sure a buffer is opened next to it, not under or below it. DIR-ACTION, FILE-ACTION, TAG-SECTION-ACTION and TAG-ACTION are inserted into a `pcase' statement matching the buttons state. Project root nodes are treated the same common directory nodes. WINDOW-ARG determines whether the treemacs windows should remain selected, \(single prefix arg), or deleted (double prefix arg)." (declare (debug (&rest [sexp form]))) (let ((valid-states (list))) (when dir-action (push 'root-node-open valid-states) (push 'root-node-closed valid-states) (push 'dir-node-open valid-states) (push 'dir-node-closed valid-states)) (when file-action (push 'file-node-open valid-states) (push 'file-node-closed valid-states)) (when tag-section-action (push 'tag-node-open valid-states) (push 'tag-node-closed valid-states)) (when tag-action (push 'tag-node valid-states)) `(-when-let (btn (treemacs-current-button)) (treemacs-without-following (let* ((state (treemacs-button-get btn :state)) (current-window (selected-window))) (if (and (not (memq state ',valid-states)) (not (get state :treemacs-visit-action))) (treemacs-pulse-on-failure "%s" ,no-match-explanation) (progn ,@(if ensure-window-split `((when (one-window-p) (save-selected-window (split-window nil nil (if (eq 'left treemacs-position) 'right 'left)))))) (select-window (or ,window (next-window (selected-window) nil nil))) ,@(if split-function `((funcall ,split-function) (other-window 1))) ;; Return the result of the action (prog1 (pcase state ,@(when dir-action `(((or `dir-node-open `dir-node-closed `root-node-open `root-node-closed) ,dir-action))) ,@(when file-action `(((or `file-node-open `file-node-closed) ,file-action))) ,@(when tag-section-action `(((or `tag-node-open `tag-node-closed) ,tag-section-action))) ,@(when tag-action `((`tag-node ,tag-action))) (_ (-if-let (visit-action (get state :treemacs-visit-action)) (funcall visit-action btn) (error "No match achieved even though button's state %s was part of the set of valid states %s" state ',valid-states)))) (pcase ,window-arg ('(4) (select-window current-window)) ('(16) (delete-window current-window))))))))))) ;; TODO(2021/08/28): RM (defmacro treemacs--without-filewatch (&rest body) "Run BODY without triggering the filewatch callback. Required for manual interactions with the file system (like deletion), otherwise the on-delete code will run twice." (declare (debug t)) `(cl-flet (((symbol-function 'treemacs--filewatch-callback) (symbol-function 'ignore))) ,@body)) (defmacro treemacs-save-position (main-form &rest final-form) "Execute MAIN-FORM without switching position. Finally execute FINAL-FORM after the code to restore the position has run. This macro is meant for cases where a simple `save-excursion' will not do, like a refresh, which can potentially change the entire buffer layout. In practice this means attempt first to keep point on the same file/tag, and if that does not work keep it on the same line." (declare (debug (form body))) `(treemacs-without-following (declare-function treemacs--current-screen-line "treemacs-rendering") (let* ((curr-btn (treemacs-current-button)) (curr-point (point-marker)) (next-path (-some-> curr-btn (treemacs--next-non-child-button) (button-get :path))) (prev-path (-some-> curr-btn (treemacs--prev-non-child-button) (button-get :path))) (curr-node-path (-some-> curr-btn (treemacs-button-get :path))) (curr-state (-some-> curr-btn (treemacs-button-get :state))) (collapse (-some-> curr-btn (treemacs-button-get :collapsed))) (curr-file (if collapse (treemacs-button-get curr-btn :key) (-some-> curr-btn (treemacs--nearest-path)))) (curr-window (get-buffer-window (current-buffer))) (curr-win-line (when curr-window (with-selected-window curr-window (treemacs--current-screen-line))))) ,main-form ;; try to stay at the same file/tag ;; if the tag no longer exists move to the tag's owning file node (pcase curr-state ((or 'root-node-open 'root-node-closed) ;; root nodes are always visible even if deleted. (treemacs-goto-file-node curr-file)) ((or 'dir-node-open 'dir-node-closed 'file-node-open 'file-node-closed) ;; stay on the same file (if (and (treemacs-is-path-visible? curr-file) (or treemacs-show-hidden-files (not (s-matches? treemacs-dotfiles-regex (treemacs--filename curr-file))))) (treemacs-goto-file-node curr-file) ;; file we were on is no longer visible ;; try dodging to our immediate neighbours, if they are no longer visible either ;; keep going up (cl-labels ((can-move-to (it) (and (treemacs-is-path-visible? it) (or treemacs-show-hidden-files (not (s-matches? treemacs-dotfiles-regex (treemacs--filename it))))))) (cond ((and next-path (can-move-to next-path)) (treemacs-goto-file-node next-path)) ((and prev-path (can-move-to prev-path)) (treemacs-goto-file-node prev-path)) (t (-let [detour (treemacs--parent curr-file)] (while (not (can-move-to detour)) (setf detour (treemacs--parent detour))) (treemacs-goto-file-node detour))))))) ((or 'tag-node-open 'tag-node-closed 'tag-node) (treemacs-goto-node curr-node-path)) ((pred null) (goto-char curr-point)) (_ ;; point is on a custom node (cond ((treemacs-is-path-visible? curr-node-path) (treemacs-goto-extension-node curr-node-path)) ((and next-path (treemacs-is-path-visible? next-path)) (treemacs-goto-extension-node next-path)) ((and prev-path (treemacs-is-path-visible? prev-path)) (treemacs-goto-extension-node prev-path)) (t (-let [detour (treemacs--parent curr-file)] (while (not (treemacs-is-path-visible? detour)) (setf detour (treemacs--parent detour))) (treemacs-goto-extension-node detour)))))) (treemacs--evade-image) (when (get-text-property (point) 'invisible) (goto-char (or (next-single-property-change (point) 'invisible) (point-min)))) (when curr-win-line (-let [buffer-point (point)] (with-selected-window curr-window ;; recenter starts counting at 0 (-let [scroll-margin 0] (recenter (1- curr-win-line))) (set-window-point (selected-window) buffer-point)))) ,@final-form))) (defmacro treemacs-with-workspace (workspace &rest body) "Use WORKSPACE as the current workspace when running BODY. Specifically this means that calls to `treemacs-current-workspace' will return WORKSPACE and if no workspace has been set for the current scope yet it will not be set either." (declare (indent 1) (debug (form body))) `(let ((treemacs-override-workspace ,workspace)) (ignore treemacs-override-workspace) ,@body)) (defmacro treemacs-run-in-every-buffer (&rest body) "Run BODY once locally in every treemacs buffer. Only includes treemacs file tree buffers, not extensions. Sets `treemacs-override-workspace' so calls to `treemacs-current-workspace' return the workspace of the active treemacs buffer." (declare (debug t)) `(pcase-dolist (`(,_ . ,shelf) (treemacs--scope-store)) (let ((buffer (treemacs-scope-shelf->buffer shelf)) (workspace (treemacs-scope-shelf->workspace shelf))) (when (buffer-live-p buffer) (treemacs-with-workspace workspace (with-current-buffer buffer ,@body)))))) (defmacro treemacs-run-in-all-derived-buffers (&rest body) "Run BODY once locally in every treemacs buffer. Includes *all* treemacs-mode-derived buffers, including extensions." (declare (debug t)) `(dolist (buffer (buffer-list)) (when (buffer-local-value 'treemacs--in-this-buffer buffer) (with-current-buffer buffer ,@body)))) (defmacro treemacs-only-during-init (&rest body) "Run BODY only when treemacs has not yet been loaded. Specifically only run it when (featurep \\='treemacs) returns nil." (declare (debug t)) `(unless (featurep 'treemacs) ,@body)) (defmacro treemacs--maphash (table names &rest body) "Iterate over entries of TABLE with NAMES in BODY. Entry variables will bound based on NAMES which is a list of two elements." (declare (debug (sexp sexp body)) (indent 2)) (let ((key-name (car names)) (val-name (cadr names))) `(maphash (lambda (,key-name ,val-name) ,@body) ,table))) (defmacro treemacs-error-return (error-msg &rest msg-args) "Interactive early return failure from `treemacs-block'. Will also pass ERROR-MSG and MSG-ARGS to `treemacs-pulse-on-failure'." (declare (indent 1) (debug (form body))) `(cl-return-from __body__ (treemacs-pulse-on-failure ,error-msg ,@msg-args))) (defmacro treemacs-error-return-if (predicate error-msg &rest msg-args) "Interactive early return from `treemacs-block'. Checks if PREDICATE returns a non-nil value, and will pass also ERROR-MSG and MSG-ARGS to `treemacs-pulse-on-failure'." (declare (indent 1) (debug (form sexp body))) `(when ,predicate (cl-return-from __body__ (treemacs-pulse-on-failure ,error-msg ,@msg-args)))) (defmacro treemacs-return (ret) "Early return from `treemacs-block', returning RET." (declare (debug t)) `(cl-return-from __body__ ,ret)) (defmacro treemacs-return-if (predicate &optional ret) "Early return from `treemacs-block'. When PREDICATE returns non-nil RET will be returned." (declare (indent 1) (debug (form sexp))) `(when ,predicate (cl-return-from __body__ ,ret))) (cl-defmacro treemacs-first-child-node-where (btn &rest predicate) "Among the *direct* children of BTN find the first child matching PREDICATE. For the PREDICATE call the button being checked is bound as \\='child-btn'." (declare (indent 1) (debug (sexp body))) `(cl-block __search__ (let* ((child-btn (next-button (treemacs-button-end ,btn) t)) (depth (when child-btn (treemacs-button-get child-btn :depth)))) (when (and child-btn (equal (treemacs-button-get child-btn :parent) ,btn)) (if (progn ,@predicate) (cl-return-from __search__ child-btn) (while child-btn (setq child-btn (next-button (treemacs-button-end child-btn))) (when child-btn (-let [child-depth (treemacs-button-get child-btn :depth)] (cond ((= depth child-depth) (when (progn ,@predicate) (cl-return-from __search__ child-btn)) ) ((> depth child-depth) (cl-return-from __search__ nil))))))))))) (defmacro treemacs-block (&rest forms) "Put FORMS in a `cl-block' named '__body__'. This pattern is oftentimes used in treemacs, see also `treemacs-return-if', `treemacs-return', `treemacs-error-return' and `treemacs-error-return-if'" (declare (debug t)) `(cl-block __body__ ,@forms)) (defmacro treemacs-is-path (left op &optional right) "Readable utility macro for various path predicates. LEFT is a file path, OP is the operator and RIGHT is either a path, project, or workspace. OP can be one of the following: * `:same-as' will check for string equality. * `:in' will check will check whether LEFT is a child or the same as RIGHT. * `:directly-in' will check will check whether LEFT is *direct* child of RIGHT. * `:parent-of' will check whether LEFT is a parent of, and not equal to, RIGHT. * `:in-project' will check whether LEFT is part of the project RIGHT. * `:in-workspace' will check whether LEFT is part of the workspace RIGHT and return the appropriate project when it is. If RIGHT is not given it will default to calling `treemacs-current-workspace'. LEFT and RIGHT are expected to be in treemacs canonical file path format (see also `treemacs-canonical-path'). Even if LEFT or RIGHT should be a form and not a variable it is guaranteed that they will be evaluated only once." (declare (debug (&rest form))) (treemacs-static-assert (memq op '(:same-as :in :directly-in :parent-of :in-project :in-workspace)) "Invalid treemacs-is-path operator: `%s'" op) (treemacs-static-assert (or (eq op :in-workspace) right) "Right-side argument is required") (macroexp-let2* nil ((left left) (right right)) (pcase op (:same-as `(string= ,left ,right)) (:in `(or (string= ,left ,right) (s-starts-with? (treemacs--add-trailing-slash ,right) ,left))) (:directly-in `(let ((l (length ,right))) (and (> (length ,left) l) (string= (treemacs--filename ,left) (substring ,left (1+ l))) (string-prefix-p ,right ,left)))) (:parent-of `(and (s-starts-with? (treemacs--add-trailing-slash ,left) ,right) (not (string= ,left ,right)))) (:in-project `(treemacs-is-path ,left :in (treemacs-project->path ,right))) (:in-workspace (-let [ws (or right '(treemacs-current-workspace))] `(--first (treemacs-is-path ,left :in-project it) (treemacs-workspace->projects ,ws))))))) (cl-defmacro treemacs-with-path (path &key file-action extension-action no-match-action) "Execute an action depending on the type of PATH. FILE-ACTION is the action to perform when PATH is a regular file node. EXTENSION-ACTION is performed on extension-created nodes. If none of the path types matches, NO-MATCH-ACTION is executed." (declare (indent 1)) (let ((path-symbol (make-symbol "path"))) `(let ((,path-symbol ,path)) (cond ,@(when file-action `(((stringp ,path-symbol) ,file-action))) ,@(when extension-action `(((or (symbolp ,path) (symbolp (car ,path)) (stringp (car ,path))) ,extension-action))) (t ,(if no-match-action no-match-action `(error "Path type did not match: %S" ,path-symbol))))))) (defmacro treemacs-with-toggle (&rest body) "Building block helper macro. If treemacs is currently visible it will be hidden, if it is not visible, or no treemacs buffer exists at all, BODY will be executed." `(--if-let (treemacs-get-local-window) (delete-window it) ,@body)) (defmacro treemacs-with-ignored-errors (ignored-errors &rest body) "Given list of specifically IGNORED-ERRORS evaluate BODY. IGNORED-ERRORS is a list of errors to ignore. Each element is a list whose car is the error's type, and second item is a regex to match against error messages. If any of the IGNORED-ERRORS matches, the error is suppressed and nil returned." (let ((err (make-symbol "err"))) `(condition-case-unless-debug ,err ,(macroexp-progn body) ,@(mapcar (lambda (ignore-spec) `(,(car ignore-spec) (unless (string-match-p ,(nth 1 ignore-spec) (error-message-string ,err)) (signal (car ,err) (cdr ,err))))) ignored-errors)))) (defmacro treemacs-debounce (guard delay &rest body) "Debounce a function call. Based on a timer GUARD variable run function with the given DELAY and BODY." (declare (indent 2)) `(unless ,guard (setf ,guard (run-with-idle-timer ,delay nil (lambda () (unwind-protect (progn ,@body) (setf ,guard nil))))))) (defmacro treemacs-without-recenter (&rest body) "Run BODY without the usual recentering for expanded nodes. Specifically `treemacs--no-recenter' will be set to \\='t' so that `treemacs--maybe-recenter' will have no effect during non-interactive updates triggered by e.g. filewatch-mode." (declare (debug t)) `(let ((treemacs--no-recenter t)) ,@body)) (provide 'treemacs-macros) ;;; treemacs-macros.el ends here treemacs-3.2/src/elisp/treemacs-mode.el000066400000000000000000000473471476710620300201600ustar00rootroot00000000000000;;; treemacs-mode.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Major mode definition. ;;; Code: (require 'eldoc) (require 's) (require 'treemacs-interface) (require 'treemacs-customization) (require 'treemacs-faces) (require 'treemacs-core-utils) (require 'treemacs-icons) (require 'treemacs-scope) (require 'treemacs-persistence) (require 'treemacs-dom) (require 'treemacs-workspaces) (require 'treemacs-visuals) (eval-when-compile (require 'treemacs-macros) (require 'cl-lib)) (with-eval-after-load 'bookmark (require 'treemacs-bookmarks)) (treemacs-import-functions-from "treemacs" treemacs-refresh treemacs-version treemacs-edit-workspaces) (treemacs-import-functions-from "treemacs-bookmarks" treemacs-add-bookmark treemacs--make-bookmark-record) (treemacs-import-functions-from "treemacs-hydras" treemacs-helpful-hydra treemacs-common-helpful-hydra treemacs-advanced-helpful-hydra) (treemacs-import-functions-from "treemacs-tags" treemacs--create-imenu-index-function) (defvar bookmark-make-record-function) (defvar-local treemacs--eldoc-msg nil "Message to be output by `treemacs--eldoc-function'. Will be set by `treemacs--post-command'.") (defconst treemacs--eldoc-obarray (-let [ob (make-vector 59 0)] (mapatoms (lambda (cmd) (set (intern (symbol-name cmd) ob) t)) eldoc-message-commands) (dolist (cmd '(treemacs-next-line treemacs-previous-line treemacs-next-neighbour treemacs-previous-neighbour treemacs-next-project treemacs-previous-project treemacs-goto-parent-node treemacs-TAB-action treemacs-select-window treemacs-leftclick-action)) (set (intern (symbol-name cmd) ob) t)) ob) "Treemacs' own eldoc obarray.") (defvar treemacs-project-map (let ((map (make-sparse-keymap))) (define-key map (kbd "r") 'treemacs-rename-project) (define-key map (kbd "a") 'treemacs-add-project-to-workspace) (define-key map (kbd "d") 'treemacs-remove-project-from-workspace) (define-key map (kbd "c c") 'treemacs-collapse-project) (define-key map (kbd "c o") 'treemacs-collapse-other-projects) (define-key map (kbd "c a") 'treemacs-collapse-all-projects) map) "Keymap for project-related commands in `treemacs-mode'.") (defvar treemacs-workspace-map (let ((map (make-sparse-keymap))) (define-key map (kbd "r") 'treemacs-rename-workspace) (define-key map (kbd "a") 'treemacs-create-workspace) (define-key map (kbd "d") 'treemacs-remove-workspace) (define-key map (kbd "s") 'treemacs-switch-workspace) (define-key map (kbd "e") 'treemacs-edit-workspaces) (define-key map (kbd "f") 'treemacs-set-fallback-workspace) (define-key map (kbd "n") 'treemacs-next-workspace) map) "Keymap for workspace-related commands in `treemacs-mode'.") (defvar treemacs-node-visit-map (let ((map (make-sparse-keymap))) (define-key map (kbd "v") 'treemacs-visit-node-vertical-split) (define-key map (kbd "c") 'treemacs-visit-node-close-treemacs) (define-key map (kbd "h") 'treemacs-visit-node-horizontal-split) (define-key map (kbd "o") 'treemacs-visit-node-no-split) (define-key map (kbd "aa") 'treemacs-visit-node-ace) (define-key map (kbd "ah") 'treemacs-visit-node-ace-horizontal-split) (define-key map (kbd "av") 'treemacs-visit-node-ace-vertical-split) (define-key map (kbd "r") 'treemacs-visit-node-in-most-recently-used-window) (define-key map (kbd "x") 'treemacs-visit-node-in-external-application) map) "Keymap for node-visiting commands in `treemacs-mode'.") (defvar treemacs-toggle-map (let ((map (make-sparse-keymap))) (define-key map (kbd "h") 'treemacs-toggle-show-dotfiles) (define-key map (kbd "i") 'treemacs-hide-gitignored-files-mode) (define-key map (kbd "w") 'treemacs-toggle-fixed-width) (define-key map (kbd "v") 'treemacs-fringe-indicator-mode) (define-key map (kbd "g") 'treemacs-git-mode) (define-key map (kbd "f") 'treemacs-follow-mode) (define-key map (kbd "a") 'treemacs-filewatch-mode) (define-key map (kbd "n") 'treemacs-indent-guide-mode) (define-key map (kbd "c") 'treemacs-indicate-top-scroll-mode) (define-key map (kbd "d") 'treemacs-git-commit-diff-mode) map) "Keymap for commands that toggle state in `treemacs-mode'.") (defvar treemacs-copy-map (let ((map (make-sparse-keymap))) (define-key map (kbd "a") 'treemacs-copy-absolute-path-at-point) (define-key map (kbd "r") 'treemacs-copy-relative-path-at-point) (define-key map (kbd "p") 'treemacs-copy-project-path-at-point) (define-key map (kbd "n") 'treemacs-copy-filename-at-point) (define-key map (kbd "f") 'treemacs-copy-file) (define-key map (kbd "v") 'treemacs-paste-dir-at-point-to-minibuffer) map) "Keymap for copy commands in `treemacs-mode'.") (defvar treemacs-mode-map (let ((map (make-sparse-keymap))) (define-key map (kbd "?") 'treemacs-common-helpful-hydra) (define-key map (kbd "C-?") 'treemacs-advanced-helpful-hydra) (define-key map [down-mouse-1] 'treemacs-leftclick-action) (define-key map [drag-mouse-1] 'treemacs-dragleftclick-action) (define-key map [double-mouse-1] 'treemacs-doubleclick-action) (define-key map [mouse-3] 'treemacs-rightclick-menu) (define-key map [tab] 'treemacs-TAB-action) (define-key map [?\t] 'treemacs-TAB-action) (define-key map [return] 'treemacs-RET-action) (define-key map (kbd "RET") 'treemacs-RET-action) (define-key map (kbd "r") 'treemacs-refresh) (define-key map (kbd "d") 'treemacs-delete-file) (define-key map (kbd "cf") 'treemacs-create-file) (define-key map (kbd "cd") 'treemacs-create-dir) (define-key map (kbd "R") 'treemacs-rename-file) (define-key map (kbd "u") 'treemacs-goto-parent-node) (define-key map (kbd "q") 'treemacs-quit) (define-key map (kbd "Q") 'treemacs-kill-buffer) (define-key map (kbd "o") treemacs-node-visit-map) (define-key map (kbd "P") 'treemacs-peek-mode) (define-key map (kbd "n") 'treemacs-next-line) (define-key map (kbd "p") 'treemacs-previous-line) (define-key map (kbd "M-N") 'treemacs-next-line-other-window) (define-key map (kbd "M-P") 'treemacs-previous-line-other-window) (define-key map (kbd "") 'treemacs-previous-page-other-window) (define-key map (kbd "") 'treemacs-next-page-other-window) (define-key map (kbd "M-n") 'treemacs-next-neighbour) (define-key map (kbd "M-p") 'treemacs-previous-neighbour) (define-key map (kbd "t") treemacs-toggle-map) (define-key map (kbd "w") 'treemacs-set-width) (define-key map (kbd "<") 'treemacs-decrease-width) (define-key map (kbd ">") 'treemacs-increase-width) (define-key map (kbd "y") treemacs-copy-map) (define-key map (kbd "m") 'treemacs-move-file) (define-key map (kbd "g") 'treemacs-refresh) (define-key map (kbd "s") 'treemacs-resort) (define-key map (kbd "b") 'treemacs-add-bookmark) (define-key map (kbd "C-c C-p") treemacs-project-map) (define-key map (kbd "C-c C-w") treemacs-workspace-map) (define-key map (kbd "") 'treemacs-move-project-up) (define-key map (kbd "") 'treemacs-move-project-down) (define-key map (kbd "") 'treemacs-collapse-all-projects) (define-key map (kbd "C-j") 'treemacs-next-project) (define-key map (kbd "C-k") 'treemacs-previous-project) (define-key map (kbd "h") 'treemacs-COLLAPSE-action) (define-key map (kbd "l") 'treemacs-RET-action) (define-key map (kbd "M-h") 'treemacs-COLLAPSE-action) (define-key map (kbd "M-l") 'treemacs-RET-action) (define-key map (kbd "M-H") 'treemacs-root-up) (define-key map (kbd "M-L") 'treemacs-root-down) (define-key map (kbd "H") 'treemacs-collapse-parent-node) (define-key map (kbd "!") 'treemacs-run-shell-command-for-current-node) (define-key map (kbd "M-!") 'treemacs-run-shell-command-in-project-root) (define-key map (kbd "C") 'treemacs-cleanup-litter) (define-key map (kbd "=") 'treemacs-fit-window-width) (define-key map (kbd "W") 'treemacs-extra-wide-toggle) (define-key map (kbd "M-m") 'treemacs-bulk-file-actions) (unless (window-system) (define-key map [C-i] 'treemacs-TAB-action)) map) "Keymap for `treemacs-mode'.") (defun treemacs--setup-mode-line () "Create either a simple modeline, or integrate into spaceline." (setq mode-line-format (cond (treemacs-user-mode-line-format (if (eq 'none treemacs-user-mode-line-format) nil treemacs-user-mode-line-format)) ((fboundp 'spaceline-install) (spaceline-install "treemacs" '((workspace-number :face highlight-face) major-mode) nil) '("%e" (:eval (spaceline-ml-treemacs)))) ((and (listp (default-value 'mode-line-format)) (member 'moody-mode-line-buffer-identification (default-value 'mode-line-format))) '(:eval (moody-tab " Treemacs " 10 'down))) ((featurep 'doom-modeline) (with-no-warnings (eval '(progn (require 'doom-modeline) (doom-modeline-def-segment treemacs-workspace-name "Display treemacs." (propertize (format " %s " (treemacs-workspace->name (treemacs-current-workspace))) 'face (doom-modeline-face 'doom-modeline-buffer-minor-mode))) (doom-modeline-def-modeline 'treemacs '(bar " " major-mode) '(treemacs-workspace-name)) (doom-modeline 'treemacs))))) (t '(:eval (format " Treemacs: %s" (treemacs-workspace->name (treemacs-current-workspace)))))))) (defun treemacs--post-command () "Set the default directory to the nearest directory of the current node. If there is no node at point use \"~/\" instead. Also skip hidden buttons (as employed by variadic extensions). Used as a post command hook." (let ((newline-char 10) (point-max (point-max))) (unless (equal newline-char (char-before point-max)) (treemacs-with-writable-buffer (save-excursion (goto-char point-max) (insert newline-char) ;; make sure that the projects-end marker keeps pointing at ;; the end of the last project button (when (and (eq t treemacs--in-this-buffer) (equal (point) (marker-position (treemacs--projects-end)))) (move-marker (treemacs--projects-end) (1- (point)))))))) (-when-let (btn (treemacs-current-button)) (when (treemacs-button-get btn 'invisible) (treemacs-next-line 1)) (-if-let* ((project (treemacs-project-of-node btn)) (path (or (treemacs-button-get btn :default-directory) (treemacs--nearest-path btn)))) (when (and (treemacs-project->is-readable? project) (file-readable-p path)) (setf treemacs--eldoc-msg (treemacs--get-eldoc-message path) default-directory (treemacs--add-trailing-slash (if (file-directory-p path) path (file-name-directory path))))) (setf treemacs--eldoc-msg nil) (when (eq t treemacs--in-this-buffer) (setf default-directory "~/"))))) (defun treemacs--get-eldoc-message (path) "Set the eldoc message for given PATH. Message will be either just the path, or the path plus meta info like file size, depending on the value of `treemacs-eldoc-display'." (pcase treemacs-eldoc-display ('detailed (-let [attr (file-attributes path)] (format "%s -- %s: %s %s: %s %s: %s" (propertize path 'face 'font-lock-string-face) (propertize "Size" 'face 'font-lock-keyword-face) (propertize (treemacs--human-readable-bytes (file-attribute-size attr)) 'face 'font-lock-type-face) (propertize "Last Modified" 'face 'font-lock-keyword-face) (propertize (format-time-string "%F %T" (file-attribute-modification-time attr)) 'face 'font-lock-type-face) (propertize "Permissions" 'face 'font-lock-keyword-face) (propertize (file-attribute-modes attr) 'face 'font-lock-type-face)))) ('simple (propertize path 'face 'font-lock-string-face)) (_ (propertize path 'face 'font-lock-string-face)))) (define-inline treemacs--human-readable-bytes (bytes) "Return a human-readable string version of BYTES." (declare (pure t) (side-effect-free t)) (inline-letevals (bytes) (inline-quote (cl-loop with result = (cons "B" ,bytes) for i in '("k" "M" "G" "T" "P" "E" "Z" "Y") while (>= (cdr result) 1024.0) do (setf result (cons i (/ (cdr result) 1024.0))) finally return (pcase (car result) ("B" (format "%sb" ,bytes)) (_ (format "%.1f%s" (cdr result) (car result)))))))) (defun treemacs--eldoc-function () "Treemacs' implementation of `eldoc-documentation-function'. Will simply return `treemacs--eldoc-msg'." (when (and treemacs-eldoc-display treemacs--eldoc-msg) treemacs--eldoc-msg)) ;;;###autoload (define-derived-mode treemacs-mode special-mode "Treemacs" "A major mode for displaying the file system in a tree layout." (setq buffer-read-only t truncate-lines t indent-tabs-mode nil desktop-save-buffer nil window-size-fixed (when treemacs-width-is-initially-locked 'width) treemacs--in-this-buffer t) (unless treemacs-show-cursor (setq cursor-type nil)) (when (boundp 'evil-treemacs-state-cursor) (with-no-warnings (setq evil-treemacs-state-cursor (if treemacs-show-cursor evil-motion-state-cursor (lambda () (setq cursor-type nil)))))) ;; higher fuzz value makes it less likely to start a mouse drag ;; and make a switch to visual state (setq-local double-click-fuzz 15) (setq-local show-paren-mode nil) (setq-local tab-width 1) (setq-local eldoc-documentation-function #'treemacs--eldoc-function) (setq-local eldoc-message-commands treemacs--eldoc-obarray) (setq-local imenu-create-index-function #'treemacs--create-imenu-index-function) (when (boundp 'context-menu-functions) (setq-local context-menu-functions nil)) ;; integrate with bookmark.el (setq-local bookmark-make-record-function #'treemacs--make-bookmark-record) (electric-indent-local-mode -1) (visual-line-mode -1) (font-lock-mode -1) (jit-lock-mode nil) (buffer-disable-undo) ;; fringe indicator must be set up right here, before hl-line-mode, since activating hl-line-mode will ;; invoke the movement of the fringe overlay that would otherwise be nil (when treemacs-fringe-indicator-mode (treemacs--enable-fringe-indicator)) (if treemacs-user-header-line-format (setf header-line-format treemacs-user-header-line-format) (when header-line-format (setf header-line-format nil))) (hl-line-mode t) ;; needs to run manually the first time treemacs is loaded, since the hook is only added *after* ;; the window config was changed to show treemacs (unless (member #'treemacs--on-window-config-change (default-value 'window-configuration-change-hook)) (treemacs--on-window-config-change)) ;; set the parameter immediately so it can take effect when `treemacs' is called programatically ;; alongside other window layout chaning commands that might delete it again (set-window-parameter (selected-window) 'no-delete-other-windows treemacs-no-delete-other-windows) (face-remap-add-relative 'default 'treemacs-window-background-face) (face-remap-add-relative 'fringe 'treemacs-window-background-face) (face-remap-add-relative 'hl-line 'treemacs-hl-line-face) (when treemacs-text-scale (text-scale-increase treemacs-text-scale)) (add-hook 'window-configuration-change-hook #'treemacs--on-window-config-change) (add-hook 'kill-buffer-hook #'treemacs--on-buffer-kill nil t) (add-hook 'post-command-hook #'treemacs--post-command nil t) (treemacs--build-indentation-cache 6) (treemacs--select-icon-set) (treemacs--setup-mode-line) (treemacs--reset-dom)) (defun treemacs--mode-check-advice (mode-activation &rest args) "Verify that `treemacs-mode' is called in the right place. Must be run as advice to prevent changing of the major mode. Will run original MODE-ACTIVATION and its ARGS only when `treemacs--in-this-buffer' is non-nil." (cond (treemacs--in-this-buffer (apply mode-activation args)) ((eq major-mode 'treemacs-mode) (ignore "Reactivating the major-mode resets buffer-local variables.")) (t (switch-to-buffer (get-buffer-create "*Clippy*")) (erase-buffer) (insert (format " -------------------------------------------------------------------------------------- | It looks like you are trying to run treemacs. Would you like some help with that? | | You have called %s, but that is just the major mode for treemacs' | | buffers, it is not meant to be used manually. | | | | Instead you should call a function like | | * %s, | | * %s, or | | * %s | | | | You can safely delete this buffer. | -------------------------------------------------------------------------------------- %s " (propertize "treemacs-mode" 'face 'font-lock-function-name-face) (propertize "treemacs" 'face 'font-lock-function-name-face) (propertize "treemacs-select-window" 'face 'font-lock-function-name-face) (propertize "treemacs-add-and-display-current-project" 'face 'font-lock-function-name-face) (propertize "\ \\ \\ ____ / \\ | | @ @ | | || |/ || || |\\_/| \\___/" 'face 'font-lock-keyword-face)))))) (advice-add #'treemacs-mode :around #'treemacs--mode-check-advice) (provide 'treemacs-mode) ;;; treemacs-mode.el ends here treemacs-3.2/src/elisp/treemacs-mouse-interface.el000066400000000000000000000430561476710620300223130ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Functions relating to using the mouse in treemacs. ;; NOTE: This module is lazy-loaded. ;;; Code: (require 'xref) (require 'easymenu) (require 'hl-line) (require 'treemacs-core-utils) (require 'treemacs-tags) (require 'treemacs-scope) (require 'treemacs-follow-mode) (require 'treemacs-filewatch-mode) (require 'treemacs-logging) (eval-when-compile (require 'cl-lib) (require 'treemacs-macros)) (treemacs-import-functions-from "treemacs-interface" treemacs-add-project-to-workspace) (defvar treemacs--mouse-project-list-functions '(("Add Project.el project" . treemacs--builtin-project-mouse-selection-menu))) (defun treemacs--mouse-drag-advice (fn &rest args) "Advice to wrap `adjust-window-trailing-edge' as FN and its ARGS. Ensure that treemacs' window width can be changed with the mouse, even if it is locked." (with-selected-window (or (treemacs-get-local-window) (selected-window)) (let ((treemacs--width-is-locked) (window-size-fixed)) (apply fn args)))) (advice-add #'adjust-window-trailing-edge :around #'treemacs--mouse-drag-advice) (defun treemacs--builtin-project-mouse-selection-menu () "Build a mouse selection menu for project.el projects." (pcase (if (fboundp 'project-known-project-roots) (->> (project-known-project-roots) (-map #'treemacs-canonical-path) (-sort #'string<)) 'unavailable) (`unavailable (list (vector "Project.el api is not available" #'ignore))) (`nil (list (vector "Project.el list is empty" #'ignore))) (projects (pcase (--reject (treemacs-is-path it :in-workspace) projects) (`nil (list (vector "All Project.el projects are alread in the workspace" #'ignore))) (candidates (--map (vector it (lambda () (interactive) (treemacs-add-project-to-workspace it))) candidates)))))) ;;;###autoload (defun treemacs-leftclick-action (event) "Move focus to the clicked line. Must be bound to a mouse click, or EVENT will not be supplied." (interactive "e") (when (eq 'down-mouse-1 (elt event 0)) (select-window (->> event (cadr) (nth 0))) (goto-char (posn-point (cadr event))) (when (region-active-p) (keyboard-quit)) ;; 7th element is the clicked image (when (->> event (cadr) (nth 7)) (treemacs-do-for-button-state :on-file-node-closed (treemacs--expand-file-node btn) :on-file-node-open (treemacs--collapse-file-node btn) :on-tag-node-closed (treemacs--expand-tag-node btn) :on-tag-node-open (treemacs--collapse-tag-node btn) :no-error t)) (treemacs--evade-image))) ;;;###autoload (defun treemacs-doubleclick-action (event) "Run the appropriate double-click action for the current node. In the default configuration this means to expand/collapse directories and open files and tags in the most recently used window. This function's exact configuration is stored in `treemacs-doubleclick-actions-config'. Must be bound to a mouse double click to properly handle a click EVENT." (interactive "e") (when (eq 'double-mouse-1 (elt event 0)) (goto-char (posn-point (cadr event))) (when (region-active-p) (keyboard-quit)) (-when-let (state (treemacs--prop-at-point :state)) (--if-let (cdr (assq state treemacs-doubleclick-actions-config)) (progn (funcall it) (treemacs--evade-image)) (treemacs-pulse-on-failure "No double click action defined for node of type %s." (propertize (format "%s" state) 'face 'font-lock-type-face)))))) ;;;###autoload (defun treemacs-single-click-expand-action (event) "A modified single-leftclick action that expands the clicked nodes. Can be bound to if you prefer to expand nodes with a single click instead of a double click. Either way it must be bound to a mouse click, or EVENT will not be supplied. Clicking on icons will expand a file's tags, just like `treemacs-leftclick-action'." (interactive "e") (when (eq 'mouse-1 (elt event 0)) (select-window (->> event (cadr) (nth 0))) (goto-char (posn-point (cadr event))) (when (region-active-p) (keyboard-quit)) ;; 7th element is the clicked image (if (->> event (cadr) (nth 7)) (treemacs-do-for-button-state :on-file-node-closed (treemacs--expand-file-node btn) :on-file-node-open (treemacs--collapse-file-node btn) :on-tag-node-closed (treemacs--expand-tag-node btn) :on-tag-node-open (treemacs--collapse-tag-node btn) :no-error t) (-when-let (state (treemacs--prop-at-point :state)) (funcall (cdr (assoc state treemacs-doubleclick-actions-config))))) (treemacs--evade-image))) ;;;###autoload (defun treemacs-dragleftclick-action (event) "Drag a file/dir node to be opened in a window. Must be bound to a mouse click, or EVENT will not be supplied." (interactive "e") (when (eq 'drag-mouse-1 (elt event 0)) (let* ((info1 (elt (cdr event) 0)) (info2 (elt (cdr event) 1)) (source-window (elt info1 0)) (target-window (elt info2 0)) (source-pos (elt info1 1)) (target-pos (elt info2 1)) (treemacs-buffer (treemacs-get-local-buffer))) (if (eq source-window target-window) (treemacs--drag-move-files source-pos target-pos) (let* ((node (with-current-buffer treemacs-buffer (treemacs-node-at-point))) (path (-some-> node (treemacs-button-get :path)))) (treemacs-with-path path :file-action (progn (select-window target-window) (find-file path)) :no-match-action (ignore))))))) (defun treemacs--drag-move-files (source-pos target-pos) "Move files with a mouse-drag action. SOURCE-POS: Start position of the mouse drag. TARGET-POS: End position of the mouse drag." (let* ((source-btn (treemacs--button-in-line source-pos)) (target-btn (treemacs--button-in-line target-pos)) (source-key (-some-> source-btn (treemacs-button-get :key))) (target-key (-some-> target-btn (treemacs-button-get :key))) (target-dir (and target-key (if (file-directory-p target-key) target-key (treemacs--parent-dir target-key)))) (target-file (and source-key target-key (treemacs-join-path target-dir (treemacs--filename source-key))))) (when (and treemacs-move-files-by-mouse-dragging source-key target-key (not (string= source-key target-key)) (not (treemacs-is-path source-key :directly-in target-dir))) (treemacs-do-delete-single-node source-key) (treemacs--without-filewatch (rename-file source-key target-file)) (run-hook-with-args 'treemacs-copy-file-functions source-key target-dir) (treemacs-do-insert-single-node target-file target-dir) (treemacs-update-single-file-git-state source-key) (treemacs-update-single-file-git-state target-file) (treemacs--on-file-deletion source-key) (treemacs-goto-file-node target-file) (treemacs-pulse-on-success "Moved %s to %s" (propertize (treemacs--filename target-file) 'face 'font-lock-string-face) (propertize target-dir 'face 'font-lock-string-face))))) ;;;###autoload (defun treemacs-define-doubleclick-action (state action) "Define the behaviour of `treemacs-doubleclick-action'. Determines that a button with a given STATE should lead to the execution of ACTION. The list of possible states can be found in `treemacs-valid-button-states'. ACTION should be one of the `treemacs-visit-node-*' commands." (setf treemacs-doubleclick-actions-config (assq-delete-all state treemacs-doubleclick-actions-config)) (push (cons state action) treemacs-doubleclick-actions-config)) ;;;###autoload (defun treemacs-node-buffer-and-position (&optional _) "Return source buffer or list of buffer and position for the current node. This information can be used for future display. Stay in the selected window and ignore any prefix argument." (interactive "P") (treemacs-without-messages (treemacs--execute-button-action :file-action (find-file-noselect (treemacs-safe-button-get btn :path)) :dir-action (find-file-noselect (treemacs-safe-button-get btn :path)) :tag-action (treemacs--tag-noselect btn) :window (selected-window) :window-arg '(4) :ensure-window-split nil :no-match-explanation ""))) (defun treemacs--imenu-tag-noselect (file tag-path) "Return a list of the source buffer for FILE and the tag's from TAG-PATH." (let ((tag (-last-item tag-path)) (path (-butlast tag-path))) (condition-case e (progn (find-file-noselect file) (let ((index (treemacs--get-imenu-index file))) (dolist (path-item path) (setq index (cdr (assoc path-item index)))) (-let [(buf . pos) (treemacs--extract-position (cdr (--first (equal (car it) tag) index)) path)] ;; some imenu implementations, like markdown, will only provide ;; a raw buffer position (an int) to move to (list (or buf (get-file-buffer file)) pos)))) (error (treemacs-log-err "Something went wrong when finding tag '%s': %s" (propertize tag 'face 'treemacs-tags-face) e))))) (defun treemacs--tag-noselect (btn) "Return list of tag source buffer and position for BTN for future display." (cl-flet ((xref-definition (identifier) "Return the first definition of string IDENTIFIER." (car (xref-backend-definitions (xref-find-backend) identifier))) (xref-item-buffer (item) "Return the buffer in which xref ITEM is defined." (marker-buffer (save-excursion (xref-location-marker (xref-item-location item))))) (xref-item-position (item) "Return the buffer position where xref ITEM is defined." (marker-position (save-excursion (xref-location-marker (xref-item-location item)))))) (-let [(tag-buf . tag-pos) (treemacs-with-button-buffer btn (let ((marker (treemacs-button-get :marker btn)) (path (treemacs-button-get :path btn))) (treemacs--extract-position marker path)))] (if tag-buf (list tag-buf tag-pos) (pcase treemacs-goto-tag-strategy ('refetch-index (let (file tag-path) (with-current-buffer (marker-buffer btn) (setq file (treemacs--nearest-path btn) tag-path (treemacs-button-get btn :path))) (treemacs--imenu-tag-noselect file tag-path))) ('call-xref (let ((xref (xref-definition (treemacs-with-button-buffer btn (treemacs--get-label-of btn))))) (when xref (list (xref-item-buffer xref) (xref-item-position xref))))) ('issue-warning (treemacs-log-failure "Tag '%s' is located in a buffer that does not exist." (propertize (treemacs-with-button-buffer btn (treemacs--get-label-of btn)) 'face 'treemacs-tags-face))) (_ (error "[Treemacs] '%s' is an invalid value for treemacs-goto-tag-strategy" treemacs-goto-tag-strategy))))))) ;;;###autoload (defun treemacs-rightclick-menu (event) "Show a contextual right click menu based on click EVENT." (interactive "e") (treemacs-without-following (unless (eq major-mode 'treemacs-mode) ;; no when-let - the window must exist or this function would not be called (select-window (treemacs-get-local-window))) (goto-char (posn-point (cadr event))) (hl-line-highlight) ;; need to redisplay manually so hl-line and point move correctly ;; and visibly (redisplay) (cl-labels ((check (value) (not (null value)))) (let* ((node (treemacs-node-at-point)) (state (-some-> node (treemacs-button-get :state))) (project (treemacs-project-at-point)) (menu (easy-menu-create-menu nil `(["Paste here" treemacs-paste-dir-at-point-to-minibuffer :visible ,(string-match-p "\\(\\(Move\\)\\|\\(Copy\\)\\) to: " (or (minibuffer-prompt) ""))] ("New" ["New File" treemacs-create-file] ["New Directory" treemacs-create-dir]) ["Open" treemacs-visit-node-no-split :visible ,(check node)] ("Open With" :visible ,(not (null node)) ["Open Directly" treemacs-visit-node-no-split] ["Open In External Application" treemacs-visit-node-in-external-application] ["Open With Vertical Split" treemacs-visit-node-vertical-split] ["Open With Horizontal Split" treemacs-visit-node-horizontal-split] ["Open With Ace" treemacs-visit-node-ace] ["Open With Ace & Vertical Split" treemacs-visit-node-ace-vertical-split] ["Open With Ace & Horizontal Split" treemacs-visit-node-ace-horizontal-split]) ["Open Tags" treemacs-toggle-node :visible ,(check (memq state '(file-node-closed tag-node-closed)))] ["Close Tags" treemacs-toggle-node :visible ,(check (memq state '(file-node-open tag-node-open)))] ["--" #'ignore :visible ,(check node)] ["Rename" treemacs-rename-file :visible ,(check node)] ["Delete" treemacs-delete-file :visible ,(check node)] ["Move" treemacs-move-file :visible ,(check node)] ("Copy" ["Copy File" treemacs-copy-file :visible ,(check node)] ["Copy Absolute Path" treemacs-copy-absolute-path-at-point :visible ,(check node)] ["Copy Relative Path" treemacs-copy-relative-path-at-point :visible ,(check node)] ["Copy Project Path" treemacs-copy-project-path-at-point :visible ,(check node)] ["Copy Filename" treemacs-copy-filename-at-point :visible ,(check node)]) ["--" #'ignore t] ("Projects" ["Add Project" treemacs-add-project] ,@(--map `(,(car it) ,@(funcall (cdr it))) treemacs--mouse-project-list-functions) ["Remove Project" treemacs-remove-project-from-workspace :visible ,(check project)] ["Rename Project" treemacs-rename-project :visible ,(check project)]) ("Workspaces" ["Edit Workspaces" treemacs-edit-workspaces] ["Create Workspace" treemacs-create-workspace] ["Remove Workspace" treemacs-remove-workspace] ["Rename Workspace" treemacs-rename-workspace] ["Switch Workspace" treemacs-switch-workspace] ["Set Fallback Workspace" treemacs-set-fallback-workspace]) ("Toggles" [,(format "Dotfile Visibility (Currently %s)" (if treemacs-show-hidden-files "Enabled" "Disabled")) treemacs-toggle-show-dotfiles] [,(format "Follow-Mode (Currently %s)" (if treemacs-follow-mode "Enabled" "Disabled")) treemacs-follow-mode] [,(format "Filewatch-Mode (Currently %s)" (if treemacs-filewatch-mode "Enabled" "Disabled")) treemacs-filewatch-mode] [,(format "Fringe-Indicator-Mode (Currently %s)" (if treemacs-fringe-indicator-mode "Enabled" "Disabled")) treemacs-fringe-indicator-mode]) ("Help" ["Show Helpful Hydra" treemacs-helpful-hydra] ["Show Active Extensions" treemacs-show-extensions] ["Show Changelog" treemacs-show-changelog])))) (choice (x-popup-menu event menu)) (cmd (lookup-key menu (apply 'vector choice)))) ;; In the terminal clicking on a nested menu item does not expand it, but actually ;; selects it as the chosen use option. So as a workaround we need to manually go ;; through the menus until we land on an executable command. (while (and (not (commandp cmd)) (not (eq cmd menu))) (setf menu choice choice (x-popup-menu event cmd) cmd (lookup-key cmd (apply 'vector choice)))) (when (and cmd (commandp cmd)) (call-interactively cmd)) (hl-line-highlight))))) (provide 'treemacs-mouse-interface) ;;; treemacs-mouse-interface.el ends here treemacs-3.2/src/elisp/treemacs-peek-mode.el000066400000000000000000000133551476710620300210720ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; TODO ;; NOTE: This module is lazy-loaded. ;;; Code: (require 'treemacs-tags) (require 'treemacs-core-utils) (eval-when-compile (require 'treemacs-macros)) (defvar treemacs--peek-timer nil) (defvar treemacs--peeked-buffers nil) (defvar treemacs--pre-peek-state nil "List of window, buffer to restore and buffer to kill treemacs used for peeking.") (defun treemacs--kill-peek-buffers () "Kill buffers opened during peeking that are no longer needed." (-each treemacs--peeked-buffers #'kill-buffer) (setf treemacs--peeked-buffers nil)) (defun treemacs--setup-peek-buffer (path) "Setup the peek buffer and window for PATH." (let* ((inhibit-message t) (file-buffer (get-file-buffer path)) (next-window (next-window (selected-window))) (window (if file-buffer (or (get-buffer-window file-buffer) next-window) next-window))) (save-selected-window (select-window window) (unless treemacs--pre-peek-state (setf treemacs--pre-peek-state (list window (window-buffer window)))) (if file-buffer (switch-to-buffer file-buffer :norecord) (find-file-existing path) (add-to-list 'treemacs--peeked-buffers (current-buffer)))))) (defun treemacs--do-peek () "Timer callback to set up the peeked buffer. Check if the node at point is a file, and if yes take a peek." (when (eq t treemacs--in-this-buffer) (let* ((btn (treemacs-current-button)) (path (and btn (treemacs-button-get btn :path)))) (when (and path (stringp path) (file-exists-p path)) (treemacs--setup-peek-buffer path))))) (defun treemacs--finish-peek-on-window-leave (&optional _) "Finish peeking when the treemacs window is no longer selected. Shut down peek-mode while making sure that the current buffer will not be purged." (let ((treemacs-buffer (treemacs-get-local-buffer)) (current-buffer (current-buffer))) (unless (equal treemacs-buffer current-buffer) (setf treemacs--peeked-buffers (delete current-buffer treemacs--peeked-buffers)) (treemacs-peek-mode -1)))) (defun treemacs--disable-peek-mode () "Hook function for `treemacs-quit-hook'." (treemacs-peek-mode -1)) (defun treemacs--setup-peek-mode () "Set up faces, timers, and hooks etc." (when treemacs--fringe-indicator-overlay (overlay-put treemacs--fringe-indicator-overlay 'face 'treemacs-peek-mode-indicator-face)) (when treemacs--peek-timer (cancel-timer treemacs--peek-timer)) (setf treemacs--peek-timer (run-with-idle-timer 0.5 :repeat #'treemacs--do-peek)) (add-hook 'window-selection-change-functions #'treemacs--finish-peek-on-window-leave nil :local) (add-hook 'treemacs-quit-hook #'treemacs--disable-peek-mode)) (defun treemacs--tear-down-peek-mode (&optional restore-window) "Tear down faces, timers. Restore the initial window buffer when RESTORE-WINDOW is non-nil. Will only happen when `treemacs-peek-mode' has been called interactively, when the tear-down happens on account of the window-leave hook the current buffer is kept." (with-current-buffer (treemacs-get-local-buffer) (when treemacs--fringe-indicator-overlay (overlay-put treemacs--fringe-indicator-overlay 'face 'treemacs-fringe-indicator-face)) (when treemacs--peek-timer (cancel-timer treemacs--peek-timer)) (treemacs--kill-peek-buffers) (remove-hook 'window-selection-change-functions #'treemacs--finish-peek-on-window-leave :local) (when (and restore-window treemacs--pre-peek-state) (-let [(window buffer) treemacs--pre-peek-state] (with-selected-window window (switch-to-buffer buffer)))) (setf treemacs--pre-peek-state nil)) (remove-hook 'treemacs-quit-hook #'treemacs--disable-peek-mode)) ;;;###autoload (define-minor-mode treemacs-peek-mode "Minor mode that allows you to peek at buffers before deciding to open them. While the mode is active treemacs will automatically display the file at point, without leaving the treemacs window. Peeking will stop when you leave the treemacs window, be it through a command like `treemacs-RET-action' or some other window selection change. Files' buffers that have been opened for peeking will be cleaned up if they did not exist before peeking started. The peeked window can be scrolled using `treemacs-next/previous-line-other-window' and `treemacs-next/previous-page-other-window'" :init-value nil :global t :lighter nil :group 'treemacs (if treemacs-peek-mode (progn (unless (boundp 'window-selection-change-functions) (user-error "%s %s" "Peek-mode is only available in Emacs" "versions that support `window-selection-change-functions'")) (treemacs--setup-peek-mode)) (treemacs--tear-down-peek-mode (called-interactively-p 'interactive)))) (provide 'treemacs-peek-mode) ;;; treemacs-peek-mode.el ends here treemacs-3.2/src/elisp/treemacs-persistence.el000066400000000000000000000452041476710620300215460ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Persistence of treemacs' workspaces into an org-mode compatible file. ;;; Code: (require 's) (require 'dash) (require 'treemacs-workspaces) (require 'treemacs-customization) (require 'treemacs-logging) (eval-when-compile (require 'rx) (require 'cl-lib) (require 'inline) (require 'treemacs-macros)) (eval-when-compile (cl-declaim (optimize (speed 3) (safety 0)))) (defconst treemacs--org-edit-buffer-name "*Edit Treemacs Workspaces*" "The name of the buffer used to edit treemacs' workspace.") (defconst treemacs--last-error-persist-file (treemacs-join-path user-emacs-directory ".cache" "treemacs-persist-at-last-error") "File that stores the treemacs state as it was during the last load error.") (make-obsolete-variable 'treemacs--last-error-persist-file 'treemacs-last-error-persist-file "v2.7") (defconst treemacs--persist-kv-regex (rx bol (? " ") "- path :: " (1+ any) eol) "The regular expression to match org's \"key :: value\" lines.") (defconst treemacs--persist-workspace-name-regex (rx bol "* " (1+ any) eol) "The regular expression to match lines with workspace names.") (defconst treemacs--persist-project-name-regex (rx bol "** " (1+ any) eol) "The regular expression to match lines with projects names.") (cl-defstruct (treemacs-iter (:conc-name treemacs-iter->) (:constructor treemacs-iter->create!)) list) (defvar treemacs--no-abbr-on-persist-prefixes nil "Prefixes for paths to be saved as is, without using `abbreviate-file-name'. Will be set to all the `tramp-methods', after tramp has been loaded.") (define-inline treemacs-iter->next! (self) "Get the next element of iterator SELF. SELF: Treemacs-Iter struct." (inline-letevals (self) (inline-quote (let ((head (car (treemacs-iter->list ,self))) (tail (cdr (treemacs-iter->list ,self)))) (setf (treemacs-iter->list ,self) tail) head)))) (define-inline treemacs-iter->peek (self) "Peek at the first element of SELF. SELF: Treemacs-Iter struct." (declare (side-effect-free t)) (inline-letevals (self) (inline-quote (or (car (treemacs-iter->list ,self)) ;; we still need something to make the `s-matches?' calls work "__EMPTY__")))) (define-inline treemacs--should-not-run-persistence? () "No saving and loading in noninteractive and CI environments." (inline-quote (or noninteractive (getenv "CI") (null treemacs-persist-file)))) (defun treemacs--read-workspaces (iter) "Read a list of workspaces from the lines in ITER. Returns a list with 2 elements: the first one is a list of all enabled workspaces, the second is a list of all non-disabled workspaces. ITER: Treemacs-Iter Struct." (let ((workspaces) (comment-prefix "COMMENT ")) (while (s-matches? treemacs--persist-workspace-name-regex (treemacs-iter->peek iter)) (let ((workspace (treemacs-workspace->create!)) (workspace-name (substring (treemacs-iter->next! iter) 2)) (workspace-projects (treemacs--read-projects iter))) (when (s-starts-with? comment-prefix workspace-name) (setf workspace-name (substring workspace-name (length comment-prefix)) (treemacs-workspace->is-disabled? workspace) t)) (setf (treemacs-workspace->name workspace) workspace-name (treemacs-workspace->projects workspace) workspace-projects) (push workspace workspaces))) (--separate (treemacs-workspace->is-disabled? it) (nreverse workspaces)))) (defun treemacs--read-projects (iter) "Read a list of projects from ITER until another section is found. ITER: Treemacs-Iter Struct" (let (projects) (while (s-matches? treemacs--persist-project-name-regex (treemacs-iter->peek iter)) (let ((kv-lines nil) (project (treemacs-project->create!)) (project-name (substring (treemacs-iter->next! iter) 3)) (comment-prefix "COMMENT ")) (when (s-starts-with? comment-prefix project-name) (setf project-name (substring project-name (length comment-prefix)) (treemacs-project->is-disabled? project) t)) (setf (treemacs-project->name project) project-name) (while (s-matches? treemacs--persist-kv-regex (treemacs-iter->peek iter)) (push (treemacs-iter->next! iter) kv-lines)) (if (null kv-lines) (treemacs-log-failure "Project %s has no path and will be ignored." (propertize (treemacs-project->name project) 'face 'font-lock-type-face)) (dolist (kv-line kv-lines) (-let [(key val) (s-split " :: " kv-line)] (pcase (s-trim key) ("- path" (setf (treemacs-project->path project) (treemacs-canonical-path val))) (_ (treemacs-log-failure "Encountered unknown project key-value in line [%s]" kv-line))))) (let ((action 'retry)) (while (eq action 'retry) (setf (treemacs-project->path-status project) (-> (treemacs-project->path project) (treemacs--get-path-status))) (setq action (cond ((or (treemacs-project->is-disabled? project) (not (treemacs-project->is-unreadable? project))) 'keep) ((eq treemacs-missing-project-action 'ask) (let ((completions '(("Keep the project in the project list" . keep) ("Retry" . retry) ("Remove the project from the project list" . remove)))) (cdr (assoc (completing-read (format "Project %s at %s cannot be read." (treemacs-project->name project) (treemacs-project->path project)) completions nil t) completions)))) (treemacs-missing-project-action)))) (if (eq action 'remove) (treemacs-log-failure "The location of project %s at %s cannot be read. Project was removed from the project list." (propertize (treemacs-project->name project) 'face 'font-lock-type-face) (propertize (treemacs-project->path project) 'face 'font-lock-string-face)) (push project projects)))))) (nreverse projects))) (defun treemacs--persist () "Persist treemacs' state in `treemacs-persist-file'." (unless (or (treemacs--should-not-run-persistence?) (null (get 'treemacs :state-is-restored))) (unless (file-exists-p treemacs-persist-file) (make-directory (file-name-directory treemacs-persist-file) :with-parents)) (condition-case e (let ((txt nil) (buffer nil) (no-kill nil) ;; no surprisese when using `abbreviate-file-name' (directory-abbrev-alist nil) (abbreviated-home-dir nil) (file-precious-flag t)) (--if-let (get-file-buffer treemacs-persist-file) (setq buffer it no-kill t) (setq buffer (find-file-noselect treemacs-persist-file :no-warn) desktop-save-buffer nil)) (with-current-buffer buffer (dolist (ws (--reject (null (treemacs-workspace->projects it)) (append (treemacs-workspaces) (treemacs-disabled-workspaces)))) (push (format "* %s%s\n" (if (treemacs-workspace->is-disabled? ws) "COMMENT " "") (treemacs-workspace->name ws)) txt) (dolist (pr (treemacs-workspace->projects ws)) (push (format "** %s%s\n" (if (treemacs-project->is-disabled? pr) "COMMENT " "") (treemacs-project->name pr)) txt) (push (format " - path :: %s\n" (-let [path (treemacs-project->path pr)] (if (--any? (string-prefix-p it path) treemacs--no-abbr-on-persist-prefixes) path (abbreviate-file-name path)))) txt))) (delete-region (point-min) (point-max)) (insert (apply #'concat (nreverse txt))) (-let [inhibit-message t] (save-buffer)) (unless no-kill (kill-buffer)))) (error (treemacs-log-err "Error '%s' when persisting workspace." e))))) (defun treemacs--read-persist-lines (&optional txt) "Read the relevant lines from given TXT or `treemacs-persist-file'. Will read all lines, except those that start with # or contain only whitespace." (-some->> (or txt (when (file-exists-p treemacs-persist-file) (with-temp-buffer (insert-file-contents treemacs-persist-file) (buffer-string)))) (s-trim) (s-lines) (--reject (or (s-blank-str? it) (s-starts-with? "#" it))))) (cl-defun treemacs--validate-persist-lines (lines &optional (context :start) (prev nil) (paths nil) (proj-count 0) (ws-count 0)) "Recursively verify the make-up of the given LINES, based on their CONTEXT. Lines must start with a workspace name, followed by a project name, followed by the project's path property, followed by either the next project or the next workspace. The previously looked at line type is given by CONTEXT. The previously looked at line is given by PREV. PATHS contains all the project paths previously seen in the current workspace. These are used to make sure that no file path appears in the workspaces more than once. PROJ-COUNT counts the number of non-disabled projects in a workspace to make sure that there is at least one project that will be displayed. WS-COUNT counts the number of non-disabled workspaces to make sure that there is at least one workspace that will be used. A successful validation returns just the symbol \\='success, in case of an error a list of 3 items is returned: the symbol \\='error, the exact line where the error happened, and the error message. In some circumstances (for example when a project is missing a path property) it makes sense to display the error not in the currently looked at line, but the one above, which is why the previously looked at line PREV is given as well. LINES: List of Strings CONTEXT: Keyword PREV: String PATHS: List PROJ-COUNT: Int" (treemacs-block (cl-labels ((as-warning (txt) (propertize txt 'face 'warning))) (treemacs-unless-let (line (car lines)) (pcase context (:property (treemacs-return-if (= 0 proj-count) `(error ,prev ,(as-warning "Workspace must contain at least 1 project that is not disabled."))) (treemacs-return-if (= 0 ws-count) `(error ,prev ,(as-warning "There must be at least 1 worspace that is not disabled."))) (treemacs-return 'success)) (:start (treemacs-return (list 'error :start (as-warning "Input is empty")))) (_ (treemacs-return (list 'error prev (as-warning "Cannot end with a project or workspace name"))))) (pcase context (:start (treemacs-return-if (not (s-matches? treemacs--persist-workspace-name-regex line)) `(error ,line ,(as-warning "First item must be a workspace name"))) (-let [ws-is-disabled? (s-starts-with? "* COMMENT" line)] (unless ws-is-disabled? (cl-incf ws-count))) (treemacs--validate-persist-lines (cdr lines) :workspace line nil 0 ws-count)) (:workspace (treemacs-return-if (not (s-matches? treemacs--persist-project-name-regex line)) `(error ,line ,(as-warning "Workspace name must be followed by project name"))) (-let [proj-is-disabled? (s-starts-with? "** COMMENT" line)] (unless proj-is-disabled? (cl-incf proj-count)) (treemacs--validate-persist-lines (cdr lines) :project line nil proj-count ws-count))) (:project (treemacs-return-if (not (s-matches? treemacs--persist-kv-regex line)) `(error ,prev ,(as-warning "Project name must be followed by path declaration"))) (-let [path (cadr (s-split " :: " line))] ;; Path not existing is only a hard error when org-editing, when loading on boot ;; its significance is determined by the customization setting ;; `treemacs-missing-project-action'. Remote files are skipped to avoid opening ;; Tramp connections. (treemacs-return-if (and (string= treemacs--org-edit-buffer-name (buffer-name)) (not (s-starts-with? "** COMMENT" prev)) (not (file-remote-p path)) (not (file-exists-p path))) `(error ,line ,(format (as-warning "File '%s' does not exist") (propertize path 'face 'font-lock-string-face)))) (treemacs-return-if (or (--any (treemacs-is-path path :in it) paths) (--any (treemacs-is-path it :in path) paths)) `(error ,line ,(format (as-warning "Path '%s' appears in the workspace more than once.") (propertize path 'face 'font-lock-string-face)))) (treemacs--validate-persist-lines (cdr lines) :property line (cons path paths) proj-count ws-count))) (:property (let ((line-is-workspace-name (s-matches? treemacs--persist-workspace-name-regex line)) (line-is-project-name (s-matches? treemacs--persist-project-name-regex line))) (cond (line-is-workspace-name (treemacs-return-if (= 0 proj-count) `(error ,prev ,(as-warning "Workspace must contain at least 1 project that is not disabled."))) (-let [ws-is-disabled? (s-starts-with? "* COMMENT" line)] (unless ws-is-disabled? (cl-incf ws-count))) (treemacs--validate-persist-lines (cdr lines) :workspace line nil 0 ws-count)) (line-is-project-name (-let [proj-is-disabled? (s-starts-with? "** COMMENT" line)] (unless proj-is-disabled? (cl-incf proj-count))) (treemacs--validate-persist-lines (cdr lines) :project line paths proj-count ws-count)) (t (treemacs-return-if (-none? #'identity (list line-is-workspace-name line-is-project-name)) `(error ,prev ,(as-warning "Path property must be followed by the next workspace or project")))))))))))) (defun treemacs--restore () "Restore treemacs' state from `treemacs-persist-file'." (unless (treemacs--should-not-run-persistence?) (treemacs-unless-let (lines (treemacs--read-persist-lines)) (setf treemacs--workspaces (list (treemacs-workspace->create! :name "Default")) (treemacs-current-workspace) (car treemacs--workspaces)) ;; Don't persist during restore. Otherwise, if the user would quit ;; Emacs during restore, for example during the completing read for ;; missing project action, the whole persist file would be emptied. (let ((kill-emacs-hook (remq #'treemacs--persist kill-emacs-hook))) ;; run in a temp buffer since validation and read functions rely on elisp-based syntax tables ;; for their regexes (with-temp-buffer (condition-case e (pcase (treemacs--validate-persist-lines lines) ('success (let* ((ws-lists (treemacs--read-workspaces (treemacs-iter->create! :list lines)))) (setf treemacs--disabled-workspaces (car ws-lists)) (setf treemacs--workspaces (cadr ws-lists)))) (`(error ,line ,error-msg) (treemacs--write-error-persist-state lines (format "'%s' in line '%s'" error-msg line)) (treemacs-log-err "Could not restore saved state, %s:\n%s\n%s" (pcase line (:start "found error in the first line") (:end "found error in the last line") (other (format "found error in line '%s'" other))) error-msg (format "Broken state was saved to %s" (propertize treemacs-last-error-persist-file 'face 'font-lock-string-face))))) (error (progn (treemacs--write-error-persist-state lines e) (treemacs-log-err "Error '%s' when loading the persisted workspace.\n%s" e (format "Broken state was saved to %s" (propertize treemacs-last-error-persist-file 'face 'font-lock-string-face))))))))))) (define-inline treemacs--maybe-load-workspaces () "First load of the workspaces, if it hasn't happened already." (inline-quote (unless (get 'treemacs :state-is-restored) (treemacs--restore) (put 'treemacs :state-is-restored t)))) (defun treemacs--write-error-persist-state (lines error) "Write broken state LINES and ERROR to `treemacs-last-error-persist-file'." (-let [txt (concat (format "# State when last error occurred on %s\n" (format-time-string "%F %T")) (format "# Error was %s\n\n" error) (apply #'concat (--map (concat it "\n") lines)))] (unless (file-exists-p treemacs-last-error-persist-file) (make-directory (file-name-directory treemacs-last-error-persist-file) :with-parents)) (write-region txt nil treemacs-last-error-persist-file nil :silent))) (add-hook 'kill-emacs-hook #'treemacs--persist) (provide 'treemacs-persistence) ;;; treemacs-persistence.el ends here treemacs-3.2/src/elisp/treemacs-project-follow-mode.el000066400000000000000000000127401476710620300231110ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Minor mode to automatically display just the current project. ;; NOTE: This module is lazy-loaded. ;;; Code: (require 'treemacs-scope) (require 'treemacs-follow-mode) (require 'treemacs-core-utils) (eval-when-compile (require 'treemacs-macros)) (defvar treemacs--project-follow-timer nil "Idle timer for `treemacs-project-follow-mode'.") (defconst treemacs--project-follow-delay 1.5 "Delay in seconds for `treemacs-project-follow-mode'.") (defun treemacs--follow-project (_) "Debounced display of the current project for `treemacs-project-follow-mode'. Used as a hook for `window-buffer-change-functions', thus the ignored parameter." (treemacs-debounce treemacs--project-follow-timer treemacs--project-follow-delay (treemacs--do-follow-project))) (defun treemacs--do-follow-project() "Actual, un-debounced, implementation of project following." (-when-let (window (treemacs-get-local-window)) (treemacs-block (let* ((ws (treemacs-current-workspace)) (new-project-path (treemacs--find-current-user-project)) (old-project-path (-some-> ws (treemacs-workspace->projects) (car) (treemacs-project->path)))) (treemacs-return-if (or treemacs--in-this-buffer (null new-project-path) (and (null treemacs-project-follow-into-home) (string= (expand-file-name "~") new-project-path)) (bound-and-true-p edebug-mode) (frame-parent) (and (= 1 (length (treemacs-workspace->projects ws))) (string= new-project-path old-project-path)))) (save-selected-window (treemacs--show-single-project new-project-path (treemacs--filename new-project-path)) (treemacs--follow) (hl-line-highlight)))))) (defun treemacs--follow-project-after-buffer-init () "Hook to follow the current project when a treemacs buffer is created. Used for `treemacs-post-buffer-init-hook', so it will run inside the treemacs window." (with-selected-window (next-window (selected-window)) (treemacs--do-follow-project))) (defun treemacs--setup-project-follow-mode () "Setup all the hooks needed for `treemacs-project-follow-mode'." (when treemacs--project-follow-timer (cancel-timer treemacs--project-follow-timer)) (setf treemacs--project-follow-timer nil) (add-hook 'window-buffer-change-functions #'treemacs--follow-project) (add-hook 'window-selection-change-functions #'treemacs--follow-project) (add-hook 'treemacs-post-buffer-init-hook #'treemacs--follow-project-after-buffer-init)) (defun treemacs--tear-down-project-follow-mode () "Remove the hooks added by `treemacs--setup-project-follow-mode'." (cancel-timer treemacs--project-follow-timer) (remove-hook 'window-buffer-change-functions #'treemacs--follow-project) (remove-hook 'window-selection-change-functions #'treemacs--follow-project) (remove-hook 'treemacs-post-buffer-init-hook #'treemacs--follow-project-after-buffer-init)) ;;;###autoload (define-minor-mode treemacs-project-follow-mode "Toggle `treemacs-only-current-project-mode'. This is a minor mode meant for those who do not care about treemacs' workspace features, or its preference to work with multiple projects simultaneously. When enabled it will function as an automated version of `treemacs-display-current-project-exclusively', making sure that, after a small idle delay, the current project, and *only* the current project, is displayed in treemacs. The project detection is based on the current buffer, and will try to determine the project using the following methods, in the order they are listed: - the current projectile.el project, if `treemacs-projectile' is installed - the current project.el project - the current `default-directory' The update will only happen when treemacs is in the foreground, meaning a treemacs window must exist in the current scope. This mode requires at least Emacs version 27 since it relies on `window-buffer-change-functions' and `window-selection-change-functions'." :init-value nil :global t :lighter nil :group 'treemacs (if treemacs-project-follow-mode (progn (unless (and (boundp 'window-buffer-change-functions) (boundp 'window-selection-change-functions)) (user-error "%s %s" "Project-Follow-Mode is only available in Emacs" "versions that support `window-buffer-change-functions'")) (treemacs--setup-project-follow-mode)) (treemacs--tear-down-project-follow-mode))) (provide 'treemacs-project-follow-mode) ;;; treemacs-project-follow-mode.el ends here treemacs-3.2/src/elisp/treemacs-rendering.el000066400000000000000000001577241476710620300212120ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Code in this file is considered performance critical. The usual ;; restrictions w.r.t quality, readability and maintainability are ;; lifted here. ;;; Code: (require 's) (require 'ht) (require 'treemacs-core-utils) (require 'treemacs-icons) (require 'treemacs-async) (require 'treemacs-customization) (require 'treemacs-dom) (require 'treemacs-workspaces) (require 'treemacs-visuals) (require 'treemacs-logging) (require 'treemacs-annotations) (eval-when-compile (require 'cl-lib) (require 'treemacs-macros) (require 'inline)) (treemacs-import-functions-from "treemacs" treemacs-select-window) (treemacs-import-functions-from "treemacs-filewatch-mode" treemacs--start-watching treemacs--stop-watching) (treemacs-import-functions-from "treemacs-visuals" treemacs--get-indentation) (treemacs-import-functions-from "treemacs-interface" treemacs-add-project-to-workspace treemacs-TAB-action) (treemacs-import-functions-from "treemacs-tags" treemacs--expand-file-node treemacs--expand-tag-node) ;; Ensure mouse cursor turns into a hand over treemacs' buttons (put 'treemacs-button 'mouse-face 'highlight) (defvar-local treemacs--projects-end nil "Marker pointing to position at the end of the last project. If there are no projects, points to the position at the end of any top level extensions positioned to `TOP'. This can always be used as the insertion point for new projects.") (defvar treemacs--file-name-handler-alist nil "Value of `file-name-handler-alist' when treemacs loads a directory's content.") (defvar treemacs--no-recenter nil "Set for non-interactive updates. When non-nil `treemacs--maybe-recenter' will have no effect.") (define-inline treemacs--projects-end () "Importable accessor for `treemacs--projects-end'." (declare (side-effect-free t)) (inline-quote treemacs--projects-end)) (define-inline treemacs--button-at (pos) "Return the button at position POS in the current buffer, or nil. If the button at POS is a text property button, the return value is a marker pointing to POS." (declare (side-effect-free t)) (inline-letevals (pos) (inline-quote (copy-marker ,pos t)))) (define-inline treemacs--button-in-line (pos) "Return the button in the line at POS in the current buffer, or nil. If the button at POS is a text property button, the return value is a marker pointing to POS." (inline-letevals (pos) (inline-quote (save-excursion (goto-char ,pos) (copy-marker (next-single-property-change (line-beginning-position) 'button nil (line-end-position)) t))))) (define-inline treemacs--current-screen-line () "Get the current screen line in the selected window." (declare (side-effect-free t)) (inline-quote (max 1 (count-screen-lines (window-start) (line-end-position))))) (define-inline treemacs--lines-in-window () "Determine the number of lines visible in the current (treemacs) window. A simple call to something like `window-screen-lines' is insufficient because the height of treemacs' icons must be taken into account." (declare (side-effect-free t)) (inline-quote (/ (- (window-pixel-height) (window-mode-line-height)) (max treemacs--icon-size (frame-char-height))))) (define-inline treemacs--sort-alphabetic-asc (f1 f2) "Sort F1 and F2 alphabetically ascending." (declare (pure t) (side-effect-free t)) (inline-letevals (f1 f2) (inline-quote (string-lessp ,f1 ,f2)))) (define-inline treemacs--sort-alphabetic-desc (f1 f2) "Sort F1 and F2 alphabetically descending." (declare (pure t) (side-effect-free t)) (inline-letevals (f1 f2) (inline-quote (string-lessp ,f2 ,f1)))) (define-inline treemacs--sort-alphabetic-numeric-asc (f1 f2) "Sort F1 and F2 alphabetically and numerically ascending." (declare (pure t) (side-effect-free t)) (inline-letevals (f1 f2) (inline-quote (string-version-lessp ,f1 ,f2)))) (define-inline treemacs--sort-alphabetic-numeric-desc (f1 f2) "Sort F1 and F2 alphabetically and numerically descending." (declare (pure t) (side-effect-free t)) (inline-letevals (f1 f2) (inline-quote (string-version-lessp ,f2 ,f1)))) (define-inline treemacs--sort-alphabetic-case-insensitive-asc (f1 f2) "Sort F1 and F2 case insensitive alphabetically ascending." (declare (pure t) (side-effect-free t)) (inline-letevals (f1 f2) (inline-quote (string-lessp (downcase ,f1) (downcase ,f2))))) (define-inline treemacs--sort-alphabetic-case-insensitive-desc (f1 f2) "Sort F1 and F2 case insensitive alphabetically descending." (declare (pure t) (side-effect-free t)) (inline-letevals (f1 f2) (inline-quote (string-lessp (downcase ,f2) (downcase ,f1))))) (define-inline treemacs--sort-alphabetic-numeric-case-insensitive-asc (f1 f2) "Sort F1 and F2 case insensitive alphabetically and numerically ascending." (declare (pure t) (side-effect-free t)) (inline-letevals (f1 f2) (inline-quote (string-version-lessp (downcase ,f1) (downcase ,f2))))) (define-inline treemacs--sort-alphabetic-numeric-case-insensitive-desc (f1 f2) "Sort F1 and F2 case insensitive alphabetically and numerically descending." (declare (pure t) (side-effect-free t)) (inline-letevals (f1 f2) (inline-quote (string-version-lessp (downcase ,f2) (downcase ,f1))))) (define-inline treemacs--sort-size-asc (f1 f2) "Sort F1 and F2 by size ascending." (declare (side-effect-free t)) (inline-letevals (f1 f2) (inline-quote (< (nth 7 (file-attributes ,f1)) (nth 7 (file-attributes ,f2)))))) (define-inline treemacs--sort-size-desc (f1 f2) "Sort F1 and F2 by size descending." (declare (side-effect-free t)) (inline-letevals (f1 f2) (inline-quote (>= (nth 7 (file-attributes ,f1)) (nth 7 (file-attributes ,f2)))))) (define-inline treemacs--sort-mod-time-asc (f1 f2) "Sort F1 and F2 by modification time ascending." (declare (side-effect-free t)) (inline-letevals (f1 f2) (inline-quote (file-newer-than-file-p ,f2 ,f1)))) (define-inline treemacs--sort-mod-time-desc (f1 f2) "Sort F1 and F2 by modification time descending." (declare (side-effect-free t)) (inline-letevals (f1 f2) (inline-quote (file-newer-than-file-p ,f1 ,f2)))) (define-inline treemacs--insert-root-separator () "Insert a root-level separator at point, moving point after the separator." (inline-quote (insert (if treemacs-space-between-root-nodes "\n\n" "\n")))) (define-inline treemacs--get-sort-fuction () (declare (side-effect-free t)) (inline-quote (pcase treemacs-sorting ('alphabetic-asc #'treemacs--sort-alphabetic-asc) ('alphabetic-desc #'treemacs--sort-alphabetic-desc) ('alphabetic-numeric-asc #'treemacs--sort-alphabetic-numeric-asc) ('alphabetic-numeric-desc #'treemacs--sort-alphabetic-numeric-desc) ('alphabetic-case-insensitive-asc #'treemacs--sort-alphabetic-case-insensitive-asc) ('alphabetic-case-insensitive-desc #'treemacs--sort-alphabetic-case-insensitive-desc) ('alphabetic-numeric-case-insensitive-asc #'treemacs--sort-alphabetic-numeric-case-insensitive-asc) ('alphabetic-numeric-case-insensitive-desc #'treemacs--sort-alphabetic-numeric-case-insensitive-desc) ('size-asc #'treemacs--sort-size-asc) ('size-desc #'treemacs--sort-size-desc) ('mod-time-asc #'treemacs--sort-mod-time-asc) ('mod-time-desc #'treemacs--sort-mod-time-desc) (other other)))) (define-inline treemacs--get-dir-content (dir) "Get the content of DIR, separated into sub-lists of first dirs, then files." (inline-letevals (dir) (inline-quote ;; `directory-files' is much faster in a temp buffer for whatever reason (with-temp-buffer (let* ((file-name-handler-alist treemacs--file-name-handler-alist) (sort-func (treemacs--get-sort-fuction)) (entries (-> ,dir (directory-files :absolute-names nil :no-sort) (treemacs--filter-files-to-be-shown))) (dirs-files (-separate #'file-directory-p entries))) (list (sort (car dirs-files) sort-func) (sort (cadr dirs-files) sort-func))))))) (define-inline treemacs--create-dir-button-strings (path prefix parent depth) "Return the text to insert for a directory button for PATH. PREFIX is a string inserted as indentation. PARENT is the (optional) button under which this one is inserted. DEPTH indicates how deep in the filetree the current button is." (inline-letevals (path prefix parent depth) (inline-quote (let ((dir-name (file-name-nondirectory ,path))) (list ,prefix (treemacs-icon-for-dir dir-name 'closed) (propertize (->> dir-name (funcall treemacs-directory-name-transformer)) 'button '(t) 'category 'treemacs-button 'help-echo nil 'keymap nil :default-face 'treemacs-directory-face :state 'dir-node-closed :path ,path :key ,path :symlink (file-symlink-p ,path) :parent ,parent :depth ,depth)))))) (define-inline treemacs--create-file-button-strings (path prefix parent depth) "Return the text to insert for a file button for PATH. PREFIX is a string inserted as indentation. PARENT is the (optional) button under which this one is inserted. DEPTH indicates how deep in the filetree the current button is." (inline-letevals (path prefix parent depth) (inline-quote (list ,prefix (treemacs-icon-for-file ,path) (propertize (->> ,path file-name-nondirectory (funcall treemacs-file-name-transformer)) 'button '(t) 'category 'treemacs-button 'help-echo nil 'keymap nil :default-face 'treemacs-git-unmodified-face :state 'file-node-closed :path ,path :key ,path :parent ,parent :depth ,depth))))) ;; TODO document open-action return strings (cl-defmacro treemacs--button-open (&key button new-state new-icon open-action post-open-action immediate-insert) "Building block macro to open a BUTTON. Gives the button a NEW-STATE, and, optionally, a NEW-ICON. Performs OPEN-ACTION and, optionally, POST-OPEN-ACTION. If IMMEDIATE-INSERT is non-nil it will concat and apply `insert' on the items returned from OPEN-ACTION. If it is nil either OPEN-ACTION or POST-OPEN-ACTION are expected to take over insertion." `(prog1 (save-excursion (let ((p (point)) lines) (treemacs-with-writable-buffer (treemacs-button-put ,button :state ,new-state) ,@(when new-icon `((beginning-of-line) (treemacs--button-symbol-switch ,new-icon))) (goto-char (line-end-position)) ,@(if immediate-insert `((progn (insert (apply #'concat ,open-action)))) `(,open-action)) (setf lines (count-lines p (point))) ,post-open-action lines))) (when treemacs-move-forward-on-expand (let* ((parent (treemacs-current-button)) (child (next-button parent))) (when (equal parent (treemacs-button-get child :parent)) (forward-line 1)))))) (cl-defmacro treemacs--create-buttons (&key nodes node-action depth extra-vars node-name) "Building block macro for creating buttons from a list of NODES. Will not making any insertions, but instead return a list of strings created by NODE-ACTION, so that the list can be further manipulated and efficiently inserted in one go. NODES is the list to create buttons from. DEPTH is the indentation level buttons will be created on. EXTRA-VARS are additional var bindings inserted into the initial let block. NODE-ACTION is the button creating form inserted for every NODE. NODE-NAME is the variable individual nodes are bound to in NODE-ACTION." `(let* ((depth ,depth) (prefix (concat "\n" (treemacs--get-indentation depth))) (,node-name (car ,nodes)) (strings) ,@extra-vars) ;; extensions only implicitly use the prefix by calling into `treemacs-render-node' ;; (ignore prefix) (when ,node-name (dolist (,node-name ,nodes) (--each ,node-action (push it strings)))) (nreverse strings))) (defun treemacs--flatten-dirs (dirs) "Display DIRS as flattened. Go to each dir button, expand its label with the collapsed dirs, set its new path and give it a special parent-path property so opening it will add the correct cache entries. DIRS: List of Collapse Paths. Each Collapse Path is a list of 1) the extra text that must be appended in the view, 2) The original full and un-collapsed path, 3) a series of intermediate steps which are the result of appending the collapsed path elements onto the original, ending in 4) the full path to the directory that the collapsing leads to. For Example: (\"/26.0/elpa\" \"/home/a/Documents/git/treemacs/.cask\" \"/home/a/Documents/git/treemacs/.cask/26.0\" \"/home/a/Documents/git/treemacs/.cask/26.0/elpa\")" (when dirs (-let [project (-> dirs (car) (cadr) (treemacs--find-project-for-path))] (dolist (it dirs) (let* ((label-to-add (car it)) (original-path (cadr it)) (extra-steps (cddr it)) (new-path (-last-item extra-steps)) (coll-count (length extra-steps))) ;; use when-let because the operation may fail when we try to move to a node ;; that us not visible because treemacs ignores it (-when-let (b (treemacs-find-file-node original-path project)) ;; no warning since filewatch mode is known to be defined (when (with-no-warnings treemacs-filewatch-mode) (treemacs--start-watching original-path) (dolist (step extra-steps) (treemacs--start-watching step t))) ;; make extra dom entries for the flattened steps (-let [dom-node (treemacs-find-in-dom original-path)] (dolist (step extra-steps) (ht-set! treemacs-dom step dom-node)) (setf (treemacs-dom-node->collapse-keys dom-node) extra-steps)) (-let [props (text-properties-at (treemacs-button-start b))] (treemacs-button-put b :path new-path) ;; if the collapsed path leads to a symlinked directory the button needs to be marked as a symlink ;; so `treemacs--expand-dir-node' will know to start a new git future under its true-name (treemacs-button-put b :symlink (or (treemacs-button-get b :symlink) (--first (file-symlink-p it) extra-steps))) ;; number of directories that have been appended to the original path plus all extra steps ;; to use as dom keys when the node is expanded (treemacs-button-put b :collapsed (cons coll-count (cons original-path extra-steps))) (end-of-line) (-let [beg (point)] (insert label-to-add) (add-text-properties beg (point) props) (unless (treemacs--non-simple-git-mode-enabled) (add-text-properties beg (point) '(face treemacs-directory-collapsed-face))) (-when-let* ((ann (treemacs-get-annotation new-path)) (git-cache (->> original-path (treemacs--parent-dir) (ht-get treemacs--git-cache)))) (treemacs-button-put b 'face (treemacs-annotation->face-value ann))))))))))) (defmacro treemacs--inplace-map-when-unrolled (items interval &rest mapper) "Unrolled in-place mapping operation. Maps ITEMS at given index INTERVAL using MAPPER function." (declare (indent 2)) (let ((l (make-symbol "list")) (tail-op (cl-case interval (2 'cdr) (3 'cddr) (4 'cdddr) (_ (error "Interval %s is not handled yet" interval))))) `(let ((,l ,items)) (while ,l (setq ,l (,tail-op ,l)) (let ((it (car ,l))) (setf (car ,l) ,@mapper) (pop ,l))) ,items))) (define-inline treemacs--create-branch (root depth git-future flatten-future &optional parent) "Create a new treemacs branch under ROOT. The branch is indented at DEPTH and uses the eventual outputs of GIT-FUTURE to decide on file buttons' faces and FLATTEN-FUTURE to determine which directories should be displayed as one. The buttons' parent property is set to PARENT." (inline-letevals (root depth git-future flatten-future parent) (inline-quote (save-excursion (let* ((dirs-and-files (treemacs--get-dir-content ,root)) (dirs (car dirs-and-files)) (files (cadr dirs-and-files)) (parent-node (treemacs-find-in-dom ,root)) (dir-dom-nodes) (file-dom-nodes) (git-info) (file-strings) (dir-strings)) (setq dir-strings (treemacs--create-buttons :nodes dirs :depth ,depth :node-name node :node-action (treemacs--create-dir-button-strings node prefix ,parent ,depth))) (setq file-strings (treemacs--create-buttons :nodes files :depth ,depth :node-name node :node-action (treemacs--create-file-button-strings node prefix ,parent ,depth))) (end-of-line) ;; the files list contains 3 item tuples: the prefix the icon and the filename ;; direcories are different, since dirs do not have different icons the icon is part if the prefix ;; therefore when filtering or propertizing the files and dirs only every 3rd or 2nd item must be looked at ;; as reopening is done recursively the parsed git status is passed down to subsequent calls ;; so there are two possibilities: either the future given to this function is a pfuture object ;; that needs to complete and be parsed or it's an already finished git status hash table ;; additionally when git mode is deferred we don't parse the git output right here, it is instead done later ;; by means of an idle timer. The git info used is instead fetched from `treemacs--git-cache', which is ;; based on previous invocations ;; if git-mode is disabled there is nothing to do - in this case the git status parse function will always ;; produce an empty hash table (pcase treemacs--git-mode ((or 'simple 'extended) (setf git-info (treemacs--get-or-parse-git-result ,git-future)) (ht-set! treemacs--git-cache ,root git-info)) ('deferred (setf git-info (or (ht-get treemacs--git-cache ,root) treemacs--empty-table))) (_ (setf git-info treemacs--empty-table))) (run-with-timer 0.5 nil #'treemacs--apply-annotations-deferred ,parent ,root (current-buffer) ,git-future) (if treemacs-pre-file-insert-predicates (progn (-let [result nil] (while file-strings (let* ((prefix (car file-strings)) (icon (cadr file-strings)) (filename (caddr file-strings)) (filepath (concat ,root "/" filename))) (unless (--any? (funcall it filepath git-info) treemacs-pre-file-insert-predicates) (setq result (cons filename (cons icon (cons prefix result)))) (push (treemacs-dom-node->create! :parent parent-node :key filepath) file-dom-nodes))) (setq file-strings (cdddr file-strings))) (setq file-strings (nreverse result))) (-let [result nil] (while dir-strings (let* ((prefix (car dir-strings)) (icon (cadr dir-strings)) (dirname (caddr dir-strings)) (dirpath (concat ,root "/" dirname))) (unless (--any? (funcall it dirpath git-info) treemacs-pre-file-insert-predicates) (setq result (cons dirname (cons icon (cons prefix result)))) (push (treemacs-dom-node->create! :parent parent-node :key dirpath) dir-dom-nodes))) (setq dir-strings (cdddr dir-strings))) (setq dir-strings (nreverse result)))) (setf file-dom-nodes (--map (treemacs-dom-node->create! :parent parent-node :key it) files) dir-dom-nodes (--map (treemacs-dom-node->create! :parent parent-node :key it) dirs))) ;; do nodes can only be created *after* any potential fitering has taken place, ;; otherwise we end up with dom entries for files that are not rendered (setf (treemacs-dom-node->children parent-node) (nconc dir-dom-nodes file-dom-nodes (treemacs-dom-node->children parent-node))) (dolist (it (treemacs-dom-node->children parent-node)) (treemacs-dom-node->insert-into-dom! it)) (setf dir-strings (treemacs--inplace-map-when-unrolled dir-strings 3 (-if-let* ((ann (treemacs-get-annotation (concat ,root "/" it))) (face (treemacs-annotation->face-value ann))) (progn (put-text-property 0 (length it) 'face face it) (concat it (treemacs-annotation->suffix-value ann))) (put-text-property 0 (length it) 'face 'treemacs-directory-face it) it))) (insert (apply #'concat dir-strings)) (end-of-line) (setf file-strings (treemacs--inplace-map-when-unrolled file-strings 3 (-if-let* ((ann (treemacs-get-annotation (concat ,root "/" it))) (face (treemacs-annotation->face-value ann))) (progn (put-text-property 0 (length it) 'face face it) (concat it (treemacs-annotation->suffix-value ann))) (put-text-property 0 (length it) 'face 'treemacs-git-unmodified-face it) it))) (insert (apply #'concat file-strings)) (save-excursion (treemacs--flatten-dirs (treemacs--parse-flattened-dirs ,root ,flatten-future)) (treemacs--reentry ,root ,git-future ,flatten-future)) (with-no-warnings (line-end-position))))))) (cl-defmacro treemacs--button-close (&key button new-icon new-state post-close-action) "Close node given by BUTTON, use NEW-ICON and BUTTON's state to NEW-STATE. Run POST-CLOSE-ACTION after everything else is done." `(save-excursion (treemacs-with-writable-buffer ,@(when new-icon `((treemacs--button-symbol-switch ,new-icon))) (treemacs-button-put ,button :state ,new-state) (-let [next (next-button (button-end ,button))] (if (or (null next) (/= (1+ (treemacs-button-get ,button :depth)) (treemacs-button-get (copy-marker next t) :depth))) (delete-trailing-whitespace) ;; Delete from end of the current button to end of the last sub-button. ;; This will make the EOL of the last button become the EOL of the ;; current button, making the treemacs--projects-end marker track ;; properly when collapsing the last project or a last directory of the ;; last project. (let* ((pos-start (line-end-position)) (next (treemacs--next-non-child-button ,button)) (pos-end (if next (-> next (treemacs-button-start) (previous-button) (treemacs-button-end)) (point-max)))) (delete-region pos-start pos-end)))) ,post-close-action))) (defun treemacs--expand-root-node (btn &optional recursive) "Expand the given root BTN. Open every child-directory as well when RECURSIVE is non-nil. BTN: Button RECURSIVE: Bool" (let ((project (treemacs-button-get btn :project))) (treemacs-with-writable-buffer (treemacs-project->refresh-path-status! project)) (if (treemacs-project->is-unreadable? project) (treemacs-pulse-on-failure (format "%s is not readable." (propertize (treemacs-project->path project) 'face 'font-lock-string-face))) (let* ((path (treemacs-button-get btn :path)) (git-path (if (treemacs-button-get btn :symlink) (file-truename path) path)) (git-future (treemacs--git-status-process git-path project)) (flatten-future (treemacs--flattened-dirs-process path project)) (recursive (treemacs--prefix-arg-to-recurse-depth recursive)) ) (treemacs--maybe-recenter treemacs-recenter-after-project-expand (treemacs--button-open :immediate-insert nil :button btn :new-state 'root-node-open :new-icon treemacs-icon-root-open :open-action (progn ;; TODO(2019/10/14): go back to post open ;; expand first because it creates a dom node entry (treemacs-on-expand path btn) (when (fboundp 'treemacs--apply-project-top-extensions) (treemacs--apply-project-top-extensions btn project)) (when (fboundp 'treemacs--apply-project-bottom-extensions) (save-excursion (treemacs--apply-project-bottom-extensions btn project))) (treemacs--create-branch path (1+ (treemacs-button-get btn :depth)) git-future flatten-future btn) (treemacs--start-watching path) ;; Performing FS ops on a disconnected Tramp project ;; might have changed the state to connected. (treemacs-with-writable-buffer (treemacs-project->refresh-path-status! project)) (when (and (> recursive 0) (treemacs-project->is-readable? project)) (cl-decf recursive) (--each (treemacs-collect-child-nodes btn) (when (eq 'dir-node-closed (treemacs-button-get it :state)) (goto-char (treemacs-button-start it)) (treemacs--expand-dir-node it :git-future git-future :recursive recursive))))))))))) (defun treemacs--collapse-root-node (btn &optional recursive) "Collapse the given root BTN. Remove all open entries below BTN when RECURSIVE is non-nil." (treemacs--button-close :button btn :new-state 'root-node-closed :new-icon treemacs-icon-root-closed :post-close-action (-let [path (treemacs-button-get btn :path)] (treemacs--stop-watching path) (treemacs-on-collapse path recursive)))) (cl-defun treemacs--expand-dir-node (btn &key git-future flatten-future recursive) "Open the node given by BTN. BTN: Button GIT-FUTURE: Pfuture|HashMap FLATTEN-FUTURE: Pfuture|HashMap RECURSIVE: Bool" (-let [path (treemacs-button-get btn :path)] (if (not (file-readable-p path)) (treemacs-pulse-on-failure "Directory %s is not readable." (propertize path 'face 'font-lock-string-face)) (let* ((project (treemacs-project-of-node btn)) (git-future (if (treemacs-button-get btn :symlink) (treemacs--git-status-process (file-truename path) project) (or git-future (treemacs--git-status-process path project)))) (flatten-future (or flatten-future (treemacs--flattened-dirs-process path project))) (recursive (treemacs--prefix-arg-to-recurse-depth recursive)) (base-dir-name (treemacs--filename (treemacs-button-get btn :key)))) (treemacs--button-open :immediate-insert nil :button btn :new-state 'dir-node-open :new-icon (treemacs-icon-for-dir base-dir-name 'open) :open-action (progn ;; do on-expand first so buttons that need collapsing can quickly find their parent (treemacs-on-expand path btn) (when (fboundp 'treemacs--apply-directory-top-extensions) (treemacs--apply-directory-top-extensions btn path)) (goto-char (treemacs--create-branch path (1+ (treemacs-button-get btn :depth)) git-future flatten-future btn)) (when (fboundp 'treemacs--apply-directory-bottom-extensions) (treemacs--apply-directory-bottom-extensions btn path)) (treemacs--start-watching path) (when (> recursive 0) (cl-decf recursive) (--each (treemacs-collect-child-nodes btn) (when (eq 'dir-node-closed (treemacs-button-get it :state)) (goto-char (treemacs-button-start it)) (treemacs--expand-dir-node it :git-future git-future :recursive recursive)))))))))) (defun treemacs--collapse-dir-node (btn &optional recursive) "Close node given by BTN. Remove all open dir and tag entries under BTN when RECURSIVE." (let ((path (treemacs-button-get btn :path)) (base-dir-name (treemacs--filename (treemacs-button-get btn :key)))) (treemacs--button-close :button btn :new-state 'dir-node-closed :new-icon (treemacs-icon-for-dir base-dir-name 'closed) :post-close-action (progn (treemacs--stop-watching path) (treemacs-on-collapse path recursive))))) (defun treemacs--root-face (project) "Get the face to be used for PROJECT." (cl-case (treemacs-project->path-status project) (local-unreadable 'treemacs-root-unreadable-face) (remote-readable 'treemacs-root-remote-face) (remote-disconnected 'treemacs-root-remote-disconnected-face) (remote-unreadable 'treemacs-root-remote-unreadable-face) (otherwise 'treemacs-root-face))) (defun treemacs--add-root-element (project) "Insert a new root node for the given PROJECT node. PROJECT: Project Struct" (insert treemacs-icon-root-closed) (let* ((pos (point-marker)) (path (treemacs-project->path project)) (dom-node (treemacs-dom-node->create! :key path :position pos))) (treemacs-dom-node->insert-into-dom! dom-node) (insert (propertize (treemacs-project->name project) 'button '(t) 'category 'treemacs-button 'face (treemacs--root-face project) :project project :default-face 'treemacs-root-face :key path :symlink (when (treemacs-project->is-readable? project) (file-symlink-p path)) :state 'root-node-closed :path path :depth 0)))) (defun treemacs--render-projects (projects) "Actually render the given PROJECTS in the current buffer." (treemacs-with-writable-buffer (unless treemacs--projects-end (setq treemacs--projects-end (make-marker))) (let* ((projects (-reject #'treemacs-project->is-disabled? projects)) (current-workspace (treemacs-current-workspace)) (has-previous (when (fboundp 'treemacs--apply-root-top-extensions) (treemacs--apply-root-top-extensions current-workspace)))) (--each projects (when has-previous (treemacs--insert-root-separator)) (setq has-previous t) (treemacs--add-root-element it)) ;; Set the end marker after inserting the extensions. Otherwise, the ;; extensions would move the marker. (let ((projects-end-point (point))) (when (fboundp 'treemacs--apply-root-bottom-extensions) (treemacs--apply-root-bottom-extensions current-workspace has-previous)) ;; If the marker lies at the start of the buffer, expanding extensions would ;; move the marker. Make sure that the marker does not move when doing so. (set-marker-insertion-type treemacs--projects-end has-previous) (set-marker treemacs--projects-end projects-end-point))))) (define-inline treemacs-do-update-node (path &optional force-expand) "Update the node identified by its PATH. Throws an error when the node cannot be found. Does nothing if the node is not expanded, unless FORCE-EXPAND is non-nil, in which case the node will be expanded. Same as `treemacs-update-node', but does not take care to either save position or assure hl-line highlighting, so it should be used when making multiple updates. PATH: Node Path FORCE-EXPAND: Boolean" (inline-letevals (path force-expand) (inline-quote (treemacs-without-recenter (-if-let (btn (if ,force-expand (treemacs-goto-node ,path) (-some-> (treemacs-find-visible-node ,path) (goto-char)))) (if (treemacs-is-node-expanded? btn) (-let [close-func (alist-get (treemacs-button-get btn :state) treemacs-TAB-actions-config)] (funcall close-func) ;; close node again if no new lines were rendered (when (eq 1 (funcall (alist-get (treemacs-button-get btn :state) treemacs-TAB-actions-config))) (funcall close-func))) (when ,force-expand (funcall (alist-get (treemacs-button-get btn :state) treemacs-TAB-actions-config)))) (-when-let (dom-node (treemacs-find-in-dom ,path)) (setf (treemacs-dom-node->refresh-flag dom-node) t))))))) (defun treemacs-update-node (path &optional force-expand) "Update the node identified by its PATH. Same as `treemacs-do-update-node', but wraps the call in `treemacs-save-position'. PATH: Node Path FORCE-EXPAND: Boolean" (treemacs-save-position (treemacs-do-update-node path force-expand))) (defun treemacs-delete-single-node (path &optional project) "Delete single node at given PATH and PROJECT. Does nothing when the given node is not visible. Must be run in a treemacs buffer. This will also take care of all the necessary house-keeping like making sure child nodes are deleted as well and everything is removed from the dom. If multiple nodes are to be deleted it is more efficient to make multiple calls to `treemacs-do-delete-single-node' wrapped in `treemacs-save-position' instead. PATH: Node Path Project: Project Struct" (treemacs-save-position (treemacs-do-delete-single-node path project) (hl-line-highlight))) (defun treemacs-do-delete-single-node (path &optional project) "Actual implementation of single node deletion. Will delete node at given PATH and PROJECT. See also `treemacs-delete-single-node'. PATH: Node Path Project: Project Struct" (-when-let (dom-node (treemacs-find-in-dom path)) (-let [btn (or (treemacs-dom-node->position dom-node) (treemacs-goto-node path project :ignore-file-exists))] (goto-char btn) (when (treemacs-is-node-expanded? btn) (treemacs-TAB-action :purge)) (treemacs-with-writable-buffer (if (treemacs-button-get btn :collapsed) (treemacs--delete-at-flattened-path btn path dom-node) (treemacs--delete-line) (treemacs-dom-node->remove-from-dom! dom-node)))))) (defun treemacs--delete-at-flattened-path (btn deleted-path dom-node) "Handle a delete for a flattened path BTN for given DELETED-PATH. Remove DOM-NODE from the dom if the entire line was deleted. Btn: Button DELETED-PATH: File Path DOM-NODE: Dom Node" (let* ((key (treemacs-button-get btn :key)) (coll-status (treemacs-button-get btn :collapsed)) (curr-collapse-steps (cdr coll-status))) (if (string= deleted-path key) (progn ;; remove full dom entry if entire line was deleted (treemacs--delete-line) (treemacs-dom-node->remove-from-dom! dom-node)) ;; otherwise change the current line and update its properties (let* ((path (treemacs-button-get btn :path)) (new-path (treemacs--parent deleted-path)) (delete-offset (- (length path) (length new-path))) (new-label (substring new-path (length key))) (old-coll-count (car coll-status)) (new-coll-count (length (treemacs-split-path new-label)))) (treemacs-button-put btn :path new-path) (end-of-line) ;; delete just enough to get rid of the deleted dirs (delete-region (- (point) delete-offset) (point)) ;; then remove the deleted directories from the dom (-let [removed-collapse-keys (last curr-collapse-steps (- old-coll-count new-coll-count))] (treemacs-dom-node->remove-collapse-keys! dom-node removed-collapse-keys) (-each removed-collapse-keys #'treemacs--stop-watching)) ;; and update inline collpase info (if (= 0 new-coll-count) (treemacs-button-put btn :collapsed nil) (treemacs-button-put btn :collapsed (cons new-coll-count (-take (1+ new-coll-count) curr-collapse-steps)))))))) (defun treemacs--determine-insert-position (path parent-btn sort-function) "Determine the insert location for PATH under PARENT-BTN. Specifically this will return the node *after* which to make the new insert. Mostly this means the position before the first node for whose path returns SORT-FUNCTION returns non-nil, but files and directories must be handled properly,and edge cases for inserting at the end of the project and buffer must be taken into account. PATH: File Path PARENT-BTN: Button SORT-FUNCTION: Button -> Boolean." (let* ((parent-dom-node (treemacs-find-in-dom (treemacs-button-get parent-btn :path))) (children (treemacs-dom-node->children parent-dom-node)) (dirs-files (--separate (-let [path (treemacs-dom-node->key it)] (and (stringp path) (file-directory-p path))) children)) (dirs (sort (car dirs-files) (lambda (d1 d2) (funcall sort-function (treemacs-dom-node->key d1) (treemacs-dom-node->key d2))))) (files (sort (cadr dirs-files) (lambda (f1 f2) (funcall sort-function (treemacs-dom-node->key f1) (treemacs-dom-node->key f2)))))) (if (file-directory-p path) ;; insert directory ... (or ;; at first dir that fits sort order (--when-let (--first (funcall sort-function path (treemacs-dom-node->key it)) dirs) (previous-button (or (treemacs-dom-node->position it) (treemacs-find-file-node (treemacs-dom-node->key it))))) ;; after last dir (--when-let (-last-item dirs) (or (treemacs-dom-node->position it) (treemacs-find-file-node (treemacs-dom-node->key it)))) ;; before first file (--when-let (car files) (previous-button (or (treemacs-dom-node->position it) (treemacs-find-file-node (treemacs-dom-node->key it))))) ;; after parent parent-btn) ;; insert file ... (or ;; at first file that fits sort order (--when-let (--first (funcall sort-function path (treemacs-dom-node->key it)) files) (previous-button (or (treemacs-dom-node->position it) (treemacs-find-file-node (treemacs-dom-node->key it)))) ) ;; after last file (--when-let (-last-item files) (or (treemacs-dom-node->position it) (treemacs-find-file-node (treemacs-dom-node->key it))) ) ;; after last dir (--when-let (-last-item dirs) (or (treemacs-dom-node->position it) (treemacs-find-file-node (treemacs-dom-node->key it)))) ;; after parent parent-btn)))) (defun treemacs-do-insert-single-node (path parent-path) "Insert single file node at given PATH and below PARENT-PATH. PATH: File Path PARENT-PATH: File Path" (-when-let (parent-dom-node (treemacs-find-in-dom parent-path)) (if (treemacs-find-in-dom path) ;; "creating" a file that is already present may happen due to an interaction in magit ;; in that case we need to checkthe file's git status (treemacs-update-single-file-git-state path) (let* ((parent-btn (treemacs-dom-node->position parent-dom-node)) (parent-flatten-info (treemacs-button-get parent-btn :collapsed))) (treemacs-with-writable-buffer (if parent-flatten-info (treemacs--insert-node-in-flattened-directory path parent-btn parent-dom-node parent-flatten-info) (treemacs--insert-single-node path parent-btn parent-dom-node))))))) (defun treemacs--insert-single-node (created-path parent-btn parent-dom-node) "Insert new CREATED-PATH below non-flattened directory at PARENT-BTN. Will find the correct insert location, insert the necessary strings, and make the necessary dom entries and adjust PARENT-DOM-NODE." (let* ((sort-function (treemacs--get-sort-fuction)) (insert-after (treemacs--determine-insert-position created-path parent-btn sort-function))) (goto-char insert-after) (end-of-line) (insert "\n" (treemacs--create-string-for-single-insert created-path parent-btn (1+ (button-get parent-btn :depth)))) (-let [new-dom-node (treemacs-dom-node->create! :key created-path :parent parent-dom-node)] (treemacs-dom-node->insert-into-dom! new-dom-node) (treemacs-dom-node->add-child! parent-dom-node new-dom-node)) (when treemacs-git-mode (treemacs-do-update-single-file-git-state created-path :exclude-parents :override-status)))) (defun treemacs--insert-node-in-flattened-directory (created-path parent-btn parent-dom-node flatten-info) "Insert new CREATED-PATH below flattened directory at PARENT-BTN. Will take care of every part necessary for adding a new node under a flattened directory - adjusting the label, the state PARENT-DOM-NODE, the FLATTEN-INFO and path text properties, the filewatch entries. It will also differentiate between creating new files and new directories and re-open the node accordingly. PATH: File Path PARENT-BTN: Button PARENT-DOM-NODE: Dom Node Struct FLATTEN-INFO [Int File Path...]" (treemacs-block (let ((is-file? (file-regular-p created-path)) (insert-at-end? (treemacs-is-path created-path :in (-last-item flatten-info))) (is-expanded? (treemacs-is-node-expanded? parent-btn))) ;; Simple addition of a file (treemacs-return-if (and is-file? insert-at-end? is-expanded?) (treemacs--insert-single-node created-path parent-btn parent-dom-node)) ;; Simple file addition at the end, but the node is collapsed so we do nothing (treemacs-return-if (and is-file? insert-at-end? (not is-expanded?)) t) (let* ((properties (text-properties-at parent-btn)) (current-base-path (treemacs-button-get parent-btn :key)) ;; In case we either add a new file or a directory somewhere in the middle of the flattened paths ;; we move the `created-path' up a step because that means we do not simple add another directory to ;; the flattened path. Instead we remove everything *up to* the directory the new item was created in. ;; Pretending the `created-path' has moved up like is an easy way to make sure the new button label ;; and properties are determined correctly. (created-path (if (or is-file? (not insert-at-end?)) (treemacs--parent-dir created-path) created-path)) (new-path-tokens (treemacs--tokenize-path created-path current-base-path)) (new-button-label (substring created-path (1+ (length (treemacs--parent-dir current-base-path))))) ;; TODO(2020/10/02): Check again when exactly this count is actually used ;; maybe it can be removed by now (new-flatten-info-count 0) (new-flatten-info (list current-base-path)) (new-flatten-info-item current-base-path)) ;; Do nothing if we add a new directory and we have already reached maximum length (unless (and insert-at-end? (>= (car flatten-info) treemacs-collapse-dirs) (not is-file?)) ;; Create the path items of the new `:collapsed' property (dolist (token new-path-tokens) (cl-incf new-flatten-info-count) (setf new-flatten-info-item (treemacs-join-path new-flatten-info-item token)) (push new-flatten-info-item new-flatten-info)) (setf new-flatten-info (nreverse new-flatten-info)) ;; Take care of filewatch and dom entries for all paths added and removed (let* ((old-flatten-paths (-difference (cdr flatten-info) new-flatten-info)) (new-flatten-paths (-difference new-flatten-info (cdr flatten-info)))) (dolist (old-flatten-path old-flatten-paths) (treemacs--stop-watching old-flatten-path) (ht-set! treemacs-dom old-flatten-path nil)) (dolist (new-flatten-path new-flatten-paths) (treemacs--start-watching new-flatten-path :flatten) (ht-set! treemacs-dom new-flatten-path parent-dom-node)) (setf (treemacs-dom-node->collapse-keys parent-dom-node) (copy-sequence (cdr new-flatten-info)))) ;; Update text properties with new state (setf new-flatten-info (when (> new-flatten-info-count 0) (cons new-flatten-info-count new-flatten-info))) (plist-put properties :collapsed new-flatten-info) (plist-put properties :path created-path) ;; Insert new label (goto-char parent-btn) (delete-region (point) (line-end-position)) (insert (apply #'propertize new-button-label properties)) ;; Fixing marker probably necessary since it's also in the dom (goto-char (- (point) (length new-button-label))) (set-marker parent-btn (point)) (if (and insert-at-end? is-file?) ;; TODO(2020/10/01): this reopening is used multiple tims like this ;; it should be abstracted properly (funcall (alist-get (treemacs-button-get parent-btn :state) treemacs-TAB-actions-config)) (funcall (alist-get (treemacs-button-get parent-btn :state) treemacs-TAB-actions-config)) (setf (treemacs-dom-node->refresh-flag parent-dom-node) nil))))))) (define-inline treemacs--create-string-for-single-insert (path parent depth) "Create the necessary strings to insert a new file node. Creates the required indent prefix and file icon based on the given file PATH, PARENT node and node DEPTH. PATH: File Path PARENT: Button DEPTH: Int" (declare (side-effect-free t)) (inline-letevals (path depth parent) (inline-quote (let ((prefix (treemacs--get-indentation ,depth))) (apply #'concat (let* ((strs) (face)) (if (file-directory-p ,path) (setf strs (treemacs--create-dir-button-strings ,path prefix ,parent ,depth) face 'treemacs-directory-face) (setf strs (treemacs--create-file-button-strings ,path prefix ,parent ,depth) face 'treemacs-file-face)) (-let [last (-last-item strs)] (put-text-property 0 (length last) 'face face last)) strs))))) ) (defun treemacs--maybe-recenter (when &optional new-lines) "Potentially recenter based on value of WHEN. WHEN can take the following values: * always: Recenter indiscriminately, * on-distance: Recentering depends on the distance between `point' and the window top/bottom being smaller than `treemacs-recenter-distance'. * on-visibility: Special case for projects: recentering depends on whether the newly rendered number of NEW-LINES fits the view." (declare (indent 1)) (when (and (null treemacs--no-recenter) (treemacs-is-treemacs-window? (selected-window))) (let* ((current-line (float (treemacs--current-screen-line))) (all-lines (float (treemacs--lines-in-window)))) (pcase when ('always (recenter)) ('on-visibility (-let [lines-left (- all-lines current-line)] (when (> new-lines lines-left) ;; if possible recenter only as much as is needed to bring all new lines ;; into view (recenter (max 0 (round (- current-line (- new-lines lines-left)))))))) ('on-distance (let* ((distance-from-top (/ current-line all-lines)) (distance-from-bottom (- 1.0 distance-from-top))) (when (or (> treemacs-recenter-distance distance-from-top) (> treemacs-recenter-distance distance-from-bottom)) (recenter)))))))) ;; TODO(201/10/30): update of parents (defun treemacs--recursive-refresh-descent (node project) "Recursively refresh by descending the dom starting from NODE. If NODE under PROJECT is marked for refresh and in an open state (since it could have been collapsed in the meantime) it will simply be collapsed and re-expanded. If NODE is node marked its children will be recursively investigated instead. Additionally all the refreshed nodes are collected and returned so their parents' git status can be updated." (let ((recurse t) (refreshed-nodes nil)) (-when-let (change-list (treemacs-dom-node->refresh-flag node)) (setf (treemacs-dom-node->refresh-flag node) nil) (push node refreshed-nodes) (if (> (length change-list) 8) (progn (setf recurse nil) (if (null (treemacs-dom-node->parent node)) (treemacs-project->refresh! project) (treemacs--refresh-dir (treemacs-dom-node->key node) project))) (dolist (change change-list) (-let [(path . type) change] (pcase type ('deleted (treemacs-do-delete-single-node path project)) ('changed (treemacs-do-update-node path) (treemacs-update-single-file-git-state path)) ('created (treemacs-do-insert-single-node path (treemacs-dom-node->key node))) ('force-refresh (setf recurse nil) (if (null (treemacs-dom-node->parent node)) (treemacs-project->refresh! project) (treemacs--refresh-dir (treemacs-dom-node->key node) project))) (_ ;; Renaming is handled as a combination of delete+create, so ;; this case should never be taken (treemacs-log-failure "Unknown change event: %s" change) (setf recurse nil) (if (null (treemacs-dom-node->parent node)) (treemacs-project->refresh! project) (treemacs--refresh-dir (treemacs-dom-node->key node) project)))))))) (when recurse (dolist (child (treemacs-dom-node->children node)) (setq refreshed-nodes (nconc refreshed-nodes (treemacs--recursive-refresh-descent child project))))) ;; TODO(2019/07/30): add as little as possible refreshed-nodes)) (define-inline treemacs--should-reenter? (path) "Check if PATH should not be reentered. Returns nil if PATH is either not a file or it should be hidden on account of `treemacs-show-hidden-files' being non-nil. PATH: Node Path" (declare (side-effect-free t)) (inline-letevals (path) (inline-quote (let ((path (cond ((stringp ,path) ,path) ;; tags should be reopened also ((and (consp ,path) (stringp (car ,path))) (car ,path))))) (if path (or treemacs-show-hidden-files (not (s-matches? treemacs-dotfiles-regex (treemacs--filename path)))) t))))) (defun treemacs--reentry (path &optional git-future flatten-future) "Reopen dirs below PATH. GIT-FUTURE and FLATTEN-FUTURE are passed through from the previous branch build. PATH: Node Path GIT-INFO: Pfuture | Map" (-when-let* ((dom-node (treemacs-find-in-dom path)) (reopen-list (treemacs-dom-node->reentry-nodes dom-node))) ;; get rid of the reentry-remnant so it wont pollute the actual dom (setf (treemacs-dom-node->reentry-nodes dom-node) nil) (dolist (to-reopen-dom-node reopen-list) ;; the dom-node in the reentry-remnant and the one currently in the dom ;; are different, we need to make sure the latter is present, otherwise ;; the file has since been deleted (let* ((reopen-path (treemacs-dom-node->key to-reopen-dom-node)) (actual-dom-node (treemacs-find-in-dom reopen-path))) (when (and actual-dom-node (treemacs--should-reenter? reopen-path)) ;; move the next level of the reentry-remnant to the new reopened dom ;; so the process can continue (setf (treemacs-dom-node->reentry-nodes actual-dom-node) (treemacs-dom-node->reentry-nodes to-reopen-dom-node)) (treemacs--reopen-node (treemacs-goto-node reopen-path) git-future flatten-future)))))) (defun treemacs--reopen-node (btn &optional git-future flatten-future) "Reopen file BTN. GIT-FUTURE and FLATTEN-FUTURE are passed through from the previous branch build." (pcase (treemacs-button-get btn :state) ('dir-node-closed (treemacs--expand-dir-node btn :git-future git-future :flatten-future flatten-future)) ('file-node-closed (treemacs--expand-file-node btn)) ('tag-node-closed (treemacs--expand-tag-node btn)) ('root-node-closed (treemacs--expand-root-node btn)) (other (funcall (alist-get other treemacs-TAB-actions-config))))) (defun treemacs--show-single-project (path name) "Show only a project for the given PATH and NAME in the current workspace." (let* ((ws (treemacs-current-workspace))) (setf (treemacs-workspace->projects ws) (list (treemacs-project->create! :name name :path path :path-status (treemacs--get-path-status path)))) (--when-let (treemacs-get-local-buffer) (with-current-buffer it (treemacs--consolidate-projects))) (-let [treemacs-select-when-already-in-treemacs 'stay] (treemacs-select-window)) (goto-char (point-min)) (-if-let (btn (treemacs-current-button)) (unless (treemacs-is-node-expanded? btn) (treemacs--expand-root-node btn))) (treemacs--evade-image))) (provide 'treemacs-rendering) ;;; treemacs-rendering.el ends here treemacs-3.2/src/elisp/treemacs-scope.el000066400000000000000000000241301476710620300203260ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Module that handles uniquely associating treemacs buffers with a ;; certain scope, like the selected frame, or (to be implemented ;; later) the active eyebrowse or persp desktop. ;; This is implemented using a (somewhat) OOP style with eieio and ;; static functions, where each scope type is expected to know how to ;; query the current scope (e.g. the selected frame) and how to set up ;; and tear down itself (e.g. deleting a frames associated buffer when ;; the frame is deleted) ;;; Code: (require 'dash) (require 'eieio) (require 'treemacs-core-utils) (require 's) (require 'inline) (eval-when-compile (require 'treemacs-macros) (require 'cl-lib)) (eval-when-compile (cl-declaim (optimize (speed 3) (safety 0)))) (treemacs-import-functions-from "treemacs-filewatch-mode" treemacs--stop-filewatch-for-current-buffer) (treemacs-import-functions-from "treemacs-interface" treemacs-quit treemacs-select-window) (treemacs-import-functions-from "treemacs-workspaces" treemacs--find-workspace) (cl-defstruct (treemacs-scope-shelf (:conc-name treemacs-scope-shelf->) (:constructor treemacs-scope-shelf->create!)) buffer workspace) (defvar treemacs-scope-types (list (cons 'Frames 'treemacs-frame-scope)) "List of all known scope types. The car is the name seen in interactive selection. The cdr is the eieio class name.") (defvar treemacs--current-scope-type 'treemacs-frame-scope "The general type of objects/items treemacs is currently scoped to.") (defvar treemacs--scope-storage nil "Alist of all active scopes mapped to their buffers & workspaces. The car is the scope, the cdr is a `treemacs-scope-shelf'.") (define-inline treemacs-scope-shelf->kill-buffer (self) "Kill the buffer stored in SELF." (inline-letevals (self) (inline-quote (progn (let ((buffer (treemacs-scope-shelf->buffer ,self))) (when (buffer-live-p buffer) (kill-buffer buffer))) (setf (treemacs-scope-shelf->buffer ,self) nil))))) (define-inline treemacs--scope-store () "Return `treemacs--scope-storage'." (inline-quote treemacs--scope-storage)) (define-inline treemacs-current-scope-type () "Return the current scope type." (declare (side-effect-free t)) (inline-quote treemacs--current-scope-type)) (define-inline treemacs-current-scope () "Return the current scope." (declare (side-effect-free t)) (inline-quote (treemacs-scope->current-scope (treemacs-current-scope-type)))) (define-inline treemacs-current-scope-shelf (&optional scope) "Return the current scope shelf, containing the active workspace and buffer. Use either the given SCOPE or `treemacs-current-scope' otherwise. Can be used with `setf'." (declare (side-effect-free t)) (inline-letevals (scope) (inline-quote (cdr (assoc (or ,scope (treemacs-current-scope)) treemacs--scope-storage))))) (gv-define-setter treemacs-current-scope-shelf (val) `(let* ((current-scope (treemacs-current-scope)) (shelf-mapping (assoc current-scope treemacs--scope-storage))) (if (cdr shelf-mapping) (setf (cdr shelf-mapping) ,val) (push (cons current-scope ,val) treemacs--scope-storage)))) (defclass treemacs-scope () () :abstract t) (cl-defmethod treemacs-scope->current-scope ((_ (subclass treemacs-scope))) "Get the current scope." (error "Default `current-scope' implementation was called")) (cl-defmethod treemacs-scope->current-scope-name ((_ (subclass treemacs-scope)) scope) "Get the name of the given SCOPE." (ignore scope) nil) (cl-defmethod treemacs-scope->setup ((_ (subclass treemacs-scope))) "Setup for a scope type." nil) (cl-defmethod treemacs-scope->cleanup ((_ (subclass treemacs-scope))) "Tear-down for a scope type." nil) (defclass treemacs-frame-scope (treemacs-scope) () :abstract t) (cl-defmethod treemacs-scope->current-scope ((_ (subclass treemacs-frame-scope))) "Get the current scope." (selected-frame)) (cl-defmethod treemacs-scope->current-scope-name ((_ (subclass treemacs-frame-scope)) frame) "Prints the given FRAME." (prin1-to-string frame)) (cl-defmethod treemacs-scope->setup ((_ (subclass treemacs-frame-scope))) "Frame-scope setup." (add-hook 'delete-frame-functions #'treemacs--on-scope-kill)) (cl-defmethod treemacs-scope->cleanup ((_ (subclass treemacs-frame-scope))) "Frame-scope tear-down." (remove-hook 'delete-frame-functions #'treemacs--on-scope-kill)) (defun treemacs-set-scope-type (new-scope-type) "Set a NEW-SCOPE-TYPE for treemacs buffers. Valid values for TYPE are the `car's of the elements of `treemacs-scope-types'. This is meant for programmatic use. For an interactive selection see `treemacs-select-buffer-scope-type'." (-let [class (alist-get new-scope-type treemacs-scope-types)] (unless class (user-error "'%s' is not a valid scope new-scope-type. Valid types are: %s" new-scope-type (-map #'car treemacs-scope-types))) (treemacs--do-set-scope-type class))) (defun treemacs--do-set-scope-type (new-scope-type) "Set NEW-SCOPE-TYPE as the scope managing class. Kill all treemacs buffers and windows and reset the buffer store. NEW-SCOPE-TYPE: T: treemacs-scope" (treemacs-scope->cleanup treemacs--current-scope-type) (setf treemacs--current-scope-type new-scope-type) (dolist (frame (frame-list)) (dolist (window (window-list frame)) (when (treemacs-is-treemacs-window? window) (delete-window window)))) (dolist (it treemacs--scope-storage) (treemacs-scope-shelf->kill-buffer (cdr it))) (setf treemacs--scope-storage nil) (treemacs-scope->setup new-scope-type)) (defun treemacs--on-buffer-kill () "Cleanup to run when a treemacs buffer is killed." (when (eq t treemacs--in-this-buffer) ;; stop watch must come first since we need a reference to the killed buffer ;; to remove it from the filewatch list (treemacs--stop-filewatch-for-current-buffer) ;; not present for extension buffers (-when-let (shelf (treemacs-current-scope-shelf)) (setf (treemacs-scope-shelf->buffer shelf) nil)))) (defun treemacs--on-scope-kill (scope) "Kill and remove the buffer assigned to the given SCOPE." (-when-let (shelf (treemacs-current-scope-shelf scope)) (treemacs-scope-shelf->kill-buffer shelf) (setf treemacs--scope-storage (--reject-first (equal (car it) scope) treemacs--scope-storage)))) (defun treemacs--create-buffer-for-scope (scope) "Create and store a new buffer for the given SCOPE." (-let [shelf (treemacs-current-scope-shelf scope)] (unless shelf (setf shelf (treemacs-scope-shelf->create!)) (push (cons scope shelf) treemacs--scope-storage) (treemacs--find-workspace (buffer-file-name))) (treemacs-scope-shelf->kill-buffer shelf) (let* ((name-suffix (or (treemacs-scope->current-scope-name treemacs--current-scope-type scope) (prin1-to-string scope))) (name (format "%sScoped-Buffer-%s*" treemacs--buffer-name-prefix name-suffix)) (buffer (get-buffer-create name))) (setf (treemacs-scope-shelf->buffer shelf) buffer) buffer))) (defun treemacs--change-buffer-on-scope-change (&rest _) "Switch the treemacs buffer after the current scope was changed." (--when-let (treemacs-get-local-window) (save-selected-window (with-selected-window it (treemacs-quit)) (treemacs-select-window)))) (defun treemacs--select-visible-window () "Switch to treemacs buffer, given that it is currently visible." (-some->> treemacs--scope-storage (assoc (treemacs-scope->current-scope treemacs--current-scope-type)) (cdr) (treemacs-scope-shelf->buffer) (get-buffer-window) (select-window)) (run-hook-with-args 'treemacs-select-functions 'visible)) (defun treemacs-get-local-buffer () "Return the treemacs buffer local to the current scope-type. Returns nil if no such buffer exists.." (declare (side-effect-free t)) (let* ((scope (treemacs-scope->current-scope treemacs--current-scope-type)) (buffer (-some->> treemacs--scope-storage (assoc scope) (cdr) (treemacs-scope-shelf->buffer)))) (and (buffer-live-p buffer) buffer))) (defun treemacs-get-local-buffer-create () "Get the buffer for the current scope, creating a new one if needed." (or (treemacs-get-local-buffer) (treemacs--create-buffer-for-scope (treemacs-scope->current-scope treemacs--current-scope-type)))) (defun treemacs-get-local-window () "Return the window displaying the treemacs buffer in the current frame. Returns nil if no treemacs buffer is visible." (declare (side-effect-free error-free)) (->> (window-list (selected-frame)) (--first (->> it (window-buffer) (buffer-name) (s-starts-with? treemacs--buffer-name-prefix))))) (define-inline treemacs-current-visibility () "Return whether the current visibility state of the treemacs buffer. Valid states are \\='visible, \\='exists and \\='none." (declare (side-effect-free t)) (inline-quote (cond ((treemacs-get-local-window) 'visible) ((treemacs-get-local-buffer) 'exists) (t 'none)))) (treemacs-only-during-init (setf treemacs--current-scope-type 'treemacs-frame-scope) (treemacs-scope->setup 'treemacs-frame-scope)) (provide 'treemacs-scope) ;;; treemacs-scope.el ends here treemacs-3.2/src/elisp/treemacs-tag-follow-mode.el000066400000000000000000000354231476710620300222210ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Minor mode to follow the tag at point in the treemacs view on an idle timer ;; Finding the current tag is a fairly involved process: ;; * Grab current buffer's imenu output ;; * Flatten the list to create full tag paths ;; * Sort according to tag position ;; * Beware of edge cases: org-mode headlines are containers, but also hold a position, hidden as a text property and ;; semantic-mode parsed buffers use overlays instead of markers ;; * Find the last tag whose position begins before point ;; * Jump to that tag path ;; * No jump when there's no buffer file, or no imenu, or buffer file is not seen in treemacs etc. ;; NOTE: This module is lazy-loaded. ;;; Code: (require 'imenu) (require 'hl-line) (require 'treemacs-customization) (require 'treemacs-core-utils) (require 'treemacs-tags) (require 'treemacs-scope) (require 'treemacs-follow-mode) (require 'treemacs-logging) (eval-when-compile (require 'inline) (require 'cl-lib) (require 'treemacs-macros)) (defvar treemacs--tag-follow-timer nil "The idle timer object for `treemacs-tag-follow-mode'. Active while tag follow mode is enabled and nil/cancelled otherwise.") (defvar-local treemacs--previously-followed-tag-position nil "Records the last node and path whose tags were expanded by tag follow mode. Is made up of a cons of the last expanded node and its path. Both are kept to make sure that the position has not become invalidated in the meantime. When `treemacs-tag-follow-cleanup' it t this button's tags will be closed up again when tag follow mode moves to another button.") (defvar-local treemacs--imenu-cache nil "Cache for the current buffer's flattened and sorted imenu index. Is reset in `first-change-hook' will only be set again after the buffer has been saved.") (define-inline treemacs--reset-imenu-cache () "Reset `treemacs--imenu-cache'." (inline-quote (setq-local treemacs--imenu-cache nil))) (define-inline treemacs--forget-previously-follow-tag-btn () "Forget the previously followed button when treemacs is killed or rebuilt." (inline-quote (setq treemacs--previously-followed-tag-position nil))) ;;;###autoload (defun treemacs--flatten&sort-imenu-index () "Flatten current file's imenu index and sort it by tag position. The tags are sorted into the order in which they appear, regardless of section or nesting depth." (if (eq major-mode 'pdf-view-mode) 'unsupported (let* ((imenu-auto-rescan t) (org? (eq major-mode 'org-mode)) (index (-> (buffer-file-name) (treemacs--get-imenu-index))) (flat-index (if org? (treemacs--flatten-org-mode-imenu-index index) (treemacs--flatten-imenu-index index))) (first (caar flat-index)) ;; in org mode buffers the first item may not be a cons since its position ;; is still stored as a text property (semantic? (and (consp first) (overlayp (cdr first)))) (compare-func (if (memq major-mode '(markdown-mode adoc-mode)) #'treemacs--compare-markdown-tag-paths #'treemacs--compare-tag-paths))) (cond (semantic? ;; go ahead and just transform semantic overlays into markers so we dont ;; have trouble with comparisons when searching a position (dolist (tag-path flat-index) (let ((leaf (car tag-path)) (marker (make-marker))) (setcdr leaf (move-marker marker (overlay-start (cdr leaf))))))) ;; same goes for an org index, since headlines with children store their ;; positions as text properties (org? (dolist (tag-path flat-index) (let ((leaf (car tag-path))) (when (stringp leaf) (setcar tag-path (cons leaf (get-text-property 0 'org-imenu-marker leaf)))))))) (sort flat-index compare-func)))) (defun treemacs--flatten-imenu-index (index &optional path) "Flatten a nested imenu INDEX to a flat list of tag paths. The function works recursively with PATH being the already collected tag path in each iteration. INDEX: Imenu Tag Index PATH: String List" (declare (pure t) (side-effect-free t)) (let (result) (--each index (cond ((imenu--subalist-p it) (setq result (append result (treemacs--flatten-imenu-index (cdr it) (cons (car it) path))))) ;; make sure our leaf elements have a cdr where a location should be stored, it looks like there are cases, ;; at least on emacs 25, where we only get what amounts to an empty section ;; https://github.com/Alexander-Miller/treemacs/issues/283#issuecomment-427281977 ((and (consp it) (cdr it)) (setq result (cons (cons it (nreverse (copy-sequence path))) result))))) result)) (defun treemacs--flatten-org-mode-imenu-index (index &optional path) "Specialisation of `treemacs--flatten-imenu-index' for org mode. An index produced in an `org-mode' buffer is special in that tag sections act not just as a means of grouping tags (being bags of functions, classes etc). Each tag section is instead also a headline which can be moved to. The flattening algorithm must therefore be slightly adjusted. INDEX: Org Imenu Tag Index PATH: String List" (declare (pure t) (side-effect-free t)) (let (result) (--each index (let ((is-subalist? (imenu--subalist-p it))) (setq result (cons (cons (if is-subalist? (car it) it) (nreverse (copy-sequence path))) result)) (when is-subalist? (setq result (append result (treemacs--flatten-org-mode-imenu-index (cdr it) (cons (car it) path))))))) result)) (define-inline treemacs--compare-tag-paths (p1 p2) "Compare two tag paths P1 & P2 by the position of the tags they lead to. Used to sort tag paths according to the order their tags appear in. P1: Tag-Path P2: Tag-Path" (declare (pure t) (side-effect-free t)) (inline-letevals (p1 p2) (inline-quote (< (-> ,p1 (cdar) (marker-position)) (-> ,p2 (cdar) (marker-position)))))) (define-inline treemacs--compare-markdown-tag-paths (p1 p2) "Specialised version of `treemacs--compare-tag-paths' for markdown and adoc. P1: Tag-Path P2: Tag-Path" (declare (pure t) (side-effect-free t)) (inline-letevals (p1 p2) (inline-quote (< (cdar ,p1) (cdar ,p2))))) (defun treemacs--find-index-pos (point list) "Find the tag at POINT within a flat tag-path LIST. Returns the tag-path whose tag is the last to be situated before POINT (meaning that the next tag is after POINT and thus too far). Accounts for POINT being located either before the first or after the last tag. POINT: Int LIST: Sorted Tag Path List" (declare (pure t) (side-effect-free t)) (when list (let ((first (car list)) (last (nth (1- (length list)) list))) (cond ((<= point (-> first car cdr)) first) ((>= point (-> last car cdr)) last) (t (treemacs--binary-index-search point list)))))) (cl-defun treemacs--binary-index-search (point list &optional (start 0) (end (1- (length list)))) "Find the position of POINT in LIST using a binary search. Continuation of `treemacs--find-index-pos'. Search LIST between START & END. POINT: Integer LIST: Sorted Tag Path List START: Integer END: Integer" (declare (pure t) (side-effect-free t)) (let* ((index (+ start (/ (- end start) 2))) (elem1 (nth index list)) (elem2 (nth (1+ index) list)) (pos1 (-> elem1 car cdr)) (pos2 (-> elem2 car cdr))) (cond ((and (> point pos1) (<= point pos2)) elem1) ((> pos2 point) (treemacs--binary-index-search point list 0 index)) ((< pos2 point) (treemacs--binary-index-search point list index end))))) (defun treemacs--do-follow-tag (flat-index treemacs-window buffer-file project) "Actual tag-follow implementation, run once the necessary data is gathered. FLAT-INDEX: Sorted list of tag paths TREEMACS-WINDOW: Window BUFFER-FILE: Filepath PROJECT: Project Struct" (let* ((tag-path (treemacs--find-index-pos (point) flat-index)) (file-states '(file-node-open file-node-closed root-node-open root-node-closed)) (btn)) (when tag-path (treemacs-without-following (with-selected-window treemacs-window (setq btn (treemacs-current-button)) (if btn ;; first move to the nearest file when we're on a tag (if (memq (treemacs-button-get btn :state) '(tag-node-open tag-node-closed tag-node)) (while (not (memq (treemacs-button-get btn :state) file-states)) (setq btn (treemacs-button-get btn :parent))) ;; when that doesnt work move manually to the correct file (-let [btn-path (treemacs-button-get btn :path)] (unless (and (stringp btn-path) (treemacs-is-path buffer-file :same-as btn-path)) (treemacs-goto-file-node buffer-file project) (setq btn (treemacs-current-button))))) ;; also move manually when there is no button at point (treemacs-goto-file-node buffer-file project) (setq btn (treemacs-current-button))) ;; close the button that was opened on the previous follow (goto-char (treemacs-button-start btn)) ;; imenu already rescanned when fetching the tag path (let ((imenu-auto-rescan nil) (new-file-btn)) ;; make a copy since this tag-path will be saved as cache, and the two modifications made here ;; make it impossible to find the current position in `treemacs--find-index-pos' (let* ((tag-path (copy-sequence tag-path)) (target-tag (list (car (car tag-path))))) ;; remove position marker from target tag and move it ;; to the end of the tag path (setf tag-path (nconc (cdr tag-path) target-tag)) ;; the tag path also needs its file (setf tag-path (cons buffer-file tag-path)) ;; workaround: goto routines assume that at least the very first element of the followed ;; path has a dom entry with a valid position, but this is not the case when moving to tags ;; in a previously never-expanded file node, so we first find the file to make sure its ;; position is known (setf new-file-btn (treemacs-find-file-node buffer-file)) (treemacs-goto-node tag-path) (when (and treemacs--previously-followed-tag-position (not (equal (car treemacs--previously-followed-tag-position) new-file-btn))) (-let [(prev-followed-pos . _) treemacs--previously-followed-tag-position] (save-excursion (when (eq 'file-node-open (treemacs-button-get prev-followed-pos :state)) (goto-char prev-followed-pos) (treemacs--collapse-file-node prev-followed-pos))))) (setf treemacs--previously-followed-tag-position (cons new-file-btn (treemacs-button-get new-file-btn :path))))) (hl-line-highlight) (treemacs--evade-image) (when treemacs-recenter-after-tag-follow (treemacs--maybe-recenter treemacs-recenter-after-tag-follow))))))) (defun treemacs--follow-tag-at-point () "Follow the tag at point in the treemacs view." (interactive) (let* ((treemacs-window (treemacs-get-local-window)) (buffer (current-buffer)) (buffer-file (when buffer (buffer-file-name))) (project (treemacs--find-project-for-buffer))) (when (and treemacs-window buffer-file project) (condition-case e (-when-let (index (or treemacs--imenu-cache (treemacs--flatten&sort-imenu-index))) (unless (eq index 'unsupported) (unless (buffer-modified-p) (setq-local treemacs--imenu-cache (copy-sequence index))) (treemacs--do-follow-tag index treemacs-window buffer-file project))) (imenu-unavailable (ignore e)) (error (treemacs-log-err "Encountered error while following tag at point: %s" e)))))) (defun treemacs--setup-tag-follow-mode () "Setup tag follow mode." (treemacs-follow-mode -1) (--each (buffer-list) (with-current-buffer it (treemacs--reset-imenu-cache))) (add-hook 'first-change-hook #'treemacs--reset-imenu-cache) (setq treemacs--tag-follow-timer (run-with-idle-timer treemacs-tag-follow-delay t #'treemacs--follow-tag-at-point))) (defun treemacs--tear-down-tag-follow-mode () "Tear down tag follow mode." (remove-hook 'first-change-hook #'treemacs--reset-imenu-cache) (when treemacs--tag-follow-timer (cancel-timer treemacs--tag-follow-timer))) ;;;###autoload (define-minor-mode treemacs-tag-follow-mode "Toggle `treemacs-tag-follow-mode'. This acts as more fine-grained alternative to `treemacs-follow-mode' and will thus disable `treemacs-follow-mode' on activation. When enabled treemacs will focus not only the file of the current buffer, but also the tag at point. The follow action is attached to Emacs' idle timer and will run `treemacs-tag-follow-delay' seconds of idle time. The delay value is not an integer, meaning it accepts floating point values like 1.5. Every time a tag is followed a re--scan of the imenu index is forced by temporarily setting `imenu-auto-rescan' to t (though a cache is applied as long as the buffer is unmodified). This is necessary to assure that creation or deletion of tags does not lead to errors and guarantees an always up-to-date tag view. Note that in order to move to a tag in treemacs the treemacs buffer's window needs to be temporarily selected, which will reset blink-cursor-mode's timer if it is enabled. This will result in the cursor blinking seemingly pausing for a short time and giving the appearance of the tag follow action lasting much longer than it really does." :init-value nil :global t :lighter nil :group 'treemacs (if treemacs-tag-follow-mode (treemacs--setup-tag-follow-mode) (treemacs--tear-down-tag-follow-mode))) (provide 'treemacs-tag-follow-mode) ;;; treemacs-tag-follow-mode.el ends here treemacs-3.2/src/elisp/treemacs-tags.el000066400000000000000000000545011476710620300201600ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Tags display functionality. ;; Need to be very careful here - many of the functions in this module ;; need to be run inside the treemacs buffer, while the ;; `treemacs--execute-button-action' macro that runs them will switch ;; windows before doing so. Heavy use of `treemacs-safe-button-get' ;; or `treemacs-with-button-buffer' is necessary. ;; NOTE: This module is lazy-loaded. ;;; Code: (require 'xref) (require 'imenu) (require 'dash) (require 'treemacs-core-utils) (require 'treemacs-rendering) (require 'treemacs-customization) (require 'treemacs-faces) (require 'treemacs-visuals) (require 'treemacs-dom) (require 'treemacs-icons) (require 'treemacs-logging) (eval-when-compile (require 'inline) (require 'cl-lib) (require 'treemacs-macros)) (treemacs-import-functions-from "treemacs" treemacs-select-window) (treemacs-import-functions-from "org-comat" org-imenu-get-tree) ;; TODO(2019/10/17): rebuild this module using the extension api ;; TODO(2020/12/14): Improve special-casing of org-mode & especially pdf-tools (defun treemacs--partition-imenu-index (index default-name) "Put top level leaf nodes in INDEX under DEFAULT-NAME." (declare (pure t) (side-effect-free t)) (let ((ret) (rest index)) (while rest (let ((item (car rest))) (if (imenu--subalist-p item) (progn (setq ret (cons item ret)) (setq rest (cdr rest))) (progn (setq ret (cons (cons default-name rest) ret) rest nil))))) (nreverse ret))) ;; this function was recently added in emacs 26 (as of august 2017) ;; code copied here for earler releases (defun treemacs--provided-mode-derived-p (mode &rest modes) "Non-nil if MODE is derived from one of MODES. Uses the `derived-mode-parent' property of the symbol to trace backwards. If you just want to check `major-mode', use `derived-mode-p'." (while (and (not (memq mode modes)) (setq mode (get mode 'derived-mode-parent)))) mode) (defun treemacs--post-process-index (index index-mode) "Post process a tags INDEX for the major INDEX-MODE the tags were gathered in. As of now this only decides which (if any) section name the top level leaves should be placed under." (declare (pure t) (side-effect-free t)) (pcase index-mode ((or 'markdown-mode 'org-mode 'python-mode) index) ((guard (treemacs--provided-mode-derived-p index-mode 'conf-mode)) (treemacs--partition-imenu-index index "Sections")) (_ (treemacs--partition-imenu-index index "Functions")))) (defun treemacs--get-imenu-index (file) "Fetch imenu index of FILE." (let ((buff) (result) (mode) (existing-buffer (get-file-buffer (or (file-symlink-p file) file))) (org-imenu-depth (max 10 (or 0 (and (boundp 'org-imenu-depth) org-imenu-depth))))) (ignore org-imenu-depth) (if existing-buffer (setq buff existing-buffer) (cl-letf (((symbol-function 'run-mode-hooks) (symbol-function 'ignore))) (setq buff (find-file-noselect file)))) (condition-case e (when (buffer-live-p buff) (with-current-buffer buff (let ((imenu-generic-expression (if (eq major-mode 'emacs-lisp-mode) (or treemacs-elisp-imenu-expression imenu-generic-expression) imenu-generic-expression)) (imenu-create-index-function (if (eq major-mode 'org-mode) #'org-imenu-get-tree imenu-create-index-function))) (setf result (and (or imenu-generic-expression imenu-create-index-function) (imenu--make-index-alist t)) mode major-mode))) (unless existing-buffer (kill-buffer buff)) (when result (when (string= "*Rescan*" (caar result)) (setf result (cdr result))) (unless (equal result '(nil)) (treemacs--post-process-index result mode)))) (imenu-unavailable (ignore e)) (error (prog1 nil (treemacs-log-err "Encountered error while following tag at point: %s" e)))))) (define-inline treemacs--insert-tag-leaf (item path prefix parent depth) "Return the text to insert for a tag leaf ITEM with given PATH. Use PREFIX for indentation. Set PARENT and DEPTH button properties. ITEM: String . Marker PREFIX: String PARENT: Button DEPTH: Int" (inline-letevals (item prefix parent depth) (inline-quote (list ,prefix (propertize (car ,item) 'button '(t) 'category 'treemacs-button 'face 'treemacs-tags-face 'help-echo nil :path ,path :key (car ,item) :state 'tag-node :parent ,parent :depth ,depth :marker (cdr ,item)))))) (define-inline treemacs--insert-tag-node (node path prefix parent depth) "Return the text to insert for a tag NODE with given tag PATH. Use PREFIX for indentation. Set PARENT and DEPTH button properties. NODE: String & List of (String . Marker) PATH: Tag Path PREFIX: String PARENT: Button DEPTH: Int" (inline-letevals (node prefix parent depth) (inline-quote (list ,prefix (propertize (car ,node) 'button '(t) 'category 'treemacs-button 'face 'treemacs-tags-face 'help-echo nil :path ,path :key (car ,node) :state 'tag-node-closed :parent ,parent :depth ,depth :index (cdr ,node)))))) ;;;###autoload (defun treemacs--expand-file-node (btn &optional recursive) "Open tag items for file BTN. Recursively open all tags below BTN when RECURSIVE is non-nil." (let* ((path (treemacs-button-get btn :path)) (parent-dom-node (treemacs-find-in-dom path)) (recursive (treemacs--prefix-arg-to-recurse-depth recursive))) (-if-let (index (treemacs--get-imenu-index path)) (treemacs--button-open :button btn :immediate-insert t :new-state 'file-node-open :open-action (treemacs--create-buttons :nodes index :extra-vars ((node-prefix (concat prefix treemacs-icon-tag-closed)) (leaf-prefix (concat prefix treemacs-icon-tag-leaf))) :depth (1+ (treemacs-button-get btn :depth)) :node-name item :node-action (if (imenu--subalist-p item) (treemacs--insert-tag-node item (list path (car item)) node-prefix btn depth) (treemacs--insert-tag-leaf item (list path (car item)) leaf-prefix btn depth))) :post-open-action (progn (-let [dom-nodes (--map (treemacs-dom-node->create! :key (list path (car it)) :parent parent-dom-node) index)] (-each dom-nodes #'treemacs-dom-node->insert-into-dom!) (setf (treemacs-dom-node->children parent-dom-node) (nconc dom-nodes (treemacs-dom-node->children parent-dom-node)))) (treemacs-on-expand path btn) (treemacs--reentry path) (end-of-line) (when (> recursive 0) (cl-decf recursive) (--each (treemacs-collect-child-nodes btn) (when (eq 'tag-node-closed (treemacs-button-get it :state)) (goto-char (treemacs-button-start it)) (treemacs--expand-tag-node it t)))))) (treemacs-pulse-on-failure "No tags found for %s" (propertize path 'face 'font-lock-string-face))))) ;;;###autoload (defun treemacs--collapse-file-node (btn &optional recursive) "Close node given by BTN. Remove all open tag entries under BTN when RECURSIVE." (treemacs--button-close :button btn :new-state 'file-node-closed :post-close-action (treemacs-on-collapse (treemacs-button-get btn :path) recursive))) ;;;###autoload (defun treemacs--visit-or-expand/collapse-tag-node (btn arg find-window) "Visit tag section BTN if possible, expand or collapse it otherwise. Pass prefix ARG on to either visit or toggle action. FIND-WINDOW is a special provision depending on this function's invocation context and decides whether to find the window to display in (if the tag is visited instead of the node being expanded). On the one hand it can be called based on `treemacs-RET-actions-config' (or TAB). The functions in these configs are expected to find the windows they need to display in themselves, so FIND-WINDOW must be t. On the other hand this function is also called from the top level vist-node functions like `treemacs-visit-node-vertical-split' which delegates to the `treemacs--execute-button-action' macro which includes the determination of the display window." (let* ((path (treemacs--nearest-path btn)) (extension (file-name-extension path))) (pcase extension ("py" (let* ((first-child (car (treemacs-button-get btn :index))) (name (car first-child)) (marker (cdr first-child))) ;; name of first subelement of a section node ends in "definition" means we have a function ;; nested inside a function, so we move to the definition here instead of expanding (if (not (s-ends-with? " definition*" name)) (treemacs--expand-tag-node btn arg) ;; select the window as visit-no-split would (when find-window (--if-let (-some-> path (get-file-buffer) (get-buffer-window)) (select-window it) (other-window 1))) (find-file path) (if (buffer-live-p (marker-buffer marker)) (goto-char marker) ;; marker is stale and we need a live child button to grab its tag path to re-call imenu, but the ;; child button may not be there so we briefly expand the button to grab the first child to whose ;; position we need to move (-let [need-to-close-section nil] (treemacs-with-button-buffer btn (when (eq 'tag-node-closed (treemacs-button-get btn :state)) (setq need-to-close-section t) (treemacs--expand-tag-node btn))) (treemacs--call-imenu-and-goto-tag (treemacs-with-button-buffer btn (treemacs-button-get (next-button (treemacs-button-end btn)) :path))) (when need-to-close-section (treemacs-with-button-buffer btn (treemacs--collapse-tag-node btn)))) (when arg (treemacs-select-window)))))) ("org" (treemacs-unless-let (pos (treemacs-button-get btn 'org-imenu-marker)) (treemacs--expand-tag-node btn arg) ;; select the window as visit-no-split would (when find-window (--if-let (-some-> path (get-file-buffer) (get-buffer-window)) (select-window it) (other-window 1))) (find-file path) (if (marker-position pos) (goto-char pos) (treemacs--call-imenu-and-goto-tag (treemacs-with-button-buffer btn (treemacs-button-get btn :path)) t)))) (_ (pcase (treemacs-button-get btn :state) ('tag-node-open (treemacs--collapse-tag-node btn arg)) ('tag-node-closed (treemacs--expand-tag-node btn arg))))))) ;;;###autoload (defun treemacs--expand-tag-node (btn &optional recursive) "Open tags node items for BTN. Open all tag section under BTN when call is RECURSIVE." (let* ((index (treemacs-button-get btn :index)) (tag-path (treemacs-button-get btn :path)) (parent-dom-node (treemacs-find-in-dom tag-path)) (recursive (treemacs--prefix-arg-to-recurse-depth recursive))) (treemacs--button-open :button btn :immediate-insert t :new-state 'tag-node-open :new-icon treemacs-icon-tag-open :open-action (treemacs--create-buttons :nodes index :depth (1+ (treemacs-button-get btn :depth)) :node-name item :extra-vars ((leaf-prefix (concat prefix treemacs-icon-tag-leaf)) (node-prefix (concat prefix treemacs-icon-tag-closed))) :node-action (if (imenu--subalist-p item) (treemacs--insert-tag-node item (append tag-path (list (car item))) node-prefix btn depth) (treemacs--insert-tag-leaf item (append tag-path (list (car item))) leaf-prefix btn depth))) :post-open-action (progn (-let [dom-nodes (--map (treemacs-dom-node->create! :key (append tag-path (list (car it))) :parent parent-dom-node) index)] (-each dom-nodes #'treemacs-dom-node->insert-into-dom!) (setf (treemacs-dom-node->children parent-dom-node) (nconc dom-nodes (treemacs-dom-node->children parent-dom-node)))) (treemacs-on-expand tag-path btn) (if (> recursive 0) (progn (cl-decf recursive) (--each (treemacs-collect-child-nodes btn) (when (eq 'tag-node-closed (treemacs-button-get it :state)) (goto-char (treemacs-button-start it)) (treemacs--expand-tag-node it t)))) (treemacs--reentry tag-path)))))) (defun treemacs--collapse-tag-node-recursive (btn) "Recursively close tag section BTN. Workaround for tag section having no easy way to purge all open tags below a button from cache. Easiest way is to just do it manually here." (--each (treemacs-collect-child-nodes btn) (when (eq 'tag-node-open (treemacs-button-get it :state)) (treemacs--collapse-tag-node-recursive it) (goto-char (treemacs-button-start it)) (treemacs--collapse-tag-node it))) (goto-char (treemacs-button-start btn)) (treemacs--collapse-tag-node btn)) ;;;###autoload (defun treemacs--collapse-tag-node (btn &optional recursive) "Close tags node at BTN. Remove all open tag entries under BTN when RECURSIVE." (if recursive (treemacs--collapse-tag-node-recursive btn) (treemacs--button-close :button btn :new-state 'tag-node-closed :new-icon treemacs-icon-tag-closed :post-close-action (treemacs-on-collapse (treemacs-button-get btn :path))))) (defun treemacs--extract-position (item file) "Extract a tag's position stored in ITEM and FILE. The position can be stored in the following ways: * ITEM is a marker pointing to a tag provided by imenu. * ITEM is an overlay pointing to a tag provided by imenu with semantic mode. * ITEM is a raw number pointing to a buffer position. * ITEM is a cons: special case for imenu elements of an `org-mode' buffer. ITEM is an imenu sub-tree and the position is stored as a marker in the first element's \\='org-imenu-marker text property. * ITEM is a cons: special case for imenu elements of an `pdfview-mode' buffer. In this case no position is stored directly, navigation to the tag must happen via callback FILE is the path the tag is in, so far it is only relevant for `pdfview-mode' tags." (declare (side-effect-free t)) (pcase (type-of item) ('marker (cons (marker-buffer item) (marker-position item))) ('overlay (cons (overlay-buffer item) (overlay-start item))) ('integer (cons nil item)) ('cons (cond ((eq 'pdf-outline-imenu-activate-link (cadr item)) (with-no-warnings (cons (find-buffer-visiting file) (lambda () (apply #'pdf-outline-imenu-activate-link item))))) ((get-text-property 0 'org-imenu-marker (car item)) (-let [org-marker (get-text-property 0 'org-imenu-marker (car item))] (cons (marker-buffer org-marker) (marker-position org-marker)))))))) (defun treemacs--call-imenu-and-goto-tag (tag-path &optional org?) "Call the imenu index of the tag at TAG-PATH and go to its position. ORG? should be t when this function is called for an org buffer and index since org requires a slightly different position extraction because the position of a headline with sub-elements is saved in an `org-imenu-marker' text property." (let* ((file (car tag-path)) (path (-butlast (cdr tag-path))) (tag (-last-item tag-path))) (condition-case e (progn (find-file-noselect file) (let ((index (treemacs--get-imenu-index file))) (dolist (path-item path) (setq index (cdr (assoc path-item index)))) (-let [(buf . pos) (treemacs--extract-position (-let [item (--first (equal (car it) tag) index)] (if org? item (cdr item))) (car tag-path))] ;; some imenu implementations, like markdown, will only provide ;; a raw buffer position (an int) to move to (switch-to-buffer (or buf (get-file-buffer file))) (if (functionp pos) (funcall pos) (goto-char pos)) ;; a little bit of convenience - reveal those nested headlines (when (and (eq major-mode 'org-mode) (fboundp 'org-reveal)) (org-reveal))))) (error (treemacs-log-err "Something went wrong when finding tag '%s': %s" (propertize tag 'face 'treemacs-tags-face) e))))) ;;;###autoload (defun treemacs--goto-tag (btn) "Go to the tag at BTN." ;; The only code currently calling this is run through `treemacs--execute-button-action' which always ;; switches windows before running it, so we need to be really careful here when querying any button ;; properties. (let* ((tag-buffer) (tag-pos)) (treemacs-with-button-buffer btn (-let [info (treemacs--extract-position (treemacs-button-get btn :marker) (car (treemacs-button-get btn :path)))] (setf tag-buffer (car info) tag-pos (cdr info)))) (if (not (buffer-live-p tag-buffer)) (pcase treemacs-goto-tag-strategy ('refetch-index (treemacs--call-imenu-and-goto-tag (treemacs-safe-button-get btn :path))) ('call-xref (xref-find-definitions (treemacs-with-button-buffer btn (treemacs--get-label-of btn)))) ('issue-warning (treemacs-pulse-on-failure "Tag '%s' is located in a buffer that does not exist." (propertize (treemacs-with-button-buffer btn (treemacs--get-label-of btn)) 'face 'treemacs-tags-face))) (_ (error "[Treemacs] '%s' is an invalid value for treemacs-goto-tag-strategy" treemacs-goto-tag-strategy))) (progn (switch-to-buffer tag-buffer nil t) ;; special case for pdf mode buffers - their imenu tags do not store a marker ;; movement must happen via a special callback (cond ((numberp tag-pos) (goto-char tag-pos)) ((functionp tag-pos) (funcall tag-pos))) ;; a little bit of convenience - reveal those nested headlines (when (and (eq major-mode 'org-mode) (fboundp 'org-reveal)) (org-reveal)))))) ;;;###autoload (defun treemacs--create-imenu-index-function () "The `imenu-create-index-function' for treemacs buffers." (declare (side-effect-free t)) (let (index) (pcase treemacs-imenu-scope ('everything (dolist (project (treemacs-workspace->projects (treemacs-current-workspace))) (let ((project-name (treemacs-project->name project)) (root-dom-node (treemacs-find-in-dom (treemacs-project->path project)))) (-when-let (index-items (treemacs--get-imenu-index-items root-dom-node)) (push (cons project-name index-items) index))))) ('current-project (treemacs-unless-let (project (treemacs-project-at-point)) (treemacs-pulse-on-failure "Cannot create imenu index because there is no project at point") (let ((project-name (treemacs-project->name project)) (root-dom-node (treemacs-find-in-dom (treemacs-project->path project)))) (-when-let (index-items (treemacs--get-imenu-index-items root-dom-node)) (push (cons project-name index-items) index))))) (other (error "Invalid imenu scope value `%s'" other))) (nreverse index))) (defun treemacs--get-imenu-index-items (project-dom-node) "Collects the imenu index items for the given PROJECT-DOM-NODE." (declare (side-effect-free t)) (let (result) (treemacs-walk-dom project-dom-node (lambda (node) (-let [node-btn (or (treemacs-dom-node->position node) (treemacs-find-node (treemacs-dom-node->key node)))] (push (list (if (treemacs-button-get node-btn :custom) (treemacs--get-label-of node-btn) (file-relative-name (treemacs-dom-node->key node) (treemacs-dom-node->key project-dom-node))) (or node-btn -1) #'treemacs--imenu-goto-node-wrapper (treemacs-dom-node->key node)) result)))) (nreverse result))) (define-inline treemacs--imenu-goto-node-wrapper (_name _pos key) "Thin wrapper around `treemacs-goto-node'. Used by imenu to move to the node with the given KEY." (inline-letevals (key) (inline-quote (treemacs-goto-node ,key)))) (provide 'treemacs-tags) ;;; treemacs-tags.el ends here treemacs-3.2/src/elisp/treemacs-themes.el000066400000000000000000000127031476710620300205050ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Definitions for the theme type, their creation, and, the means to ;; change themes. ;;; Code: (require 'dash) (require 'ht) (require 'treemacs-core-utils) (require 'treemacs-logging) (eval-when-compile (require 'inline) (require 'treemacs-macros) (require 'cl-lib)) (eval-when-compile (cl-declaim (optimize (speed 3) (safety 0)))) (treemacs-import-functions-from "treemacs-icons" treemacs--select-icon-set) (cl-defstruct (treemacs-theme (:conc-name treemacs-theme->) (:constructor treemacs-theme->create!) (:named t)) name path gui-icons tui-icons) (defvar treemacs--current-theme nil "The currently used theme.") (defvar treemacs--themes nil "List of all known themes.") (define-inline treemacs-current-theme () "Get the current theme." (declare (side-effect-free t)) (inline-quote treemacs--current-theme)) (define-inline treemacs--find-theme (name) "Find theme with the given NAME." (declare (side-effect-free t)) (inline-letevals (name) (inline-quote (--first (string= (treemacs-theme->name it) ,name) treemacs--themes)))) (cl-defmacro treemacs-create-theme (name &key icon-directory extends config) "Create a new (bare) theme with the given NAME. - ICON-DIRECTORY is the (mandatory) theme's location. - EXTENDS is the theme to be extended. - CONFIG is a code block to fill the created theme with icons via `treemacs-create-icon'." (declare (indent 1)) `(let* ((gui-icons (make-hash-table :size 300 :test 'equal)) (tui-icons (make-hash-table :size 300 :test 'equal)) (theme (treemacs-theme->create! :name ,name :path ,icon-directory :gui-icons gui-icons :tui-icons tui-icons))) (add-to-list 'treemacs--themes theme) ,(when extends `(treemacs-unless-let (base-theme (treemacs--find-theme ,extends)) (treemacs-log-failure "Could not find base theme %s when creating theme %s." ,extends ,name) (treemacs--maphash (treemacs-theme->gui-icons base-theme) (ext icon) (ht-set! gui-icons ext icon)) (treemacs--maphash (treemacs-theme->tui-icons base-theme) (ext icon) (ht-set! tui-icons ext icon)))) (-let [treemacs--current-theme theme] ,config (treemacs--propagate-new-icons theme)) ,name)) (cl-defmacro treemacs-modify-theme (theme &key icon-directory config) "Modify an existing THEME. - THEME can either be a treemacs-theme object or the name of a theme. - For the scope of the modification an alternative ICON-DIRECTORY can also be used. - CONFIG will be applied to the THEME in the same manner as in `treemacs-create-theme'." (declare (indent 1)) (treemacs-static-assert (not (null theme)) "Theme may not be null.") `(treemacs-unless-let (theme (if (stringp ,theme) (treemacs--find-theme ,theme) ,theme)) (user-error "Theme '%s' does not exist" ,theme) (let* ((treemacs--current-theme theme) (original-icon-dir (treemacs-theme->path theme)) (new-icon-dir (if ,icon-directory ,icon-directory original-icon-dir))) (unwind-protect (progn (setf (treemacs-theme->path theme) new-icon-dir) ,config (treemacs--propagate-new-icons theme)) (setf (treemacs-theme->path theme) original-icon-dir)) nil))) (defun treemacs--propagate-new-icons (theme) "Add THEME's new icons to the other themes." (unless (string= (treemacs-theme->name theme) "Default") (dolist (other-theme (delete theme treemacs--themes)) (pcase-dolist (`(,current-icons . ,other-icons) `(,(cons (treemacs-theme->gui-icons theme) (treemacs-theme->gui-icons other-theme)) ,(cons (treemacs-theme->tui-icons theme) (treemacs-theme->tui-icons other-theme)))) (treemacs--maphash current-icons (ext icon) (unless (ht-get other-icons ext) (ht-set! other-icons ext icon))))))) (defun treemacs-load-theme (name) "Load the theme with the given NAME. Note that some changes will only take effect after a treemacs buffer was killed and restored." (interactive (list (completing-read "Theme: " (-map #'treemacs-theme->name treemacs--themes)))) (treemacs-unless-let (theme (treemacs--find-theme name)) (treemacs-log-failure "Cannot find theme '%s'." name) (setq treemacs--current-theme theme) (dolist (buffer (buffer-list)) (when (memq (buffer-local-value 'major-mode buffer) '(treemacs-mode dired-mode)) (with-current-buffer buffer (treemacs--select-icon-set)))))) (provide 'treemacs-themes) ;;; treemacs-themes.el ends here treemacs-3.2/src/elisp/treemacs-treelib.el000066400000000000000000001325421476710620300206520ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;;; API required for writing extensions for/with treemacs. ;;; Code: (require 's) (require 'dash) (require 'treemacs) (eval-when-compile (require 'treemacs-macros) (require 'cl-lib)) (eval-when-compile (cl-declaim (optimize (speed 3) (safety 0)))) (defconst treemacs-treelib-version "1.1") (defconst treemacs--treelib-async-load-string (propertize " Loading …" 'face 'treemacs-async-loading-face 'treemacs-async-string t)) (defvar treemacs--extension-registry nil "Alist storage of extension instances. The car is a symbol of an extension node's state, the cdr the instance of the `treemacs-extension' type.") (defvar treemacs--async-update-count (make-hash-table :size 5 :test 'equal) "Holds the count of nodes an async update needs to process. The count is used as finish condition in `treemacs--async-update-part-complete'.") (defvar treemacs--async-update-cache (make-hash-table :size 20 :test 'equal) "Holds to pre-computed cache for async updates. Set by `treemacs--async-update-part-complete'.") (cl-defstruct (treemacs-extension (:conc-name treemacs-extension->) (:constructor treemacs-extension->create!)) ;; only for comparisons name ;; open/close closed-state open-state closed-icon open-icon ;; produces full list of child items to render children ;; produces a key for one item returned by children key ;; produces a text label for one item returned by children label ;; plist of additional text properties for on item returned by children more-properties ;; Struct instance of child nodes returned by children child-type ;; used for entry-point render method selection variadic? ;; special treatment for asynchronous behavior async? ;; used as a check when the extension is enabled entry-point? ;; callback to run when a node is expanded on-expand ;; callback to run when a node is collapsed on-collapse) (define-inline treemacs--ext-symbol-to-instance (symbol) "Derive an extension instance from the given SYMBOL." (declare (side-effect-free t)) (inline-letevals (symbol) (inline-quote (symbol-value (intern (format "treemacs-%s-extension-instance" ,symbol)))))) (defun treemacs--compare-extensions-by-name (e1 e2) "Compare E1 and E2 by their names." (declare (side-effect-free t)) ;; take into account cells used by functions like `tremacs-define-project-extension' (let ((e1 (if (consp e1) (car e1) e1)) (e2 (if (consp e2) (car e2) e2))) (equal (treemacs-extension->name e1) (treemacs-extension->name e2)))) (defmacro treemacs-extension->get (self field &rest args) "Access helper for the lambda fields of `treemacs-extension' instances. Takes SELF's given FIELD and `funcall's it with ARGS." (let* ((field-name (substring (symbol-name field) 1)) (fn (intern (s-lex-format "treemacs-extension->${field-name}")))) `(funcall (,fn ,self) ,@args))) (cl-macrolet ((build-extension-addition (name) (let ((define-function-name (intern (s-lex-format "treemacs-enable-${name}-extension"))) (top-extension-point (intern (s-lex-format "treemacs--${name}-top-extensions"))) (bottom-extension-point (intern (s-lex-format "treemacs--${name}-bottom-extensions")))) `(progn (defvar ,top-extension-point nil) (defvar ,bottom-extension-point nil) (cl-defun ,define-function-name (&key extension predicate position) ,(s-lex-format "Enable a `${name}' level EXTENSION for treemacs to use. EXTENSION is a `treemacs-extension' instance as created by `treemacs-define-entry-node-type' PREDICATE is a function that will be called to determine whether the extension should be displayed. It is invoked with a single argument, which is the project struct or directory that is being expanded. POSITION is either `top' or `bottom', indicating whether the extension should be rendered as the first or last element. See also `treemacs-disable-${name}-extension'.") (let* ((ext-instance (treemacs--ext-symbol-to-instance extension)) (cell (cons ext-instance predicate))) (treemacs-static-assert (treemacs-extension-p ext-instance) "Given argument is not a valid `treemacs-extension': %s" extension) (treemacs-static-assert (treemacs-extension->entry-point? ext-instance) "The given extension '%s' is not an entry point" extension) (pcase position ('top (add-to-list ',top-extension-point cell nil #'treemacs--compare-extensions-by-name)) ('bottom (add-to-list ',bottom-extension-point cell nil #'treemacs--compare-extensions-by-name)) (other (error "Invalid extension position value `%s'" other))) t))))) (build-extension-removal (name) (let ((remove-function-name (intern (s-lex-format "treemacs-disable-${name}-extension"))) (top-extension-point (intern (s-lex-format "treemacs--${name}-top-extensions"))) (bottom-extension-point (intern (s-lex-format "treemacs--${name}-bottom-extensions")))) `(progn (cl-defun ,remove-function-name (&key extension position) ,(s-lex-format "Remove a `${name}' EXTENSION at the given POSITION. See also `treemacs-enable-${name}-extension'.") (-let [ext-instance (treemacs--ext-symbol-to-instance extension)] (treemacs-static-assert (treemacs-extension-p ext-instance) "Given argument is not a valid `treemacs-extension': %s" extension) (pcase position ('top (setf ,top-extension-point (--remove-first (treemacs--compare-extensions-by-name it ext-instance) ,top-extension-point))) ('bottom (setf ,bottom-extension-point (--remove-first (treemacs--compare-extensions-by-name it ext-instance) ,bottom-extension-point))) (other (error "Invalid extension position value `%s'" other)))) t)))) (build-extension-application (name) (let ((apply-top-name (intern (s-lex-format "treemacs--apply-${name}-top-extensions"))) (apply-bottom-name (intern (s-lex-format "treemacs--apply-${name}-bottom-extensions"))) (top-extension-point (intern (s-lex-format "treemacs--${name}-top-extensions"))) (bottom-extension-point (intern (s-lex-format "treemacs--${name}-bottom-extensions")))) `(progn (defun ,apply-top-name (node data) ,(s-lex-format "Apply the top `${name}' extensions for NODE. Also pass additional DATA to predicate function.") (dolist (cell ,top-extension-point) (let ((extension (car cell)) (predicate (cdr cell))) (when (or (null predicate) (funcall predicate data)) (if (functionp extension) ;; TODO(2020/05/30): old-school extensions ;; to be removed eventually (funcall extension node) (treemacs--extension-entry-render extension node)))))) (defun ,apply-bottom-name (node data) ,(s-lex-format "Apply the `${name}' bottom extensions for NODE. Also pass additional DATA to predicate function.") (dolist (cell ,bottom-extension-point) (let ((extension (car cell)) (predicate (cdr cell))) (when (or (null predicate) (funcall predicate data)) (if (functionp extension) ;; TODO(2020/05/30): old-school extensions ;; to be removed eventually (funcall extension node) (treemacs--extension-entry-render extension node))))))))) (build-top-level-extension-application (pos) (let ((name (intern (s-lex-format "treemacs--apply-root-${pos}-extensions"))) (variable (intern (s-lex-format "treemacs--top-level-${pos}-extensions")))) `(defun ,name (workspace &optional has-previous) ,(s-lex-format "Apply the ${pos} `top-level' extensions for the current WORKSPACE. Also pass additional DATA to predicate function.") (let ((is-first (not has-previous))) (--each ,variable (let ((extension (car it)) (predicate (cdr it))) (when (or (null predicate) (funcall predicate workspace)) (unless is-first (treemacs--insert-root-separator)) ;; TODO(2020/05/30): old-school extensions ;; to be removed eventually (setf is-first (if (functionp extension) (funcall extension) (treemacs--render-extension extension)))))) (not is-first)))))) (build-extension-addition "project") (build-extension-removal "project") (build-extension-application "project") (build-extension-addition "directory") (build-extension-removal "directory") (build-extension-application "directory") (build-extension-addition "top-level") (build-extension-removal "top-level") (build-top-level-extension-application "top") (build-top-level-extension-application "bottom")) (cl-defmacro treemacs-do-define-extension-type (name &key children more-properties key label open-icon closed-icon child-type ret-action visit-action double-click-action no-tab? variadic? async? entry-point? on-expand on-collapse) "Base building block for extension node setup. Not meant for direct use. Instead one of the following macros should be employed: - `treemacs-define-leaf-node-type' - `treemacs-define-expandable-node-type' - `treemacs-define-entry-node-type' - `treemacs-define-variadic-entry-node-type' NAME of this node type is a symbol. After an extension is defined the NAME symbol can be passed to a function like `treemacs-initialize' or `treemacs-enable-top-level-extension' to make start using it. CHILDREN is a form to query a list of items to be rendered as children when a node is expanded. The node being expanded is available as a variable under the name `btn'. It is a `button' in the sense of the built-in button.el library \(really just a marker to a buffer position), so its text-properties can be extracted via `(treemacs-button-get btn :property)' (see also MORE-PROPERTIES). In addition the item (as produced by the form passed here) that was used to create the node will also be available under the name `item'. KEY, LABEL, OPEN-ICON, CLOSE-ICON and MORE-PROPERTIES all act on one of the items produced by CHILDREN. The node and the item that produced it will be bound under the names `btn' and `item' respectively. KEY is a form to generate a semi-unique key for a given node for one of the items produced by CHILDREN. Semi-unique means that nodes' keys don't all have to be unique on their own, it is only necessary that a node's path - the list of all node keys starting from the top level root leading to a specific node - must be un-ambiguous. LABEL is a form to query a node's text label (the text after the icon) for one of the items produced by CHILDREN. The return value should be a string. OPEN-ICON and CLOSED-ICON are forms to determine the icons used for the node's open and closed states. The return value should be a string. MORE-PROPERTIES is a form to produce a plist that will be saved as additional text-properties in a given node. These properties can later be accessed when querying the node's CHILDREN (see above). CHILD-TYPE is, unlike all the other arguments, not a form, but a quoted symbol. It must refer to the NAME argument of a another (or the same) extension type and determines the behaviours (LABEL etc.) used to create the children of the node type being defined here. RET-ACTION is the function that is called when RET is pressed on a node of this be able to handle both a closed and open state. If no explicit RET-ACTION type argument is given RET will do the same as TAB. The function is called with a single argument - the prefix arg - and must be able to handle both a closed and and expanded node state. VISIT-ACTION is a function that is called when a node is to be opened with a command like `treemacs-visit-node-ace'. It is called with the current `btn' and must be able to handle both an open and a closed state. It will most likely be called in a window that is not the one where the button resides, so if you need to extract text properties from the button you to must use `treemacs-safe-button-get', e.g. \(treemacs-safe-button-get btn :path\). DOUBLE-CLICK-ACTION is similar to RET-ACTION, but will be called without any arguments. There is no default click behaviour, if no DOUBLE-CLICK-ACTION is given then treemacs will do nothing for double-clicks. NO-TAB indicates that pressing TAB on this node type should do nothing. It will be set by `treemacs-define-leaf-node'. VARIADIC is only relevant for entry-point nodes and indicates that the extension will produces multiple nodes when first rendered. ASYNC will enable an asynchronous, callback-based fetching of CHILDREN. When it is non-nil the function passed to children will be called with the 3rd argument `callback'. It should be invoked via `funcall' with the items that were produced asynchronously. If the asynchronous execution fails the `callback' should be called with a list in the form \(`:async-error' error-message\). Treemacs will take care of cleanup and logging the error. ENTRY-POINT indicates that the node type defined here is an entry-point for an extension, it will be used as a type-check when enabling an extension with e.g. `treemacs-enable-top-level-extension'. ON-EXPAND and ON-COLLAPSE are forms to be invoked at the very end of the expand/collapse process. They are invoked with the current `btn' as their sole argument." (declare (indent 1)) (let* ((child-type (cadr child-type)) (child-name (intern (s-lex-format "treemacs-${child-type}-extension-instance"))) (struct-name (intern (s-lex-format "treemacs-${name}-extension-instance"))) (open-state (intern (s-lex-format "treemacs-${name}-open"))) (closed-state (intern (s-lex-format "treemacs-${name}-closed"))) (children-fn (if async? `(lambda (&optional btn item callback) (ignore btn item callback) ,children) `(lambda (&optional btn item) (ignore btn item) ,children)))) `(progn (defconst ,struct-name (treemacs-extension->create! :name ',name :variadic? ,variadic? :async? ,async? :children ,children-fn :entry-point? ,entry-point? :label (lambda (&optional btn item) "" (ignore item) (ignore btn) ,label) :key (lambda (&optional btn item) "" (ignore item) (ignore btn) ,key) :open-icon (lambda (&optional btn item) "" (ignore item) (ignore btn) ,open-icon) :closed-icon (lambda (&optional btn item) "" (ignore item) (ignore btn) ,closed-icon) :more-properties (lambda (&optional btn item) "" (ignore item) (ignore btn) ,more-properties) :child-type (lambda () "" (symbol-value ',child-name)) :open-state (lambda () "" ',open-state) :closed-state (lambda () "" ',closed-state) :on-expand (lambda (&optional btn ) "" (ignore btn) ,on-expand) :on-collapse (lambda (&optional btn ) "" (ignore btn) ,on-collapse))) (with-eval-after-load 'treemacs-mouse-interface (treemacs-define-doubleclick-action ',closed-state ,(or double-click-action '#'ignore)) (treemacs-define-doubleclick-action ',open-state ,(or double-click-action '#'ignore))) (treemacs-define-TAB-action ',closed-state ,(cond (no-tab? '#'ignore) (variadic? '#'treemacs--expand-variadic-parent) (t '#'treemacs-expand-extension-node))) (treemacs-define-TAB-action ',open-state ,(if no-tab? '#'ignore '#'treemacs-collapse-extension-node)) (treemacs-define-RET-action ',closed-state ,(or ret-action (if no-tab? '#'ignore '#'treemacs-expand-extension-node))) (treemacs-define-RET-action ',open-state ,(or ret-action (if no-tab? '#'ignore '#'treemacs-collapse-extension-node))) (when ,visit-action (put ',open-state :treemacs-visit-action ,visit-action) (put ',closed-state :treemacs-visit-action ,visit-action)) (add-to-list 'treemacs--extension-registry (cons ',closed-state ,struct-name)) (add-to-list 'treemacs--extension-registry (cons ',open-state ,struct-name)) (add-to-list 'treemacs--closed-node-states ',closed-state) (add-to-list 'treemacs--open-node-states ',open-state) (add-to-list 'treemacs-valid-button-states ',closed-state) (add-to-list 'treemacs-valid-button-states ',open-state) ',struct-name))) (cl-defmacro treemacs-define-leaf-node-type (name &key icon label key more-properties ret-action visit-action double-click-action) "Define a type of node that is a leaf and cannot be further expanded. The NAME, ICON, LABEL and KEY arguments are mandatory. MORE-PROPERTIES, RET-ACTION, VISIT-ACTION and DOUBLE-CLICK-ACTION are optional. For a detailed description of all arguments see `treemacs-do-define-extension-type'." (declare (indent 1)) (treemacs-static-assert icon ":icon parameter is mandatory") (treemacs-static-assert label ":label parameter is mandatory") (treemacs-static-assert key ":key parameter is mandatory") `(treemacs-do-define-extension-type ,name :key ,key :label ,label :more-properties (append '(:leaf t) ,more-properties) :closed-icon ,icon :ret-action ,ret-action :visit-action ,visit-action :double-click-action ,double-click-action :no-tab? t :children (lambda () (error "Called :children of leaf node")) :child-type (lambda () (error "Called :child-type of leaf node")))) (cl-defmacro treemacs-define-expandable-node-type (name &key closed-icon open-icon label key children child-type more-properties ret-action double-click-action on-expand on-collapse async?) "Define a general-purpose expandable node-type. The NAME, CLOSED-ICON, OPEN-ICON LABEL, KEY, CHILDREN and CHILD-TYPE arguments are mandatory. MORE-PROPERTIES, RET-ACTION, DOUBLE-CLICK-ACTION, ON-EXPAND, ON-COLLAPSE and ASYNC are optional. For a detailed description of all arguments see `treemacs-do-define-extension-type'." (declare (indent 1)) (treemacs-static-assert closed-icon ":closed-icon parameter is mandatory") (treemacs-static-assert open-icon ":open-icon parameter is mandatory") (treemacs-static-assert label ":label parameter is mandatory") (treemacs-static-assert key ":key parameter is mandatory") (treemacs-static-assert children ":children parameter is mandatory") (treemacs-static-assert child-type ":child-type parameter is mandatory") `(treemacs-do-define-extension-type ,name :closed-icon ,closed-icon :open-icon ,open-icon :label ,label :key ,key :children ,children :child-type ,child-type :more-properties ,more-properties :ret-action ,ret-action :double-click-action ,double-click-action :async? ,async? :on-expand ,on-expand :on-collapse ,on-collapse)) (cl-defmacro treemacs-define-entry-node-type (name &key key label open-icon closed-icon children child-type more-properties ret-action double-click-action on-expand on-collapse async?) "Define a node type with NAME that serves as an entry-point for an extension. The KEY, LABEL, OPEN-ICON CLOSED-ICON, CHILDREN and CHILD-TYPE arguments are mandatory. MORE-PROPERTIES, RET-ACTION, DOUBLE-CLICK-ACTION, ON-EXPAND, ON-COLLAPSE and ASYNC are optional. For a detailed description of all arguments see `treemacs-do-define-extension-type'." (declare (indent 1)) (treemacs-static-assert key ":key parameter is mandatory") (treemacs-static-assert label ":label parameter is mandatory") (treemacs-static-assert open-icon ":open-icon parameter is mandatory") (treemacs-static-assert closed-icon ":closed-icon parameter is mandatory") (treemacs-static-assert children ":childen parameter is mandatory") (treemacs-static-assert child-type ":child-type parameter is mandatory") `(treemacs-do-define-extension-type ,name :key ,key :label ,label :open-icon ,open-icon :closed-icon ,closed-icon :children ,children :child-type ,child-type :more-properties ,more-properties :async? ,async? :ret-action ,ret-action :double-click-action ,double-click-action :on-expand ,on-expand :on-collapse ,on-collapse :entry-point? t)) (cl-defmacro treemacs-define-variadic-entry-node-type (name &key key children child-type) "Define a node type that serves as an entry-point for a variadic extension. 'Variadic' means that the extension will produce multiple nodes when it is first rendered instead of just one (e.g. a single 'Buffer List' node vs multiple nodes each grouping buffers by major mode). The NAME symbol can be passed to `treemacs-initialize' to render this extension in a buffer. The KEY, CHILDREN and CHILD-TYPE arguments are mandatory. For a detailed description of all arguments see `treemacs-do-define-extension-type'." (declare (indent 1)) (treemacs-static-assert key ":key parameter is mandatory") (treemacs-static-assert children ":childen parameter is mandatory") (treemacs-static-assert child-type ":child-type parameter is mandatory") `(treemacs-do-define-extension-type ,name :open-icon "" :key ,key :closed-icon "" :children ,children :child-type ,child-type :variadic? t :entry-point? t)) (defun treemacs--render-extension (ext &optional expand-depth) "Render the entry point of the given extension EXT. Also serves as an entry point to render an extension in an independent buffer outside of treemacs proper. EXPAND-DEPTH indicates the additional recursion depth. EXT: `treemacs-extension' instance EXPAND-DEPTH: Int" (when (symbolp ext) (setf ext (treemacs--ext-symbol-to-instance ext))) (if (treemacs-extension->variadic? ext) (treemacs--variadic-extension-entry-render ext expand-depth) (treemacs--singular-extension-entry-render ext))) (defun treemacs--singular-extension-entry-render (ext) "Render the entry point of the given singular top level extension EXT. Will create and insert the required strings and make a new dom entry. EXT: `treemacs-extension' instance" (treemacs-with-writable-buffer (let* ((label (treemacs-extension->get ext :label)) (key (treemacs-extension->get ext :key)) (project (treemacs-project->create! :name label :path key :path-status 'extension)) (dom-node (treemacs-dom-node->create! :key key :position (point-marker)))) (treemacs-dom-node->insert-into-dom! dom-node) (insert (treemacs-extension->get ext :closed-icon)) (setf (treemacs-dom-node->position dom-node) (point-marker)) (insert (propertize label 'button '(t) 'category 'treemacs-button :custom t :key key :path key :depth 0 :project project :state (treemacs-extension->get ext :closed-state))))) nil) (defun treemacs--variadic-extension-entry-render (ext &optional expand-depth) "Render the entry point of the given variadic top level extension EXT. Will create and insert the required strings and make a new dom entry. EXPAND-DEPTH indicates the additional recursion depth. EXT: `treemacs-extension' instance EXPAND-DEPTH: Int" (save-excursion (treemacs-with-writable-buffer ;; When the extension is variadic it will be managed by a hidden top-level ;; node. Its depth is -1 and it is not visible, but can still be used to update ;; the entire extension without explicitly worrying about complex dom changes. (let* ((key (treemacs-extension->get ext :key nil nil)) (path (list key)) (pr (treemacs-project->create! :name (treemacs-extension->get ext :label nil nil) :path path :path-status 'extension)) (button-start (point-marker)) (dom-node (treemacs-dom-node->create! :key path :position (point-marker)))) (treemacs-dom-node->insert-into-dom! dom-node) (insert (propertize "Hidden node" 'button '(t) 'category 'treemacs-button 'invisible t 'skip t :custom t :key key :path path :depth -1 :project pr :state (treemacs-extension->get ext :closed-state))) (let ((marker (copy-marker (point) t))) (treemacs--do-expand-variadic-parent button-start ext expand-depth) (goto-char marker))))) t) (cl-defmacro treemacs--create-node-strings (&key parent parent-path parent-dom-node more-properties icon state key depth label) "Create the strings needed to render an extension node. PARENT: Button PARENT-PATH: List PARENT-DOM-NODE: Dom Node Struct MORE-PROPERTIES: Plist ICON: String STATE: Symbol KEY: Any DEPTH: Int LABEL: String" (macroexp-let2* nil ((key key)) `(let* ((path (append ,parent-path (list ,key))) (dom-node (treemacs-dom-node->create! :key path :parent parent-dom-node)) (props ,more-properties) (ann (treemacs-get-annotation path))) (treemacs-dom-node->insert-into-dom! dom-node) (when ,parent-dom-node (treemacs-dom-node->add-child! parent-dom-node dom-node)) (list (unless (zerop depth) prefix) ,icon (apply #'propertize ,label 'button '(t) 'category 'treemacs-button :custom t :state ,state :parent ,parent :depth ,depth :path path :key ,key :no-git t props) (and ann (treemacs-annotation->suffix-value ann)) (when (zerop depth) (if treemacs-space-between-root-nodes "\n\n" "\n")))))) ;; render method for extensions by the old version of the api (defun treemacs--extension-entry-render (ext parent) "Render the entry point of the given extension EXT under PARENT. Will create and insert the required strings and make a new dom entry. EXT: `treemacs-extension' instance PARENT: Button" (let* ((key (treemacs-extension->get ext :key)) (depth (1+ (treemacs-button-get parent :depth))) (path (list (treemacs-button-get parent :path) key)) (parent-dom-node (treemacs-find-in-dom (treemacs-button-get parent :path))) (new-dom-node (treemacs-dom-node->create! :key path :parent parent-dom-node))) (treemacs-dom-node->insert-into-dom! new-dom-node) (when parent-dom-node (treemacs-dom-node->add-child! parent-dom-node new-dom-node)) (insert "\n") (insert (treemacs--get-indentation depth) (treemacs-extension->get ext :closed-icon) (propertize (treemacs-extension->get ext :label) 'button '(t) 'category 'treemacs-button :custom t :key key :path path :depth depth :no-git t :parent parent :state (treemacs-extension->get ext :closed-state)))) nil) (defun treemacs-expand-extension-node (&optional arg) "Expand a node created with the extension api. If a prefix ARG is provided expand recursively." (interactive "P") (let* ((btn (treemacs-node-at-point)) (state (treemacs-button-get btn :state)) (path (treemacs-button-get btn :path)) (ext (alist-get state treemacs--extension-registry)) (eol (line-end-position)) (already-loading (/= eol (next-single-property-change (line-beginning-position) 'treemacs-async-string nil eol)))) (when (null ext) (error "No extension is registered for state '%s'" state)) (unless (or (treemacs-button-get btn :leaf) already-loading) (-let [async-cache (ht-get treemacs--async-update-cache path)] (treemacs-with-writable-buffer (cond (async-cache ;; IMPORTANT ;; Asynchronous updates must be directed *very* carefully. ;; If there is no pre-computed cache the expand happens normally with ;; a "Loading..." string and normal async delay. ;; If the cache already exists then we at first open the async nodes ;; as if they were normal nodes, using the cache as their items. ;; Then, in the background, we start an asynchronous update via ;; `treemacs-update-async-node'. ;; However this first mundane node expansion will trigger re-entry, so ;; every child that is re-entered might trigger its own async update, ;; which is bad for 2 reasons: ;; 1. `treemacs-update-async-node' already updates a full path ;; including all its children ;; 2. At the end of every update is a call to `treemacs-update-node' ;; with a new async cache, causing another round of re-entry and ;; potential async updates. ;; In short: there is strong potential for an infinite loop! ;; ;; To keep this from happening the async background update must be ;; suppressed for all nodes but the very first, both for re-entry and ;; the final update. ;; This is achieved by setting the `busy' flag at the first async ;; node, and only starting the second update if, and only if, neither ;; the current node, nor any of its parents, are marked as busy. (let* ((busy? (treemacs-button-get btn :busy)) (parent btn)) (unless busy? (while (and (not busy?) (setf parent (treemacs-button-get parent :parent))) (setf busy? (treemacs-button-get parent :busy)))) (unless busy? (treemacs-button-put btn :busy t)) (treemacs--do-expand-extension-node btn ext async-cache arg) (unless busy? (treemacs-update-async-node path (marker-buffer btn))))) ((treemacs-extension->async? ext) (treemacs--do-expand-async-extension-node btn ext arg)) (t (treemacs--do-expand-extension-node btn ext nil arg))) (treemacs-extension->get ext :on-expand btn)))))) (defun treemacs-collapse-extension-node (&optional arg) "Collapse a node created with the extension api. If a prefix ARG is provided expand recursively." (interactive "P") (let* ((btn (treemacs-node-at-point)) (state (treemacs-button-get btn :state)) (ext (alist-get state treemacs--extension-registry))) (when (null ext) (error "No extension is registered for state '%s'" state)) (treemacs--do-collapse-extension-node btn ext arg) (treemacs-extension->get ext :on-collapse btn))) (defun treemacs--do-expand-async-extension-node (btn ext &optional arg) "Expand an async extension node BTN for the given extension EXT. Prefix ARG is used to set expand recursion depth. BTN: Button EXT: `treemacs-extension' instance ARG: Prefix Arg" (interactive) (treemacs-block (treemacs-error-return-if (not (eq (treemacs-extension->get ext :closed-state) (treemacs-button-get btn :state))) "This function cannot expand a node of type '%s'." (propertize (format "%s" (treemacs-button-get btn :state)) 'face 'font-lock-type-face)) (save-excursion (treemacs-with-writable-buffer (goto-char (line-end-position)) (insert treemacs--treelib-async-load-string))) (funcall (treemacs-extension->children ext) btn (treemacs-button-get btn :item) (lambda (items) (ht-set! treemacs--async-update-cache (treemacs-button-get btn :path) (or items 'nothing)) (treemacs--complete-async-expand-callback btn items ext arg))))) (defun treemacs--complete-async-expand-callback (btn items ext arg) "Properly expand an async node at BTN after its child ITEMS were computed. BTN: Button ITEMS: List EXT: `treemacs-extension' instance ARG: Prefix Arg" (treemacs-with-button-buffer btn (save-excursion (goto-char btn) (treemacs-with-writable-buffer (delete-region (next-single-char-property-change (point) 'treemacs-async-string) (line-end-position))) (if (eq :async-error (car items)) (treemacs-log-err "Something went wrong in an asynchronous context: %s" (cadr items)) (treemacs--do-expand-extension-node btn ext (or items 'nothing) arg))) (hl-line-highlight))) (defun treemacs--do-expand-extension-node (btn ext &optional items arg) "Expand an extension node BTN for the given extension EXT. ITEMS will override the node's normal `children' function. This is only used when the node is asynchronous and this call is used to complete the async computation. Prefix ARG is used to set expand recursion depth. BTN: Button EXT: `treemacs-extension' instance ARG: Prefix Arg ITEMS: List" (treemacs-block (treemacs-error-return-if (not (eq (treemacs-extension->get ext :closed-state) (treemacs-button-get btn :state))) "This function cannot expand a node of type '%s'. Current node type is %s" (propertize (format "%s" (treemacs-button-get btn :state)) 'face 'font-lock-type-face) (propertize (format "%s" (treemacs-extension->get ext :closed-state)) 'face 'font-lock-type-face)) (let* ((items (pcase items (`nil (treemacs-extension->get ext :children btn (treemacs-button-get btn :item))) (`nothing nil) (_ items))) (depth (1+ (treemacs-button-get btn :depth))) (btn-path (treemacs-button-get btn :path)) (parent-path (if (listp btn-path) btn-path (list btn-path))) (parent-dom-node (treemacs-find-in-dom btn-path)) (child-ext (treemacs-extension->get ext :child-type)) (child-state (treemacs-extension->get child-ext :closed-state)) (closed-icon-fn (treemacs-extension->closed-icon child-ext)) (label-fn (treemacs-extension->label child-ext)) (properties-fn (treemacs-extension->more-properties child-ext)) (key-fn (treemacs-extension->key child-ext)) (recursive (treemacs--prefix-arg-to-recurse-depth arg))) (treemacs--button-open :button btn :new-state (treemacs-extension->get ext :open-state) :new-icon (treemacs-extension->get ext :open-icon btn (treemacs-button-get btn :item)) :immediate-insert t :open-action (treemacs--create-buttons :nodes items :depth depth :node-name item :node-action (treemacs--create-node-strings :parent btn :parent-path parent-path :parent-dom-node parent-dom-node :more-properties (append `(:item ,item) (funcall properties-fn btn item)) :icon (funcall closed-icon-fn btn item) :state child-state :key (funcall key-fn btn item) :depth depth :label (funcall label-fn btn item))) :post-open-action (progn (treemacs-on-expand btn-path btn) (treemacs--reentry btn-path) (when (> recursive 0) (cl-decf recursive) (--each (treemacs-collect-child-nodes btn) (when (treemacs-is-node-collapsed? it) (goto-char (treemacs-button-start it)) (treemacs-expand-extension-node recursive))))))))) (defun treemacs--expand-variadic-parent (&optional arg) "Interactive command to expand a variadic parent. Only required to set up `treemacs-TAB-actions-config'. ARG: Prefix Arg" (interactive "P") (let* ((btn (treemacs-node-at-point)) (state (treemacs-button-get btn :state)) (ext (alist-get state treemacs--extension-registry))) (when (null ext) (error "No extension is registered for state '%s'" state)) (treemacs-with-writable-buffer (treemacs--do-expand-variadic-parent btn ext arg)))) (defun treemacs--do-expand-variadic-parent (btn ext &optional expand-depth) "Expand the hidden parent BTN of a variadic extension instance EXT. EXPAND-DEPTH indicates the additional recursion depth. BTN: Button EXT: `treemacs-extension' instance EXPAND-DEPTH: Int" (let* ((items (treemacs-extension->get ext :children)) (parent-path (treemacs-button-get btn :path)) (parent-dom-node (treemacs-find-in-dom parent-path)) (child-ext (treemacs-extension->get ext :child-type)) (child-state (treemacs-extension->get child-ext :closed-state)) (closed-icon-fn (treemacs-extension->closed-icon child-ext)) (label-fn (treemacs-extension->label child-ext)) (properties-fn (treemacs-extension->more-properties child-ext)) (key-fn (treemacs-extension->key child-ext)) (expand-depth (treemacs--prefix-arg-to-recurse-depth expand-depth))) (goto-char (button-end btn)) (insert (apply #'propertize "\n" (text-properties-at btn))) (treemacs--button-open :button btn :new-state (treemacs-extension->get ext :open-state) :immediate-insert t :open-action (treemacs--create-buttons :nodes items :depth 0 :node-name item :node-action (treemacs--create-node-strings :parent nil :parent-path parent-path :parent-dom-node parent-dom-node :more-properties (append `(:item ,item) `(:project ,(treemacs-project->create! :name (funcall label-fn btn item) :path path :path-status 'extension)) (funcall properties-fn btn item)) :icon (funcall closed-icon-fn btn item) :state child-state :key (funcall key-fn btn item) :depth depth :label (funcall label-fn btn item))) :post-open-action (progn ;; projects' positions must always be known, so in this one ;; case they have to be collected very manually (save-excursion (goto-char (point-min)) (-let [btn (point)] (while (setf btn (next-button btn)) (let* ((path (treemacs-button-get btn :path)) (dom-node (treemacs-find-in-dom path))) (setf (treemacs-dom-node->position dom-node) btn))))) (treemacs-on-expand (treemacs-button-get btn :path) btn) (treemacs--reentry (treemacs-button-get btn :path)) (when (> expand-depth 0) (cl-decf expand-depth) (--each (treemacs--all-buttons-with-depth 0) (when (treemacs-is-node-collapsed? it) (goto-char (treemacs-button-start it)) (treemacs-expand-extension-node expand-depth)))))))) (defun treemacs-update-async-node (path buffer) "Update an asynchronous node at PATH in the given BUFFER. The update process will asynchronously pre-compute the children for every node currently expanded under PATH. The results of this computation will be cached and then used to update the UI in one go." (-let [items-to-update (treemacs--get-async-update-items path)] (ht-set! treemacs--async-update-count path (length items-to-update)) (dolist (item items-to-update) (let* ((item-path (car item)) (ext (cdr item)) (btn (treemacs-find-node item-path)) (item (treemacs-button-get btn :item)) (children-fn (treemacs-extension->children ext))) (funcall children-fn btn item (lambda (items) (treemacs--async-update-part-complete path item-path items buffer))))))) (defun treemacs--get-async-update-items (path) "Get the items needed for an async update at the given PATH. Every item in the returned list will consist of the node's key and its extensions instance." (-let [items nil] (treemacs-walk-reentry-dom (treemacs-find-in-dom path) (lambda (dom-node) (let* ((key (treemacs-dom-node->key dom-node)) (state (treemacs-button-get (treemacs-find-node key) :state)) (ext (alist-get state treemacs--extension-registry))) (push (cons key ext) items)))) items)) (defun treemacs--async-update-part-complete (top-path updated-path items buffer) "Partial completion for an asynchronous update. TOP-PATH is the path of the node the update was called for. UPDATED-PATH is the path of one of top node's children (may also be TOP-PATH) whose content has just been computed. ITEMS are the new items for the UPDATED-PATH that will be cached for the next update. BUFFER is the buffer where the node is located." (ht-set! treemacs--async-update-cache updated-path (or items 'nothing)) (-let [count (cl-decf (ht-get treemacs--async-update-count top-path))] (when (= 0 count) (--when-let (buffer-live-p buffer) (with-current-buffer buffer (treemacs-with-writable-buffer (treemacs-update-node top-path) (treemacs-button-put (treemacs-find-node updated-path) :busy nil))))))) (defun treemacs--do-collapse-extension-node (btn ext &optional __arg) "Collapse an extension button BTN for the given EXT. BTN: Button EXT: `treemacs-extensions' instance ARG: Prefix Arg" (treemacs--button-close :button btn :new-state (treemacs-extension->get ext :closed-state) :new-icon (treemacs-extension->get ext :closed-icon btn (treemacs-button-get btn :item)) :post-close-action (treemacs-on-collapse (treemacs-button-get btn :path)))) (cl-defmacro treemacs-initialize (extension &key (with-expand-depth 0) and-do) "Initialise an external buffer for use with the given EXTENSION. EXTENSION is the same symbol that was passed as a `:key' argument to `treemacs-define-variadic-entry-node-type'. WITH-EXPAND-DEPTH indicates the number of nodes that should be expanded *in addition* to the default. If a value is given that is not a number then treemacs will assume that *all* possible nodes should be expanded. AND-DO can be used to set up buffer-local variables after the buffer has switched over to `treemacs-mode'." (declare (indent 1)) `(progn (treemacs--disable-fringe-indicator) (treemacs-with-writable-buffer (erase-buffer)) ;; make sure the fringe indicator is enabled later, otherwise treemacs ;; attempts to move it right after the `treemacs-mode' call the indicator ;; cannot be created before either since the major-mode activation wipes ;; out buffer-local variables' values (let ((treemacs-fringe-indicator-mode nil) (treemacs--in-this-buffer t)) (treemacs-mode)) (setq-local treemacs-space-between-root-nodes nil) (setq-local treemacs--in-this-buffer :extension) ,and-do (treemacs--render-extension (let ((instance (treemacs--ext-symbol-to-instance ',extension))) (treemacs-static-assert (and instance (treemacs-extension->variadic? instance)) "%s is not a variadic extension" ',extension) instance) (if (numberp ,with-expand-depth) ,with-expand-depth 999)) (goto-char 1) (treemacs--evade-image))) (provide 'treemacs-treelib) ;;; treemacs-treelib.el ends here treemacs-3.2/src/elisp/treemacs-visuals.el000066400000000000000000000127011476710620300207040ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Handling of visuals in general and icons in particular. ;;; Code: (require 'image) (require 'pulse) (require 'hl-line) (require 'treemacs-core-utils) (require 'treemacs-scope) (require 'treemacs-themes) (require 'treemacs-icons) (require 'treemacs-customization) (require 'treemacs-fringe-indicator) (require 'treemacs-logging) (eval-when-compile (require 'inline) (require 'treemacs-macros)) (treemacs-import-functions-from "treemacs-icons" treemacs-get-icon-value) (defvar-local treemacs--indentation-string-cache-key nil "Cache key for `treemacs--indentation-string-cache.") (defvar-local treemacs--indentation-string-cache (vector) "Cached propertized indentation.") (defvar treemacs--indent-guide-mode nil) (defvar treemacs--saved-indent-settings nil "Saved settings overridden by `treemacs-indent-guide-mode'. Used to save the values of `treemacs-indentation' and `treemacs-indentation-string'.") (defun treemacs--do-pulse (face) "Visually pulse current line using FACE." (pulse-momentary-highlight-one-line (point) face)) (defsubst treemacs-pulse-on-success (&rest log-args) "Pulse current line with `treemacs-on-success-pulse-face'. Optionally issue a log statement with LOG-ARGS." (declare (indent 1)) (when log-args (treemacs-log (apply #'format log-args))) (when treemacs-pulse-on-success (treemacs--do-pulse 'treemacs-on-success-pulse-face))) (defsubst treemacs-pulse-on-failure (&rest log-args) "Pulse current line with `treemacs-on-failure-pulse-face'. Optionally issue a log statement with LOG-ARGS." (declare (indent 1)) (when log-args (treemacs-log-failure (apply #'format log-args))) (when treemacs-pulse-on-failure (treemacs--do-pulse 'treemacs-on-failure-pulse-face))) (defun treemacs--build-indentation-cache (depth) "Rebuild indentation string cache up to DEPTH levels deep." (setq treemacs--indentation-string-cache (make-vector (1+ depth) nil) treemacs--indentation-string-cache-key (cons treemacs-indentation treemacs-indentation-string)) (dotimes (i (1+ depth)) (aset treemacs--indentation-string-cache i (cond ((listp treemacs-indentation-string) (let ((str nil) (len (length treemacs-indentation-string))) (dotimes (n i) (setf str (concat str (nth (% n len) treemacs-indentation-string)))) str)) ((integerp treemacs-indentation) (s-repeat (* i treemacs-indentation) treemacs-indentation-string)) ((not window-system) (s-repeat (* i 2) treemacs-indentation-string)) (t (propertize " " 'display `(space . (:width (,(* (car treemacs-indentation) i)))))))))) (define-inline treemacs--get-indentation (depth) "Gets an indentation string DEPTH levels deep." (inline-letevals (depth) (inline-quote (progn (when (or (>= ,depth (length treemacs--indentation-string-cache)) (not (eq (car treemacs--indentation-string-cache-key) treemacs-indentation)) ;; Eq is faster than string comparison, and accidentally ;; rebuilding the cache in some corner case is not disastrous. (not (eq (cdr treemacs--indentation-string-cache-key) treemacs-indentation-string))) (treemacs--build-indentation-cache ,depth)) (aref treemacs--indentation-string-cache ,depth))))) (define-minor-mode treemacs-indent-guide-mode "Toggle `treemacs-indent-guide-mode'. When enabled treemacs will show simple indent guides for its folder structure. The effect is achieved by overriding the values of `treemacs-indentation' and `treemacs-indentation-string'. Disabling the mode will restore the previously used settings." :init-value nil :global t :lighter nil :group 'treemacs (if treemacs-indent-guide-mode (progn (setf treemacs--saved-indent-settings (cons treemacs-indentation treemacs-indentation-string) treemacs-indentation 1 treemacs-indentation-string (pcase-exhaustive treemacs-indent-guide-style ('line (propertize " ┃ " 'face 'font-lock-comment-face)) ('block (list " " (propertize "██" 'face 'font-lock-comment-face)))))) (setf treemacs-indentation (car treemacs--saved-indent-settings) treemacs-indentation-string (cdr treemacs--saved-indent-settings))) (treemacs-without-messages (treemacs-run-in-every-buffer (treemacs--do-refresh (current-buffer) 'all)))) (provide 'treemacs-visuals) ;;; treemacs-visuals.el ends here treemacs-3.2/src/elisp/treemacs-workspaces.el000066400000000000000000001120561476710620300214030ustar00rootroot00000000000000;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Everything about creating, (re)moving, (re)naming and otherwise ;; editing projects and workspaces. ;;; Code: (require 'dash) (require 'ht) (require 'treemacs-core-utils) (require 'treemacs-dom) (require 'treemacs-scope) (require 'treemacs-customization) (eval-when-compile (require 'cl-lib) (require 'inline) (require 'treemacs-macros)) (eval-when-compile (cl-declaim (optimize (speed 3) (safety 0)))) (treemacs-import-functions-from "treemacs" treemacs-select-window) (treemacs-import-functions-from "treemacs-rendering" treemacs--projects-end treemacs--collapse-root-node treemacs--expand-root-node treemacs--add-root-element treemacs--render-projects treemacs--insert-root-separator treemacs--root-face) (treemacs-import-functions-from "treemacs-interface" treemacs-previous-project treemacs-next-project) (treemacs-import-functions-from "treemacs-persistence" treemacs--persist treemacs--maybe-load-workspaces) (treemacs-import-functions-from "treemacs-visuals" treemacs-pulse-on-failure) (treemacs-import-functions-from "treemacs-async" treemacs--prefetch-gitignore-cache) (cl-defstruct (treemacs-project (:conc-name treemacs-project->) (:constructor treemacs-project->create!)) name path path-status is-disabled?) (cl-defstruct (treemacs-workspace (:conc-name treemacs-workspace->) (:constructor treemacs-workspace->create!)) name projects is-disabled?) (defvar treemacs--workspaces (list (treemacs-workspace->create! :name "Default"))) (defvar treemacs--disabled-workspaces (list)) (defvar treemacs--find-user-project-functions (list #'treemacs--current-builtin-project-function #'treemacs--current-directory-project-function) "List of functions to find the user project for the current buffer.") (defvar-local treemacs--org-err-ov nil "The overlay that will display validations when org-editing.") (defvar-local treemacs--project-of-buffer nil "The project that the current buffer falls under, if any.") (defvar treemacs-override-workspace nil "Used to override the return value of `treemacs-current-workspace'. Used by `treemacs-run-in-every-buffer' to make sure all workspace-related functions can be used since make functions (like `treemacs-find-file-node') rely on the current buffer and workspace being aligned.") (define-inline treemacs--invalidate-buffer-project-cache () "Set all buffers' `treemacs--project-of-buffer' to nil. To be called whenever a project or workspace changes." (inline-quote (dolist (buf (buffer-list)) (with-current-buffer buf (setf treemacs--project-of-buffer nil))))) (defun treemacs--current-builtin-project-function () "Find the current project.el project." (declare (side-effect-free t)) (-when-let (project (project-current)) (if (fboundp 'project-root) (-> project (project-root) (file-truename) (treemacs-canonical-path)) (-> project (cdr) (file-truename) (treemacs-canonical-path))))) (defun treemacs--current-directory-project-function () "Find the current working directory." (declare (side-effect-free t)) (-some-> default-directory (treemacs--canonical-path))) (define-inline treemacs-workspaces () "Return the list of all workspaces in treemacs." (declare (side-effect-free t)) (inline-quote treemacs--workspaces)) (define-inline treemacs-disabled-workspaces () "Return the list of all workspaces in treemacs that are disabled." (declare (side-effect-free t)) (inline-quote treemacs--disabled-workspaces)) (defun treemacs-current-workspace () "Get the current workspace. The return value can be overridden by let-binding `treemacs-override-workspace'. This will happen when using `treemacs-run-in-every-buffer' to make sure that this function returns the right workspace for the iterated-over buffers. If no workspace is assigned to the current scope the persisted workspaces will be loaded and a workspace will be found based on the `current-buffer'. This function can be used with `setf'." (or treemacs-override-workspace (-if-let (shelf (treemacs-current-scope-shelf)) (treemacs-scope-shelf->workspace shelf) (treemacs--maybe-load-workspaces) (let* ((workspace (treemacs--find-workspace (buffer-file-name (current-buffer)))) (new-shelf (treemacs-scope-shelf->create! :workspace workspace))) (setf (treemacs-current-scope-shelf) new-shelf) (run-hook-with-args treemacs-workspace-first-found-functions workspace (treemacs-current-scope)) workspace)))) (gv-define-setter treemacs-current-workspace (val) `(let ((shelf (treemacs-current-scope-shelf))) (unless shelf (setf shelf (treemacs-scope-shelf->create!)) (push (cons (treemacs-current-scope) shelf) treemacs--scope-storage)) (setf (treemacs-scope-shelf->workspace shelf) ,val))) (define-inline treemacs--find-workspace (&optional path) "Find the right workspace the given PATH. PATH: String" (declare (side-effect-free t)) (inline-letevals (path) (inline-quote (let ((ws-for-path (--first (treemacs-is-path ,path :in-workspace it) treemacs--workspaces))) (setf (treemacs-current-workspace) (pcase-exhaustive treemacs-find-workspace-method ('find-for-file-or-pick-first (or ws-for-path (car treemacs--workspaces))) ('find-for-file-or-manually-select (or ws-for-path (treemacs--select-workspace-by-name))) ('always-ask (treemacs--select-workspace-by-name)))))))) ;; TODO(2020/11/25): NAME (define-inline treemacs--find-project-for-buffer (&optional buffer-file) "In the current workspace find the project current buffer's file falls under. Optionally supply the BUFFER-FILE in case it is not available by calling the function `buffer-file-name' (like in Dired). FILE: Filepath" (inline-letevals (buffer-file) (inline-quote (progn (unless treemacs--project-of-buffer (let ((path (or ,buffer-file (buffer-file-name)))) (when path (setf treemacs--project-of-buffer (treemacs-is-path path :in-workspace))))) treemacs--project-of-buffer)))) (define-inline treemacs--find-project-for-path (path) "Return the project for PATH in the current workspace." (declare (side-effect-free t)) (inline-letevals (path) (inline-quote (treemacs-is-path ,path :in-workspace)))) (define-inline treemacs-workspace->is-empty? () "Return t when there are no projects in the current workspace." (declare (side-effect-free t)) (inline-quote (null (treemacs-workspace->projects (treemacs-current-workspace))))) (define-inline treemacs--add-project-to-current-workspace (project) "Add PROJECT to the current workspace." (inline-letevals (project) (inline-quote (setf (treemacs-workspace->projects (treemacs-current-workspace)) ;; reversing around to get the order right - new project goes to the *bottom* of the list (-let [reversed (nreverse (treemacs-workspace->projects (treemacs-current-workspace)))] (nreverse (push ,project reversed))))))) (define-inline treemacs--remove-project-from-current-workspace (project) "Remove PROJECT from the current workspace." (inline-letevals (project) (inline-quote (progn (setf (treemacs-workspace->projects (treemacs-current-workspace)) (delete ,project (treemacs-workspace->projects (treemacs-current-workspace)))) ;; also reset the cached buffers' projects (dolist (buffer (buffer-list)) (with-current-buffer buffer (when (equal treemacs--project-of-buffer ,project) (setq treemacs--project-of-buffer nil)))))))) (define-inline treemacs--next-project-pos () "Get the position of the next project. Will return `point-max' if there is no next project." (declare (side-effect-free t)) (inline-quote (next-single-char-property-change (line-end-position) :project))) (define-inline treemacs--prev-project-pos () "Get the position of the next project. Will return `point-min' if there is no next project." (declare (side-effect-free t)) (inline-quote (previous-single-char-property-change (line-beginning-position) :project))) (define-inline treemacs-project->key (self) "Get the hash table key of SELF. SELF may be a project struct or a root key of a top level extension." (declare (side-effect-free t)) (inline-letevals (self) (inline-quote ;; Top-level extensions are added to the project positions their root-key, ;; not a real project. (if (treemacs-project-p ,self) (treemacs-project->path ,self) ,self)))) (define-inline treemacs-project->position (self) "Return the position of project SELF in the current buffer." (declare (side-effect-free t)) (inline-letevals (self) (inline-quote (treemacs-dom-node->position (treemacs-find-in-dom (treemacs-project->path ,self)))))) (define-inline treemacs-project->is-expanded? (self) "Return non-nil if project SELF is expanded in the current buffer." (declare (side-effect-free t)) (inline-letevals (self) (inline-quote (memq (-> ,self (treemacs-project->position) (treemacs-button-get :state)) treemacs--open-node-states)))) (defun treemacs-project->refresh-path-status! (self) "Refresh the path status of project SELF in the current buffer. Does not preserve the current position in the buffer." (let ((old-path-status (treemacs-project->path-status self)) (new-path-status (treemacs--get-path-status (treemacs-project->path self)))) (unless (eq old-path-status new-path-status) (setf (treemacs-project->path-status self) new-path-status) ;; When the path transforms from unreadable or disconnected to readable, ;; update the :symlink status on its button. (let ((pos (treemacs-project->position self)) (path (treemacs-project->path self))) (when (treemacs-project->is-readable? self) (treemacs-button-put pos :symlink (file-symlink-p path))) (treemacs-button-put pos 'face (treemacs--root-face self)))))) ;; TODO(2021/08/17): -> rendering (defun treemacs-project->refresh! (self) "Refresh project SELF in the current buffer. Does not preserve the current position in the buffer." (treemacs-project->refresh-path-status! self) (when (treemacs-project->is-expanded? self) (let ((root-btn (treemacs-project->position self))) (goto-char root-btn) (funcall (alist-get (treemacs-button-get root-btn :state) treemacs-TAB-actions-config)) (unless (treemacs-project->is-unreadable? self) (funcall (alist-get (treemacs-button-get root-btn :state) treemacs-TAB-actions-config)))))) (define-inline treemacs-project->is-last? (self) "Return t when root node of project SELF is the last in the view." (declare (side-effect-free t)) (inline-letevals (self) (inline-quote (-> ,self (treemacs-project->position) (treemacs-button-end) (next-single-property-change :project) (null))))) (defun treemacs-do-create-workspace (&optional name) "Create a new workspace with optional NAME. Return values may be as follows: * If a workspace for the given name already exists: - the symbol `duplicate-name' - the workspace with the duplicate name * If the given name is invalid: - the symbol `invalid-name' - the name * If everything went well: - the symbol `success' - the created workspace" (treemacs-block (-let [name (or name (treemacs--read-string "Workspace name: "))] (treemacs-return-if (treemacs--is-name-invalid? name) `(invalid-name ,name)) (-when-let (ws (--first (string= name (treemacs-workspace->name it)) treemacs--workspaces)) (treemacs-return `(duplicate-name ,ws))) (-let [workspace (treemacs-workspace->create! :name name)] (add-to-list 'treemacs--workspaces workspace :append) (treemacs--persist) (run-hook-with-args 'treemacs-create-workspace-functions workspace) `(success ,workspace))))) (defun treemacs-do-remove-workspace (&optional workspace ask-to-confirm) "Delete a WORKSPACE. Ask the user to confirm the deletion when ASK-TO-CONFIRM is t (it will be when this is called from `treemacs-remove-workspace'). If no WORKSPACE name is given it will be selected interactively. Return values may be as follows: * If only a single workspace remains: - the symbol `only-one-workspace' * If the user cancels the deletion: - the symbol `user-cancel' * If the workspace cannot be found: - the symbol `workspace-not-found' * If everything went well: - the symbol `success' - the deleted workspace - the list of the remaining workspaces" (treemacs-block (treemacs-return-if (= 1 (length treemacs--workspaces)) 'only-one-workspace) (let* ((name (or workspace (completing-read "Delete: " (-map #'treemacs-workspace->name treemacs--workspaces) nil t))) (to-delete (treemacs-find-workspace-by-name name))) (treemacs-return-if (and ask-to-confirm (not (yes-or-no-p (format "Delete workspace %s and all its projects?" (propertize (treemacs-workspace->name to-delete) 'face 'font-lock-type-face))))) 'user-cancel) (treemacs-return-if (null to-delete) `(workspace-not-found ,name)) (setq treemacs--workspaces (delete to-delete treemacs--workspaces)) (treemacs--persist) (treemacs--invalidate-buffer-project-cache) (treemacs-run-in-every-buffer (let ((current-ws (treemacs-current-workspace))) (when (eq current-ws to-delete) (treemacs--rerender-after-workspace-change)))) (run-hook-with-args 'treemacs-delete-workspace-functions to-delete) `(success ,to-delete ,treemacs--workspaces)))) (defun treemacs--rerender-after-workspace-change () "Redraw treemacs after the current workspace was changed or deleted." (let* ((treemacs-buffer (treemacs-get-local-buffer)) (in-treemacs? (eq (current-buffer) treemacs-buffer))) (pcase (treemacs-current-visibility) ('none (ignore)) ('exists (kill-buffer treemacs-buffer) (save-selected-window (treemacs-select-window)) (delete-window (treemacs-get-local-window))) ('visible (kill-buffer treemacs-buffer) (if in-treemacs? (treemacs-select-window) (save-selected-window (treemacs-select-window))))))) (defun treemacs--get-path-status (path) "Get the status of PATH. Returns either * `local-readable' when PATH is a local readable file or directory, * `local-unreadable' when PATH is a local unreadable file or directory, * `remote-readable' when PATH is a remote readable file or directory, * `remote-unreadable' when PATH is a remote unreadable file or directory, * `remote-disconnected' when PATH is remote, but the connection is down, or * `extension' when PATH is not a string." (declare (side-effect-free t)) (cond ((not (stringp path)) 'extension) ((not (file-remote-p path)) (if (file-readable-p path) 'local-readable 'local-unreadable)) ((not (file-remote-p path nil t)) 'remote-disconnected) ((file-readable-p path) 'remote-readable) (t 'remote-unreadable))) (define-inline treemacs-project->is-unreadable? (self) "Return non-nil if the project SELF is definitely unreadable. If `path-status' of the project is `remote-disconnected', the return value will be nil even though the path might still be unreadable. Does not verify the readability, the cached path-state is used. Extension projects will count as readable." (declare (side-effect-free t)) (inline-quote (memq (treemacs-project->path-status ,self) '(local-unreadable remote-unreadable)))) (define-inline treemacs-project->is-readable? (self) "Return t if the project SELF is definitely readable for file operations. Does not verify the readability - the cached state is used." (declare (side-effect-free t)) (inline-quote (memq (treemacs-project->path-status ,self) '(local-readable remote-readable)))) (define-inline treemacs-project->is-remote? (self) "Return t if the project SELF is remote." (declare (side-effect-free t)) (inline-letevals (self) (inline-quote (memq (treemacs-project->path-status ,self) '(remote-disconnected remote-readable remote-unreadable))))) (define-inline treemacs-project->is-local? (self) "Return t if the project SELF is local. Returns nil for extensions." (declare (side-effect-free t)) (inline-letevals (self) (inline-quote (memq (treemacs-project->path-status ,self) '(local-readable local-unreadable))))) (define-inline treemacs-project->is-local-and-readable? (self) "Return t if the project SELF is local and readable." (declare (side-effect-free t)) (inline-quote (eq (treemacs-project->path-status ,self) 'local-readable))) (defun treemacs-do-add-project-to-workspace (path name) "Add project at PATH to the current workspace. NAME is provided during ad-hoc navigation only. Return values may be as follows: * If the given path is invalid (is nil or does not exist) - the symbol `invalid-path' - a string describing the problem * If the project for the given path already exists: - the symbol `duplicate-project' - the project the PATH falls into * If a project under given path already exists: - the symbol `includes-project' - the project the PATH contains * If a project for the given name already exists: - the symbol `duplicate-name' - the project with the duplicate name * If the given name is invalid: - the symbol `invalid-name' - the name * If everything went well: - the symbol `success' - the created project PATH: Filepath NAME: String" (treemacs-block (treemacs-return-if (null path) `(invalid-path "Path is nil.")) (let ((path-status (treemacs--get-path-status path)) (added-in-workspace (treemacs-current-workspace))) (treemacs-return-if (not (file-readable-p path)) `(invalid-path "Path is not readable does not exist.")) (setq path (-> path (file-truename) (treemacs-canonical-path))) (-when-let (project (treemacs--find-project-for-path path)) (treemacs-return `(duplicate-project ,project))) (treemacs-return-if (treemacs--is-name-invalid? name) `(invalid-name ,name)) (-when-let (project (--first (treemacs-is-path (treemacs-project->path it) :in path) (treemacs-workspace->projects (treemacs-current-workspace)))) (treemacs-return `(includes-project ,project))) (let ((project (treemacs-project->create! :name name :path path :path-status path-status))) (-when-let (double (--first (string= name (treemacs-project->name it)) (treemacs-workspace->projects (treemacs-current-workspace)))) (treemacs-return `(duplicate-name ,double))) (treemacs--add-project-to-current-workspace project) (treemacs--invalidate-buffer-project-cache) (treemacs-run-in-every-buffer (when (eq added-in-workspace workspace) (treemacs-with-writable-buffer (goto-char (treemacs--projects-end)) (cond ;; Inserting the first and only button - no need to add spacing ((not (treemacs-current-button))) ;; Inserting before a button. This happens when only bottom extensions exist. ((bolp) (save-excursion (treemacs--insert-root-separator)) ;; Unlock the marker - when the marker is at the beginning of the buffer, ;; expanding/collapsing extension nodes would move the marker and it was thus locked. (set-marker-insertion-type (treemacs--projects-end) t)) ;; Inserting after a button (the standard case) ;; We should already be at EOL, but play it safe. (t (end-of-line) (treemacs--insert-root-separator))) (treemacs--add-root-element project) (treemacs-dom-node->insert-into-dom! (treemacs-dom-node->create! :key path :position (treemacs-project->position project))) (when treemacs-expand-added-projects (treemacs--expand-root-node (treemacs-project->position project)))))) (treemacs--persist) (treemacs--invalidate-buffer-project-cache) (when (with-no-warnings treemacs-hide-gitignored-files-mode) (treemacs--prefetch-gitignore-cache path)) (run-hook-with-args 'treemacs-create-project-functions project) `(success ,project))))) (defalias 'treemacs-add-project-at #'treemacs-do-add-project-to-workspace) (with-no-warnings (make-obsolete #'treemacs-add-project-at #'treemacs-do-add-project-to-workspace "v.2.2.1")) (defun treemacs-do-remove-project-from-workspace (project &optional ignore-last-project-restriction ask-to-confirm) "Remove the given PROJECT from the current workspace. PROJECT may either be a `treemacs-project' instance or a string path. In the latter case the project containing the path will be selected. When IGNORE-LAST-PROJECT-RESTRICTION is non-nil removing the last project will not count as an error. This is meant to be used in non-interactive code, where another project is immediately added afterwards, as leaving the project list empty is generally a bad idea. Ask the user to confirm the deletion when ASK-TO-CONFIRM is t (it will be when this is called from `treemacs-remove-project-from-workspace'). Return values may be as follows: * If the given path is invalid (is nil or does not exist): - the symbol `invalid-project' - a string describing the problem * If the user cancels the deletion: - the symbol `user-cancel' * If there is only one project: - the symbol `cannot-delete-last-project' * If everything went well: - the symbol `success'" (treemacs-block (unless ignore-last-project-restriction (treemacs-return-if (>= 1 (length (treemacs-workspace->projects (treemacs-current-workspace)))) 'cannot-delete-last-project)) (treemacs-return-if (null project) `(invalid-project "Project is nil")) ;; when used from outside treemacs it is much easier to supply a path string than to ;; look up the project instance (when (stringp project) (-let [found-project (treemacs-is-path (treemacs-canonical-path project) :in-workspace)] (treemacs-return-if (null found-project) `(invalid-project ,(format "Given path '%s' is not in the workspace" project))) (setf project found-project))) (treemacs-return-if (and ask-to-confirm (not (yes-or-no-p (format "Remove project %s from the current workspace?" (propertize (treemacs-project->name project) 'face 'font-lock-type-face))))) 'user-cancel) (treemacs-run-in-every-buffer (treemacs-with-writable-buffer (let* ((project-pos (goto-char (treemacs-project->position project))) (prev-project-pos (move-marker (make-marker) (treemacs--prev-project-pos))) (next-project-pos (move-marker (make-marker) (treemacs--next-project-pos)))) (when (treemacs-project->is-expanded? project) (treemacs--collapse-root-node project-pos t)) (treemacs--remove-project-from-current-workspace project) (treemacs--invalidate-buffer-project-cache) (let ((previous-button (previous-button project-pos)) (next-button (next-button project-pos))) (cond ;; Previous button exists. Delete from the end of the current line to ;; the end of the previous button's line. If the `treemacs--projects-end' ;; is at the EOL of the it will move to EOL of the previous button. (previous-button (delete-region (treemacs-button-end previous-button) (line-end-position)) (when next-button (forward-button 1))) ;; Previous project does not exist, but a next button exists. Delete from ;; BOL to the start of the next buttons line. (next-button (when (> next-button (treemacs--projects-end)) ;; The first item after the deletion will be bottom extensions. Project ;; end will be at its BOL, making it move upon expand/collapse. Lock the marker. (set-marker-insertion-type (treemacs--projects-end) nil)) (delete-region (line-beginning-position) (progn (goto-char next-button) (forward-line 0) (point)))) ;; Neither the previous nor the next button exists. Simply delete the ;; current line. (t (delete-region (line-beginning-position) (line-end-position))))) (if (equal (point-min) prev-project-pos) (goto-char next-project-pos) (goto-char prev-project-pos))) (treemacs--invalidate-buffer-project-cache) (--when-let (treemacs-get-local-window) (with-selected-window it (recenter))) (treemacs--evade-image) (hl-line-highlight))) (run-hook-with-args 'treemacs-delete-project-functions project) (treemacs--persist) 'success)) (defun treemacs-do-switch-workspace (&optional workspace) "Switch to a new WORKSPACE. Workspace may either be a workspace name, a workspace object, or be left out. In the latter case the workspace to switch to will be selected interactively. Return values may be as follows: * If there are no workspaces to switch to: - the symbol `only-one-workspace' * If the given workspace could not be found (if WORKSPACE was a name string) - the symbol `workspace-not-found' - the given workspace name * If everything went well: - the symbol `success' - the selected workspace" (treemacs--maybe-load-workspaces) (treemacs-block (treemacs-return-if (= 1 (length treemacs--workspaces)) 'only-one-workspace) (let (new-workspace) (cond ((treemacs-workspace-p workspace) (setf new-workspace workspace)) ((stringp workspace) (setf new-workspace (treemacs-find-workspace-by-name workspace)) (treemacs-return-if (null new-workspace) `(workspace-not-found ,workspace))) ((null workspace) (let* ((workspaces (->> treemacs--workspaces (--reject (eq it (treemacs-current-workspace))) (--map (cons (treemacs-workspace->name it) it)))) (name (completing-read "Switch to: " (treemacs--pre-sorted-list workspaces) nil :require-match))) (setf new-workspace (cdr (--first (string= (car it) name) workspaces)))))) (setf (treemacs-current-workspace) new-workspace) (treemacs--invalidate-buffer-project-cache) (treemacs--rerender-after-workspace-change) (when (with-no-warnings treemacs-hide-gitignored-files-mode) (treemacs--prefetch-gitignore-cache 'all)) (run-hooks 'treemacs-switch-workspace-hook) (treemacs-return `(success ,new-workspace))))) (defun treemacs-do-rename-workspace (&optional workspace new-name) "Rename a workspace. Takes either a WORKSPACE and a NEW-NAME as arguments or reads them interactively. Return values may be as follows: * If the given name is invalid: - the symbol `invalid-name' - the name * If everything went well: - the symbol `success' - the old-name - the renamed workspace" (treemacs-block (let ((old-name)) (unless workspace (let* ((current-ws (treemacs-current-workspace)) (old-name (treemacs-workspace->name current-ws)) (name-map (-> (--map (cons (treemacs-workspace->name it) it) treemacs--workspaces) (sort (lambda (n _) (string= (car n) old-name))))) (str-to-rename (completing-read "Rename: " name-map))) (setf workspace (cdr (assoc str-to-rename name-map))))) (setf old-name (treemacs-workspace->name workspace)) (unless new-name (setf new-name (treemacs--read-string "New name: "))) (treemacs-return-if (treemacs--is-name-invalid? new-name) `(invalid-name ,new-name)) (setf (treemacs-workspace->name workspace) new-name) (treemacs--persist) (run-hook-with-args 'treemacs-rename-workspace-functions workspace old-name) `(success ,old-name ,workspace)))) (defun treemacs--is-name-invalid? (name) "Validate the NAME of a project or workspace. Returns t when the name is invalid. NAME: String" (declare (pure t) (side-effect-free t)) (or (s-blank-str? name) (s-contains? "\n" name) (not (s-matches? (rx (1+ (or space (syntax word) (syntax symbol) (syntax punctuation)))) name)))) (define-inline treemacs-project-at-point () "Get the project for the (nearest) project at point. Return nil when `treemacs-current-button' is nil." (declare (side-effect-free t)) (inline-quote (-when-let (btn (treemacs-current-button)) (treemacs-project-of-node btn)))) (defun treemacs--get-bounds-of-project (project) "Get the bounds a PROJECT in the current buffer. Returns a cons cell of buffer positions at the very start and end of the PROJECT, excluding newlines. PROJECT: Project Struct" (interactive) (save-excursion (goto-char (treemacs-project->position project)) (let* ((start (line-beginning-position)) (next (treemacs--next-non-child-button (treemacs-project->position project))) (end (if next (-> next (treemacs-button-start) (previous-button) (treemacs-button-end)) ;; final position minus the final newline (1- (point-max))))) (cons start end)))) (defun treemacs--consolidate-projects () "Correct treemacs buffers' content after the workspace was edited." (treemacs--invalidate-buffer-project-cache) (treemacs-run-in-every-buffer (let* ((current-file (--when-let (treemacs-current-button) (treemacs--nearest-path it))) (current-workspace (treemacs-current-workspace)) ;; gather both the projects actually in the workspace ... (projects-in-workspace (treemacs-workspace->projects current-workspace)) (projects-in-buffer) (expanded-projects-in-buffer)) (goto-char 0) ;; ... as well as the projects currently shown in the buffer (unless (s-blank? (buffer-string)) (push (treemacs-project-at-point) projects-in-buffer) (let (next-pos) (while (/= (point-max) (setq next-pos (treemacs--next-project-pos))) (goto-char next-pos) (unless (treemacs-button-get (treemacs-current-button) :custom) (push (treemacs-project-at-point) projects-in-buffer))))) ;; remember which ones are expanded, close them so the dom position can be rebuilt (dolist (project-in-buffer projects-in-buffer) (-let [project-btn (treemacs-project->position project-in-buffer)] (when (eq 'root-node-open (treemacs-button-get project-btn :state)) (push project-in-buffer expanded-projects-in-buffer) (goto-char project-btn) (treemacs--collapse-root-node project-btn)))) ;; figure out which ones have been deleted and and remove them from the dom (dolist (project-in-buffer projects-in-buffer) (unless (member project-in-buffer projects-in-workspace) (treemacs-on-collapse (treemacs-project->path project-in-buffer) :purge) (ht-remove! treemacs-dom (treemacs-project->path project-in-buffer)) (setf projects-in-buffer (delete project-in-buffer projects-in-buffer)))) (treemacs-with-writable-buffer (treemacs--reset-dom) ;; delete everything's that's visible and render it again - the order of projects could ;; have been changed (erase-buffer) (treemacs--render-projects projects-in-workspace) (goto-char 0) ;; re-expand the projects that were expanded before the consolidation (let (next-pos) (-let [btn (treemacs-current-button)] (when (member (treemacs-button-get btn :project) expanded-projects-in-buffer) (treemacs--expand-root-node btn))) (while (/= (point-max) (setq next-pos (treemacs--next-project-pos))) (goto-char next-pos) (-let [btn (treemacs-current-button)] (when (member (treemacs-button-get btn :project) expanded-projects-in-buffer) (treemacs--expand-root-node btn)))))) ;; go back to the previous position (if (and current-file (treemacs-is-path current-file :in-workspace)) (treemacs-goto-file-node current-file) (goto-char 0) (treemacs--evade-image)) (hl-line-highlight)))) (defun treemacs--org-edit-display-validation-msg (message line) "Display an inline validation MESSAGE in LINE when org-editing." (save-excursion (pcase line (:start (goto-char 0) (forward-line (if treemacs-show-edit-workspace-help 4 2))) (_ (goto-char 0) (search-forward-regexp (rx-to-string `(seq bol ,line eol))))) (setf treemacs--org-err-ov (make-overlay (line-end-position) (line-end-position))) (overlay-put treemacs--org-err-ov 'after-string (concat (propertize " ← " 'face 'error) message)) (add-hook 'after-change-functions #'treemacs--org-edit-remove-validation-msg nil :local))) (defun treemacs--org-edit-remove-validation-msg (&rest _) "Remove the validation message overlay." (when (and treemacs--org-err-ov (overlayp treemacs--org-err-ov)) (delete-overlay treemacs--org-err-ov)) (remove-hook 'after-change-functions #'treemacs--org-edit-remove-validation-msg :local)) (defun treemacs--find-current-user-project () "Find current project by calling `treemacs--find-user-project-functions'." (declare (side-effect-free t)) (treemacs-block (dolist (fun treemacs--find-user-project-functions) (--when-let (funcall fun) (treemacs-return it))))) (defun treemacs--find-workspace-by-name (name) "Find a workspace with the given NAME. Returns nil when there is no match." (treemacs--maybe-load-workspaces) (--first (string= name (treemacs-workspace->name it)) treemacs--workspaces)) (defun treemacs--select-workspace-by-name () "Interactively select the workspace. Selection is based on the list of names of all workspaces and still happens when there is only one workspace." (treemacs--maybe-load-workspaces) (let (name) (while (or (null name) (string= "" name)) (setf name (completing-read "Workspace: " (->> treemacs--workspaces (--map (cons (treemacs-workspace->name it) it))) nil :require-match))) (--first (string= name (treemacs-workspace->name it)) treemacs--workspaces))) (defun treemacs--maybe-clean-buffers-on-workspace-switch (which) "Delete buffers depending on the value of WHICH. - When it is nil do nothing. - When it is `files' delete all buffers visiting files. - When it is `all' delete all buffers In any case treemacs itself, and the scratch and messages buffers will be left alive." (when which (let* ((scratch (get-buffer-create "*scratch*")) (messages (get-buffer "*Messages*")) (no-delete-test (pcase which ('files (lambda (b) (null (buffer-file-name b)))) ('all (lambda (_) nil))))) (dolist (buffer (buffer-list)) (unless (or (eq t (buffer-local-value 'treemacs--in-this-buffer buffer)) (eq buffer scratch) (eq buffer messages) (funcall no-delete-test buffer)) (kill-buffer buffer)))))) (defun treemacs-find-workspace-by-name (name) "Find a workspace with the given NAME. The check is case-sensitive. nil is returned when no workspace is found." (declare (side-effect-free t)) (--first (string= name (treemacs-workspace->name it)) treemacs--workspaces)) (defun treemacs-find-workspace-by-path (path) "Find a workspace with a project containing the given PATH. nil is returned when no workspace is found." (declare (side-effect-free t)) (--first (treemacs-is-path path :in-workspace it) treemacs--workspaces)) (defun treemacs-find-workspace-where (predicate) "Find a workspace matching the given PREDICATE. Predicate should be a function that takes a `treemacs-workspace' as its single argument. nil is returned when no workspace is found." (--first (funcall predicate it) treemacs--workspaces)) (provide 'treemacs-workspaces) ;;; treemacs-workspaces.el ends here treemacs-3.2/src/elisp/treemacs.el000066400000000000000000000307061476710620300172250ustar00rootroot00000000000000;;; treemacs.el --- A tree style file explorer package -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; Author: Alexander Miller ;; Package-Requires: ((emacs "26.1") (cl-lib "0.5") (dash "2.11.0") (s "1.12.0") (ace-window "0.9.0") (pfuture "1.7") (hydra "0.13.2") (ht "2.2") (cfrs "1.3.2")) ;; Homepage: https://github.com/Alexander-Miller/treemacs ;; Version: 3.2 ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; A powerful and flexible file tree project explorer. ;;; Code: (require 'dash) (require 'treemacs-macros) (require 'treemacs-customization) (require 'treemacs-logging) (require 'treemacs-themes) (require 'treemacs-icons) (require 'treemacs-faces) (require 'treemacs-visuals) (require 'treemacs-rendering) (require 'treemacs-core-utils) (require 'treemacs-scope) (require 'treemacs-follow-mode) (require 'treemacs-filewatch-mode) (require 'treemacs-mode) (require 'treemacs-interface) (require 'treemacs-persistence) (require 'treemacs-async) (require 'treemacs-compatibility) (require 'treemacs-workspaces) (require 'treemacs-fringe-indicator) (require 'treemacs-header-line) (require 'treemacs-annotations) (defconst treemacs-version (eval-when-compile (format "v3.2 (installed %s) @ Emacs %s" (format-time-string "%Y.%m.%d" (current-time)) emacs-version))) (treemacs-import-functions-from "treemacs-tag-follow-mode" treemacs--flatten&sort-imenu-index treemacs--do-follow-tag) ;;;###autoload (defun treemacs-version () "Return the `treemacs-version'." (interactive) (when (called-interactively-p 'interactive) (treemacs-log "%s" treemacs-version)) treemacs-version) ;;;###autoload (defun treemacs (&optional arg) "Initialise or toggle treemacs. - If the treemacs window is visible hide it. - If a treemacs buffer exists, but is not visible show it. - If no treemacs buffer exists for the current frame create and show it. - If the workspace is empty additionally ask for the root path of the first project to add. - With a prefix ARG launch treemacs and force it to select a workspace" (interactive "P") (pcase (treemacs-current-visibility) ((guard arg) (treemacs-do-switch-workspace (treemacs--select-workspace-by-name)) (treemacs-select-window)) ('visible (delete-window (treemacs-get-local-window))) ('exists (treemacs-select-window)) ('none (treemacs--init)))) ;;;###autoload (defun treemacs-select-directory () "Select a directory to open in treemacs. This command will open *just* the selected directory in treemacs. If there are other projects in the workspace they will be removed. To *add* a project to the current workspace use `treemacs-add-project-to-workspace' or `treemacs-add-and-display-current-project' instead." (interactive) (treemacs-block (let* ((path (-> "Directory: " (read-directory-name) (treemacs-canonical-path))) (name (treemacs--filename path)) (ws (treemacs-current-workspace))) (treemacs-return-if (and (= 1 (length (treemacs-workspace->projects ws))) (string= path (-> ws (treemacs-workspace->projects) (car) (treemacs-project->path)))) (treemacs-select-window)) (treemacs--show-single-project path name) (treemacs-pulse-on-success "Now showing %s" (propertize path 'face 'font-lock-string-face))))) ;;;###autoload (defun treemacs-find-file (&optional arg) "Find and focus the current file in the treemacs window. If the current buffer visits no file or with a prefix ARG ask for the file instead. Will show/create a treemacs buffers if it is not visible/does not exist. For the most part only useful when `treemacs-follow-mode' is not active." (interactive "P") (let ((path (unless arg (buffer-file-name (current-buffer)))) (manually-entered nil)) (unless path (setq manually-entered t path (->> (--if-let (treemacs-current-button) (treemacs--nearest-path it)) (read-file-name "File to find: ") (treemacs-canonical-path)))) (treemacs-unless-let (project (treemacs--find-project-for-path path)) (treemacs-pulse-on-failure (format "%s does not fall under any project in the workspace." (propertize path 'face 'font-lock-string-face))) (save-selected-window (pcase (treemacs-current-visibility) ('visible (treemacs--select-visible-window)) ('exists (treemacs--select-not-visible-window)) ('none (treemacs--init))) (treemacs-goto-file-node path project) (when manually-entered (treemacs-pulse-on-success)))))) ;;;###autoload (defun treemacs-find-tag () "Find and move point to the tag at point in the treemacs view. Most likely to be useful when `treemacs-tag-follow-mode' is not active. Will ask to change the treemacs root if the file to find is not under the root. If no treemacs buffer exists it will be created with the current file's containing directory as root. Will do nothing if the current buffer is not visiting a file or Emacs cannot find any tags for the current file." (interactive) (treemacs-block (let* ((buffer (current-buffer)) (buffer-file (when buffer (buffer-file-name buffer))) (project (treemacs--find-project-for-buffer)) (index (when buffer-file (treemacs--flatten&sort-imenu-index))) (treemacs-window nil)) (treemacs-error-return-if (null buffer-file) "Current buffer is not visiting a file.") (treemacs-error-return-if (null index) "Current buffer has no tags.") (treemacs-error-return-if (eq index 'unsupported) "Treemacs does not support following tags in this major mode.") (treemacs-error-return-if (null project) "%s does not fall under any project in the workspace." (propertize buffer-file 'face 'font-lock-string-face)) (save-selected-window (pcase (treemacs-current-visibility) ('visible (treemacs--select-visible-window)) ('exists (treemacs--select-not-visible-window)) ('none (treemacs--init))) (setq treemacs-window (selected-window))) (treemacs--do-follow-tag index treemacs-window buffer-file project)))) ;;;###autoload (defun treemacs-start-on-boot (&optional focus-treemacs) "Initialiser specifically to start treemacs as part of your init file. Ensures that all visual elements are present which might otherwise be missing because their setup requires an interactive command or a post-command hook. FOCUS-TREEMACS indicates whether the treemacs window should be selected." (-let [initial-window (selected-window)] (treemacs) (hl-line-highlight) (redisplay) (unless focus-treemacs (select-window initial-window)))) ;;;###autoload (defun treemacs-select-window (&optional arg) "Select the treemacs window if it is visible. Bring it to the foreground if it is not visible. Initialise a new treemacs buffer as calling `treemacs' would if there is no treemacs buffer for this frame. In case treemacs is already selected behaviour will depend on `treemacs-select-when-already-in-treemacs'. A non-nil prefix ARG will also force a workspace switch." (interactive "P") (pcase (treemacs-current-visibility) ((guard arg) (treemacs-do-switch-workspace (treemacs--select-workspace-by-name)) (treemacs-select-window)) ('exists (treemacs--select-not-visible-window)) ('none (treemacs--init)) ('visible (if (not (eq treemacs--in-this-buffer t)) (treemacs--select-visible-window) (pcase-exhaustive treemacs-select-when-already-in-treemacs ('stay (ignore)) ('close (treemacs-quit)) ('goto-next (treemacs--jump-to-next-treemacs-window)) ('next-or-back (or (treemacs--jump-to-next-treemacs-window) (-if-let (mru-window (get-mru-window (selected-frame) nil :not-selected)) (select-window mru-window) (treemacs-log-failure "get-mru-window could not find the last used window.")))) ('move-back (select-window (get-mru-window (selected-frame) nil :not-selected)))))))) ;;;###autoload (defun treemacs-show-changelog () "Show the changelog of treemacs." (interactive) (-> "Changelog.org" (locate-file (list treemacs-dir)) (find-file-existing))) ;;;###autoload (defun treemacs-edit-workspaces () "Edit your treemacs workspaces and projects as an `org-mode' file." (interactive) (require 'org) (require 'outline) (treemacs--persist) (switch-to-buffer (get-buffer-create treemacs--org-edit-buffer-name)) (erase-buffer) (org-mode) (use-local-map (copy-keymap (with-no-warnings org-mode-map))) (local-set-key (kbd "C-c C-c") #'treemacs-finish-edit) (insert "#+TITLE: Edit Treemacs Workspaces & Projects\n") (when treemacs-show-edit-workspace-help (insert "# Call ~treemacs-finish-edit~ or press ~C-c C-c~ when done.\n") (insert "# [[https://github.com/Alexander-Miller/treemacs#conveniently-editing-your-projects-and-workspaces][Click here for detailed documentation.]]\n") (insert "# To cancel you can simply kill this buffer.\n\n")) (insert-file-contents treemacs-persist-file) (with-no-warnings (outline-show-all)) (goto-char 0)) ;;;###autoload (defun treemacs-add-and-display-current-project-exclusively () "Display the current project, and *only* the current project. Like `treemacs-add-and-display-current-project' this will add the current project to treemacs based on either projectile, the built-in project.el, or the current working directory. However the \\='exclusive\\=' part means that it will make the current project the only project, all other projects *will be removed* from the current workspace." (interactive) (treemacs-block (treemacs-unless-let (root (treemacs--find-current-user-project)) (treemacs-error-return-if (null root) "Not in a project.") (let* ((path (treemacs-canonical-path root)) (name (treemacs--filename path)) (ws (treemacs-current-workspace))) (treemacs-return-if (-let [projects (treemacs-workspace->projects ws)] (and (= 1 (length projects)) (string= path (treemacs-project->path (car projects))))) (treemacs-select-window)) (treemacs--show-single-project path name) (treemacs-pulse-on-success "Now showing %s" (propertize path 'face 'font-lock-string-face)))))) (define-obsolete-function-alias 'treemacs-display-current-project-exclusively #'treemacs-add-and-display-current-project-exclusively "v2.9") ;;;###autoload (defun treemacs-add-and-display-current-project () "Open treemacs and add the current project root to the workspace. The project is determined first by projectile (if treemacs-projectile is installed), then by project.el, then by the current working directory. If the project is already registered with treemacs just move point to its root. An error message is displayed if the current buffer is not part of any project." (interactive) (treemacs-block (treemacs-unless-let (root (treemacs--find-current-user-project)) (treemacs-error-return-if (null root) "Not in a project.") (let* ((path (treemacs-canonical-path root)) (name (treemacs--filename path))) (unless (treemacs-current-workspace) (treemacs--find-workspace)) (if (treemacs-workspace->is-empty?) (progn (treemacs-do-add-project-to-workspace path name) (treemacs-select-window) (treemacs-pulse-on-success)) (treemacs-select-window) (if (treemacs-is-path path :in-workspace) (treemacs-goto-file-node path) (treemacs-add-project-to-workspace path name))))))) (provide 'treemacs) ;;; treemacs.el ends here treemacs-3.2/src/extra/000077500000000000000000000000001476710620300151015ustar00rootroot00000000000000treemacs-3.2/src/extra/treemacs-all-the-icons.el000066400000000000000000000573231476710620300216750ustar00rootroot00000000000000;;; treemacs-all-the-icons.el --- all-the-icons integration for treemacs -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; Author: Eric Dallo ;; Package-Requires: ((emacs "26.1") (all-the-icons "4.0.1") (treemacs "0.0")) ;; Version: 0 ;; Homepage: https://github.com/Alexander-Miller/treemacs ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;;; all-the-icons integration. ;; ;;; Code: (require 'all-the-icons) (require 'treemacs) (defface treemacs-all-the-icons-root-face '((t (:inherit font-lock-string-face))) "Face used for the root icon in all-the-icons theme." :group 'treemacs-faces) (defface treemacs-all-the-icons-file-face '((t (:inherit font-lock-doc-face))) "Face used for the directory and file icons in all-the-icons theme." :group 'treemacs-faces) (defvar treemacs-all-the-icons-tab (if (bound-and-true-p treemacs-all-the-icons-tab-font) (propertize "\t" 'face `((:family ,treemacs-all-the-icons-tab-font))) "\t")) (treemacs-create-theme "all-the-icons" :config (progn (dolist (item all-the-icons-extension-icon-alist) (let ((extensions (list (nth 0 item))) (fn (nth 1 item)) (key (nth 2 item)) (plist (nthcdr 3 item))) (treemacs-create-icon :icon (format " %s%s" (apply fn key plist) treemacs-all-the-icons-tab) :extensions extensions))) ;; directory and other icons (treemacs-create-icon :icon (format "%s%s" (all-the-icons-octicon "repo" :height 1.2 :v-adjust -0.1 :face 'treemacs-all-the-icons-root-face) treemacs-all-the-icons-tab) :extensions (root-closed root-open) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s%s%s" (all-the-icons-octicon "chevron-down" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab (all-the-icons-octicon "file-directory" :v-adjust 0 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (dir-open) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s%s%s" (all-the-icons-octicon "chevron-right" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab (all-the-icons-octicon "file-directory" :v-adjust 0 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (dir-closed) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s%s%s" (all-the-icons-octicon "chevron-down" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab (all-the-icons-octicon "package" :v-adjust 0 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (tag-open) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s%s%s" (all-the-icons-octicon "chevron-right" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab (all-the-icons-octicon "package" :v-adjust 0 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (tag-closed) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-octicon "tag" :height 0.9 :v-adjust 0 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (tag-leaf) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-octicon "flame" :v-adjust 0 :face 'all-the-icons-red) treemacs-all-the-icons-tab) :extensions (error) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-octicon "stop" :v-adjust 0 :face 'all-the-icons-yellow) treemacs-all-the-icons-tab) :extensions (warning) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-octicon "info" :height 0.75 :v-adjust 0.1 :face 'all-the-icons-blue) treemacs-all-the-icons-tab) :extensions (info) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-material "mail" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (mail) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-octicon "bookmark" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (bookmark) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-material "computer" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (screen) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-material "home" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (house) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-material "menu" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (list) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-material "repeat" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (repeat) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-faicon "suitcase" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (suitcase) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-material "close" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (close) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-octicon "calendar" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (calendar) :fallback 'same-as-icon) (treemacs-create-icon :icon (format "%s%s" (all-the-icons-faicon "briefcase" :height 0.75 :v-adjust 0.1 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (briefcase) :fallback 'same-as-icon) ;; file icons - remove icon if the extension appears in all-the-icons-icon-extension-alist (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "access" :v-adjust 0 :face 'all-the-icons-red) treemacs-all-the-icons-tab) :extensions ("accdb" "accdt") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "actionscript" :v-adjust 0 :face 'all-the-icons-red) treemacs-all-the-icons-tab) :extensions ("actionscript") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "ansible" :v-adjust 0 :face 'all-the-icons-dsilver) treemacs-all-the-icons-tab) :extensions ("ansible") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "antlr" :v-adjust 0 :face 'all-the-icons-orange) treemacs-all-the-icons-tab) :extensions ("antlr") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "apple" :v-adjust 0 :face 'all-the-icons-lsilver) treemacs-all-the-icons-tab) :extensions ("applescript") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "appveyor" :v-adjust 0 :face 'all-the-icons-lblue) treemacs-all-the-icons-tab) :extensions ("appveyor.yml") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "arduino" :v-adjust 0 :face 'all-the-icons-dgreen) treemacs-all-the-icons-tab) :extensions ("ino" "pde") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-material "audiotrack" :v-adjust 0 :face 'all-the-icons-lblue) treemacs-all-the-icons-tab) :extensions ("midi") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "babel" :v-adjust 0 :face 'all-the-icons-yellow) treemacs-all-the-icons-tab) :extensions ("babelignore" "babelrc.js" "babelrc.json" "babel.config.js") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "bazel" :v-adjust 0 :face 'all-the-icons-green) treemacs-all-the-icons-tab) :extensions ("bazelrc" "bazel") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-alltheicon "bower" :v-adjust 0 :face 'all-the-icons-orange) treemacs-all-the-icons-tab) :extensions ("bower.json") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "bundler" :v-adjust 0 :face 'all-the-icons-lblue) treemacs-all-the-icons-tab) :extensions ("gemfile" "gemfile.lock") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-octicon "gear" :v-adjust 0 :face 'all-the-icons-lsilver) treemacs-all-the-icons-tab) :extensions ("bat") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-alltheicon "cplusplus" :v-adjust 0 :face 'all-the-icons-purple) treemacs-all-the-icons-tab) :extensions ("tpp") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-alltheicon "clojure" :v-adjust 0 :face 'all-the-icons-blue) treemacs-all-the-icons-tab) :extensions ("edn") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "cmake" :v-adjust 0 :face 'all-the-icons-green) treemacs-all-the-icons-tab) :extensions ("cmake-cache") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "cobol" :v-adjust 0 :face 'all-the-icons-dblue) treemacs-all-the-icons-tab) :extensions ("cobol") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-alltheicon "coffeescript" :v-adjust 0 :face 'all-the-icons-dorange) treemacs-all-the-icons-tab) :extensions ("coffeescript") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-faicon "certificate" :v-adjust 0 :face 'all-the-icons-yellow) treemacs-all-the-icons-tab) :extensions ("csr" "crt" "cer" "der" "pfx" "p7b" "p7r" "src" "crl" "sst" "stl") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-octicon "gear" :v-adjust 0 :face 'all-the-icons-lsilver) treemacs-all-the-icons-tab) :extensions ("conf" "properties" "config" "cfg" "xdefaults" "xresources" "terminalrc" "ledgerrc") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "cython" :v-adjust 0 :face 'all-the-icons-dblue) treemacs-all-the-icons-tab) :extensions ("cython") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-alltheicon "dlang" :v-adjust 0 :face 'all-the-icons-red) treemacs-all-the-icons-tab) :extensions ("d" "dscript" "dml" "diet") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-octicon "diff" :v-adjust 0 :face 'all-the-icons-lsilver) treemacs-all-the-icons-tab) :extensions ("diff") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "dockerfile" :v-adjust 0 :face 'all-the-icons-blue) treemacs-all-the-icons-tab) :extensions ("docker-compose.yml") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "editorconfig" :v-adjust 0 :face 'all-the-icons-lsilver) treemacs-all-the-icons-tab) :extensions ("editorconfig") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-faicon "wrench" :v-adjust 0 :face 'all-the-icons-lpurple) treemacs-all-the-icons-tab) :extensions ("envrc") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "eslint" :v-adjust 0 :face 'all-the-icons-lpurple) treemacs-all-the-icons-tab) :extensions ("eslintrc" "eslintcache") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-octicon "file-binary" :v-adjust 0 :face 'all-the-icons-lsilver) treemacs-all-the-icons-tab) :extensions ("exe" "obj" "so" "o") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-alltheicon "elixir" :v-adjust 0 :face 'all-the-icons-dpurple) treemacs-all-the-icons-tab) :extensions ("heex") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "cucumber" :v-adjust 0 :face 'all-the-icons-dgreen) treemacs-all-the-icons-tab) :extensions ("feature") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "fortran" :v-adjust 0 :face 'all-the-icons-lsilver) treemacs-all-the-icons-tab) :extensions ("fortran" "fortran-modern" "fortranfreeform") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "fsharp" :v-adjust 0 :face 'all-the-icons-lblue) treemacs-all-the-icons-tab) :extensions ("fsharp") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "godot" :v-adjust 0 :face 'all-the-icons-dblue) treemacs-all-the-icons-tab) :extensions ("gdscript") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-alltheicon "git" :height 0.85 :v-adjust 0 :face 'all-the-icons-red) treemacs-all-the-icons-tab) :extensions ("gitmodules" "gitconfig" "gitignore" "gitattributes") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "graphql" :v-adjust 0 :face 'all-the-icons-pink) treemacs-all-the-icons-tab) :extensions ("graphql") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "jenkins" :v-adjust 0 :face 'all-the-icons-lsilver) treemacs-all-the-icons-tab) :extensions ("jenkins") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-alltheicon "java" :v-adjust 0 :face 'all-the-icons-orange) treemacs-all-the-icons-tab) :extensions ("jar") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-faicon "balance-scale" :v-adjust 0 :face 'all-the-icons-purple) treemacs-all-the-icons-tab) :extensions ("ledger") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-octicon "key" :v-adjust 0 :face 'all-the-icons-yellow) treemacs-all-the-icons-tab) :extensions ("license") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-material "translate" :v-adjust 0 :face 'all-the-icons-blue) treemacs-all-the-icons-tab) :extensions ("locale") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-material "lock" :v-adjust 0 :face 'all-the-icons-dred) treemacs-all-the-icons-tab) :extensions ("lock") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "gnu" :v-adjust 0 :face 'all-the-icons-dsilver) treemacs-all-the-icons-tab) :extensions ("makefile") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "meson" :v-adjust 0 :face 'all-the-icons-green) treemacs-all-the-icons-tab) :extensions ("meson") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "ocaml" :v-adjust 0 :face 'all-the-icons-lorange) treemacs-all-the-icons-tab) :extensions ("merlin" "ocaml") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-faicon "file-video-o" :v-adjust 0 :face 'all-the-icons-lgreen) treemacs-all-the-icons-tab) :extensions ("avi") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "nginx" :v-adjust 0 :face 'all-the-icons-green) treemacs-all-the-icons-tab) :extensions ("nginx.conf") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "npm" :v-adjust 0 :face 'all-the-icons-red) treemacs-all-the-icons-tab) :extensions ("npmignore" "npmrc" "package.json" "package-lock.json" "npm-shrinwrap.json") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "delphi" :v-adjust 0 :face 'all-the-icons-red) treemacs-all-the-icons-tab) :extensions ("pascal" "objectpascal") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "patch" :v-adjust 0 :face 'all-the-icons-orange) treemacs-all-the-icons-tab) :extensions ("patch") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-alltheicon "perl" :v-adjust 0 :face 'all-the-icons-dblue) treemacs-all-the-icons-tab) :extensions ("perl") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "phpunit" :v-adjust 0 :face 'all-the-icons-blue) treemacs-all-the-icons-tab) :extensions ("phpunit" "phpunit.xml") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-alltheicon "postgresql" :v-adjust 0 :face 'all-the-icons-dblue) treemacs-all-the-icons-tab) :extensions ("pgsql") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "powerpoint" :v-adjust 0 :face 'all-the-icons-orange) treemacs-all-the-icons-tab) :extensions ("pot" "potx" "potm" "ppsx" "ppsm" "pptx" "pptm" "pa" "ppa" "ppam" "sldm" "sldx") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-alltheicon "prolog" :v-adjust 0 :face 'all-the-icons-orange) treemacs-all-the-icons-tab) :extensions ("prolog") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "purescript" :v-adjust 0 :face 'all-the-icons-lblue) treemacs-all-the-icons-tab) :extensions ("purs") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "racket" :v-adjust 0 :face 'all-the-icons-dred) treemacs-all-the-icons-tab) :extensions ("racket" "rktd" "rktl" "scrbl" "scribble" "plt") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "sqlite" :v-adjust 0 :face 'all-the-icons-blue) treemacs-all-the-icons-tab) :extensions ("sqlite" "db3" "sqlite3") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "swagger" :v-adjust 0 :face 'all-the-icons-green) treemacs-all-the-icons-tab) :extensions ("swagger") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-alltheicon "terminal" :v-adjust 0 :face 'all-the-icons-dgreen) treemacs-all-the-icons-tab) :extensions ("zshrc" "zshenv" "zprofile" "zlogin" "zlogout" "bash" "bash_profile" "bash_login" "profile" "bash_aliases") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "tsx-alt" :v-adjust 0 :face 'all-the-icons-lgreen) treemacs-all-the-icons-tab) :extensions ("tsx") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "excel" :v-adjust 0 :face 'all-the-icons-green) treemacs-all-the-icons-tab) :extensions ("ods" "fods") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "wasm" :v-adjust 0 :face 'all-the-icons-lpurple) treemacs-all-the-icons-tab) :extensions ("wasm" "wat") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-faicon "font" :v-adjust 0 :face 'all-the-icons-lsilver) treemacs-all-the-icons-tab) :extensions ("ttf" "otf" "eot" "pfa" "pfb" "sfd") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-material "code" :v-adjust 0 :face 'all-the-icons-lpurple) treemacs-all-the-icons-tab) :extensions ("xsl") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-fileicon "yarn" :v-adjust 0 :face 'all-the-icons-dblue) treemacs-all-the-icons-tab) :extensions ("yarn.lock" "yarnrc" "yarnclean" "yarn-integrity" "yarn-metadata.json" "yarnignore") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-octicon "file-media" :v-adjust 0 :face 'all-the-icons-orange) treemacs-all-the-icons-tab) :extensions ("tif" "tiff" "bmp" "psd" "ai" "eps" "indd") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-octicon "file-code" :v-adjust 0 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions ("cask" "ideavimrc" "inputrc" "toml" "tridactylrc" "vh" "vimperatorrc" "vimrc" "vrapperrc") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-octicon "book" :v-adjust 0 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions ("lrf" "lrx" "cbr" "cbz" "cb7" "cbt" "cba" "chm" "djvu" "doc" "docx" "pdb" "pdb" "fb2" "xeb" "ceb" "inf" "azw" "azw3" "kf8" "kfx" "lit" "prc" "mobi" "exe" "or" "pkg" "opf" "txt" "pdb" "ps" "rtf" "pdg" "xml" "tr2" "tr3" "oxps" "xps") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-octicon "file-text" :v-adjust 0 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions ("markdown" "rst" "CONTRIBUTE" "LICENSE" "README" "CHANGELOG") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-octicon "file-binary" :v-adjust 0 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions ("class" "exe" "obj" "so" "o" "out" "pyc") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-octicon "file-zip" :v-adjust 0 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions ("tar" "rar" "tgz") :fallback 'same-as-icon) (treemacs-create-icon :icon (format " %s%s" (all-the-icons-octicon "file-text" :v-adjust 0 :face 'treemacs-all-the-icons-file-face) treemacs-all-the-icons-tab) :extensions (fallback) :fallback 'same-as-icon))) (provide 'treemacs-all-the-icons) ;;; treemacs-all-the-icons.el ends here treemacs-3.2/src/extra/treemacs-evil.el000066400000000000000000000143371476710620300201730ustar00rootroot00000000000000;;; treemacs-evil.el --- Evil mode integration for treemacs -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; Author: Alexander Miller ;; Package-Requires: ((emacs "26.1") (evil "1.2.12") (treemacs "0.0")) ;; Version: 0 ;; Homepage: https://github.com/Alexander-Miller/treemacs ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;;; Evil mode compatibility. ;;; Code: (require 'evil) (require 'treemacs) (treemacs-import-functions-from "treemacs-hydras" treemacs-common-helpful-hydra treemacs-advanced-helpful-hydra) (treemacs-import-functions-from "treemacs-mouse-interface" treemacs-dragleftclick-action treemacs-leftclick-action) (treemacs-import-functions-from "treemacs-mouse-interface" treemacs-copy-file) (declare-function treemacs-add-bookmark "treemacs-bookmarks.el") (declare-function treemacs-git-commit-diff-mode "treemacs-commit-diff-mode.el") (evil-define-state treemacs "Treemacs state" :cursor '(bar . 0) :enable (motion)) (evil-set-initial-state 'treemacs-mode 'treemacs) (defun treemacs-evil---turn-off-visual-state-after-click (&rest _) "Go back to `evil-treemacs-state' after a mouse click." ;; a double click will likely have opened a file so we need to make ;; sure to go back in the right buffer (--when-let (treemacs-get-local-buffer) (with-current-buffer it (evil-treemacs-state)))) (defun treemacs-evil--window-move-compatibility-advice (orig-fun &rest args) "Close Treemacs while moving windows around. Then call ORIG-FUN with its ARGS and reopen treemacs if it was open before." (let* ((treemacs-window (treemacs-get-local-window)) (is-active (and treemacs-window (window-live-p treemacs-window)))) (when is-active (treemacs)) (apply orig-fun args) (when is-active (save-selected-window (treemacs))))) (dolist (func '(evil-window-move-far-left evil-window-move-far-right evil-window-move-very-top evil-window-move-very-bottom)) (advice-add func :around #'treemacs-evil--window-move-compatibility-advice)) (advice-add 'treemacs-leftclick-action :after #'treemacs-evil---turn-off-visual-state-after-click) (advice-add 'treemacs-doubleclick-action :after #'treemacs-evil---turn-off-visual-state-after-click) (define-key evil-treemacs-state-map (kbd "j") #'treemacs-next-line) (define-key evil-treemacs-state-map (kbd "k") #'treemacs-previous-line) (define-key evil-treemacs-state-map (kbd "M-j") #'treemacs-next-neighbour) (define-key evil-treemacs-state-map (kbd "M-k") #'treemacs-previous-neighbour) (define-key evil-treemacs-state-map (kbd "M-J") #'treemacs-next-line-other-window) (define-key evil-treemacs-state-map (kbd "M-K") #'treemacs-previous-line-other-window) (define-key evil-treemacs-state-map (kbd "th") #'treemacs-toggle-show-dotfiles) (define-key evil-treemacs-state-map (kbd "ti") #'treemacs-hide-gitignored-files-mode) (define-key evil-treemacs-state-map (kbd "tw") #'treemacs-toggle-fixed-width) (define-key evil-treemacs-state-map (kbd "tv") #'treemacs-fringe-indicator-mode) (define-key evil-treemacs-state-map (kbd "tf") #'treemacs-follow-mode) (define-key evil-treemacs-state-map (kbd "ta") #'treemacs-filewatch-mode) (define-key evil-treemacs-state-map (kbd "tg") #'treemacs-git-mode) (define-key evil-treemacs-state-map (kbd "tc") #'treemacs-indicate-top-scroll-mode) (define-key evil-treemacs-state-map (kbd "td") #'treemacs-git-commit-diff-mode) (define-key evil-treemacs-state-map (kbd "tn") #'treemacs-indent-guide-mode) (define-key evil-treemacs-state-map (kbd "w") #'treemacs-set-width) (define-key evil-treemacs-state-map (kbd ">") #'treemacs-increase-width) (define-key evil-treemacs-state-map (kbd "<") #'treemacs-decrease-width) (define-key evil-treemacs-state-map (kbd "b") #'treemacs-add-bookmark) (define-key evil-treemacs-state-map (kbd "?") #'treemacs-common-helpful-hydra) (define-key evil-treemacs-state-map (kbd "C-?") #'treemacs-advanced-helpful-hydra) (define-key evil-treemacs-state-map (kbd "RET") #'treemacs-RET-action) (define-key evil-treemacs-state-map (kbd "TAB") #'treemacs-TAB-action) (define-key evil-treemacs-state-map (kbd "H") #'treemacs-collapse-parent-node) (define-key evil-treemacs-state-map (kbd "!") #'treemacs-run-shell-command-for-current-node) (define-key evil-treemacs-state-map (kbd "=") #'treemacs-fit-window-width) (define-key evil-treemacs-state-map (kbd "W") #'treemacs-extra-wide-toggle) (evil-define-key 'treemacs treemacs-mode-map (kbd "yp") #'treemacs-copy-project-path-at-point) (evil-define-key 'treemacs treemacs-mode-map (kbd "ya") #'treemacs-copy-absolute-path-at-point) (evil-define-key 'treemacs treemacs-mode-map (kbd "yr") #'treemacs-copy-relative-path-at-point) (evil-define-key 'treemacs treemacs-mode-map (kbd "yn") #'treemacs-copy-filename-at-point) (evil-define-key 'treemacs treemacs-mode-map (kbd "yf") #'treemacs-copy-file) (evil-define-key 'treemacs treemacs-mode-map (kbd "yv") #'treemacs-paste-dir-at-point-to-minibuffer) (evil-define-key 'treemacs treemacs-mode-map (kbd "gr") #'treemacs-refresh) (evil-define-key 'treemacs treemacs-mode-map [down-mouse-1] #'treemacs-leftclick-action) (evil-define-key 'treemacs treemacs-mode-map [drag-mouse-1] #'treemacs-dragleftclick-action) (evil-define-key 'treemacs treemacs-mode-map (kbd "h") #'treemacs-COLLAPSE-action) (evil-define-key 'treemacs treemacs-mode-map (kbd "RET") #'treemacs-RET-action) (evil-define-key 'treemacs treemacs-mode-map (kbd "l") #'treemacs-RET-action) (unless (window-system) (evil-define-key 'treemacs treemacs-mode-map [C-i] #'treemacs-TAB-action)) (provide 'treemacs-evil) ;;; treemacs-evil.el ends here treemacs-3.2/src/extra/treemacs-icons-dired.el000066400000000000000000000146671476710620300214420ustar00rootroot00000000000000;;; treemacs-icons-dired.el --- Treemacs icons for dired -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; Author: Alexander Miller ;; Package-Requires: ((treemacs "0.0") (emacs "26.1")) ;; Version: 0 ;; Homepage: https://github.com/Alexander-Miller/treemacs ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;;; Treemacs icons for Dired. Code is based on all-the-icons-dired.el ;;; Code: (require 'treemacs) (require 'hl-line) (require 'dired) (require 'pcase) (eval-when-compile (require 'treemacs-macros)) (defvar treemacs-icons-dired--ranger-adjust nil) (with-eval-after-load 'ranger (setf treemacs-icons-dired--ranger-adjust t)) (defvar-local treemacs-icons-dired-displayed nil "Flags whether icons have been added.") (defvar-local treemacs-icons-dired--covered-subdirs nil "List of subdirs icons were already added for.") (defun treemacs-icons-dired--display () "Display the icons of files in a Dired buffer." (when (and (display-graphic-p) (not treemacs-icons-dired-displayed) dired-subdir-alist) (setq-local treemacs-icons-dired-displayed t) (setq-local treemacs-icons (treemacs-theme->gui-icons treemacs--current-theme)) (pcase-dolist (`(,path . ,pos) dired-subdir-alist) (treemacs-icons-dired--display-icons-for-subdir path pos)))) (defun treemacs-icons-dired--display-icons-for-subdir (path pos) "Display icons for subdir PATH at given POS." (unless (member path treemacs-icons-dired--covered-subdirs) (add-to-list 'treemacs-icons-dired--covered-subdirs path) (treemacs-with-writable-buffer (save-excursion (goto-char pos) (dired-goto-next-file) (treemacs-block (while (not (eobp)) (if (dired-move-to-filename nil) (let* ((file (dired-get-filename nil t)) (icon (if (file-directory-p file) (treemacs-icon-for-dir file 'closed) (treemacs-icon-for-file file)))) (insert icon)) (treemacs-return nil)) (forward-line 1)))) (set-buffer-modified-p nil)))) (defun treemacs-icons-dired--insert-subdir-advice (&rest args) "Advice to Dired & Dired+ insert-subdir commands. Will add icons for the subdir in the `car' of ARGS." (let* ((path (file-name-as-directory (car args))) (pos (cdr (assoc path dired-subdir-alist)))) (when pos (treemacs-icons-dired--display-icons-for-subdir path pos)))) (advice-add #'dired-insert-subdir :after #'treemacs-icons-dired--insert-subdir-advice) (with-eval-after-load 'dired+ (when (fboundp 'diredp-insert-subdirs) (advice-add #'diredp-insert-subdirs :after #'treemacs-icons-dired--insert-subdir-advice))) (defun treemacs-icons-dired--kill-subdir-advice (&rest _args) "Advice to Dired kill-subdir commands. Will remove the killed subdir from `treemacs-icons-dired--covered-subdirs'." (setf treemacs-icons-dired--covered-subdirs (delete (dired-current-directory) treemacs-icons-dired--covered-subdirs))) (advice-add #'dired-kill-subdir :before #'treemacs-icons-dired--kill-subdir-advice) (defun treemacs-icons-dired--reset (&rest _args) "Reset metadata on revert." (setq-local treemacs-icons-dired--covered-subdirs nil) (setq-local treemacs-icons-dired-displayed nil)) (defun treemacs-icons-dired--add-icon-for-new-entry (file &rest _) "Add an icon for a new single FILE added by Dired." (let (buffer-read-only) (insert (if (file-directory-p file) (treemacs-icon-for-dir file 'closed) (treemacs-icon-for-file file))))) (defun treemacs-icons-dired--set-tab-width () "Set the local `tab-width' to 1. Necessary for the all-the-icons based themes." (setq-local tab-width 1)) (defun treemacs-icons-dired--setup () "Setup for the minor-mode." (add-hook 'dired-after-readin-hook #'treemacs-icons-dired--display) (add-hook 'dired-mode-hook #'treemacs--select-icon-set) (add-hook 'dired-mode-hook #'treemacs-icons-dired--set-tab-width) (advice-add 'dired-revert :before #'treemacs-icons-dired--reset) (advice-add 'ranger-setup :before #'treemacs--select-icon-set) (advice-add 'dired-add-entry :after #'treemacs-icons-dired--add-icon-for-new-entry) (dolist (buffer (buffer-list)) (with-current-buffer buffer (when (derived-mode-p 'dired-mode) (treemacs-icons-dired--set-tab-width) (treemacs--select-icon-set) (treemacs-icons-dired--display))))) (defun treemacs-icons-dired--teardown () "Tear-down for the minor-mode." (remove-hook 'dired-after-readin-hook #'treemacs-icons-dired--display) (remove-hook 'dired-mode-hook #'treemacs--select-icon-set) (remove-hook 'dired-mode-hook #'treemacs-icons-dired--set-tab-width) (advice-remove 'dired-revert #'treemacs-icons-dired--reset) (advice-remove 'ranger-setup #'treemacs--select-icon-set) (advice-remove 'dired-add-entry #'treemacs-icons-dired--add-icon-for-new-entry) (dolist (buffer (buffer-list)) (with-current-buffer buffer (when (derived-mode-p 'dired-mode) (dired-revert))))) ;;;###autoload (define-minor-mode treemacs-icons-dired-mode "Display treemacs icons for each file in a Dired buffer." :require 'treemacs-icons-dired :init-value nil :global t :group 'treemacs (if treemacs-icons-dired-mode (treemacs-icons-dired--setup) (treemacs-icons-dired--teardown))) ;;;###autoload (defun treemacs-icons-dired-enable-once () "Enable `treemacs-icons-dired-mode' and remove self from `dired-mode-hook'. This function is meant to be used as a single-use toggle added to `dired-mode-hook' to enable icons for Dired only once, without having to use \"with-eval-after-load \\='dired\", since Dired tends to be loaded early." (treemacs-icons-dired-mode) (remove-hook 'dired-mode-hook #'treemacs-icons-dired-enable-once)) (provide 'treemacs-icons-dired) ;;; treemacs-icons-dired.el ends here treemacs-3.2/src/extra/treemacs-magit.el000066400000000000000000000235551476710620300203370ustar00rootroot00000000000000;;; treemacs-magit.el --- Magit integration for treemacs -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; Author: Alexander Miller ;; Package-Requires: ((emacs "26.1") (treemacs "0.0") (pfuture "1.3" ) (magit "2.90.0")) ;; Version: 0 ;; Homepage: https://github.com/Alexander-Miller/treemacs ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;;; Closing the gaps for filewatch- and git-modes in conjunction with magit. ;;; Specifically this package will hook into magit so as to artificially ;;; produce filewatch events for changes that treemacs would otherwise ;;; not catch, namely the committing and (un)staging of files. ;;; Code: (require 'treemacs) (require 'magit) (require 'pfuture) (require 'seq) ;; no need for dash for a single when-let (eval-when-compile (when (version< emacs-version "26") (defalias 'if-let* #'if-let) (defalias 'when-let* #'when-let))) ;;;; Filewatch (defvar treemacs-magit--timers nil "Cached list of roots an update is scheduled for.") (defun treemacs-magit--schedule-update () "Schedule an update to potentially run after 3 seconds of idle time. In order for the update to fully run several conditions must be met: * A timer for an update for the given directory must not already exist (see `treemacs-magit--timers') * The directory must be part of a treemacs workspace, and * The project must not be set for refresh already." (when treemacs-git-mode (let ((magit-root (treemacs-canonical-path (magit-toplevel)))) (unless (member magit-root treemacs-magit--timers) (push magit-root treemacs-magit--timers) (run-with-idle-timer 3 nil (lambda () (unwind-protect (pcase treemacs--git-mode ('simple (treemacs-magit--simple-git-mode-update magit-root)) ((or 'extended 'deferred) (treemacs-magit--extended-git-mode-update magit-root))) (setf treemacs-magit--timers (delete magit-root treemacs-magit--timers))))))))) (defun treemacs-magit--simple-git-mode-update (magit-root) "Update the project at the given MAGIT-ROOT. Without the parsing ability of extended git-mode this update uses filewatch-mode's mechanics to update the entire project." (treemacs-run-in-every-buffer (when-let* ((project (treemacs--find-project-for-path magit-root)) (dom-node (treemacs-find-in-dom (treemacs-project->path project)))) (push (cons (treemacs-project->path project) 'force-refresh) (treemacs-dom-node->refresh-flag dom-node)) (treemacs--start-filewatch-timer)))) (defun treemacs-magit--extended-git-mode-update (magit-root) "Update the project at the given MAGIT-ROOT. This runs due to a commit or stash action, so we know that no files have actually been added or deleted. This allows us to forego rebuilding the entire project structure just to be sure we caught everything. Instead we grab the current git status and just go through the lines as they are right now." ;; we run a single git process to update every buffer, so we need to gather ;; the visible dirs in every buffer ;; this collection may contain duplicates, but they are removed in python (-let [visible-dirs nil] (treemacs-run-in-every-buffer (dolist (dir (-some->> magit-root (treemacs-find-in-dom) (treemacs-dom-node->children) (-map #'treemacs-dom-node->key))) (when (stringp dir) (push dir visible-dirs)))) (pfuture-callback `(,treemacs-python-executable "-O" "-S" ,treemacs--git-status.py ,magit-root ,(number-to-string treemacs-max-git-entries) ,treemacs-git-command-pipe ,@visible-dirs) :directory magit-root :on-success (progn (ignore status) (treemacs-magit--update-callback magit-root pfuture-buffer))))) (defun treemacs-magit--update-callback (magit-root pfuture-buffer) "Run the update as a pfuture callback. Will update nodes under MAGIT-ROOT with output in PFUTURE-BUFFER." (let ((ht (read (pfuture-output-from-buffer pfuture-buffer)))) (treemacs-run-in-every-buffer (let ((dom-node (or (treemacs-find-in-dom magit-root) (when-let* ((project (seq-find (lambda (pr) (treemacs-is-path (treemacs-project->path pr) :in magit-root)) (treemacs-workspace->projects (treemacs-current-workspace))))) (treemacs-find-in-dom (treemacs-project->path project)))))) (when (and dom-node (treemacs-dom-node->position dom-node) (treemacs-is-node-expanded? (treemacs-dom-node->position dom-node)) (null (treemacs-dom-node->refresh-flag dom-node))) (save-excursion (goto-char (treemacs-dom-node->position dom-node)) (forward-line 1) (let* ((node (treemacs-node-at-point)) (start-depth (-some-> node (treemacs-button-get :depth))) (curr-depth start-depth) (path (-some-> node (treemacs-button-get :key)))) (treemacs-with-writable-buffer (while (and node (>= curr-depth start-depth)) (when (and (stringp path) (file-exists-p path)) (treemacs--git-face-quick-change (treemacs-button-get node :key) (or (ht-get ht path) (if (memq (treemacs-button-get node :state) '(file-node-open file-node-closed)) 'treemacs-git-unmodified-face 'treemacs-directory-face))) (put-text-property (treemacs-button-start node) (treemacs-button-end node) 'face (or (ht-get ht path) (if (memq (treemacs-button-get node :state) '(file-node-open file-node-closed)) 'treemacs-git-unmodified-face 'treemacs-directory-face)))) (forward-line 1) (if (eobp) (setf node nil) (setf node (treemacs-node-at-point) path (-some-> node (treemacs-button-get :path)) curr-depth (-some-> node (treemacs-button-get :depth))))))))))))) (unless (featurep 'treemacs-magit) (add-hook 'magit-post-commit-hook #'treemacs-magit--schedule-update) (add-hook 'git-commit-post-finish-hook #'treemacs-magit--schedule-update) (add-hook 'magit-post-stage-hook #'treemacs-magit--schedule-update) (add-hook 'magit-post-unstage-hook #'treemacs-magit--schedule-update)) ;;;; Git Commit Diff (defvar treemacs--git-commit-diff.py) (defvar treemacs--commit-diff-ann-source) (defconst treemacs--commit-diff-update-commands (list "pull" "push" "commit" "merge" "rebase" "cherry-pick" "fetch" "checkout") "List of git commands that change local/remote commit status info. Relevant for integrating with `treemacs-git-commit-diff-mode'.") (defun treemacs--update-commit-diff-after-magit-process (process &rest _) "Update commit diffs after completion of a magit git PROCESS." (when (memq (process-status process) '(exit signal)) (let* ((args (process-command process)) (command (car (nthcdr (1+ (length magit-git-global-arguments)) args)))) (when (member command treemacs--commit-diff-update-commands) (-let [path (process-get process 'default-dir)] (pfuture-callback `(,treemacs-python-executable "-O" ,treemacs--git-commit-diff.py ,path) :directory path :on-success (-let [out (-> (pfuture-callback-output) (treemacs-string-trim-right) (read))] (treemacs-run-in-every-buffer (-when-let* ((project (treemacs--find-project-for-path path)) (project-path (treemacs-project->path project))) (if out (treemacs-set-annotation-suffix project-path out treemacs--commit-diff-ann-source) (treemacs-remove-annotation-suffix project-path treemacs--commit-diff-ann-source)) (treemacs-apply-single-annotation project-path)))))))))) (defun treemacs--magit-commit-diff-setup () "Enable or disable magit advice for `treemacs-git-commit-diff-mode'." (if (bound-and-true-p treemacs-git-commit-diff-mode) (advice-add #'magit-process-sentinel :after #'treemacs--update-commit-diff-after-magit-process) (advice-remove #'magit-process-sentinel #'treemacs--update-commit-diff-after-magit-process))) (unless (featurep 'treemacs-magit) (add-hook 'treemacs-git-commit-diff-mode-hook #'treemacs--magit-commit-diff-setup) (when (bound-and-true-p treemacs-git-commit-diff-mode) (advice-add #'magit-process-sentinel :after #'treemacs--update-commit-diff-after-magit-process))) (provide 'treemacs-magit) ;;; treemacs-magit.el ends here treemacs-3.2/src/extra/treemacs-mu4e.el000066400000000000000000000320411476710620300200760ustar00rootroot00000000000000;;; treemacs-mu4e.el --- mu4e integration for treemacs -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; Author: Alexander Miller ;; Package-Requires: ((emacs "26.1") (treemacs "0.0") (pfuture "1.7") (dash "2.11.0") (s "1.10.0") (ht "2.2")) ;; Homepage: https://github.com/Alexander-Miller/treemacs ;; Version: 0 ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; This package creates a thunderbird-inspired sidebar for mu4e using ;; treemacs' treelib api. ;; ;; Some of mu's directories are not part of a maildir hierarchy, but stand at the ;; top alone. Like in thunderbird, they are grouped in a fake "Local Folders" tree. ;; Since the top of this does not really exist it is sometimes necessary to make ;; the mapping towards the "true" maildir' folder, e.g. when displaying the maildir ;; in mu4e and getting the message counts from python. ;;; Code: (require 'mu4e) (require 'pfuture) (require 'treemacs) (require 'treemacs-treelib) (require 's) (require 'ht) (require 'dash) (eval-when-compile (require 'cl-lib) (require 'inline)) (eval-when-compile (cl-declaim (optimize (speed 3) (safety 0)))) ;;;;; Customization (defgroup treemacs-mu4e nil "Treemacs+mu4e configuration options." :group 'treemacs-mu4e :prefix "treemacs-mu4e-") (defface treemacs-mu4e-mailcount-face '((t :inherit font-lock-comment-face)) "Face for message count annotations." :group 'treemacs-mu4e) (defcustom treemacs-mu4e-local-folders "Local Folders" "Name for group of local folders." :group 'treemacs-mu4e :type 'string) ;;;;; Globals (defconst treemacs-mu4e--buffer-name " *Treemacs Mu4e*") (defconst treemacs-mu4e--count-script (expand-file-name "src/scripts/treemacs-count-mail.py" treemacs-dir)) (defconst treemacs-mu4e--maildir-map (make-hash-table :size 200 :test 'equal) "Maps mu's maildir names to maildir objects.") (defconst treemacs-mu4e--label-map (make-hash-table :size 200 :test 'equal) "Maps maildir names to their display labels.") (defconst treemacs-mu4e--weight-map (make-hash-table :size 200 :test 'equal) "Maps maildir names to their weights.") (defvar treemacs-mu4e--mailcount-update-timer nil "Timer for debounced the maildir updates.") (cl-defstruct (treemacs-maildir (:conc-name treemacs-maildir->) (:constructor treemacs-maildir->create!)) (mu-dir nil :read-only t) label weight children parent) ;;;;; Maildir collection & setup (define-inline treemacs-maildir->true-folder (self) "Get the maildir of SELF, but without the workaround for local folders. Will replace the folder string's `treemacs-mu4e-local-folders' prefix with just \"/\" again." (declare (side-effect-free t)) (inline-letevals (self) (inline-quote (s-replace (concat "/" treemacs-mu4e-local-folders) "" (treemacs-maildir->mu-dir ,self))))) (define-inline treemacs-mu4e--get-default-label (maildir) "Use the string after the last slash as MAILDIR's default label." (declare (pure t) (side-effect-free t)) (inline-letevals (maildir) (inline-quote (-last-item (-reject #'s-blank? (s-split "/" ,maildir)))))) (define-inline treemacs-mu4e--maildir-sort-function (m1 m2) "Sort M1 and M2 based on their weight values." (declare (side-effect-free t)) (inline-letevals (m1 m2) (inline-quote (< (treemacs-maildir->weight ,m1) (treemacs-maildir->weight ,m2))))) (defun treemacs-mu4e--collect-maildirs () "Collect all maildirs when this module is first loaded. Maildir strings will be mapped to maildir objects in `treemacs-mu4e--maildir-map'. Local folders (without subdirs) will be collected under the `treemacs-mu4e-local-folders' prefix. Label and weight metadata will be sourced from possibly pre-filled `treemacs-mu4e--label-map' and `treemacs-mu4e--weight-map'." (ht-clear! treemacs-mu4e--maildir-map) (let ((mu-maildirs (mu4e-get-maildirs))) (dolist (mu-maildir mu-maildirs) (let* ((is-leaf? (not (s-ends-with? "/" mu-maildir))) (strs (cdr (s-split "/" mu-maildir))) (strs (if (length= strs 1) (list treemacs-mu4e-local-folders (car strs)) strs)) (max (length strs)) (steps)) (dolist (n (number-sequence 1 max)) (push (format (if (and is-leaf? (= n max)) "/%s" "/%s/") (s-join "/" (-take n strs))) steps)) (let ((previous)) (dolist (step (nreverse steps)) (let* ((default-label (treemacs-mu4e--get-default-label step)) (maildir (or (ht-get treemacs-mu4e--maildir-map step) (-let ((new-maildir (treemacs-maildir->create! :mu-dir step :parent previous :label (ht-get treemacs-mu4e--label-map step default-label) :weight (ht-get treemacs-mu4e--weight-map step 1000)))) (ht-set! treemacs-mu4e--maildir-map step new-maildir) new-maildir)))) (when previous (cl-pushnew maildir (treemacs-maildir->children previous))) (setf previous maildir)))))))) ;;;;; Treelib setup (defun treemacs-mu4e--top-level-maildirs-datasource () "Data source for the very first level of maildirs." (->> (ht-values treemacs-mu4e--maildir-map) (--filter (null (treemacs-maildir->parent it))) (-sort #'treemacs-mu4e--maildir-sort-function))) (defun treemacs-mu4e--child-maidirs-datasource (btn) "Data source for maildirs whose direct parent is BTN." (-let [parent-dir (treemacs-maildir->mu-dir (treemacs-button-get btn :maildir))] (->> (ht-get treemacs-mu4e--maildir-map parent-dir) (treemacs-maildir->children) (-sort #'treemacs-mu4e--maildir-sort-function)))) (defun treemacs-mu4e--visit-maildir (&optional _arg) "Open the maildir at point in mu4e." (-> (treemacs-current-button) (treemacs-button-get :maildir) (treemacs-maildir->true-folder) (mu4e~headers-jump-to-maildir)) (select-window (--first (eq 'mu4e-headers-mode (buffer-local-value 'major-mode (window-buffer it))) (window-list)))) (treemacs-define-variadic-entry-node-type mu4e-top-maildirs :key 'treemacs-mu4e :children (treemacs-mu4e--top-level-maildirs-datasource) :child-type 'mu4e-maildir) (treemacs-define-expandable-node-type mu4e-maildir :open-icon (cond ((null (treemacs-maildir->parent item)) (treemacs-get-icon-value 'inbox)) ((treemacs-maildir->children item) (treemacs-get-icon-value 'mail-plus)) (t (treemacs-get-icon-value 'mail))) :closed-icon (cond ((null (treemacs-maildir->parent item)) (treemacs-get-icon-value 'mail-inbox)) ((treemacs-maildir->children item) (treemacs-get-icon-value 'mail-plus)) (t (treemacs-get-icon-value 'mail))) :ret-action #'treemacs-mu4e--visit-maildir :label (if (treemacs-maildir->parent item) (propertize (treemacs-maildir->label item) 'face 'treemacs-directory-face) (propertize (treemacs-maildir->label item) 'face 'treemacs-root-face)) :key (treemacs-maildir->mu-dir item) :children (treemacs-mu4e--child-maidirs-datasource btn) :more-properties `(:maildir ,item :default-face ,(if (treemacs-maildir->parent item) 'treemacs-directory-face 'treemacs-root-face) ,@(unless (treemacs-maildir->children item) '(:leaf t))) :child-type 'mu4e-maildir) ;;;;; Configuration setup (defun treemacs-mu4e-define-aliases (&rest pairs) "Define a set of display name PAIRS. The first item is the actual name of the maildir, the second item is how it should be displayed. \(fn [MAILDIR DISPLAY-LABEL]...)" (treemacs-static-assert (= 0 (% (length pairs) 2)) "Uneven number of name items.") (while pairs (let* ((name (pop pairs)) (label (pop pairs))) (ht-set! treemacs-mu4e--label-map name label) (--when-let (ht-get treemacs-mu4e--maildir-map name) (setf (treemacs-maildir->label it) label))))) (defun treemacs-mu4e-define-weights (&rest pairs) "Define set of display weight PAIRS. The first item is the actual name of the maildir, the second item is its sorting weight in the view. Higher values are sorted later. The default weight is 100. \(fn [MAILDIR WEIGHT]...)" (treemacs-static-assert (= 0 (% (length pairs) 2)) "Uneven number of name items.") (while pairs (let* ((name (pop pairs)) (weight (pop pairs))) (ht-set! treemacs-mu4e--weight-map name weight) (--when-let (ht-get treemacs-mu4e--maildir-map name) (setf (treemacs-maildir->weight it) weight))))) ;;;;; Interactive commands (defun treemacs-mu4e-print-all-maildirs () "Provides an overview of all maildirs and their configuration. This might be useful when filling up setting up `treemacs-mu4e-define-aliases' and `treemacs-mu4e-define-weights'." (interactive) (pop-to-buffer (get-buffer-create "Treemacs Mu4e Maildirs")) (erase-buffer) (org-mode) (setq-local org-hide-emphasis-markers nil) (let ((roots (--filter (null (treemacs-maildir->parent it)) (ht-values treemacs-mu4e--maildir-map)))) (dolist (root roots) (treemacs-mu4e--print-maildir root 1))) (goto-char 0)) (defun treemacs-mu4e--print-maildir (maildir d) "Print MAILDIR at depth D as an org sub-tree." (insert (format "%s %s\n- label :: %s\n- weight :: %s\n" (make-string d ?*) (treemacs-maildir->mu-dir maildir) (treemacs-maildir->label maildir) (treemacs-maildir->weight maildir) )) (dolist (child (-sort #'treemacs-mu4e--maildir-sort-function (treemacs-maildir->children maildir))) (treemacs-mu4e--print-maildir child (1+ d)))) ;;;###autoload (defun treemacs-mu4e () "Select or display the Mu4e side-bar." (interactive) (--if-let (get-buffer-window treemacs-mu4e--buffer-name) (select-window it) (-let [start-fn (lambda () (when (ht-empty? treemacs-mu4e--maildir-map) (treemacs-mu4e--collect-maildirs)) (treemacs-mu4e--display))] (if (ignore-errors (mu4e-root-maildir)) (funcall start-fn) (mu4e--init-handlers) (mu4e--start start-fn))))) (defun treemacs-mu4e--display () "Display the mu4e buffer in a side-window." (--when-let (get-buffer treemacs-mu4e--buffer-name) (kill-buffer it)) (let* ((buf (get-buffer-create treemacs-mu4e--buffer-name)) (window (display-buffer-in-side-window buf `((side . ,treemacs-position) (slot . 1))))) (select-window window) (treemacs-initialize mu4e-top-maildirs :with-expand-depth 1 :and-do (setq-local treemacs-space-between-root-nodes t)) (treemacs-mu4e--update-mailcounts) (treemacs--evade-image))) ;;;;; Async Mailcount (defun treemacs-mu4e--update-mailcounts (&rest _) "Shell out to mu to update the message counts and redraw them." (treemacs-debounce treemacs-mu4e--mailcount-update-timer 3 (-let [maildirs (-map #'treemacs-maildir->mu-dir (ht-values treemacs-mu4e--maildir-map))] (pfuture-callback `("python" "-O" "-S" ,treemacs-mu4e--count-script ,treemacs-mu4e-local-folders ,@maildirs) :on-error (treemacs-log-failure "Mail count update error: %s" (pfuture-callback-output)) :on-success (-let [source "treemacs-mu4e-mailcount"] (treemacs-clear-annotation-suffixes source) (pcase-dolist (`(,path ,suffix) (read (pfuture-callback-output))) (put-text-property 0 (length suffix) 'face 'treemacs-mu4e-mailcount-face suffix) (treemacs-set-annotation-suffix path suffix source) (-let [buffer (get-buffer treemacs-mu4e--buffer-name)] (when (buffer-live-p buffer) (treemacs-apply-annotations-in-buffer buffer))))))))) (add-hook 'mu4e-index-updated-hook #'treemacs-mu4e--update-mailcounts) (add-hook 'mu4e-message-changed-hook #'treemacs-mu4e--update-mailcounts) (with-no-warnings (with-eval-after-load 'winum (add-to-list 'winum-ignored-buffers treemacs-mu4e--buffer-name))) (provide 'treemacs-mu4e) ;;; treemacs-mu4e.el ends here treemacs-3.2/src/extra/treemacs-persp.el000066400000000000000000000140221476710620300203540ustar00rootroot00000000000000;;; treemacs-persp.el --- Persp-mode integration for treemacs -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; Author: Alexander Miller ;; Package-Requires: ((emacs "26.1") (treemacs "0.0") (persp-mode "2.9.7") (dash "2.11.0")) ;; Version: 0 ;; Homepage: https://github.com/Alexander-Miller/treemacs ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;;; Integration of persp-mode into treemacs' buffer scoping framework. ;;; Code: (require 'treemacs) (require 'persp-mode) (require 'eieio) (require 'dash) (eval-when-compile (require 'treemacs-macros) (require 'cl-lib)) ;; remove base compatibility hook (remove-hook 'persp-activated-functions #'treemacs--remove-treemacs-window-in-new-frames) (defclass treemacs-persp-scope (treemacs-scope) () :abstract t) (add-to-list 'treemacs-scope-types (cons 'Perspectives 'treemacs-persp-scope)) (cl-defmethod treemacs-scope->current-scope ((_ (subclass treemacs-persp-scope))) "Get the current perspective as scope. Returns the symbol `none' if no perspective is active." (or (get-current-persp) 'none)) (cl-defmethod treemacs-scope->current-scope-name ((_ (subclass treemacs-persp-scope)) persp) "Return the name of the given perspective PERSP. Will return \"No Perspective\" if no perspective is active." (if (eq 'none persp) "No Perspective" (format "Perspective %s" (persp-name persp)))) (cl-defmethod treemacs-scope->setup ((_ (subclass treemacs-persp-scope))) "Persp-scope setup." (add-hook 'persp-activated-functions #'treemacs-persp--on-perspective-switch) (add-hook 'persp-renamed-functions #'treemacs-persp--on-perspective-rename) (add-hook 'persp-before-kill-functions #'treemacs--on-scope-kill) (treemacs-persp--ensure-workspace-exists)) (cl-defmethod treemacs-scope->cleanup ((_ (subclass treemacs-persp-scope))) "Persp-scope tear-down." (remove-hook 'persp-activated-functions #'treemacs-persp--on-perspective-switch) (remove-hook 'persp-renamed-functions #'treemacs-persp--on-perspective-rename) (remove-hook 'persp-before-kill-functions #'treemacs--on-scope-kill)) (defun treemacs-persp--on-perspective-rename (_perspective old-name new-name) "Hook running after perspective was renamed. Will rename treemacs perspective workspace OLD-NAME to use NEW-NAME." (treemacs-do-rename-workspace (treemacs--find-workspace-by-name (treemacs-persp--format-workspace-name old-name)) (treemacs-persp--format-workspace-name new-name))) (defun treemacs-persp--on-perspective-switch (&rest _) "Hook running after the perspective was switched. Will select a workspace for the now active perspective, creating it if necessary." ;; running with a timer ensures that any other post-processing is finished after a perspective ;; was run since commands like `spacemacs/helm-persp-switch-project' first create a perspective ;; and only afterwards select the file to display (run-with-timer 0.1 nil (lambda () (treemacs-without-following (treemacs-persp--ensure-workspace-exists) (treemacs--change-buffer-on-scope-change))))) (defun treemacs-persp--ensure-workspace-exists () "Make sure a workspace exists for the given PERSP-NAME. Matching happens by name. If no workspace can be found it will be created." (let* ((persp-name (treemacs-scope->current-scope-name (treemacs-current-scope-type) (treemacs-current-scope))) (workspace (or (treemacs--find-workspace-by-name persp-name) (treemacs-persp--create-workspace persp-name)))) (setf (treemacs-current-workspace) workspace) (treemacs--invalidate-buffer-project-cache) (run-hooks 'treemacs-switch-workspace-hook) workspace)) (defun treemacs-persp--create-workspace (name) "Create a new workspace for the given persp NAME. Projects will be found as per `treemacs--find-user-project-functions'. If that does not return anything the projects of the fallback workspace will be copied." (treemacs-block (let* ((ws-result (treemacs-do-create-workspace name)) (ws-status (car ws-result)) (ws (cadr ws-result)) (root-path (treemacs--find-current-user-project)) (project-list)) (unless (eq ws-status 'success) (treemacs-log "Failed to create workspace for perspective: %s, using fallback instead." ws) (treemacs-return (car treemacs--workspaces))) (if root-path (setf project-list (list (treemacs-project->create! :name (treemacs--filename root-path) :path root-path :path-status (treemacs--get-path-status root-path)))) (-let [fallback-workspace (car treemacs--workspaces)] ;; copy the projects instead of reusing them so we don't accidentally rename ;; a project in 2 workspaces (dolist (project (treemacs-workspace->projects fallback-workspace)) (push (treemacs-project->create! :name (treemacs-project->name project) :path (treemacs-project->path project) :path-status (treemacs-project->path-status project)) project-list)))) (setf (treemacs-workspace->projects ws) (nreverse project-list)) (treemacs-return ws)))) (defun treemacs-persp--format-workspace-name (perspective-name) "Format of the workspace name used for a perspective named PERSPECTIVE-NAME." (format "Perspective %s" perspective-name)) (provide 'treemacs-persp) ;;; treemacs-persp.el ends here treemacs-3.2/src/extra/treemacs-perspective.el000066400000000000000000000145551476710620300215670ustar00rootroot00000000000000;;; treemacs-perspective.el --- Perspective integration for treemacs -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; Author: Alexander Miller ;; Jason Dufair ;; Package-Requires: ((emacs "26.1") (treemacs "0.0") (perspective "2.8") (dash "2.11.0")) ;; Version: 0 ;; Homepage: https://github.com/Alexander-Miller/treemacs ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;;; Integration of perspective.el into treemacs' buffer scoping framework. ;;; Code: (require 'treemacs) (require 'perspective) (require 'eieio) (require 'dash) (eval-when-compile (require 'treemacs-macros) (require 'cl-lib)) ;; remove base compatibility hook (remove-hook 'perspective-activated-functions #'treemacs--remove-treemacs-window-in-new-frames) (defclass treemacs-perspective-scope (treemacs-scope) () :abstract t) (add-to-list 'treemacs-scope-types (cons 'Perspectives 'treemacs-perspective-scope)) (cl-defmethod treemacs-scope->current-scope ((_ (subclass treemacs-perspective-scope))) "Get the current perspective as scope. Returns the symbol `none' if no perspective is active." (or (persp-curr) 'none)) (cl-defmethod treemacs-scope->current-scope-name ((_ (subclass treemacs-perspective-scope)) perspective) "Return the name of the given PERSPECTIVE. Will return \"No Perspective\" if no perspective is active." (if (eq 'none perspective) "No Perspective" (treemacs-perspective--format-workspace-name (persp-name perspective)))) (defun treemacs-perspective--on-scope-kill () "Cleanup hook to run when a perspective is killed." (treemacs--on-scope-kill (persp-current-name))) (cl-defmethod treemacs-scope->setup ((_ (subclass treemacs-perspective-scope))) "Perspective-scope setup." (add-hook 'persp-switch-hook #'treemacs-perspective--on-perspective-switch) (add-hook 'persp-after-rename-hook #'treemacs-perspective--on-perspective-rename) (add-hook 'persp-killed-hook #'treemacs-perspective--on-scope-kill) (treemacs-perspective--ensure-workspace-exists)) (cl-defmethod treemacs-scope->cleanup ((_ (subclass treemacs-perspective-scope))) "Perspective-scope tear-down." (remove-hook 'persp-switch-hook #'treemacs-perspective--on-perspective-switch) (remove-hook 'persp-after-rename-hook #'treemacs-perspective--on-perspective-rename) (remove-hook 'persp-killed-hook #'treemacs-perspective--on-scope-kill)) (defun treemacs-perspective--on-perspective-rename () "Hook running after the perspective was renamed. Will rename the current workspace to the current perspective's name." (treemacs-do-rename-workspace ;; Current workspace's name (treemacs-current-workspace) (treemacs-perspective--format-workspace-name (persp-current-name)))) (defun treemacs-perspective--on-perspective-switch (&rest _) "Hook running after the perspective was switched. Will select a workspace for the now active perspective, creating it if necessary." ;; running with a timer ensures that any other post-processing is finished after a perspective ;; was run since commands like `spacemacs/helm-persp-switch-project' first create a perspective ;; and only afterwards select the file to display (run-with-timer 0.1 nil (lambda () (treemacs-without-following (treemacs-perspective--ensure-workspace-exists) (treemacs--change-buffer-on-scope-change))))) (defun treemacs-perspective--ensure-workspace-exists () "Make sure a workspace exists for the given PERSPECTIVE-NAME. Matching happens by name. If no workspace can be found it will be created." (let* ((perspective-name (treemacs-scope->current-scope-name (treemacs-current-scope-type) (treemacs-current-scope))) (workspace (or (treemacs--find-workspace-by-name perspective-name) (treemacs-perspective--create-workspace perspective-name)))) (setf (treemacs-current-workspace) workspace) (treemacs--invalidate-buffer-project-cache) (run-hooks 'treemacs-switch-workspace-hook) workspace)) (defun treemacs-perspective--create-workspace (name) "Create a new workspace for the given perspective NAME. Projects will be found as per `treemacs--find-user-project-functions'. If that does not return anything the projects of the fallback workspace will be copied." (treemacs-block (let* ((ws-result (treemacs-do-create-workspace name)) (ws-status (car ws-result)) (ws (cadr ws-result)) (root-path (treemacs--find-current-user-project)) (project-list)) (unless (eq ws-status 'success) (treemacs-log "Failed to create workspace for perspective: %s, using fallback instead." ws) (treemacs-return (car treemacs--workspaces))) (if root-path (setf project-list (list (treemacs-project->create! :name (treemacs--filename root-path) :path root-path :path-status (treemacs--get-path-status root-path)))) (-let [fallback-workspace (car treemacs--workspaces)] ;; copy the projects instead of reusing them so we don't accidentally rename ;; a project in 2 workspaces (dolist (project (treemacs-workspace->projects fallback-workspace)) (push (treemacs-project->create! :name (treemacs-project->name project) :path (treemacs-project->path project) :path-status (treemacs-project->path-status project)) project-list)))) (setf (treemacs-workspace->projects ws) (nreverse project-list)) (treemacs-return ws)))) (defun treemacs-perspective--format-workspace-name (perspective-name) "Format of the workspace name used for a perspective named PERSPECTIVE-NAME." (format "Perspective %s" perspective-name)) (provide 'treemacs-perspective) ;;; treemacs-perspective.el ends here treemacs-3.2/src/extra/treemacs-projectile.el000066400000000000000000000153531476710620300213730ustar00rootroot00000000000000;;; treemacs-projectile.el --- Projectile integration for treemacs -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; Author: Alexander Miller ;; Package-Requires: ((emacs "26.1") (projectile "0.14.0") (treemacs "0.0")) ;; Version: 0 ;; Homepage: https://github.com/Alexander-Miller/treemacs ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;;; Projectile integration for treemacs ;;; Code: (require 'treemacs) (require 'projectile) (eval-when-compile (require 'treemacs-macros)) ;;;###autoload (defun treemacs-projectile (&optional arg) "Add one of `projectile-known-projects' to the treemacs workspace. With a prefix ARG was for the name of the project instead of using the name of the project's root directory." (interactive) (if (and (bound-and-true-p projectile-known-projects) (listp projectile-known-projects) projectile-known-projects) (let* ((projects (--reject (treemacs-is-path (treemacs-canonical-path it) :in-workspace (treemacs-current-workspace)) (-map #'treemacs--unslash projectile-known-projects))) (path (completing-read "Project: " projects)) (name (unless arg (treemacs--filename path)))) (if (treemacs-workspace->is-empty?) (treemacs--init path name) (save-selected-window (treemacs-select-window) ;; not casing the full error list since some are excluded (pcase (treemacs-do-add-project-to-workspace path name) (`(success ,project) (treemacs-pulse-on-success "Added project %s to the workspace." (propertize (treemacs-project->name project) 'face 'font-lock-type-face))) (`(duplicate-name ,duplicate) (goto-char (treemacs-project->position duplicate)) (treemacs-pulse-on-failure "A project with the name %s already exists." (propertize (treemacs-project->name duplicate) 'face 'font-lock-type-face))))))) (treemacs-pulse-on-failure "It looks like projectile does not know any projects."))) (define-key treemacs-project-map (kbd "p") #'treemacs-projectile) (defun treemacs--read-first-project-path () "Overwrites the original definition from `treemacs-core-utils'. This version will read a directory based on the current project root instead of the current dir." (when (treemacs-workspace->is-empty?) (file-truename (read-directory-name "Project root: " (condition-case _ (projectile-project-root) (error nil)))))) (defun treemacs--projectile-current-user-project-function () "Get the current projectile project root." (declare (side-effect-free t)) (-some-> (projectile-project-root) (file-truename) (treemacs-canonical-path))) (defun treemacs-projectile--add-file-to-projectile-cache (path) "Add created file PATH to projectile's cache." (let ((file-buffer (get-file-buffer path)) (kill? nil)) (unless file-buffer (setf file-buffer (find-file-noselect path) kill? t)) (with-current-buffer file-buffer (projectile-find-file-hook-function)) (when kill? (kill-buffer file-buffer)))) (defun treemacs--projectile-project-mouse-selection-menu () "Build a mouse selection menu for projectile projects." (if (null projectile-known-projects) (list (vector "Projectile list is empty" #'ignore)) (-let [projects (->> projectile-known-projects (-map #'treemacs-canonical-path) (--reject (treemacs-is-path it :in-workspace)) (-sort #'string<))] (if (null projects) (list (vector "All Projectile projects are already in the workspace" #'ignore)) (--map (vector it (lambda () (interactive) (treemacs-add-project-to-workspace it))) projects))))) (add-to-list 'treemacs--find-user-project-functions #'treemacs--projectile-current-user-project-function) (add-hook 'treemacs-create-file-functions #'treemacs-projectile--add-file-to-projectile-cache) (with-eval-after-load 'treemacs-mouse-interface (add-to-list (with-no-warnings 'treemacs--mouse-project-list-functions) '("Add Projectile project" . treemacs--projectile-project-mouse-selection-menu) :append)) (defun treemacs-projectile--remove-from-cache (path) "Remove PATH from projectile's cache." (let* ((dir (if (file-directory-p path) path (treemacs--parent-dir path))) (projectile-root (projectile-project-root dir))) (when projectile-root (let ((file-relative (file-relative-name path projectile-root))) (ignore-errors (projectile-purge-file-from-cache file-relative)))))) (defun treemacs-projectile--add-to-cache (path) "Add PATH to projectile's cache." (let* ((projectile-root (projectile-project-root path)) (relative-path (file-relative-name path projectile-root))) (unless (or (projectile-file-cached-p relative-path projectile-root) (projectile-ignored-directory-p (file-name-directory path)) (projectile-ignored-file-p path)) (puthash projectile-root (cons relative-path (gethash projectile-root projectile-projects-cache)) projectile-projects-cache) (projectile-serialize-cache)))) (defun treemacs-projectile--rename-cache-entry (old-path new-path) "Exchange OLD-PATH for NEW-PATH in projectile's cache." (treemacs-projectile--remove-from-cache old-path) (treemacs-projectile--add-to-cache new-path)) (defun treemacs-projectile--add-copied-file-to-cache (_ path) "Add PATH to projectile's cache. First argument is ignored because it is the file's original path, supplied as part of `treemacs-copy-file-functions'." (treemacs-projectile--add-file-to-projectile-cache path)) (add-hook 'treemacs-delete-file-functions #'treemacs-projectile--remove-from-cache) (add-hook 'treemacs-rename-file-functions #'treemacs-projectile--rename-cache-entry) (add-hook 'treemacs-move-file-functions #'treemacs-projectile--rename-cache-entry) (add-hook 'treemacs-copy-file-functions #'treemacs-projectile--add-copied-file-to-cache) (provide 'treemacs-projectile) ;;; treemacs-projectile.el ends here treemacs-3.2/src/extra/treemacs-tab-bar.el000066400000000000000000000130171476710620300205360ustar00rootroot00000000000000;;; treemacs-tab-bar.el --- Tab bar integration for treemacs -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; Author: Alexander Miller ;; Jason Dufair ;; Aaron Jensen ;; Package-Requires: ((emacs "27.1") (treemacs "0.0") (dash "2.11.0")) ;; Version: 0 ;; Homepage: https://github.com/Alexander-Miller/treemacs ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;;; Integration of tab-bar-mode into treemacs' buffer scoping framework. ;;; Code: (require 'dash) (require 'tab-bar) (require 'treemacs) (eval-when-compile (require 'treemacs-macros) (require 'cl-lib)) (defclass treemacs-tab-bar-scope (treemacs-scope) () :abstract t) (add-to-list 'treemacs-scope-types (cons 'Tabs 'treemacs-tab-bar-scope)) (cl-defmethod treemacs-scope->current-scope ((_ (subclass treemacs-tab-bar-scope))) "Get the current tab as scope. Return symbol `none' unless variable `tab-bar-mode' is non-nil." (if tab-bar-mode (cdr (assq 'name (tab-bar--current-tab))) 'none)) (cl-defmethod treemacs-scope->current-scope-name ((_ (subclass treemacs-tab-bar-scope)) tab) "Return the name of the given TAB. Will return \"No Tab\" if no tab is active." (if (eq 'none tab) "No Tab" (format "Tab %s" tab))) (cl-defmethod treemacs-scope->setup ((_ (subclass treemacs-tab-bar-scope))) "Tabs-scope setup." (when (fboundp 'tab-bar-tabs-set) (advice-add #'tab-bar-tabs-set :after #'treemacs-tab-bar--on-tab-switch)) (advice-add #'tab-bar-select-tab :after #'treemacs-tab-bar--on-tab-switch) (add-to-list 'tab-bar-tab-post-open-functions #'treemacs-tab-bar--on-tab-switch) (add-to-list 'tab-bar-tab-pre-close-functions #'treemacs-tab-bar--on-tab-close) (treemacs-tab-bar--ensure-workspace-exists)) (cl-defmethod treemacs-scope->cleanup ((_ (subclass treemacs-tab-bar-scope))) "Tabs-scope tear-down." (when (fboundp 'tab-bar-tabs-set) (advice-remove #'tab-bar-tabs-set #'treemacs-tab-bar--on-tab-switch)) (advice-remove #'tab-bar-select-tab #'treemacs-tab-bar--on-tab-switch) (setq tab-bar-tab-post-open-functions (delete #'treemacs-tab-bar--on-tab-switch tab-bar-tab-post-open-functions)) (setq tab-bar-tab-pre-close-functions (delete #'treemacs-tab-bar--on-tab-close tab-bar-tab-pre-close-functions))) (defun treemacs-tab-bar--on-tab-close (tab &rest _) "Cleanup hook to run when a TAB is closed." (treemacs--on-scope-kill (cdr (assq 'name tab)))) (defun treemacs-tab-bar--on-tab-switch (&rest _) "Hook running after the tab was switched. Will select a workspace for the now active tab, creating it if necessary." (treemacs-without-following (treemacs-tab-bar--ensure-workspace-exists) (treemacs--change-buffer-on-scope-change))) (defun treemacs-tab-bar--ensure-workspace-exists () "Make sure a workspace exists for the given TAB-NAME. Matching happens by name. If no workspace can be found it will be created." (let* ((tab-name (treemacs-scope->current-scope-name (treemacs-current-scope-type) (treemacs-current-scope))) (workspace (or (treemacs--find-workspace-by-name tab-name) (treemacs-tab-bar--create-workspace tab-name)))) (setf (treemacs-current-workspace) workspace) (treemacs--invalidate-buffer-project-cache) (run-hooks 'treemacs-switch-workspace-hook) workspace)) (defun treemacs-tab-bar--create-workspace (name) "Create a new workspace for the given tab NAME. Projects will be found as per `treemacs--find-user-project-functions'. If that does not return anything the projects of the fallback workspace will be copied." (treemacs-block (let* ((ws-result (treemacs-do-create-workspace name)) (ws-status (car ws-result)) (ws (cadr ws-result)) (root-path (treemacs--find-current-user-project)) (project-list)) (unless (eq ws-status 'success) (treemacs-log "Failed to create workspace for tab: %s, using fallback instead." ws) (treemacs-return (car treemacs--workspaces))) (if root-path (setf project-list (list (treemacs-project->create! :name (treemacs--filename root-path) :path root-path :path-status (treemacs--get-path-status root-path)))) (-let [fallback-workspace (car treemacs--workspaces)] ;; copy the projects instead of reusing them so we don't accidentally rename ;; a project in 2 workspaces (dolist (project (treemacs-workspace->projects fallback-workspace)) (push (treemacs-project->create! :name (treemacs-project->name project) :path (treemacs-project->path project) :path-status (treemacs-project->path-status project)) project-list)))) (setf (treemacs-workspace->projects ws) (nreverse project-list)) (treemacs-return ws)))) (provide 'treemacs-tab-bar) ;;; treemacs-tab-bar.el ends here treemacs-3.2/src/scripts/000077500000000000000000000000001476710620300154455ustar00rootroot00000000000000treemacs-3.2/src/scripts/treemacs-count-mail.py000066400000000000000000000037721476710620300217010ustar00rootroot00000000000000from subprocess import Popen, PIPE import sys # Command line arguments are a list of maildirs. # The output is a list of items in the form '((P1 A1) (P2 A2))' where P is the node path for a maildir # node, and A is the mail count annotation text # Exmaple: '(((treemacs-mu4e "/web/") " (176)")((treemacs-mu4e "/web/" "/web/Inbox") " (161)"))' UNREAD_CMD = "mu find maildir:'{}' --fields 'i' flag:'unread' 2> /dev/null | wc -l" PATH_PREFIX = "treemacs-mu4e" LOCAL_PREFIX = "/" + sys.argv[1] def main(): maildirs = sys.argv[2:] output = ["("] for maildir in maildirs: mu_dir = maildir is_local = False is_leaf = not maildir.endswith("/") # "Local Folders" is an artificial maildir that is used to group # otherwise free standing folders under a single header like # in thunderbird if mu_dir.startswith(LOCAL_PREFIX): is_local = True mu_dir = mu_dir.replace(LOCAL_PREFIX, "") if mu_dir == "/": continue unread = Popen(UNREAD_CMD.format(mu_dir.replace(" ", "\ ")), shell=True, stdout=PIPE, bufsize=100, encoding='utf-8' ).communicate()[0][:-1] if unread == "0": continue node_path = [] path_item = "/" split_path = maildir.split("/")[1:] if is_leaf else maildir.split("/")[1:-1] # it makes difference for mu whether a maildir ends in a slash or not for i in range(0, len(split_path) - 1): path_item = path_item + split_path[i] + "/" node_path.append("\"" + path_item + "\"") final_item = "" if is_leaf else "/" node_path.append("\"" + path_item + split_path[-1] + final_item + "\"") suffix = '" ({})"'.format(unread) output.append('(({} {}) {})'.format( PATH_PREFIX, " ".join(node_path), suffix )) output.append(")") print("".join(output)) main() treemacs-3.2/src/scripts/treemacs-dirs-to-collapse.py000066400000000000000000000055571476710620300230150ustar00rootroot00000000000000from os import listdir from os.path import isdir from posixpath import join import sys import os LIMIT = int(sys.argv[1]) SHOW_ALL = sys.argv[2] == 't' ROOTS = sys.argv[3:] STDOUT = sys.stdout # special workaround for windows platforms # the default `join' implementation cannot quite deal with windows # paths in the form of "C:/A/B" & "C:/A/B/C", joining them as # "C:/A/B/C:/A/B/C" # it can, however, be "tricked" into doing the right thing by adding # a slash to the start of the paths # go figure if sys.platform == 'win32': def join_dirs(d1, d2, full_path=False): missing_slash = False if not d1.startswith("/"): missing_slash = True d1 = "/" + d1 # full_path is only True when the second argument is # another absolute path if full_path and not d2.startswith("/"): missing_slash = True d2 = "/" + d2 joined = join(d1, d2) if missing_slash: # still need to return the joined path without the # leading slash, the way it looked originally return joined[1:] else: return joined else: def join_dirs(d1, d2, *_): return join(d1, d2) if LIMIT <= 0: exit(0) def dir_content(path): """ returns the content of given path, excluding unreadable files and dotfiles (unless SHOW_ALL is True) """ ret = [] for item in listdir(path): full_path = join_dirs(path, item) if os.access(full_path, os.R_OK) and (SHOW_ALL or item[0] != '.'): ret.append(full_path) return ret def main(): STDOUT.write("#s(hash-table size 10 test equal rehash-size 1.5 rehash-threshold 0.8125 data (") for root in ROOTS: STDOUT.write(f'"{root}"') dirs = [d for d in dir_content(root) if isdir(d)] STDOUT.write("(") for current_dir in dirs: content = dir_content(current_dir) collapsed = current_dir steps = [] depth = 0 while True: if len(content) == 1 and isdir(content[0]): single_path = content[0] collapsed = join_dirs(collapsed, single_path, True) content = dir_content(collapsed) depth += 1 steps.append(single_path) if depth >= LIMIT: break else: break if depth > 0 and not ('"' in collapsed or '\\' in collapsed): final_dir = steps[-1] display_suffix = final_dir[len(current_dir):] STDOUT.write("(" + '"' + display_suffix + '" ' + '"' + current_dir + '" ' + '"' + '" "'.join(steps) + '")') nothing_to_flatten = False STDOUT.write(")") # close hash table again STDOUT.write("))") main() treemacs-3.2/src/scripts/treemacs-find-ignored-files.py000066400000000000000000000023421476710620300232660ustar00rootroot00000000000000from subprocess import Popen, PIPE from os.path import exists import sys GIT_BIN = sys.argv[1] GIT_CMD = "{} clean -ndX".format(GIT_BIN) STDOUT = sys.stdout.buffer def quote(string): return b'"' + string + b'"' def process_git_output(root, proc): root_bytes = bytes(root, "utf-8") count = 0 for line in proc.stdout: # output has the form 'Would remove /a/b/c' # final newline and final slash also need to go path = line.replace(b"Would remove ", b"")[:-1] if path.endswith(b"/"): path = path[:-1] ignored_file = root_bytes + b"/" + path ignored_file_parent = ignored_file[:ignored_file.rindex(b"/")] STDOUT.write(quote(ignored_file_parent)) STDOUT.write(quote(ignored_file)) # arbitrary limit of no more than 100 files count += 1 if count > 100: break def main(): roots = sys.argv[2:] procs = [] for root in roots: if exists(root + "/.git"): proc = Popen(GIT_CMD, shell=True, stdout=PIPE, bufsize=100, cwd=root) procs.append((root, proc)) STDOUT.write(b"(") for (root, proc) in procs: process_git_output(root, proc) STDOUT.write(b")") main() treemacs-3.2/src/scripts/treemacs-git-commit-diff.py000066400000000000000000000024551476710620300226050ustar00rootroot00000000000000from subprocess import Popen, PIPE import sys GIT_BIN = sys.argv[1] STATUS_CMD = "{} status -sb".format(GIT_BIN) def main(): proc = Popen(STATUS_CMD, shell=True, stdout=PIPE, bufsize=100) if (proc.wait() != 0): sys.exit(2) line = proc.stdout.readline() i_open = line.find(b"[") i_close = line.find(b"]") if (i_open == -1): print("nil") sys.exit(0) ahead = 0 ahead_len = 0 behind = 0 behind_len = 0 for inf in line[i_open+1 : i_close].split(b", "): split = inf.split(b" ") status = split[0] text = split[1] number = int(text) if status == b"ahead": ahead = number ahead_len = len(text) elif status == b"behind": behind = number behind_len = len(text) if ahead == 0 and behind != 0: face_len = 2 + behind_len print('#(" ↓{}" 0 {} (face treemacs-git-commit-diff-face))'.format(behind, face_len)) elif ahead != 0 and behind == 0: face_len = 2 + ahead_len print('#(" ↑{}" 0 {} (face treemacs-git-commit-diff-face))'.format(ahead, face_len)) else: face_len = 4 + ahead_len + behind_len print('#(" ↑{} ↓{}" 0 {} (face treemacs-git-commit-diff-face))'.format(ahead, behind, face_len)) main() treemacs-3.2/src/scripts/treemacs-git-status.py000066400000000000000000000113041476710620300217230ustar00rootroot00000000000000from subprocess import Popen, PIPE from os import listdir, environ from os.path import isdir, islink from posixpath import join import sys # The script is supplied with the followig command line arguments # 1) the repository root - used only for file-joining to an absolute path # the actual working directory is set in emacs # 2) `treemacs-max-git-entries` # 3) `treemacs-git-command-pipe` # 4) a list of expanded directories the script may recurse into to collect # an entry for every untracked/ignored file inside # this list is turned into a set since it is possible that it contains duplicates # when called for magit, see also `treemacs-magit--extended-git-mode-update` GIT_BIN = sys.argv[1] GIT_ROOT = str.encode(sys.argv[2]) LIMIT = int(sys.argv[3]) GIT_CMD = "{} status --porcelain --ignored=matching . ".format(GIT_BIN) + sys.argv[4] STDOUT = sys.stdout.buffer RECURSE_DIRS = set([str.encode(it[(len(GIT_ROOT)):]) + b"/" for it in sys.argv[5:]]) if len(sys.argv) > 5 else [] QUOTE = b'"' output = [] ht_size = 0 def face_for_status(status): if status == b"M": return b"treemacs-git-modified-face" elif status == b"U": return b"treemacs-git-conflict-face" elif status == b"?": return b"treemacs-git-untracked-face" elif status == b"!": return b"treemacs-git-ignored-face" elif status == b"A": return b"treemacs-git-added-face" elif status == b"R": return b"treemacs-git-renamed-face" else: return b"font-lock-keyword-face" def find_recursive_entries(path, state): global output, ht_size for item in listdir(path): full_path = join(path, item) output.append(QUOTE + full_path + QUOTE + face_for_status(state)) ht_size += 1 if ht_size > LIMIT: break if isdir(full_path) and not islink(full_path): find_recursive_entries(full_path, state) def main(): global output, ht_size # Don't lock Git when updating status. environ["GIT_OPTIONAL_LOCKS"] = "0" proc = Popen(GIT_CMD, shell=True, stdout=PIPE, bufsize=100) dirs_added = {} for item in proc.stdout: # remove final newline item = item[:-1] # remove leading space if item was e.g. modified only in the worktree if item.startswith(b' '): item = item[1:] state, filename = item.split(b' ', 1) # reduce the state to a single-letter-string state = state[0:1] filename = filename.strip() # sometimes git outputs quoted filesnames if filename.startswith(b'"'): filename = filename[1:-1] # find the absolute path for the current item # renames have the form STATE OLDNAME -> NEWNAME abs_path = None if state == b"R": abs_path = join(GIT_ROOT, filename.split(b' -> ')[1]) else: abs_path = join(GIT_ROOT, filename.lstrip()) # filename is a directory, final slash must be removed if abs_path.endswith(b'/'): abs_path = abs_path[:-1] dirs_added[abs_path] = True output.append(QUOTE + abs_path + QUOTE + face_for_status(state)) ht_size += 1 # for files deeper down in the file hierarchy also print all their directories # if /A/B/C/x is changed then /A and /A/B and /A/B/C must be shown as changed as well if b'/' in filename and state != b'!': name_parts = filename.split(b'/')[:-1] dirname = b'' for name_part in name_parts: dirname = join(dirname, name_part) full_dirname = join(GIT_ROOT, dirname.lstrip()) # directories should not be printed more than once, which would happen if # e.g. both /A/B/C/x and /A/B/C/y have changes if full_dirname not in dirs_added: output.append(QUOTE + full_dirname + QUOTE + b"treemacs-git-modified-face") ht_size += 1 dirs_added[full_dirname] = True # for untracked and ignored directories we need to find an entry for every single file # they contain # however this applies only for directories that are expanded and whose content is visible if state in [b'?', b'!'] and isdir(abs_path): if filename in RECURSE_DIRS: find_recursive_entries(abs_path, state) if ht_size >= LIMIT: break STDOUT.write( b"#s(hash-table size " + \ bytes(str(ht_size), 'utf-8') + \ b" test equal rehash-size 1.5 rehash-threshold 0.8125 data (" ) if ht_size > 0: STDOUT.write(b"".join(output)) STDOUT.write(b"))") sys.exit(proc.poll()) main() treemacs-3.2/src/scripts/treemacs-single-file-git-status.py000066400000000000000000000070721476710620300241260ustar00rootroot00000000000000from subprocess import run, Popen, PIPE, DEVNULL, check_output import sys import os # There are 3+ command line arguments: # 1) the file to update # 2) the file's previous state, to check if things changed at all # 3) the file's parents that need to be updated as well GIT_BIN = sys.argv[1] FILE = sys.argv[2] OLD_FACE = sys.argv[3] PARENTS = [p for p in sys.argv[4:]] FILE_STATE_CMD = "{} status --porcelain --ignored=matching ".format(GIT_BIN) IS_IGNORED_CMD = "{} check-ignore ".format(GIT_BIN) IS_TRACKED_CMD = "{} ls-files --error-unmatch ".format(GIT_BIN) IS_CHANGED_CMD = "{} ls-files --modified --others --exclude-standard ".format(GIT_BIN) def face_for_status(path, status): if status == "M": return "treemacs-git-modified-face" elif status == "U": return "treemacs-git-conflict-face" elif status == "?": return "treemacs-git-untracked-face" elif status == "!": return "treemacs-git-ignored-face" elif status == "A": return "treemacs-git-added-face" elif status == "R": return "treemacs-git-renamed-face" elif os.path.isdir(path): return "treemacs-directory-face" else: return "treemacs-git-unmodified-face" def main(): if '"' in FILE or '\\' in FILE: sys.exit(2) new_state = determine_file_git_state() old_state = face_for_status(FILE, OLD_FACE) # nothing to do if old_state == new_state: sys.exit(2) proc_list = [] # for every parent file start all necessary git processes immediately # even if we don't need them later for p in PARENTS: add_git_processes(proc_list, p) result_list = [(FILE, new_state)] # iterate through the parents and propagate ignored and untracked states downwards # the following states are possible for *directories*: # 0 -> clean # ! -> ignored # ? -> untracked # M -> modified i = 0 l = len(proc_list) propagate_state = None while i < l: path, ignore_proc, tracked_proc, changed_proc = proc_list[i] if ignore_proc.communicate() and ignore_proc.returncode == 0: propagate_state = "!" result_list.append((path, propagate_state)) break elif tracked_proc.communicate() and tracked_proc.returncode == 1: propagate_state = "?" result_list.append((path, propagate_state)) break elif changed_proc.communicate() != b'' and changed_proc.returncode == 0: result_list.append((path, "M")) else: result_list.append((path, "0")) i += 1 if propagate_state: i += 1 while i < l: result_list.append((proc_list[i][0], propagate_state)) i += 1 elisp_conses = "".join(['("{}" . {})'.format(path, face_for_status(path, state)) for path, state in result_list]) elisp_alist = "({})".format(elisp_conses) print(elisp_alist) def add_git_processes(status_listings, path): ignored_proc = Popen(IS_IGNORED_CMD + path, shell=True, stdout=DEVNULL, stderr=DEVNULL) tracked_proc = Popen(IS_TRACKED_CMD + path, shell=True, stdout=DEVNULL, stderr=DEVNULL) changed_proc = Popen(IS_CHANGED_CMD + path, shell=True, stdout=PIPE, stderr=DEVNULL) status_listings.append((path, ignored_proc, tracked_proc, changed_proc)) def determine_file_git_state(): proc = Popen(FILE_STATE_CMD + FILE, shell=True, stdout=PIPE, stderr=DEVNULL) line = proc.stdout.readline() if line: state = line.lstrip().split(b" ")[0] return state.decode('utf-8').strip()[0] else: return "0" main() treemacs-3.2/test/000077500000000000000000000000001476710620300141465ustar00rootroot00000000000000treemacs-3.2/test/checkdock.el000066400000000000000000000101471476710620300164110ustar00rootroot00000000000000;;; -*- lexical-binding: t -*- ;;; Based on https://github.com/flycheck/flycheck/blob/master/maint/flycheck-checkdoc.el (require 'bytecomp) (require 'checkdoc) (require 'dash) (require 's) (defconst all-el-files (append (directory-files "./src/elisp" :full ".el") (directory-files "./src/extra" :full ".el"))) (defconst valid-doc-words (append checkdoc-ispell-lisp-words '("accessor" "adoc" "api" "arg" "args" "async" "baz" "boolean" "bool" "btn" "changelog" "config" "configs" "cpp" "customisations" "debounce" "debounced" "dir" "dired" "dirs" "dir's" "dom" "Dotfiles" "dotfile" "dotfiles" "eieio" "el" "eldoc" "elisp" "elpa" "filename" "filesystem" "filetree" "FilePath" "filepath" "filepaths" "filewatch" "flycheck" "fn" "fontification" "git" "gitignore" "goto" "gui" "HashMap" "hoc" "ImageMagick" "imenu" "init" "initialiser" "inlined" "iter" "keybind" "keybinds" "keybindings" "kqueue" "leftclick" "linux" "localized" "macos" "MacOS" "magit" "maildir" "maildirs" "makefile" "metadata" "minibuffer" "modeline" "org" "org's" "persp" "Pfuture" "pfuture" "plist" "png" "plaintext" "pos" "programmatically" "propertized" "px" "py" "rebase" "recentering" "regex" "resize" "resized" "resizing" "sb" "spaceline" "splittable" "struct" "subdir" "subdirs" "subprocess" "treemacs" "tui" "txt" "unmark" "untracked" "variadic" "wayland" "whitespace" "workspace" "workspaces"))) (defun checkdoc-buffer (filename) ;; output only /src/elisp/filename.el as when compiling (message "Checkdoc %s" (substring filename (1+ (s-index-of "/src" filename)))) (with-temp-buffer ;; Visit the file to make sure that the filename is set, as some checkdoc ;; lints only apply for buffers with filenames (insert-file-contents filename :visit) (set-buffer-modified-p nil) (delay-mode-hooks (emacs-lisp-mode)) (setf delay-mode-hooks nil ispell-dictionary "british") (let ((checkdoc-autofix-flag 'never) (checkdoc-force-docstrings-flag t) (checkdoc-force-history-flag nil) (checkdoc-permit-comma-termination-flag nil) (checkdoc-spellcheck-documentation-flag t) (checkdoc-ispell-lisp-words valid-doc-words) (checkdoc-arguments-in-order-flag t) (checkdoc-verb-check-experimental-flag t)) (checkdoc-current-buffer :take-notes)) (get-errors))) (defun get-errors () (with-current-buffer checkdoc-diagnostic-buffer (goto-char (point-min)) ;; Skip over the checkdoc header (re-search-forward (rx line-start "***" (1+ not-newline) ": checkdoc-current-buffer")) (forward-line 1) (prog1 (let ((text (buffer-substring-no-properties (point) (point-max)))) (and (not (s-blank-p text)) (split-string text "\n"))) (kill-buffer)))) (let ((errors (-mapcat #'checkdoc-buffer all-el-files))) (-each errors #'message) (kill-emacs (if errors 1 0))) treemacs-3.2/test/testdir1/000077500000000000000000000000001476710620300157055ustar00rootroot00000000000000treemacs-3.2/test/testdir1/testdir2/000077500000000000000000000000001476710620300174455ustar00rootroot00000000000000treemacs-3.2/test/testdir1/testdir2/testdir3/000077500000000000000000000000001476710620300212065ustar00rootroot00000000000000treemacs-3.2/test/testdir1/testdir2/testdir3/testfile.el000066400000000000000000000000571476710620300233510ustar00rootroot00000000000000(defconst FOO) (defun fn1 ()) (defun fn2 ()) treemacs-3.2/test/testdir1/testdir2/testdir3/testfile.org000066400000000000000000000000351476710620300235340ustar00rootroot00000000000000* Foo ** Foo2 *** Foo3 * Bar treemacs-3.2/test/treemacs-test.el000066400000000000000000002560561476710620300172660ustar00rootroot00000000000000;;; treemacs-test.el --- Tests for treemacs -*- lexical-binding: t -*- ;; Copyright (C) 2024 Alexander Miller ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;;; Code: (require 'filenotify) (require 'dash) (require 'pfuture) (require 'treemacs) (require 'treemacs-macros) (require 'treemacs-bookmarks) (require 'treemacs-core-utils) (require 'treemacs-tags) (require 'treemacs-tag-follow-mode) (require 'treemacs-mouse-interface) (require 'treemacs-file-management) (require 'org) (require 'buttercup) (defconst treemacs-should-run-file-notify-tests (not (null file-notify--library))) (defmacro treemacs--with-project (pr &rest body) "Set PR as the only project in current workspace and then run BODY." (declare (indent 1)) `(let ((--original-- (treemacs-current-workspace)) (ws (treemacs-workspace->create! :name "FAKE" :projects ,(when pr `(list ,pr))))) (unwind-protect (progn (setf (treemacs-current-workspace) ws) ,@body) (progn (setf (treemacs-current-workspace) --original--))))) (defmacro treemacs--save-workspace (&rest body) "Execute BODY saving the current workspace." `(-let [ws (treemacs-current-workspace)] (unwind-protect ,@body (setf (treemacs-current-workspace) ws)))) (describe "treemacs-is-path" (describe ":in matcher" (it "identifies direct parent" (let ((path "~/A/B/c") (parent "~/A/B")) (expect (treemacs-is-path path :in parent) :to-be-truthy))) (it "identifies indirect parent" (let ((path "~/A/B/C/D/e") (parent "~/A/B")) (expect (treemacs-is-path path :in parent) :to-be-truthy))) (it "identifies non-parent" (let ((path "~/A/B/C/D/e") (parent "~/B")) (expect (treemacs-is-path path :in parent) :not :to-be-truthy))) (it "identifies non-parent with similar prefix" (let ((path "~/A/prefix1") (parent "~/A/prefix2")) (expect (treemacs-is-path path :in parent) :not :to-be-truthy)))) (describe ":directly-in matcher" (it "identifies direct parent" (let ((path "~/A/B/c") (parent "~/A/B")) (expect (treemacs-is-path path :directly-in parent) :to-be-truthy))) (it "rejects indirect parent" (let ((path "~/A/B/c") (parent "~/A")) (expect (treemacs-is-path path :directly-in parent) :to-be nil))) (it "rejects non-parent" (let ((path "~/A/B/c") (parent "x")) (expect (treemacs-is-path path :directly-in parent) :to-be nil))) (it "rejects non-parent with same length as parent" (let ((path "~/A/B/c") (parent "~/A/X")) (expect (treemacs-is-path path :directly-in parent) :to-be nil))) (it "rejects non-parent with similar preix" (let ((path "~/A/prefix1") (parent "~/A/prefix2")) (expect (treemacs-is-path path :directly-in parent) :to-be nil))) (it "rejects shorter path than parent" (let ((path "~/A") (parent "~/A/B/C")) (expect (treemacs-is-path path :directly-in parent) :to-be nil)))) (describe ":in-project matcher" (it "Identifies that a path is in a project" (let ((path "~/P/A/B/C/D/E/F/file") (project (treemacs-project->create! :name "P" :path "~/P/A/B/C" :path-status 'local-readable))) (expect (treemacs-is-path path :in-project project) :to-be-truthy))) (it "Identifies that a path is not in a project" (let ((path "~/X/abc") (project (treemacs-project->create! :name "P" :path "~/P" :path-status 'local-readable))) (expect (treemacs-is-path path :in-project project) :not :to-be-truthy)))) (describe ":in-workspace matcher" (it "Finds project of path in the workspace" (let* ((path "~/C/abc") (p1 (treemacs-project->create! :name "P1" :path "~/A" :path-status 'local-readable)) (p2 (treemacs-project->create! :name "P2" :path "~/B" :path-status 'local-readable)) (p3 (treemacs-project->create! :name "P3" :path "~/C" :path-status 'local-readable)) (ws (treemacs-workspace->create! :name "WS" :projects (list p1 p2 p3)))) (expect (treemacs-is-path path :in-workspace ws) :to-be p3))) (it "Identifies path not in the workspace" () (let* ((path "~/D/abc") (p1 (treemacs-project->create! :name "P1" :path "~/A" :path-status 'local-readable)) (p2 (treemacs-project->create! :name "P2" :path "~/B" :path-status 'local-readable)) (p3 (treemacs-project->create! :name "P3" :path "~/C" :path-status 'local-readable)) (ws (treemacs-workspace->create! :name "WS" :projects (list p1 p2 p3)))) (expect (treemacs-is-path path :in-workspace ws) :to-be nil))))) (describe "treemacs--reject-ignored-files" (let ((treemacs-ignored-file-predicates (default-value 'treemacs-ignored-file-predicates))) (describe "Accepting" (it "Accepts dot-file" (expect (treemacs--reject-ignored-files "~/A/B/C/.foo.el") :to-be t)) (it "Accepts common absolute path" (expect (treemacs--reject-ignored-files "~/A/B/C/foo.el") :to-be t)) (it "Accepts common filename" (expect (treemacs--reject-ignored-files "foo.el") :to-be t)) (it "Accepts directory" (expect (treemacs--reject-ignored-files "~/A/B/C/") :to-be t)) (it "Accepts .git when it is not hidden" (-let [treemacs-hide-dot-git-directory nil] (expect (treemacs--reject-ignored-files "~/A/B/C/.git") :to-be t)))) (describe "Rejecting" (it "Fails on nil input" (expect (treemacs--reject-ignored-files nil) :to-throw)) (it "Fails on empty name" (expect (treemacs--reject-ignored-files "") :to-throw)) (it "Rejects Emacs lock file" (expect (treemacs--reject-ignored-files "~/A/B/C/.#foo.el") :to-be nil)) (it "Rejects Emacs backup file" (expect (treemacs--reject-ignored-files "~/A/B/C/foo.el~") :to-be nil)) (it "Rejects autosave file" (expect (treemacs--reject-ignored-files "~/A/B/C/#foo.el#") :to-be nil)) (it "Rejects flycheck's temp file" (expect (treemacs--reject-ignored-files "~/A/B/C/flycheck_foo.el") :to-be nil)) (it "Rejects dot" (expect (treemacs--reject-ignored-files ".") :to-be nil)) (it "Rejects dot-dot" (expect (treemacs--reject-ignored-files "..") :to-be nil))))) (describe "treemacs--reject-ignored-and-dotfiles" (let ((treemacs-ignored-file-predicates (default-value 'treemacs-ignored-file-predicates))) (describe "Accepting" (it "Accepts common absolute path" (expect (treemacs--reject-ignored-and-dotfiles "~/A/B/C/foo.el") :to-be t)) (it "Accepts common filename" (expect (treemacs--reject-ignored-and-dotfiles "foo.el") :to-be t)) (it "Accepts directory" (expect (treemacs--reject-ignored-and-dotfiles "~/A/B/C/") :to-be t))) (describe "Rejecting" (it "Fails on nil input" (expect (treemacs--reject-ignored-and-dotfiles nil) :to-throw)) (it "Fails on empty name" (expect (treemacs--reject-ignored-and-dotfiles "") :to-throw)) (it "Rejects Emacs lock file" (expect (treemacs--reject-ignored-and-dotfiles "~/A/B/C/.#foo.el") :to-be nil)) (it "Rejects Emacs backup file" (expect (treemacs--reject-ignored-and-dotfiles "~/A/B/C/foo.el~") :to-be nil)) (it "Rejects autosave file" (expect (treemacs--reject-ignored-and-dotfiles "~/A/B/C/#foo.el#") :to-be nil)) (it "Rejects flycheck's temp file" (expect (treemacs--reject-ignored-and-dotfiles "~/A/B/C/flycheck_foo.el") :to-be nil)) (it "Rejects dot-file" (expect (treemacs--reject-ignored-and-dotfiles "~/A/B/C/.foo.el") :to-be nil)) (it "Rejects .git" (expect (treemacs--reject-ignored-and-dotfiles "~/A/B/C/.git") :to-be nil)) (it "Rejects dot" (expect (treemacs--reject-ignored-and-dotfiles ".") :to-be nil)) (it "Rejects dot-dot" (expect (treemacs--reject-ignored-and-dotfiles "..") :to-be nil))))) (describe "treemacs--is-event-relevant?" (-let [treemacs-ignored-file-predicates (default-value 'treemacs-ignored-file-predicates)] (describe "accept" (it "accepts change event when git-mode is enabled" (let ((treemacs-git-mode t) (event '(nil changed "~/A/a"))) (expect (treemacs--is-event-relevant? event) :to-be-truthy))) (it "accepts create events" (-let [event '(nil created "~/A/a")] (expect (treemacs--is-event-relevant? event) :to-be-truthy))) (it "accepts delete events" (-let [event '(nil deleted "~/A/a")] (expect (treemacs--is-event-relevant? event) :to-be-truthy)))) (describe "reject" (it "rejects stop-watch event" (-let [event '(nil stopped "~/A/a")] (expect (treemacs--is-event-relevant? event) :not :to-be-truthy))) (it "rejects change event when git-mode is disabled" (let ((treemacs-git-mode nil) (event '(nil changed "~/A/a"))) (expect (treemacs--is-event-relevant? event) :not :to-be-truthy))) (it "rejects lockfile events" (-let [event '(nil created "~/A/.#foo.el")] (expect (treemacs--is-event-relevant? event) :not :to-be-truthy))) (it "rejects flycheck file events" (-let [event '(nil created "~/A/flycheck_foo.el")] (expect (treemacs--is-event-relevant? event) :not :to-be-truthy)))))) (describe "treemacs--file-extension" (it "Fails on nil input" (expect (treemacs--file-extension nil) :to-throw)) (it "Returns empty string when input is empty string" (expect (treemacs--file-extension "") :to-equal "")) (it "Returns empty string when input is only period" (expect (treemacs--file-extension ".") :to-equal "")) (it "Returns empty string when input is many periods" (expect (treemacs--file-extension ".......") :to-equal "")) (it "Returns input for an absolute path without extension" (expect (treemacs--file-extension "/A/B/C/D/foo") :to-equal "/A/B/C/D/foo")) (it "Returns the filename of a filename without extension" (expect (treemacs--file-extension "foo") :to-equal "foo")) (it "Returns the extension of an absolute path" (expect (treemacs--file-extension "~/A/B/C/D/foo.el") :to-equal "el")) (it "Returns the extension of a filename" (expect (treemacs--file-extension "foo.el") :to-equal "el")) (it "Returns the extension of absolute path with periods" (expect (treemacs--file-extension "~/A/foo.bar/baz.qux/foo.el") :to-equal "el"))) (describe "treemacs--partition-imenu-index" (it "Returns nil on nil input" (expect (treemacs--partition-imenu-index nil "A") :not :to-be-truthy)) (it "Returns index unchanged when input has no top level leaves" (expect '(("A" ("a1" "a2")) ("B" ("b1" "b2"))) :to-equal (treemacs--partition-imenu-index '(("A" ("a1" "a2")) ("B" ("b1" "b2"))) "Functions"))) (it "Partitions single top-level list into Functions" (expect '(("Functions" ("x" "y" "z"))) :to-equal (treemacs--partition-imenu-index '(("x" "y" "z")) "Functions"))) (it "Partitions top-level lists into Functions" (expect '(("A" ("a1" "a2")) ("B" ("b1" "b2")) ("Functions" ("x" "y" "z"))) :to-equal (treemacs--partition-imenu-index '(("A" ("a1" "a2")) ("B" ("b1" "b2")) ("x" "y" "z")) "Functions")))) (describe "treemacs--should-reenter?" (describe "Accepting" (it "Accepts nil" (expect (treemacs--should-reenter? nil) :to-be t)) (it "Accepts custom nodes" (expect (treemacs--should-reenter? '(:custom A B)) :to-be t)) (it "Accepts non-string/cons paths" (expect (treemacs--should-reenter? 'X) :to-be t)) (it "Accepts non-dotfiles" (-let [treemacs-show-hidden-files nil] (expect (treemacs--should-reenter? "/foo/bar") :to-be t))) (it "Accepts extensions under non-dotfiles" (-let [treemacs-show-hidden-files nil] (expect (treemacs--should-reenter? '("/foo/bar" A B)) :to-be t))) (it "Accepts dotfiles when they are shown" (-let [treemacs-show-hidden-files t] (expect (treemacs--should-reenter? "/foo/.bar") :to-be t))) (it "Accepts extensions under dotfiles when they are shown" (-let [treemacs-show-hidden-files t] (expect (treemacs--should-reenter? '("/foo/.bar" A B)) :to-be t)))) (describe "Rejecting" (it "Rejects dotfiles when they are hidden" (-let [treemacs-show-hidden-files nil] (expect (treemacs--should-reenter? "/foo/.bar") :to-be nil))) (it "Rejects extensions under dotfiles when they are hidden" (-let [treemacs-show-hidden-files nil] (expect (treemacs--should-reenter? '("/foo/.bar" A B)) :to-be nil))))) (describe "treemacs--parent" (it "Does not fail for nil input" (expect (treemacs--parent nil) :to-be nil)) (it "Returns nil when input is empty" (expect (treemacs--parent "") :to-be nil)) (it "Returns nil when input is not a valid path" (expect (treemacs--parent "ABC") :to-be nil)) (it "Correctly identifies a parent path" (expect (treemacs--parent "/home/A/B") :to-equal "/home/A")) (it "Returns the system root when it's the input" (expect (treemacs--parent "/") :to-equal "/")) (it "Returns parent of root-level extension node." (expect (treemacs--parent '(a b)) :to-equal '(a))) (it "Returns parent of directory extension node." (expect (treemacs--parent '("/test1" "a" "b")) :to-equal '("/test1" "a")))) (describe "treemacs--get-or-parse-git-result" (it "Returns an empty table when input is nil" (-let [result (treemacs--get-or-parse-git-result nil)] (expect result :to-be-truthy) (expect (ht-empty? result) :to-be t))) (it "Returns an already parsed table" (let ((input (pfuture-new "echo")) (result (ht))) (process-put input 'git-table result) (expect (treemacs--get-or-parse-git-result input) :to-be result))) (it "Parses a process' git output" (spy-on #'treemacs--git-status-parse-function :and-return-value (ht ("A" 1) ("B" 2))) (let* ((input (pfuture-new "echo")) (result (treemacs--get-or-parse-git-result input))) (expect (ht? result)) (expect (= 2 (ht-size result))) (expect (= 1 (ht-get result "A"))) (expect (= 2 (ht-get result "B"))) (expect #'treemacs--git-status-parse-function :to-have-been-called)))) (describe "treemacs--on-rename" (it "Does nothing when the dom is empty" (with-temp-buffer (-let [treemacs-dom (ht)] (treemacs--on-rename "OLD" "NEW" nil) (expect (ht-empty? treemacs-dom) :to-be t)))) (it "Does nothing when the old key is not in the dom" (with-temp-buffer (-let [treemacs-dom (ht ("A" (treemacs-dom-node->create! :key "A")))] (treemacs--on-rename "OLD" "NEW" nil) (expect (ht-size treemacs-dom) :to-equal 1) (expect (ht-get treemacs-dom "A") :to-be-truthy)))) (it "Correctly renamed a full subtree" (with-temp-buffer (let* ((default-directory "/A") (root (treemacs-dom-node->create! :key "/A")) (node1 (treemacs-dom-node->create! :key "/A/OLD")) (node2 (treemacs-dom-node->create! :key "/A/OLD/X")) (node3 (treemacs-dom-node->create! :key "/A/OLD/X/Y")) (node4 (treemacs-dom-node->create! :key (list "/A/OLD/X/Y" "Classes"))) (node5 (treemacs-dom-node->create! :key (list "/A/OLD/X/Y" "Classes" "Class Foo"))) (node6 (treemacs-dom-node->create! :key (list "/A/OLD/X/Y" "Classes" "Class Foo" "void bar()"))) (nodex (treemacs-dom-node->create! :key "/A/B")) (nodey (treemacs-dom-node->create! :key "/A/B/C"))) (setf (treemacs-dom-node->parent nodex) root (treemacs-dom-node->parent nodey) root (treemacs-dom-node->parent node1) root (treemacs-dom-node->parent node2) node1 (treemacs-dom-node->parent node3) node2 (treemacs-dom-node->parent node4) node3 (treemacs-dom-node->parent node5) node4 (treemacs-dom-node->parent node6) node5 (treemacs-dom-node->children root) (list node1 nodex nodey) (treemacs-dom-node->children node1) (list node2) (treemacs-dom-node->children node2) (list node3) (treemacs-dom-node->children node3) (list node4) (treemacs-dom-node->children node4) (list node5) (treemacs-dom-node->children node5) (list node6)) (setq treemacs-dom (ht ((treemacs-dom-node->key root) root) ((treemacs-dom-node->key nodex) nodex) ((treemacs-dom-node->key nodey) nodey) ((treemacs-dom-node->key node1) node1) ((treemacs-dom-node->key node2) node2) ((treemacs-dom-node->key node3) node3) ((treemacs-dom-node->key node4) node4) ((treemacs-dom-node->key node5) node5) ((treemacs-dom-node->key node6) node6))) (treemacs--on-rename "/A/OLD" "/A/NEW" nil) (dolist (key '("/A/OLD" "/A/OLD/X" "/A/OLD/X/Y" ("/A/OLD/X/Y" "Classes") ("/A/OLD/X/Y" "Classes" "Class Foo") ("/A/OLD/X/Y" "Classes" "Class Foo" "void bar()"))) (expect (ht-get treemacs-dom key) :to-be nil)) (dolist (key '("/A/NEW" "/A/NEW/X" "/A/NEW/X/Y" ("/A/NEW/X/Y" "Classes") ("/A/NEW/X/Y" "Classes" "Class Foo") ("/A/NEW/X/Y" "Classes" "Class Foo" "void bar()"))) (expect (ht-get treemacs-dom key) :to-be-truthy)) (expect (ht-size treemacs-dom) :to-equal 9)))) (it "Won't rename initial node when filewatch is enabled" (with-temp-buffer (let* ((default-directory "/A") (root (treemacs-dom-node->create! :key "/A")) (node1 (treemacs-dom-node->create! :key "/A/OLD")) (node2 (treemacs-dom-node->create! :key "/A/OLD/X")) (node3 (treemacs-dom-node->create! :key "/A/OLD/X/Y")) (nodex (treemacs-dom-node->create! :key "/A/B")) (nodey (treemacs-dom-node->create! :key "/A/B/C"))) (setf (treemacs-dom-node->parent nodex) root (treemacs-dom-node->parent nodey) root (treemacs-dom-node->parent node1) root (treemacs-dom-node->parent node2) node1 (treemacs-dom-node->parent node3) node2 (treemacs-dom-node->children root) (list node1 nodex nodey) (treemacs-dom-node->children node1) (list node2) (treemacs-dom-node->children node2) (list node3)) (setf treemacs-dom (ht ((treemacs-dom-node->key root) root) ((treemacs-dom-node->key nodex) nodex) ((treemacs-dom-node->key nodey) nodey) ((treemacs-dom-node->key node1) node1) ((treemacs-dom-node->key node2) node2) ((treemacs-dom-node->key node3) node3))) (treemacs--on-rename "/A/OLD" "/A/NEW" t) (dolist (key '("/A/OLD/X" "/A/OLD/X/Y")) (expect (ht-get treemacs-dom key) :to-be nil)) (dolist (key '("/A/OLD" "/A/NEW/X" "/A/NEW/X/Y")) (expect (ht-get treemacs-dom key) :to-be-truthy)) (expect (ht-size treemacs-dom) :to-equal 6))))) (describe "treemacs-on-collapse" (it "Fails when key is nil" (with-temp-buffer (-let [treemacs-dom (ht)] (expect (treemacs-on-collapse nil) :to-throw)))) (it "Removes empty nodes from reentry" (with-temp-buffer (let* ((default-directory "/A") (treemacs-dom (ht)) (root (progn (ht-set! treemacs-dom default-directory (treemacs-dom-node->create! :key default-directory)) (treemacs-find-in-dom default-directory))) (node (progn (ht-set! treemacs-dom "/A/B" (treemacs-dom-node->create! :key "/A/B")) (treemacs-find-in-dom "/A/B")))) (setf (treemacs-dom-node->parent node) root (treemacs-dom-node->children root) (list node) (treemacs-dom-node->reentry-nodes root) (list node)) (treemacs-on-collapse "/A/B") (expect (treemacs-dom-node->reentry-nodes root) :to-be nil)))) (it "Keeps node with children in reentry" (with-temp-buffer (let* ((default-directory "/A") (treemacs-dom (ht)) (root (progn (ht-set! treemacs-dom default-directory (treemacs-dom-node->create! :key default-directory)) (treemacs-find-in-dom default-directory))) (node1 (progn (ht-set! treemacs-dom "/A/B" (treemacs-dom-node->create! :key "/A/B")) (treemacs-find-in-dom "/A/B"))) (node2 (progn (ht-set! treemacs-dom "/A/B/C" (treemacs-dom-node->create! :key "/A/B/C")) (treemacs-find-in-dom "/A/B/C")))) (setf (treemacs-dom-node->parent node1) root (treemacs-dom-node->parent node2) node1 (treemacs-dom-node->children root) (list node1) (treemacs-dom-node->children node1) (list node2) (treemacs-dom-node->reentry-nodes root) (list node1) (treemacs-dom-node->reentry-nodes node1) (list node2)) (treemacs-on-collapse "/A/B") (expect (ht-size treemacs-dom) :to-equal 2) (expect (treemacs-dom-node->children root) :to-equal (list node1)) (expect (treemacs-dom-node->children node1) :to-be nil) (expect (treemacs-find-in-dom "/A/B/C") :to-be nil) (expect (treemacs-dom-node->reentry-nodes root) :to-be nil) (expect (treemacs-dom-node->reentry-nodes node1) :to-equal (list node2))))) (it "Removes a subtree when purging" (with-temp-buffer (let* ((default-directory "/A") (treemacs-dom (ht)) (root (progn (ht-set! treemacs-dom default-directory (treemacs-dom-node->create! :key default-directory)) (treemacs-find-in-dom default-directory))) (node1 (progn (ht-set! treemacs-dom "/A/B" (treemacs-dom-node->create! :key "/A/B")) (treemacs-find-in-dom "/A/B"))) (node2 (progn (ht-set! treemacs-dom "/A/B/C" (treemacs-dom-node->create! :key "/A/B/C")) (treemacs-find-in-dom "/A/B/C")))) (setf (treemacs-dom-node->parent node1) root (treemacs-dom-node->parent node2) node1 (treemacs-dom-node->children root) (list node1) (treemacs-dom-node->children node1) (list node2) (treemacs-dom-node->reentry-nodes root) (list node1) (treemacs-dom-node->reentry-nodes node1) (list node2)) (treemacs-on-collapse "/A/B" :purge) (expect (ht-size treemacs-dom) :to-equal 2) (expect (ht-get treemacs-dom "/A/B/C") :to-be nil) (expect (treemacs-dom-node->children node1) :to-be nil) (expect (treemacs-dom-node->reentry-nodes node1) :to-be nil))))) (describe "treemacs-on-expand" (it "Fails when key is nil" (with-temp-buffer (-let [treemacs-dom (ht)] (expect (treemacs-on-expand nil 1) :to-be nil)))) (it "Correctly expands root node" (with-temp-buffer (let* ((default-directory "/A") (treemacs-dom (ht))) (treemacs-on-expand "/A" 1) (-let [root (treemacs-find-in-dom default-directory)] (expect (ht-size treemacs-dom) :to-equal 1) (expect (treemacs-dom-node->position root) :to-equal 1) (expect (treemacs-dom-node->parent root) :to-be nil))))) (it "Correctly expands child node" (with-temp-buffer (let* ((default-directory "/A") (treemacs-dom (ht)) (root (progn (ht-set! treemacs-dom default-directory (treemacs-dom-node->create! :key default-directory)) (treemacs-find-in-dom default-directory))) (node (progn (ht-set! treemacs-dom "/A/B" (treemacs-dom-node->create! :key "/A/B")) (treemacs-find-in-dom "/A/B")))) (setf (treemacs-dom-node->parent node) root (treemacs-dom-node->children root) (list node)) (treemacs-on-expand "/A/B" 2) (expect (treemacs-dom-node->position node) :to-equal 2) (expect (treemacs-dom-node->reentry-nodes root) :to-equal (list node)))))) (when treemacs-should-run-file-notify-tests (describe "treemacs--start-watching" (before-each (spy-on #'file-notify-add-watch :and-return-value 123456)) (it "Stars watching an unwatched file" (let ((path "/A") (treemacs-filewatch-mode t) (treemacs--filewatch-index (make-hash-table :test #'equal)) (treemacs--collapsed-filewatch-index (make-hash-table :test #'equal))) (treemacs--start-watching path t) (expect (gethash path treemacs--filewatch-index) :to-equal (cons (list (current-buffer)) 123456)) (expect (gethash path treemacs--collapsed-filewatch-index) :to-be-truthy) (expect #'file-notify-add-watch :to-have-been-called))) (it "Keeps watching an already watched file" (let ((path "/A") (treemacs-filewatch-mode t) (treemacs--filewatch-index (make-hash-table :test #'equal)) (treemacs--collapsed-filewatch-index (make-hash-table :test #'equal))) (puthash path (cons '(x y) 123456) treemacs--filewatch-index) (treemacs--start-watching path t) (expect (gethash path treemacs--filewatch-index) :to-equal (cons (list (current-buffer) 'x 'y) 123456)) (expect (gethash path treemacs--collapsed-filewatch-index) :to-be-truthy) (expect #'file-notify-add-watch :not :to-have-been-called))) (it "Adds a watching buffer only once" (let ((path "/A") (treemacs-filewatch-mode t) (treemacs--filewatch-index (make-hash-table :test #'equal)) (treemacs--collapsed-filewatch-index (make-hash-table :test #'equal))) (puthash path (cons '(x y) 123456) treemacs--filewatch-index) (treemacs--start-watching path t) (treemacs--start-watching path t) (expect (gethash path treemacs--filewatch-index) :to-equal (cons (list (current-buffer) 'x 'y) 123456)) (expect (gethash path treemacs--collapsed-filewatch-index) :to-be-truthy) (expect #'file-notify-add-watch :not :to-have-been-called))))) (when treemacs-should-run-file-notify-tests (describe "treemacs--stop-watching" (it "Does nothing when path is not watched" (let ((treemacs--filewatch-index (make-hash-table :test #'equal)) (treemacs--collapsed-filewatch-index (make-hash-table :test #'equal))) (expect (treemacs--stop-watching "/A") :to-be nil))) (it "Stops the watch of the only watching buffer" (spy-on #'file-notify-rm-watch :and-return-value t) (let ((path "/A") (treemacs--filewatch-index (make-hash-table :test #'equal)) (treemacs--collapsed-filewatch-index (make-hash-table :test #'equal))) (puthash path (cons (list (current-buffer)) 123456) treemacs--filewatch-index) (puthash path t treemacs--collapsed-filewatch-index) (treemacs--stop-watching path) (expect (gethash path treemacs--filewatch-index) :to-be nil) (expect (gethash path treemacs--collapsed-filewatch-index) :to-be nil))) (it "Stops the watch of one of several buffers" (spy-on #'file-notify-rm-watch) (let ((path "/A") (treemacs--filewatch-index (make-hash-table :test #'equal)) (treemacs--collapsed-filewatch-index (make-hash-table :test #'equal))) (puthash path (cons (list 'x 'y (current-buffer)) 123456) treemacs--filewatch-index) (puthash path t treemacs--collapsed-filewatch-index) (treemacs--stop-watching path) (expect (gethash path treemacs--filewatch-index) :to-equal (cons '(x y) 123456)) (expect (gethash path treemacs--collapsed-filewatch-index) :to-be-truthy) (expect #'file-notify-rm-watch :not :to-have-been-called))) (it "Stops the watch of path below stopped path" (spy-on #'file-notify-rm-watch :and-return-value t) (let ((path "/A/B") (treemacs--filewatch-index (make-hash-table :test #'equal)) (treemacs--collapsed-filewatch-index (make-hash-table :test #'equal))) (puthash path (cons (list (current-buffer)) 123456) treemacs--filewatch-index) (puthash path t treemacs--collapsed-filewatch-index) (treemacs--stop-watching "/A") (expect (gethash path treemacs--filewatch-index) :to-be nil) (expect (gethash path treemacs--collapsed-filewatch-index) :to-be nil))) (it "Stops the watch of all watching buffers" (spy-on #'file-notify-rm-watch :and-return-value t) (let ((path "/A") (treemacs--filewatch-index (make-hash-table :test #'equal)) (treemacs--collapsed-filewatch-index (make-hash-table :test #'equal))) (puthash path (cons '(x y z) 123456) treemacs--filewatch-index) (puthash path t treemacs--collapsed-filewatch-index) (treemacs--stop-watching path t) (expect (gethash path treemacs--filewatch-index) :to-be nil) (expect (gethash path treemacs--collapsed-filewatch-index) :to-be nil))))) (describe "treemacs--flatten&sort-imenu-index" (it "Correctly transforms an org-mode index" (let ((org-imenu-depth 10) (temp-file (make-temp-file "Treemacs Test"))) (ignore org-imenu-depth) ; for the compiler (unwind-protect (progn (find-file-noselect temp-file) (with-current-buffer (get-file-buffer temp-file) (insert "* H1\n") (insert "** H1.2\n") (insert "*** H1.2.3\n") (insert "* H2\n") (org-mode) (save-buffer) (expect (treemacs--flatten&sort-imenu-index) :to-equal `((("H1" . ,(move-marker (make-marker) 1))) (("H1.2" . ,(move-marker (make-marker) 6)) "H1") (("H1.2.3" . ,(move-marker (make-marker) 14)) "H1" "H1.2") (("H2" . ,(move-marker (make-marker) 25))))))) (kill-buffer (get-file-buffer temp-file)) (delete-file temp-file))))) (describe "treemacs--find-index-pos" (it "Fails when point is nil" (-let [pos nil] (expect (treemacs--find-index-pos pos '((("A" . (make-marker))))) :to-throw))) (it "Returns nil when index is nil" (expect (treemacs--find-index-pos 1 nil) :to-be nil)) (it "Finds the correct position before the first marker" (let ((input `((("A" . ,(move-marker (make-marker) 10))) (("B" . ,(move-marker (make-marker) 20))) (("C" . ,(move-marker (make-marker) 30)))))) (expect (treemacs--find-index-pos 1 input) :to-equal (car input)))) (it "Finds the correct position after the last marker" (let ((input `((("A" . ,(move-marker (make-marker) 10))) (("B" . ,(move-marker (make-marker) 20))) (("C" . ,(move-marker (make-marker) 30)))))) (expect (treemacs--find-index-pos 100 input) :to-equal (-last-item input)))) (it "Finds an index using binary search" (spy-on #'treemacs--binary-index-search :and-call-through) (with-temp-buffer ;; make those markers viable (dotimes (_ 10) (insert " \n")) (let ((input `((("A" . ,(move-marker (make-marker) 10))) (("B" . ,(move-marker (make-marker) 20))) (("C" . ,(move-marker (make-marker) 30))) (("D" . ,(move-marker (make-marker) 40))) (("E" . ,(move-marker (make-marker) 50))) (("F" . ,(move-marker (make-marker) 60))) (("G" . ,(move-marker (make-marker) 70))) (("H" . ,(move-marker (make-marker) 80))) (("I" . ,(move-marker (make-marker) 90)))))) (expect (treemacs--find-index-pos 72 input) :to-equal (nth 6 input)) (expect #'treemacs--binary-index-search :to-have-been-called))))) (describe "treemacs--find-project-for-path" (it "Returns nil when input is nil" (treemacs--with-project (treemacs-project->create! :path "/A" :path-status 'local-readable) (expect (treemacs--find-project-for-path nil) :to-be nil))) (it "Returns nil when the workspace is empty" (treemacs--with-project nil (expect (treemacs--find-project-for-path "/A") :to-be nil))) (it "Returns nil when path does not fit any project" (treemacs--with-project (treemacs-project->create! :path "/A/B" :path-status 'local-readable) (expect (treemacs--find-project-for-path "/A/C") :to-be nil))) (it "Returns project when path fits" (-let [project (treemacs-project->create! :path "/A/B" :path-status 'local-readable)] (treemacs--with-project project (expect (treemacs--find-project-for-path "/A/B/C") :to-equal project))))) (describe "treemacs--flatten-imenu-index" (it "Does nothing when input is nil" (expect (treemacs--flatten-imenu-index nil) :to-be nil)) (it "Does nothing when input is empty" (expect (treemacs--flatten-imenu-index (list)) :to-be nil)) (it "Correctly parses a single item" (expect (treemacs--flatten-imenu-index '("Functions")) :to-be nil)) (it "Correctly parses full index" (-let [input `(("Functions" ("f1" . 1) ("f2" . 2)) ("Types" ("t1" . 3) ("t2" . 4)) ("Classes" ("c1" ("Members" ("m1" . 5) ("m2" . 6)))))] (expect (treemacs--flatten-imenu-index input) :to-equal `((("f2" . 2) "Functions") (("f1" . 1) "Functions") (("t2" . 4) "Types") (("t1" . 3) "Types") (("m2" . 6) "Classes" "c1" "Members") (("m1" . 5) "Classes" "c1" "Members")))))) (describe "treemacs--flatten-org-mode-imenu-index" (it "Does nothing when input is nil" (expect (treemacs--flatten-org-mode-imenu-index nil) :to-be nil)) (it "Does nothing when input is empty" (expect (treemacs--flatten-org-mode-imenu-index (list)) :to-be nil)) (it "Correctly parses a single item" (expect (treemacs--flatten-org-mode-imenu-index '("Functions")) :to-equal '(("Functions")))) (it "Correctly parses full index" (-let [input `(("Functions" ("f1" . 1) ("f2" . 2)) ("Types" ("t1" . 3) ("t2" . 4)) ("Classes" ("c1" ("Members" ("m1" . 5) ("m2" . 6)))))] (expect (treemacs--flatten-org-mode-imenu-index input) :to-equal `(("Classes") ("Types") ("Functions") (("f2" . 2) "Functions") (("f1" . 1) "Functions") (("t2" . 4) "Types") (("t1" . 3) "Types") ("c1" "Classes") ("Members" "Classes" "c1") (("m2" . 6) "Classes" "c1" "Members") (("m1" . 5) "Classes" "c1" "Members")))))) (describe "treemacs--next-non-child-button" (it "Does nothing when input is nil" (expect (treemacs--next-non-child-button nil) :to-be nil)) (it "Returns nil when there is only a single button" (with-temp-buffer (-let [b (insert-text-button "b")] (expect (treemacs--next-non-child-button b) :to-be nil)))) (it "Directly returns the next button" (with-temp-buffer (let ((b1 (insert-text-button "b1")) (b2 (insert-text-button "b2"))) (button-put b1 :depth 1) (button-put b2 :depth 1) (expect (marker-position (treemacs--next-non-child-button b1)) :to-equal b2)))) (it "Searches through higher-depth buttons" (with-temp-buffer (let ((b1 (insert-text-button "b1")) (b2 (insert-text-button "b2")) (b3 (insert-text-button "b3")) (b4 (insert-text-button "b4")) (b5 (insert-text-button "b5")) (b6 (insert-text-button "b6"))) (button-put b1 :depth 1) (button-put b2 :depth 2) (button-put b3 :depth 3) (button-put b4 :depth 4) (button-put b5 :depth 5) (button-put b6 :depth 1) (expect (marker-position (treemacs--next-non-child-button b1)) :to-equal b6)))) (it "Returns nil when there is no next non-child button" (with-temp-buffer (let ((b1 (insert-text-button "b1")) (b2 (insert-text-button "b2")) (b3 (insert-text-button "b3")) (b4 (insert-text-button "b4")) (b5 (insert-text-button "b5")) (b6 (insert-text-button "b6"))) (button-put b1 :depth 1) (button-put b2 :depth 2) (button-put b3 :depth 3) (button-put b4 :depth 4) (button-put b5 :depth 5) (button-put b6 :depth 6) (expect (treemacs--next-non-child-button b1) :to-be nil))))) (describe "treemacs--validate-persist-lines" (describe "Successes" (it "Succeeds on correctly formed input" (-let [lines '("* W1" "** P1" " - path :: a" "** P2" "- path :: b" "* W2" "** P3" " - path :: c")] (expect (treemacs--validate-persist-lines lines) :to-be 'success))) (it "Succeeds with the same path in multiple workspaces" (-let [lines '("* W1" "** P1" " - path :: /A/B" "* W2" "** P2" " - path :: /A/B")] (expect (treemacs--validate-persist-lines lines) :to-be 'success))) (it "Succeeds with non-connectable remotes" (let* ((treemacs--org-edit-buffer-name (buffer-name)) (lines '("* W1" "** P1" " - path :: /ftp:anonymous@ftp.invalid:/test-path"))) (expect (treemacs--validate-persist-lines lines) :to-be 'success))) (it "Succeeds with disabled projects" (-let [lines '("* W1" "** COMMENT P1" " - path :: a" "** P2" " - path :: b" "** COMMENT P3" " - path :: c")] (expect (treemacs--validate-persist-lines lines) :to-be 'success))) (it "Succeeds with disabled workspaces" (-let [lines '("* COMMENT W1" "** P1" " - path :: a" "* W2" "** P2" " - path :: b")] (expect (treemacs--validate-persist-lines lines) :to-be 'success)))) (describe "Errors" (it "Fails when first line is not a workspace name" (-let [lines '("X")] (expect (treemacs--validate-persist-lines lines) :to-equal '(error "X" "First item must be a workspace name")))) (it "Fails when line after workspace name is not a project name" (-let [lines '("* X" "Y")] (expect (treemacs--validate-persist-lines lines) :to-equal '(error "Y" "Workspace name must be followed by project name")))) (it "Fails when line after project name is not a property" (-let [lines '("* X" "** Y" "Z")] (expect (treemacs--validate-persist-lines lines) :to-equal '(error "** Y" "Project name must be followed by path declaration")))) (it "Fails when line after path is not a project or workspace" (-let [lines '("* X" "** Y" " - path :: Z" "A")] (expect (treemacs--validate-persist-lines lines) :to-equal '(error " - path :: Z" "Path property must be followed by the next workspace or project")))) (it "Fails when lines end at workspace name" (-let [lines '("* X")] (expect (treemacs--validate-persist-lines lines) :to-equal '(error "* X" "Cannot end with a project or workspace name")))) (it "Fails when lines end at project name" (-let [lines '("* X" "** X")] (expect (treemacs--validate-persist-lines lines) :to-equal '(error "** X" "Cannot end with a project or workspace name")))) (it "Fails when input is empty" (expect (treemacs--validate-persist-lines nil) :to-equal '(error :start "Input is empty"))) (it "Fails when path appears more than once" (-let [lines '("* W1" "** P1" " - path :: /A/B/C" "** P2" " - path :: /A/B/C/D")] (expect (treemacs--validate-persist-lines lines) :to-equal '(error " - path :: /A/B/C/D" "Path '/A/B/C/D' appears in the workspace more than once.")))) (it "Fails when all projects are disabled" (-let [lines '("* W1" "** COMMENT P1" " - path :: a" "** COMMENT P2" " - path :: b" "** COMMENT P3" " - path :: c")] (expect (treemacs--validate-persist-lines lines) :to-equal '(error " - path :: c" "Workspace must contain at least 1 project that is not disabled.")))) (it "Fails when all workspaces are disabled" (-let [lines '("* COMMENT W1" "** P1" " - path :: a" "* COMMENT W2" "** P2" " - path :: b")] (expect (treemacs--validate-persist-lines lines) :to-equal '(error " - path :: b" "There must be at least 1 worspace that is not disabled.")))))) (describe "treemacs--read-persist-lines" (it "Ignores commentes" (expect (treemacs--read-persist-lines "#\n#\n#") :to-be nil)) (it "Ignores blanks" (expect (treemacs--read-persist-lines " \n \n \t \t ") :to-be nil)) (it "Reads everything else" (expect (treemacs--read-persist-lines (concat "#Foo: Bar\n" "\n" "* Workspace\n" "\t\n" "** Project\n" "#Comment\n" " - path :: /x\n")) :to-equal '("* Workspace" "** Project" " - path :: /x")))) (describe "treemacs--read-workspaces" (before-each (spy-on #'treemacs--get-path-status :and-return-value 'local-readable)) (it "Reads workspaces correctly" (let* ((list '("* WS 1" "** P1" " - path :: /a" "** P2" " - path :: /b" "* WS 2" "** P3" " - path :: /c" "** P4" " - path :: /d")) (iter (treemacs-iter->create! :list list)) (result (treemacs--read-workspaces iter)) (disabled-workspaces (car result)) (workspaces (cadr result))) (expect (length disabled-workspaces) :to-be 0) (expect (length workspaces) :to-be 2) (let* ((ws1 (car workspaces)) (ws2 (cadr workspaces)) (ws1-projects (treemacs-workspace->projects ws1)) (ws2-projects (treemacs-workspace->projects ws2))) (expect (treemacs-workspace->name ws1) :to-equal "WS 1") (expect (treemacs-workspace->name ws2) :to-equal "WS 2") (expect (length ws1-projects) :to-be 2) (expect (length ws2-projects) :to-be 2) (let ((pr1 (car ws1-projects)) (pr2 (cadr ws1-projects)) (pr3 (car ws2-projects)) (pr4 (cadr ws2-projects))) (expect (treemacs-project->name pr1) :to-equal "P1") (expect (treemacs-project->name pr2) :to-equal "P2") (expect (treemacs-project->name pr3) :to-equal "P3") (expect (treemacs-project->name pr4) :to-equal "P4") (expect (treemacs-project->path pr1) :to-equal "/a") (expect (treemacs-project->path pr2) :to-equal "/b") (expect (treemacs-project->path pr3) :to-equal "/c") (expect (treemacs-project->path pr4) :to-equal "/d"))))) (it "Reads disbled workspaces correctly" (let* ((list '("* COMMENT WS 1" "** P1" " - path :: /a")) (iter (treemacs-iter->create! :list list)) (result (treemacs--read-workspaces iter)) (disabled-workspaces (car result)) (workspaces (cadr result))) (expect (length disabled-workspaces) :to-be 1) (expect (length workspaces) :to-be 0) (let* ((ws1 (car disabled-workspaces)) (ws1-projects (treemacs-workspace->projects ws1))) (expect (treemacs-workspace->name ws1) :to-equal "WS 1") (expect (treemacs-workspace->is-disabled? ws1) :to-be t) (expect (length ws1-projects) :to-be 1) (let ((pr1 (car ws1-projects))) (expect (treemacs-project->name pr1) :to-equal "P1") (expect (treemacs-project->path pr1) :to-equal "/a"))))) (it "Reads disabled projects" (let* ((list '("* WS 1" "** COMMENT P1" " - path :: /a")) (iter (treemacs-iter->create! :list list)) (result (treemacs--read-workspaces iter)) (workspaces (cadr result)) (disabled-workspaces (car result))) (expect (length workspaces) :to-be 1) (expect (length disabled-workspaces) :to-be 0) (-let [project (-> workspaces (car) (treemacs-workspace->projects) (car))] (expect (treemacs-project->name project) :to-equal "P1") (expect (treemacs-project->is-disabled? project) :to-be t))))) (describe "treemacs--git-status-process" (it "Does not call treemacs--git-status-process-function with non-local or unreadable paths" (dolist (status '(local-unreadable remote-readable remote-unreadable remote-disconnected extension)) (spy-on 'treemacs--git-status-process-function) (-> treemacs-dir (treemacs-join-path "test") (treemacs--git-status-process (treemacs-project->create! :name "P" :path treemacs-dir :path-status status))) (expect 'treemacs--git-status-process-function :not :to-have-been-called))) (it "Calls treemacs--git-status-process-function with local readable path" (spy-on 'treemacs--git-status-process-function) (let ((path (treemacs-join-path treemacs-dir "test"))) (treemacs--git-status-process path (treemacs-project->create! :name "P" :path treemacs-dir :path-status 'local-readable)) (expect 'treemacs--git-status-process-function :to-have-been-called-with path)))) (describe "treemacs--process-collapsed-dirs" (it "Does nothing with non-local or unreadable paths" (-let [treemacs-collapse-dirs 3] (dolist (status '(local-unreadable remote-readable remote-unreadable remote-disconnected extension)) (expect (-> treemacs-dir (treemacs-join-path "test") (treemacs--flattened-dirs-process (treemacs-project->create! :name "P" :path treemacs-dir :path-status status))) :to-equal nil))))) (describe "treemacs--remove-trailing-newline" (it "Fails on nil input" (expect (treemacs--remove-trailing-newline nil) :to-throw)) (it "Fails on empty string" (expect (treemacs--remove-trailing-newline "") :to-throw)) (it "Does nothing when input does not need trimming" (-let [input "abc"] (expect (treemacs--remove-trailing-newline input) :to-equal input))) (it "Removes the last newline" (expect (treemacs--remove-trailing-newline "abc\n") :to-equal "abc")) (it "Removes only the last newline" (expect (treemacs--remove-trailing-newline "abc\n\n\n") :to-equal "abc\n\n"))) (describe "treemacs--add-trailing-slash" (it "Fails on nil input" (expect (treemacs--add-trailing-slash nil) :to-throw)) (it "Fails on blank input" (expect (treemacs--add-trailing-slash "") :to-throw)) (it "Does not add slash if one is already present" (expect (treemacs--add-trailing-slash "/ABC/") :to-equal "/ABC/")) (it "Adds a slash when there isn't one" (expect (treemacs--add-trailing-slash "/ABC") :to-equal "/ABC/"))) (describe "treemacs--is-name-invalid?" (it "detects nil" (expect (treemacs--is-name-invalid? nil) :to-be t)) (it "detects an empty string" (expect (treemacs--is-name-invalid? "") :to-be t)) (it "detects a blank string" (expect (treemacs--is-name-invalid? " ") :to-be t)) (it "detects a string with newlines" (expect (treemacs--is-name-invalid? "a\nb") :to-be t))) (describe "treemacs--find-workspace" (it "Finds nothing when there are no workspaces" (treemacs--save-workspace (-let [treemacs--workspaces nil] (treemacs--find-workspace) (expect (treemacs-current-workspace) :to-be nil))) (treemacs--save-workspace (-let [treemacs--workspaces nil] (treemacs--find-workspace "X") (expect (treemacs-current-workspace) :to-be nil)))) (it "Finds the first workspace when there is no current file" (treemacs--save-workspace (let* ((ws1 (treemacs-workspace->create! :name "A")) (ws2 (treemacs-workspace->create! :name "B")) (treemacs--workspaces (list ws1 ws2))) (treemacs--find-workspace) (expect (treemacs-current-workspace) :to-be ws1)))) (it "Finds the first workspace when nothing fits the current file" (treemacs--save-workspace (let* ((p1 (treemacs-project->create! :name "P1" :path "P1")) (p2 (treemacs-project->create! :name "P2" :path "P2")) (ws1 (treemacs-workspace->create! :name "A" :projects (list p1))) (ws2 (treemacs-workspace->create! :name "B" :projects (list p2))) (treemacs--workspaces (list ws1 ws2))) (treemacs--find-workspace "X") (expect (treemacs-current-workspace) :to-be ws1)))) (it "Finds workspace which contains current file" (treemacs--save-workspace (let* ((p1 (treemacs-project->create! :name "P1" :path "P1")) (p2 (treemacs-project->create! :name "P2" :path "/A")) (ws1 (treemacs-workspace->create! :name "A" :projects (list p1))) (ws2 (treemacs-workspace->create! :name "B" :projects (list p2))) (treemacs--workspaces (list ws1 ws2))) (treemacs--find-workspace "/A/B/C") (expect (treemacs-current-workspace) :to-be ws2))))) (defmacro test-treemacs--with-sample-buffer (&rest body) "Evaluate BODY with some buttons defined. In BODY, variable PROJECT is defined." (declare (indent 0)) (let ((parent-marker (make-symbol "parent-marker"))) `(with-temp-buffer (let ((project (treemacs-project->create! :name "Project" :path "/project")) (,parent-marker nil)) (insert-text-button "Project" :path "/project" :state 'root-node-open :depth 0 :project project) (setq ,parent-marker (copy-marker (line-beginning-position))) (insert "\n") (insert-text-button "directory" :path "/project/directory" :key "/project/directory" :state 'dir-node-open :parent ,parent-marker :depth 1) (setq ,parent-marker (copy-marker (line-beginning-position))) (insert "\n") (insert-text-button "file.txt" :path "/project/directory/file.txt" :key "/project/directory/file.txt" :state 'file-node-closed :parent ,parent-marker :depth 2) (setq ,parent-marker (copy-marker (line-beginning-position))) (insert "\n") (goto-char 0) ,@body)))) (defun test-treemacs--format-pattern (template expected-1 expected-2 expected-3) "Test that `treemacs--format-bookmark-title' expands TEMPLATE correctly. EXPECTED-1 is the expected expansion of the \"Project\" button. EXPECTED-2 is the expected expansion of the \"directory\" button. EXPECTED-3 is the expected expansion of the \"file.txt\" button." (test-treemacs--with-sample-buffer (let ((treemacs-bookmark-title-template template)) (expect (treemacs--format-bookmark-title (treemacs-current-button)) :to-equal expected-1) (forward-line 1) (expect (treemacs--format-bookmark-title (treemacs-current-button)) :to-equal expected-2) (forward-line 1) (expect (treemacs--format-bookmark-title (treemacs-current-button)) :to-equal expected-3)))) (describe "treemacs-collect-child-nodes" (it "Finds nothing for last node" (with-temp-buffer (insert (propertize "Root" 'button t :depth 1)) (insert "\n") (goto-char 0) (let* ((parent-btn (point-marker)) (result (treemacs-collect-child-nodes parent-btn))) (expect result :to-be nil)))) (it "Finds nothing for node without direct children" (with-temp-buffer (let* ((root1 (progn (insert (propertize "Root1" 'button t 'category 'treemacs-button :depth 1)) (beginning-of-line) (point-marker))) (input (progn (end-of-line) (insert "\n" (propertize " Input" 'button t 'category 'treemacs-button :depth 2 :parent root1)) (beginning-of-line) (point-marker))) (_root2 (progn (end-of-line) (insert "\n" (propertize "Root2" 'button t 'category 'treemacs-button :depth 1)) (beginning-of-line) (point-marker))) ) (-let [result (treemacs-collect-child-nodes input)] (expect result :to-be nil))))) (it "Finds only direct children" (with-temp-buffer (let* ((root1 (progn (insert (propertize "Root1" 'button t 'category 'treemacs-button :depth 1)) (beginning-of-line) (point-marker))) (input (progn (end-of-line) (insert "\n" (propertize " Input" 'button t 'category 'treemacs-button :depth 2 :parent root1)) (beginning-of-line) (point-marker))) (child1 (progn (end-of-line) (insert "\n" (propertize " Child1" 'button t 'category 'treemacs-button :depth 3 :parent input)) (beginning-of-line) (point-marker))) (_grand-child (progn (end-of-line) (insert "\n" (propertize " Grand Child" 'button t 'category 'treemacs-button :depth 4 :parent child1)) (beginning-of-line) (point-marker))) (_child2 (progn (end-of-line) (insert "\n" (propertize " Child2" 'button t 'category 'treemacs-button :depth 3 :parent input)) (beginning-of-line) (point-marker))) ) (-let [result (-map #'treemacs--get-label-of (treemacs-collect-child-nodes input))] (expect result :to-have-same-items-as '(" Child1" " Child2"))))))) (describe "treemacs--format-bookmark-title" (it "Uses the configured pattern" (test-treemacs--format-pattern "No replacements" "No replacements" "No replacements" "No replacements")) (it "Formats the project name" (test-treemacs--format-pattern "${project}" "Project" "Project" "Project")) (it "Formats the label" (test-treemacs--format-pattern "${label}" "Project" "directory" "file.txt")) (it "Formats the parent label" (test-treemacs--format-pattern "${label:1}" "" "Project" "directory")) (it "Formats the grandparent label" (test-treemacs--format-pattern "${label:2}" "" "" "Project")) (it "Formats the label path" (test-treemacs--format-pattern "${label-path}" "Project" "Project/directory" "Project/directory/file.txt")) (it "Formats the limited label path" (test-treemacs--format-pattern "${label-path:2}" "Project" "Project/directory" "directory/file.txt")) (it "Does not hang with negatie label path limit" (test-treemacs--format-pattern "${label-path:-2}" "Project" "Project/directory" "Project/directory/file.txt")) (it "Formats the file path" (test-treemacs--format-pattern "${file-path}" "/project" "/project/directory" "/project/directory/file.txt")) (it "Formats the limited file path" (test-treemacs--format-pattern "${file-path:2}" "/project" "/project/directory" "directory/file.txt")) (it "Does not hang with negative file path" (test-treemacs--format-pattern "${file-path:-1}" "" "" ""))) (describe "treemacs-dom-node->remove-collapse-keys!" (it "Removes and deletes all collapse entries" (with-temp-buffer (let* ((dom-node (treemacs-dom-node->create! :key "Main Key" :collapse-keys '("Key 1" "Key 2" "Key 3"))) (treemacs-dom (ht ("Main Key" dom-node) ("Key 1" dom-node) ("Key 2" dom-node) ("Key 3" dom-node)))) (treemacs-dom-node->remove-collapse-keys! dom-node '("Key 1" "Key 3")) (expect (treemacs-find-in-dom "Main Key") :to-be dom-node) (expect (treemacs-find-in-dom "Key 2") :to-be dom-node) (expect (treemacs-find-in-dom "Key 1") :to-be nil) (expect (treemacs-find-in-dom "Key 3") :to-be nil) (expect (treemacs-dom-node->collapse-keys dom-node) :to-equal '("Key 2")))))) (describe "treemacs--maybe-clean-buffers-on-workspace-switch" :var* ((tmp-file (make-temp-file "TESTFILE")) (scratch (get-buffer-create "*scratch*")) (file-buffer) (non-file-buffer) (fake-buffer-list)) (before-each (setf file-buffer (find-file-noselect tmp-file) non-file-buffer (get-buffer-create "TESTBUFFER") fake-buffer-list (list file-buffer non-file-buffer scratch))) (after-all (when file-buffer (kill-buffer file-buffer)) (when non-file-buffer (kill-buffer non-file-buffer)) (delete-file tmp-file)) (it "Does nothing when cleanup is set to 'nil'" (-let [treemacs-workspace-switch-cleanup nil] (spy-on #'buffer-list :and-return-value fake-buffer-list) (treemacs--maybe-clean-buffers-on-workspace-switch treemacs-workspace-switch-cleanup) (expect (buffer-live-p scratch) :to-be t) (expect (buffer-live-p file-buffer) :to-be t) (expect (buffer-live-p non-file-buffer) :to-be t))) (it "Kills file buffers when cleanup is set to 'files'" (-let [treemacs-workspace-switch-cleanup 'files] (spy-on #'buffer-list :and-return-value fake-buffer-list) (treemacs--maybe-clean-buffers-on-workspace-switch treemacs-workspace-switch-cleanup) (expect (buffer-live-p scratch) :to-be t) (expect (buffer-live-p file-buffer) :to-be nil) (expect (buffer-live-p non-file-buffer) :to-be t))) (it "Kills all buffers when cleanup is set to 'all'" (-let [treemacs-workspace-switch-cleanup 'all] (spy-on #'buffer-list :and-return-value fake-buffer-list) (treemacs--maybe-clean-buffers-on-workspace-switch treemacs-workspace-switch-cleanup) (expect (buffer-live-p scratch) :to-be t) (expect (buffer-live-p file-buffer) :to-be nil) (expect (buffer-live-p non-file-buffer) :to-be nil)))) (describe "treemacs--find-repeated-file-name" (before-each (fset 'fake-file-exists (lambda (p) (pcase p ("/a/file.el" t) ("/c/file" t) ((guard (and (s-starts-with? "/b/" p) (not (s-contains? "5" p)))) t) ((guard (and (s-starts-with? "/d/" p) (not (s-contains? "5" p)))) t) ))) (spy-on 'file-exists-p :and-call-fake 'fake-file-exists)) (it "Returns input when it does not already exist" (expect (treemacs--find-repeated-file-name "/X/Y/Z") :to-equal "/X/Y/Z")) (it "Find a (Copy 1) file with extension" (expect (treemacs--find-repeated-file-name "/a/file.el") :to-equal "/a/file (Copy 1).el")) (it "Find a (Copy 5) file with extension" (expect (treemacs--find-repeated-file-name "/b/file.el") :to-equal "/b/file (Copy 5).el")) (it "Find a (Copy 1) file without extension" (expect (treemacs--find-repeated-file-name "/c/file") :to-equal "/c/file (Copy 1)")) (it "Find a (Copy 5) file without extension" (expect (treemacs--find-repeated-file-name "/d/file") :to-equal "/d/file (Copy 5)"))) (describe "treemacs--tokenize-path" (it "Throws when path is nil" (expect (treemacs--tokenize-path nil "/a") :to-throw)) (it "Throws when exclude-prefix is longer than path" (expect (treemacs--tokenize-path "/a" "/a/b") :to-throw)) (it "Returns nothing when path and exclude-prefix are equally long" (expect (treemacs--tokenize-path "/a/b" "/a/b") :to-be nil)) (it "Tokenizes everything when exclude-prefix is nil" (expect (treemacs--tokenize-path "/a/b/c/d" nil) :to-equal '("a" "b" "c" "d"))) (it "Tokenizes everything when exclude-prefix is empty" (expect (treemacs--tokenize-path "/a/b/c/d" "") :to-equal '("a" "b" "c" "d"))) (it "Tokenizes everything past the exclude-prefix" (expect (treemacs--tokenize-path "/a/b/c/d" "/a/b") :to-equal '("c" "d")))) (describe "Workspaces" (describe "treemacs-find-workspace" (describe "By Name" (it "Finds the right workspace" (let* ((ws1 (treemacs-workspace->create! :name "A")) (ws2 (treemacs-workspace->create! :name "B")) (ws3 (treemacs-workspace->create! :name "C")) (treemacs--workspaces (list ws1 ws2 ws3))) (expect (treemacs-find-workspace-by-name "B") :to-equal ws2))) (it "Returns nil when no workspaceis found" (let* ((ws1 (treemacs-workspace->create! :name "A")) (ws2 (treemacs-workspace->create! :name "B")) (ws3 (treemacs-workspace->create! :name "C")) (treemacs--workspaces (list ws1 ws2 ws3))) (expect (treemacs-find-workspace-by-name "X") :to-be nil)))) (describe "By Path" (it "Finds the right workspace" (let* ((ws1 (treemacs-workspace->create! :projects (list (treemacs-project->create! :path "A")))) (ws2 (treemacs-workspace->create! :projects (list (treemacs-project->create! :path "B")))) (ws3 (treemacs-workspace->create! :projects (list (treemacs-project->create! :path "C")))) (treemacs--workspaces (list ws1 ws2 ws3))) (expect (treemacs-find-workspace-by-path "B") :to-equal ws2))) (it "Returns nil when no workspaceis found" (let* ((ws1 (treemacs-workspace->create! :projects (list (treemacs-project->create! :path "A")))) (ws2 (treemacs-workspace->create! :projects (list (treemacs-project->create! :path "B")))) (ws3 (treemacs-workspace->create! :projects (list (treemacs-project->create! :path "C")))) (treemacs--workspaces (list ws1 ws2 ws3))) (expect (treemacs-find-workspace-by-path "X") :to-be nil)))) (describe "By Predicate" (it "Finds the right workspace" (let* ((ws1 (treemacs-workspace->create! :name "A")) (ws2 (treemacs-workspace->create! :name "B" :projects (list (treemacs-project->create! :path "B")))) (ws3 (treemacs-workspace->create! :name "B")) (treemacs--workspaces (list ws1 ws2 ws3))) (expect (treemacs-find-workspace-where (lambda (ws) (treemacs-workspace->projects ws))) :to-equal ws2))) (it "Returns nil when no workspaceis found" (let* ((ws1 (treemacs-workspace->create! :name "A")) (ws2 (treemacs-workspace->create! :name "B")) (ws3 (treemacs-workspace->create! :name "C")) (treemacs--workspaces (list ws1 ws2 ws3))) (expect (treemacs-find-workspace-where (lambda (ws) (treemacs-workspace->projects ws))) :to-be nil))))) (describe "treemacs-create-workspace" (describe "Failures" (it "Fails when name is empty" (expect (treemacs-do-create-workspace "") :to-equal '(invalid-name ""))) (it "Fails when name is blank" (expect (treemacs-do-create-workspace " ") :to-equal '(invalid-name " "))) (it "Fails when name contains newlines" (expect (treemacs-do-create-workspace "a\nb") :to-equal '(invalid-name "a\nb"))) (it "Fails when name is a duplicate" (let* ((ws (treemacs-workspace->create! :name "A")) (treemacs--workspaces (list ws))) (expect (treemacs-do-create-workspace "A") :to-equal `(duplicate-name ,ws))))) (describe "Successes" :var* ((treemacs--workspaces nil)) (before-each (setf treemacs--workspaces nil) (spy-on #'treemacs--persist nil)) (it "Adds the workspace" (treemacs-do-create-workspace "Valid Name") (expect (treemacs-find-workspace-by-name "Valid Name") :to-be-truthy)) (it "Persists the workspace" (treemacs-do-create-workspace "Valid Name") (expect #'treemacs--persist :to-have-been-called)) (it "Returns the created workspace" (expect (car (treemacs-do-create-workspace "Valid Name")) :to-equal 'success)))) (describe "treemacs-do-remove-workspace" (describe "Failures" (it "Cannot delete the last workspace" (let* ((ws (treemacs-workspace->create!)) (treemacs--workspaces (list ws))) (expect (treemacs-do-remove-workspace) :to-equal 'only-one-workspace))) (it "Can be canceled by the user" (spy-on #'yes-or-no-p :and-return-value nil) (let* ((ws1 (treemacs-workspace->create! :name "A")) (ws2 (treemacs-workspace->create! :name "B")) (treemacs--workspaces (list ws1 ws2))) (expect (treemacs-do-remove-workspace "A" :ask-to-confirm) :to-equal 'user-cancel))) (it "Only deleted workspaces that exist" (spy-on #'yes-or-no-p :and-return-value nil) (let* ((ws1 (treemacs-workspace->create! :name "A")) (ws2 (treemacs-workspace->create! :name "B")) (treemacs--workspaces (list ws1 ws2))) (expect (treemacs-do-remove-workspace "X") :to-equal '(workspace-not-found "X"))))) (describe "Successes" (it "Deletes workspace that is given" (let* ((ws1 (treemacs-workspace->create! :name "A")) (ws2 (treemacs-workspace->create! :name "B")) (treemacs--workspaces (list ws1 ws2))) (expect (treemacs-do-remove-workspace "B") :to-equal `(success ,ws2 ,(list ws1))))) (it "Deletes workspace that selected interactively" (spy-on #'completing-read :and-return-value "B") (let* ((ws1 (treemacs-workspace->create! :name "A")) (ws2 (treemacs-workspace->create! :name "B")) (treemacs--workspaces (list ws1 ws2))) (expect (treemacs-do-remove-workspace) :to-equal `(success ,ws2 ,(list ws1))))))) (describe "treemacs-do-switch-to-workspace" (before-each (spy-on #'treemacs--restore :and-return-value nil) (spy-on #'treemacs--invalidate-buffer-project-cache :and-return-value nil) (spy-on #'treemacs--rerender-after-workspace-change :and-return-value nil)) (describe "Failures" (it "Fails when there is only 1 workspace" (-let [treemacs--workspaces (list (treemacs-workspace->create! :name "A"))] (expect (treemacs-do-switch-workspace) :to-equal 'only-one-workspace))) (it "Fails when workspace cannot be found" (-let [treemacs--workspaces (list (treemacs-workspace->create! :name "A") (treemacs-workspace->create! :name "B"))] (expect (treemacs-do-switch-workspace "X") :to-equal '(workspace-not-found "X"))))) (describe "Successes" (it "Succeeds when workspace is given by name" (let* ((ws1 (treemacs-workspace->create! :name "A")) (ws2 (treemacs-workspace->create! :name "B")) (treemacs--workspaces (list ws1 ws2))) (expect (treemacs-do-switch-workspace "B") :to-equal `(success ,ws2)))) (it "Succeeds when workspace is given directly" (let* ((ws1 (treemacs-workspace->create! :name "A")) (ws2 (treemacs-workspace->create! :name "B")) (treemacs--workspaces (list ws1 ws2))) (expect (treemacs-do-switch-workspace ws2) :to-equal `(success ,ws2))))))) (describe "treemacs--select-file-from-current-btn" :var (btn) (before-each (fset 'make-btn (lambda (&rest props) (insert "abc") (goto-char 0) (put-text-property 1 3 :path "/a/b/c") (put-text-property 1 3 :button t) (when props (apply #'put-text-property 1 3 props)) (setf btn (point-marker)))) (spy-on #'treemacs-current-button :and-return-value btn) (spy-on #'file-directory-p :and-return-value nil) (spy-on #'file-regular-p :and-return-value nil)) (it "returns interactively chosen path for flattened nodes" (with-temp-buffer (with-no-warnings (make-btn :collapsed '(2 "/a" "/a/b" "/a/b/c"))) (spy-on #'completing-read :and-return-value "/a/b") (expect (treemacs--select-file-from-btn btn "prompt") :to-equal "/a/b"))) (it "returns path when it is a directory" (with-temp-buffer (with-no-warnings (make-btn)) (spy-on #'file-directory-p :and-return-value t) (expect (treemacs--select-file-from-btn btn "prompt") :to-equal "/a/b/c"))) (it "returns parent path when path is file and dir-only is set" (with-temp-buffer (with-no-warnings (make-btn)) (spy-on #'file-regular-p :and-return-value t) (expect (treemacs--select-file-from-btn btn "prompt" :dir-only) :to-equal "/a/b"))) (it "returns path when it is a file and dir-only is not set" (with-temp-buffer (with-no-warnings (make-btn)) (spy-on #'file-regular-p :and-return-value t) (expect (treemacs--select-file-from-btn btn "prompt" nil) :to-equal "/a/b/c"))) (it "returns HOME when path is not a string" (with-temp-buffer (with-no-warnings (make-btn :path '(a b c))) (spy-on #'file-regular-p :and-return-value t) (expect (treemacs--select-file-from-btn btn "prompt") :to-equal (expand-file-name "~")))) ) (describe "treemacs--select-workspace-by-name" (before-each (spy-on #'treemacs--maybe-load-workspaces :and-return-value nil)) (it "returns match for only 1 workspace" (spy-on #'completing-read :and-return-value "WS") (let* ((ws (treemacs-workspace->create! :name "WS")) (treemacs--workspaces (list ws))) (expect (treemacs--select-workspace-by-name) :to-be ws))) (it "returns match for more than 1 workspace" (spy-on #'completing-read :and-return-value "WS2") (let* ((ws1 (treemacs-workspace->create! :name "WS1")) (ws2 (treemacs-workspace->create! :name "WS2")) (treemacs--workspaces (list ws1 ws2))) (expect (treemacs--select-workspace-by-name) :to-be ws2))) (it "forces a name selection" (spy-on #'completing-read :and-call-fake (-let [c 0] (lambda (&rest _) (if (> c 3) "WS2" (cl-incf c) "")))) (let* ((ws1 (treemacs-workspace->create! :name "WS1")) (ws2 (treemacs-workspace->create! :name "WS2")) (treemacs--workspaces (list ws1 ws2))) (expect (treemacs--select-workspace-by-name) :to-be ws2)))) (describe "treemacs--find-workspace-by-name" (before-each (spy-on #'treemacs--maybe-load-workspaces :and-return-value nil)) (it "returns match for only 1 workspace" (let* ((ws (treemacs-workspace->create! :name "WS1")) (treemacs--workspaces (list ws))) (expect (treemacs--find-workspace-by-name "WS1") :to-be ws))) (it "returns match for more than 1 workspace" (let* ((ws1 (treemacs-workspace->create! :name "WS1")) (ws2 (treemacs-workspace->create! :name "WS2")) (treemacs--workspaces (list ws1 ws2))) (expect (treemacs--find-workspace-by-name "WS2") :to-be ws2))) (it "returns nil when there is no match" (let* ((ws1 (treemacs-workspace->create! :name "WS1")) (ws2 (treemacs-workspace->create! :name "WS2")) (treemacs--workspaces (list ws1 ws2))) (expect (treemacs--find-workspace-by-name "X") :to-be nil)))) (describe "annotations" (describe "cleanup" (it "won't remove annotation if it has a face" (-let [treemacs--annotation-store (make-hash-table :size 200 :test 'equal)] (treemacs-set-annotation-face "Path" 'face "Source") (-let [ann (treemacs-get-annotation "Path")] (treemacs--remove-annotation-if-empty ann "Path") (expect (treemacs-get-annotation "Path") :to-be ann)))) (it "won't remove annotation if it has a git face" (let* ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal)) (ann (treemacs-annotation->create!))) (ht-set! treemacs--annotation-store "Path" ann) (setf (treemacs-annotation->git-face ann) 'face) (treemacs--remove-annotation-if-empty ann "Path") (expect (treemacs-get-annotation "Path") :to-be ann))) (it "won't remove annotation if it has a suffix" (-let [treemacs--annotation-store (make-hash-table :size 200 :test 'equal)] (treemacs-set-annotation-suffix "Path" "Suffix" "Source") (-let [ann (treemacs-get-annotation "Path")] (treemacs--remove-annotation-if-empty ann "Path") (expect (treemacs-get-annotation "Path") :to-be ann)))) (it "removes empty annotation" (let* ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal)) (ann (treemacs-annotation->create!))) (ht-set! treemacs--annotation-store "Path" ann) (treemacs--remove-annotation-if-empty ann "Path") (expect (treemacs-get-annotation "Path") :to-be nil)))) (describe "faces" (describe "add" (it "saves single value" (-let [treemacs--annotation-store (make-hash-table :size 200 :test 'equal)] (treemacs-set-annotation-face "Path" 'face "Source") (-let [ann (treemacs-get-annotation "Path")] (expect (treemacs-annotation->face ann) :to-equal '(("Source" . face))) (expect (treemacs-annotation->face-value ann) :to-equal '(face))))) (it "saves multiple values" (-let [treemacs--annotation-store (make-hash-table :size 200 :test 'equal)] (treemacs-set-annotation-face "Path" 'face1 "Source1") (treemacs-set-annotation-face "Path" 'face2 "Source2") (-let [ann (treemacs-get-annotation "Path")] (expect (treemacs-annotation->face ann) :to-equal '(("Source1" . face1) ("Source2" . face2))) (expect (treemacs-annotation->face-value ann) :to-equal '(face1 face2))))) (it "updates face for same source" (-let [treemacs--annotation-store (make-hash-table :size 200 :test 'equal)] (treemacs-set-annotation-face "Path" 'face1 "Source1") (treemacs-set-annotation-face "Path" 'face2 "Source1") (-let [ann (treemacs-get-annotation "Path")] (expect (treemacs-annotation->face ann) :to-equal '(("Source1" . face2))) (expect (treemacs-annotation->face-value ann) :to-equal '(face2))))) (it "includes git face as last value element" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal)) (ann (treemacs-annotation->create!))) (ht-set! treemacs--annotation-store "Path" ann) (setf (treemacs-annotation->git-face ann) 'git-face) (treemacs-set-annotation-face "Path" 'face1 "Source1") (treemacs-set-annotation-face "Path" 'face2 "Source2") (-let [ann (treemacs-get-annotation "Path")] (expect (treemacs-annotation->face ann) :to-equal '(("Source1" . face1) ("Source2" . face2))) (expect (treemacs-annotation->face-value ann) :to-equal '(face1 face2 . git-face)))))) (describe "remove" (it "does nothing when there is no face" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal))) (treemacs-remove-annotation-face "Path" "Source") (expect (ht-size treemacs--annotation-store) :to-equal 0))) (it "removes the last face" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal)) (ann (treemacs-annotation->create!))) (ht-set! treemacs--annotation-store "Path" ann) (treemacs-set-annotation-face "Path" 'face "Source") (treemacs-remove-annotation-face "Path" "Source") (expect (ht-get treemacs--annotation-store "Path") :to-be ann) (expect (treemacs-annotation->face ann) :to-be nil) (expect (treemacs-annotation->face-value ann) :to-be nil))) (it "sets face value to the git face after removing the last face" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal)) (ann (treemacs-annotation->create!))) (ht-set! treemacs--annotation-store "Path" ann) (setf (treemacs-annotation->git-face ann) 'git-face) (treemacs-set-annotation-face "Path" 'face "Source") (treemacs-remove-annotation-face "Path" "Source") (expect (ht-get treemacs--annotation-store "Path") :to-be ann) (expect (treemacs-annotation->face-value ann) :to-equal 'git-face))) (it "leaves faces from other sources" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal)) (ann (treemacs-annotation->create!))) (ht-set! treemacs--annotation-store "Path" ann) (setf (treemacs-annotation->git-face ann) 'git-face) (treemacs-set-annotation-face "Path" 'face1 "Source1") (treemacs-set-annotation-face "Path" 'face2 "Source2") (treemacs-remove-annotation-face "Path" "Source1") (expect (ht-get treemacs--annotation-store "Path") :to-be ann) (expect (treemacs-annotation->face ann) :to-equal '(("Source2" . face2))) (expect (treemacs-annotation->face-value ann) :to-equal '(face2 . git-face))))) (describe "clear" (it "does nothing when there are no annotations" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal))) (treemacs-clear-annotation-faces "Source") (expect (ht-size treemacs--annotation-store) :to-be 0))) (it "does not remove faces for a different source" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal))) (treemacs-set-annotation-face "Path" 'face "Source1") (treemacs-clear-annotation-faces "Source2") (-let [ann (treemacs-get-annotation "Path")] (expect ann :not :to-be nil) (expect (treemacs-annotation->face ann) :to-equal '(("Source1" . face)))))) (it "removes empty annotations" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal))) (treemacs-set-annotation-face "Path" 'face "Source") (treemacs-clear-annotation-faces "Source") (expect (treemacs-get-annotation "Path") :to-be nil))) (it "removes all faces for the given source" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal))) (treemacs-set-annotation-face "Path1" 'face1 "Source1") (treemacs-set-annotation-face "Path1" 'face2 "Source2") (treemacs-set-annotation-face "Path2" 'face1 "Source1") (treemacs-set-annotation-face "Path2" 'face3 "Source3") (treemacs-clear-annotation-faces "Source1") (let ((ann1 (treemacs-get-annotation "Path1")) (ann2 (treemacs-get-annotation "Path2"))) (expect ann1 :not :to-be nil) (expect ann2 :not :to-be nil) (expect (treemacs-annotation->face ann1) :to-equal '(("Source2" . face2))) (expect (treemacs-annotation->face ann2) :to-equal '(("Source3" . face3)))))))) (describe "suffixes" (describe "add" (it "saves single value" (-let [treemacs--annotation-store (make-hash-table :size 200 :test 'equal)] (treemacs-set-annotation-suffix "Path" "Suffix" "Source") (-let [ann (treemacs-get-annotation "Path")] (expect (treemacs-annotation->suffix ann) :to-equal '(("Source" . "Suffix"))) (expect (treemacs-annotation->suffix-value ann) :to-equal "Suffix")))) (it "saves multiple values" (-let [treemacs--annotation-store (make-hash-table :size 200 :test 'equal)] (treemacs-set-annotation-suffix "Path" "Suffix1" "Source1") (treemacs-set-annotation-suffix "Path" "Suffix2" "Source2") (-let [ann (treemacs-get-annotation "Path")] (expect (treemacs-annotation->suffix ann) :to-equal '(("Source1" . "Suffix1") ("Source2" . "Suffix2"))) (expect (substring-no-properties (treemacs-annotation->suffix-value ann)) :to-equal "Suffix1 Suffix2")))) (it "updates suffix for same source" (-let [treemacs--annotation-store (make-hash-table :size 200 :test 'equal)] (treemacs-set-annotation-suffix "Path" "Suffix1" "Source1") (treemacs-set-annotation-suffix "Path" "Suffix2" "Source1") (-let [ann (treemacs-get-annotation "Path")] (expect (treemacs-annotation->suffix ann) :to-equal '(("Source1" . "Suffix2"))) (expect (substring-no-properties (treemacs-annotation->suffix-value ann)) :to-equal "Suffix2"))))) (describe "remove" (it "does nothing when there is no suffix" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal))) (treemacs-remove-annotation-suffix "Path" "Source") (expect (ht-size treemacs--annotation-store) :to-equal 0))) (it "leaves suffixes from other sources" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal)) (ann (treemacs-annotation->create!))) (ht-set! treemacs--annotation-store "Path" ann) (treemacs-set-annotation-suffix "Path" "Suffix1" "Source1") (treemacs-set-annotation-suffix "Path" "Suffix2" "Source2") (treemacs-remove-annotation-suffix "Path" "Source1") (expect (ht-get treemacs--annotation-store "Path") :to-be ann) (expect (treemacs-annotation->suffix ann) :to-equal '(("Source2" . "Suffix2"))) (expect (treemacs-annotation->suffix-value ann) :to-equal "Suffix2")))) (describe "clear" (it "does nothing when there are no annotations" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal))) (treemacs-clear-annotation-faces "Source") (expect (ht-size treemacs--annotation-store) :to-be 0))) (it "does not remove suffixes for a different source" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal))) (treemacs-set-annotation-suffix "Path" "Suffix" "Source1") (treemacs-clear-annotation-suffixes "Source2") (-let [ann (treemacs-get-annotation "Path")] (expect ann :not :to-be nil) (expect (treemacs-annotation->suffix ann) :to-equal '(("Source1" . "Suffix")))))) (it "removes empty annotations" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal))) (treemacs-set-annotation-suffix "Path" "Suffix" "Source") (treemacs-clear-annotation-suffixes "Source") (expect (treemacs-get-annotation "Path") :to-be nil))) (it "removes all suffixes for the given source" (let ((treemacs--annotation-store (make-hash-table :size 200 :test 'equal))) (treemacs-set-annotation-suffix "Path1" "Suffix1" "Source1") (treemacs-set-annotation-suffix "Path1" "Suffix2" "Source2") (treemacs-set-annotation-suffix "Path2" "Suffix1" "Source1") (treemacs-set-annotation-suffix "Path2" "Suffix3" "Source3") (treemacs-clear-annotation-suffixes "Source1") (let ((ann1 (treemacs-get-annotation "Path1")) (ann2 (treemacs-get-annotation "Path2"))) (expect ann1 :not :to-be nil) (expect ann2 :not :to-be nil) (expect (treemacs-annotation->suffix ann1) :to-equal '(("Source2" . "Suffix2"))) (expect (treemacs-annotation->suffix ann2) :to-equal '(("Source3" . "Suffix3"))))))))) (describe "treemacs--prefix-arg-to-recurse-depth" (it "translates numbers literally" (dotimes (n 10) (expect (treemacs--prefix-arg-to-recurse-depth n) :to-be n))) (it "translates nil to 0" (expect (treemacs--prefix-arg-to-recurse-depth nil) :to-be 0)) (it "translates everything else to 999" (expect (treemacs--prefix-arg-to-recurse-depth '(4)) :to-be 999) (expect (treemacs--prefix-arg-to-recurse-depth 1.0) :to-be 999) (expect (treemacs--prefix-arg-to-recurse-depth "a") :to-be 999) (expect (treemacs--prefix-arg-to-recurse-depth (treemacs-project->create!)) :to-be 999))) (provide 'test-treemacs) ;;; treemacs-test.el ends here