pax_global_header00006660000000000000000000000064131076511300014507gustar00rootroot0000000000000052 comment=8fa8d561e08c9eed1d286c6a35be2cd8123b2fb7 node-glob-7.1.2/000077500000000000000000000000001310765113000133645ustar00rootroot00000000000000node-glob-7.1.2/.gitignore000066400000000000000000000001141310765113000153500ustar00rootroot00000000000000.*.swp node_modules/* v8.log profile.txt nyc_output/ .nyc_output/ coverage/ node-glob-7.1.2/.travis.yml000066400000000000000000000001251310765113000154730ustar00rootroot00000000000000sudo: false language: node_js node_js: - '0.10' - '0.12' - '4' - '5' - '6' node-glob-7.1.2/CONTRIBUTING.md000066400000000000000000000006151310765113000156170ustar00rootroot00000000000000Please consider signing [the neveragain.tech pledge](http://neveragain.tech/) ## Contributing Any change to behavior (including bugfixes) must come with a test. Patches that fail tests or reduce performance will be rejected. ``` # to run tests npm test # to re-generate test fixtures npm run test-regen # to benchmark against bash/zsh npm run bench # to profile javascript npm run prof ``` node-glob-7.1.2/LICENSE000066400000000000000000000013751310765113000143770ustar00rootroot00000000000000The ISC License Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. node-glob-7.1.2/README.md000066400000000000000000000345101310765113000146460ustar00rootroot00000000000000# Glob Match files using the patterns the shell uses, like stars and stuff. [![Build Status](https://travis-ci.org/isaacs/node-glob.svg?branch=master)](https://travis-ci.org/isaacs/node-glob/) [![Build Status](https://ci.appveyor.com/api/projects/status/kd7f3yftf7unxlsx?svg=true)](https://ci.appveyor.com/project/isaacs/node-glob) [![Coverage Status](https://coveralls.io/repos/isaacs/node-glob/badge.svg?branch=master&service=github)](https://coveralls.io/github/isaacs/node-glob?branch=master) This is a glob implementation in JavaScript. It uses the `minimatch` library to do its matching. ![](oh-my-glob.gif) ## Usage Install with npm ``` npm i glob ``` ```javascript var glob = require("glob") // options is optional glob("**/*.js", options, function (er, files) { // files is an array of filenames. // If the `nonull` option is set, and nothing // was found, then files is ["**/*.js"] // er is an error object or null. }) ``` ## Glob Primer "Globs" are the patterns you type when you do stuff like `ls *.js` on the command line, or put `build/*` in a `.gitignore` file. Before parsing the path part patterns, braced sections are expanded into a set. Braced sections start with `{` and end with `}`, with any number of comma-delimited sections within. Braced sections may contain slash characters, so `a{/b/c,bcd}` would expand into `a/b/c` and `abcd`. The following characters have special magic meaning when used in a path portion: * `*` Matches 0 or more characters in a single path portion * `?` Matches 1 character * `[...]` Matches a range of characters, similar to a RegExp range. If the first character of the range is `!` or `^` then it matches any character not in the range. * `!(pattern|pattern|pattern)` Matches anything that does not match any of the patterns provided. * `?(pattern|pattern|pattern)` Matches zero or one occurrence of the patterns provided. * `+(pattern|pattern|pattern)` Matches one or more occurrences of the patterns provided. * `*(a|b|c)` Matches zero or more occurrences of the patterns provided * `@(pattern|pat*|pat?erN)` Matches exactly one of the patterns provided * `**` If a "globstar" is alone in a path portion, then it matches zero or more directories and subdirectories searching for matches. It does not crawl symlinked directories. ### Dots If a file or directory path portion has a `.` as the first character, then it will not match any glob pattern unless that pattern's corresponding path part also has a `.` as its first character. For example, the pattern `a/.*/c` would match the file at `a/.b/c`. However the pattern `a/*/c` would not, because `*` does not start with a dot character. You can make glob treat dots as normal characters by setting `dot:true` in the options. ### Basename Matching If you set `matchBase:true` in the options, and the pattern has no slashes in it, then it will seek for any file anywhere in the tree with a matching basename. For example, `*.js` would match `test/simple/basic.js`. ### Empty Sets If no matching files are found, then an empty array is returned. This differs from the shell, where the pattern itself is returned. For example: $ echo a*s*d*f a*s*d*f To get the bash-style behavior, set the `nonull:true` in the options. ### See Also: * `man sh` * `man bash` (Search for "Pattern Matching") * `man 3 fnmatch` * `man 5 gitignore` * [minimatch documentation](https://github.com/isaacs/minimatch) ## glob.hasMagic(pattern, [options]) Returns `true` if there are any special characters in the pattern, and `false` otherwise. Note that the options affect the results. If `noext:true` is set in the options object, then `+(a|b)` will not be considered a magic pattern. If the pattern has a brace expansion, like `a/{b/c,x/y}` then that is considered magical, unless `nobrace:true` is set in the options. ## glob(pattern, [options], cb) * `pattern` `{String}` Pattern to be matched * `options` `{Object}` * `cb` `{Function}` * `err` `{Error | null}` * `matches` `{Array}` filenames found matching the pattern Perform an asynchronous glob search. ## glob.sync(pattern, [options]) * `pattern` `{String}` Pattern to be matched * `options` `{Object}` * return: `{Array}` filenames found matching the pattern Perform a synchronous glob search. ## Class: glob.Glob Create a Glob object by instantiating the `glob.Glob` class. ```javascript var Glob = require("glob").Glob var mg = new Glob(pattern, options, cb) ``` It's an EventEmitter, and starts walking the filesystem to find matches immediately. ### new glob.Glob(pattern, [options], [cb]) * `pattern` `{String}` pattern to search for * `options` `{Object}` * `cb` `{Function}` Called when an error occurs, or matches are found * `err` `{Error | null}` * `matches` `{Array}` filenames found matching the pattern Note that if the `sync` flag is set in the options, then matches will be immediately available on the `g.found` member. ### Properties * `minimatch` The minimatch object that the glob uses. * `options` The options object passed in. * `aborted` Boolean which is set to true when calling `abort()`. There is no way at this time to continue a glob search after aborting, but you can re-use the statCache to avoid having to duplicate syscalls. * `cache` Convenience object. Each field has the following possible values: * `false` - Path does not exist * `true` - Path exists * `'FILE'` - Path exists, and is not a directory * `'DIR'` - Path exists, and is a directory * `[file, entries, ...]` - Path exists, is a directory, and the array value is the results of `fs.readdir` * `statCache` Cache of `fs.stat` results, to prevent statting the same path multiple times. * `symlinks` A record of which paths are symbolic links, which is relevant in resolving `**` patterns. * `realpathCache` An optional object which is passed to `fs.realpath` to minimize unnecessary syscalls. It is stored on the instantiated Glob object, and may be re-used. ### Events * `end` When the matching is finished, this is emitted with all the matches found. If the `nonull` option is set, and no match was found, then the `matches` list contains the original pattern. The matches are sorted, unless the `nosort` flag is set. * `match` Every time a match is found, this is emitted with the specific thing that matched. It is not deduplicated or resolved to a realpath. * `error` Emitted when an unexpected error is encountered, or whenever any fs error occurs if `options.strict` is set. * `abort` When `abort()` is called, this event is raised. ### Methods * `pause` Temporarily stop the search * `resume` Resume the search * `abort` Stop the search forever ### Options All the options that can be passed to Minimatch can also be passed to Glob to change pattern matching behavior. Also, some have been added, or have glob-specific ramifications. All options are false by default, unless otherwise noted. All options are added to the Glob object, as well. If you are running many `glob` operations, you can pass a Glob object as the `options` argument to a subsequent operation to shortcut some `stat` and `readdir` calls. At the very least, you may pass in shared `symlinks`, `statCache`, `realpathCache`, and `cache` options, so that parallel glob operations will be sped up by sharing information about the filesystem. * `cwd` The current working directory in which to search. Defaults to `process.cwd()`. * `root` The place where patterns starting with `/` will be mounted onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix systems, and `C:\` or some such on Windows.) * `dot` Include `.dot` files in normal matches and `globstar` matches. Note that an explicit dot in a portion of the pattern will always match dot files. * `nomount` By default, a pattern starting with a forward-slash will be "mounted" onto the root setting, so that a valid filesystem path is returned. Set this flag to disable that behavior. * `mark` Add a `/` character to directory matches. Note that this requires additional stat calls. * `nosort` Don't sort the results. * `stat` Set to true to stat *all* results. This reduces performance somewhat, and is completely unnecessary, unless `readdir` is presumed to be an untrustworthy indicator of file existence. * `silent` When an unusual error is encountered when attempting to read a directory, a warning will be printed to stderr. Set the `silent` option to true to suppress these warnings. * `strict` When an unusual error is encountered when attempting to read a directory, the process will just continue on in search of other matches. Set the `strict` option to raise an error in these cases. * `cache` See `cache` property above. Pass in a previously generated cache object to save some fs calls. * `statCache` A cache of results of filesystem information, to prevent unnecessary stat calls. While it should not normally be necessary to set this, you may pass the statCache from one glob() call to the options object of another, if you know that the filesystem will not change between calls. (See "Race Conditions" below.) * `symlinks` A cache of known symbolic links. You may pass in a previously generated `symlinks` object to save `lstat` calls when resolving `**` matches. * `sync` DEPRECATED: use `glob.sync(pattern, opts)` instead. * `nounique` In some cases, brace-expanded patterns can result in the same file showing up multiple times in the result set. By default, this implementation prevents duplicates in the result set. Set this flag to disable that behavior. * `nonull` Set to never return an empty set, instead returning a set containing the pattern itself. This is the default in glob(3). * `debug` Set to enable debug logging in minimatch and glob. * `nobrace` Do not expand `{a,b}` and `{1..3}` brace sets. * `noglobstar` Do not match `**` against multiple filenames. (Ie, treat it as a normal `*` instead.) * `noext` Do not match `+(a|b)` "extglob" patterns. * `nocase` Perform a case-insensitive match. Note: on case-insensitive filesystems, non-magic patterns will match by default, since `stat` and `readdir` will not raise errors. * `matchBase` Perform a basename-only match if the pattern does not contain any slash characters. That is, `*.js` would be treated as equivalent to `**/*.js`, matching all js files in all directories. * `nodir` Do not match directories, only files. (Note: to match *only* directories, simply put a `/` at the end of the pattern.) * `ignore` Add a pattern or an array of glob patterns to exclude matches. Note: `ignore` patterns are *always* in `dot:true` mode, regardless of any other settings. * `follow` Follow symlinked directories when expanding `**` patterns. Note that this can result in a lot of duplicate references in the presence of cyclic links. * `realpath` Set to true to call `fs.realpath` on all of the results. In the case of a symlink that cannot be resolved, the full absolute path to the matched entry is returned (though it will usually be a broken symlink) * `absolute` Set to true to always receive absolute paths for matched files. Unlike `realpath`, this also affects the values returned in the `match` event. ## Comparisons to other fnmatch/glob implementations While strict compliance with the existing standards is a worthwhile goal, some discrepancies exist between node-glob and other implementations, and are intentional. The double-star character `**` is supported by default, unless the `noglobstar` flag is set. This is supported in the manner of bsdglob and bash 4.3, where `**` only has special significance if it is the only thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but `a/**b` will not. Note that symlinked directories are not crawled as part of a `**`, though their contents may match against subsequent portions of the pattern. This prevents infinite loops and duplicates and the like. If an escaped pattern has no matches, and the `nonull` flag is set, then glob returns the pattern as-provided, rather than interpreting the character escapes. For example, `glob.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than `"*a?"`. This is akin to setting the `nullglob` option in bash, except that it does not resolve escaped pattern characters. If brace expansion is not disabled, then it is performed before any other interpretation of the glob pattern. Thus, a pattern like `+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded **first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are checked for validity. Since those two are valid, matching proceeds. ### Comments and Negation Previously, this module let you mark a pattern as a "comment" if it started with a `#` character, or a "negated" pattern if it started with a `!` character. These options were deprecated in version 5, and removed in version 6. To specify things that should not match, use the `ignore` option. ## Windows **Please only use forward-slashes in glob expressions.** Though windows uses either `/` or `\` as its path separator, only `/` characters are used by this glob implementation. You must use forward-slashes **only** in glob expressions. Back-slashes will always be interpreted as escape characters, not path separators. Results from absolute patterns such as `/foo/*` are mounted onto the root setting using `path.join`. On windows, this will by default result in `/foo/*` matching `C:\foo\bar.txt`. ## Race Conditions Glob searching, by its very nature, is susceptible to race conditions, since it relies on directory walking and such. As a result, it is possible that a file that exists when glob looks for it may have been deleted or modified by the time it returns the result. As part of its internal implementation, this program caches all stat and readdir calls that it makes, in order to cut down on system overhead. However, this also makes it even more susceptible to races, especially if the cache or statCache objects are reused between glob calls. Users are thus advised not to use a glob result as a guarantee of filesystem state in the face of rapid changes. For the vast majority of operations, this is never a problem. ## Contributing Any change to behavior (including bugfixes) must come with a test. Patches that fail tests or reduce performance will be rejected. ``` # to run tests npm test # to re-generate test fixtures npm run test-regen # to benchmark against bash/zsh npm run bench # to profile javascript npm run prof ``` node-glob-7.1.2/appveyor.yml000066400000000000000000000005711310765113000157570ustar00rootroot00000000000000environment: matrix: - nodejs_version: '5' - nodejs_version: '4' - nodejs_version: '0.12' install: - ps: Install-Product node $env:nodejs_version - set CI=true - npm -g install npm@latest - set PATH=%APPDATA%\npm;%PATH% - npm install matrix: fast_finish: true build: off version: '{build}' shallow_clone: true clone_depth: 1 test_script: - npm test node-glob-7.1.2/benchclean.js000066400000000000000000000003041310765113000160010ustar00rootroot00000000000000var rimraf = require('rimraf') var bf = (process.env.TMPDIR || '/tmp') + '/benchmark-fixture' rimraf('{' + [bf, 'v8.log', 'profile.txt'].join(',') + '}', function (er) { if (er) throw er }) node-glob-7.1.2/benchmark.sh000066400000000000000000000020651310765113000156550ustar00rootroot00000000000000#!/bin/bash export CDPATH= tmp=${TMPDIR:-/tmp} bash make-benchmark-fixture.sh wd=$PWD cd $tmp/benchmark-fixture set -e if [[ "`bash --version`" =~ version\ 4 ]]; then echo Bash timing: time bash -c 'shopt -s globstar; echo **/*.txt | wc -w' fi echo if type zsh; then echo Zsh timing: time zsh -c 'echo **/*.txt | wc -w' fi echo echo Node statSync and readdirSync timing: time node -e ' var fs=require("fs"); var count = 0; function walk (path) { if (path.slice(-4) === ".txt") count++; var stat = fs.statSync(path); if (stat.isDirectory()) { fs.readdirSync(path).forEach(function(entry) { walk(path + "/" + entry); }) } } walk("."); console.log(count)' echo echo Node glob.sync timing: time node -e ' var glob=require(process.argv[1]); console.log(glob.sync("**/*.txt").length);' "$wd" echo echo Node glob async timing: time node -e ' var glob=require(process.argv[1]); glob("**/*.txt", function (er, files) { console.log(files.length) })' "$wd" echo echo Node glob with --prof cd $wd bash prof.sh node-glob-7.1.2/changelog.md000066400000000000000000000026261310765113000156430ustar00rootroot00000000000000## 7.0 - Raise error if `options.cwd` is specified, and not a directory ## 6.0 - Remove comment and negation pattern support - Ignore patterns are always in `dot:true` mode ## 5.0 - Deprecate comment and negation patterns - Fix regression in `mark` and `nodir` options from making all cache keys absolute path. - Abort if `fs.readdir` returns an error that's unexpected - Don't emit `match` events for ignored items - Treat ENOTSUP like ENOTDIR in readdir ## 4.5 - Add `options.follow` to always follow directory symlinks in globstar - Add `options.realpath` to call `fs.realpath` on all results - Always cache based on absolute path ## 4.4 - Add `options.ignore` - Fix handling of broken symlinks ## 4.3 - Bump minimatch to 2.x - Pass all tests on Windows ## 4.2 - Add `glob.hasMagic` function - Add `options.nodir` flag ## 4.1 - Refactor sync and async implementations for performance - Throw if callback provided to sync glob function - Treat symbolic links in globstar results the same as Bash 4.3 ## 4.0 - Use `^` for dependency versions (bumped major because this breaks older npm versions) - Ensure callbacks are only ever called once - switch to ISC license ## 3.x - Rewrite in JavaScript - Add support for setting root, cwd, and windows support - Cache many fs calls - Add globstar support - emit match events ## 2.x - Use `glob.h` and `fnmatch.h` from NetBSD ## 1.x - `glob.h` static binding. node-glob-7.1.2/common.js000066400000000000000000000140271310765113000152160ustar00rootroot00000000000000exports.alphasort = alphasort exports.alphasorti = alphasorti exports.setopts = setopts exports.ownProp = ownProp exports.makeAbs = makeAbs exports.finish = finish exports.mark = mark exports.isIgnored = isIgnored exports.childrenIgnored = childrenIgnored function ownProp (obj, field) { return Object.prototype.hasOwnProperty.call(obj, field) } var path = require("path") var minimatch = require("minimatch") var isAbsolute = require("path-is-absolute") var Minimatch = minimatch.Minimatch function alphasorti (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()) } function alphasort (a, b) { return a.localeCompare(b) } function setupIgnores (self, options) { self.ignore = options.ignore || [] if (!Array.isArray(self.ignore)) self.ignore = [self.ignore] if (self.ignore.length) { self.ignore = self.ignore.map(ignoreMap) } } // ignore patterns are always in dot:true mode. function ignoreMap (pattern) { var gmatcher = null if (pattern.slice(-3) === '/**') { var gpattern = pattern.replace(/(\/\*\*)+$/, '') gmatcher = new Minimatch(gpattern, { dot: true }) } return { matcher: new Minimatch(pattern, { dot: true }), gmatcher: gmatcher } } function setopts (self, pattern, options) { if (!options) options = {} // base-matching: just use globstar for that. if (options.matchBase && -1 === pattern.indexOf("/")) { if (options.noglobstar) { throw new Error("base matching requires globstar") } pattern = "**/" + pattern } self.silent = !!options.silent self.pattern = pattern self.strict = options.strict !== false self.realpath = !!options.realpath self.realpathCache = options.realpathCache || Object.create(null) self.follow = !!options.follow self.dot = !!options.dot self.mark = !!options.mark self.nodir = !!options.nodir if (self.nodir) self.mark = true self.sync = !!options.sync self.nounique = !!options.nounique self.nonull = !!options.nonull self.nosort = !!options.nosort self.nocase = !!options.nocase self.stat = !!options.stat self.noprocess = !!options.noprocess self.absolute = !!options.absolute self.maxLength = options.maxLength || Infinity self.cache = options.cache || Object.create(null) self.statCache = options.statCache || Object.create(null) self.symlinks = options.symlinks || Object.create(null) setupIgnores(self, options) self.changedCwd = false var cwd = process.cwd() if (!ownProp(options, "cwd")) self.cwd = cwd else { self.cwd = path.resolve(options.cwd) self.changedCwd = self.cwd !== cwd } self.root = options.root || path.resolve(self.cwd, "/") self.root = path.resolve(self.root) if (process.platform === "win32") self.root = self.root.replace(/\\/g, "/") // TODO: is an absolute `cwd` supposed to be resolved against `root`? // e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test') self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd) if (process.platform === "win32") self.cwdAbs = self.cwdAbs.replace(/\\/g, "/") self.nomount = !!options.nomount // disable comments and negation in Minimatch. // Note that they are not supported in Glob itself anyway. options.nonegate = true options.nocomment = true self.minimatch = new Minimatch(pattern, options) self.options = self.minimatch.options } function finish (self) { var nou = self.nounique var all = nou ? [] : Object.create(null) for (var i = 0, l = self.matches.length; i < l; i ++) { var matches = self.matches[i] if (!matches || Object.keys(matches).length === 0) { if (self.nonull) { // do like the shell, and spit out the literal glob var literal = self.minimatch.globSet[i] if (nou) all.push(literal) else all[literal] = true } } else { // had matches var m = Object.keys(matches) if (nou) all.push.apply(all, m) else m.forEach(function (m) { all[m] = true }) } } if (!nou) all = Object.keys(all) if (!self.nosort) all = all.sort(self.nocase ? alphasorti : alphasort) // at *some* point we statted all of these if (self.mark) { for (var i = 0; i < all.length; i++) { all[i] = self._mark(all[i]) } if (self.nodir) { all = all.filter(function (e) { var notDir = !(/\/$/.test(e)) var c = self.cache[e] || self.cache[makeAbs(self, e)] if (notDir && c) notDir = c !== 'DIR' && !Array.isArray(c) return notDir }) } } if (self.ignore.length) all = all.filter(function(m) { return !isIgnored(self, m) }) self.found = all } function mark (self, p) { var abs = makeAbs(self, p) var c = self.cache[abs] var m = p if (c) { var isDir = c === 'DIR' || Array.isArray(c) var slash = p.slice(-1) === '/' if (isDir && !slash) m += '/' else if (!isDir && slash) m = m.slice(0, -1) if (m !== p) { var mabs = makeAbs(self, m) self.statCache[mabs] = self.statCache[abs] self.cache[mabs] = self.cache[abs] } } return m } // lotta situps... function makeAbs (self, f) { var abs = f if (f.charAt(0) === '/') { abs = path.join(self.root, f) } else if (isAbsolute(f) || f === '') { abs = f } else if (self.changedCwd) { abs = path.resolve(self.cwd, f) } else { abs = path.resolve(f) } if (process.platform === 'win32') abs = abs.replace(/\\/g, '/') return abs } // Return true, if pattern ends with globstar '**', for the accompanying parent directory. // Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents function isIgnored (self, path) { if (!self.ignore.length) return false return self.ignore.some(function(item) { return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path)) }) } function childrenIgnored (self, path) { if (!self.ignore.length) return false return self.ignore.some(function(item) { return !!(item.gmatcher && item.gmatcher.match(path)) }) } node-glob-7.1.2/examples/000077500000000000000000000000001310765113000152025ustar00rootroot00000000000000node-glob-7.1.2/examples/g.js000066400000000000000000000003441310765113000157670ustar00rootroot00000000000000var Glob = require("../").Glob var pattern = "test/a/**/[cg]/../[cg]" console.log(pattern) var mg = new Glob(pattern, {mark: true, sync:true}, function (er, matches) { console.log("matches", matches) }) console.log("after") node-glob-7.1.2/examples/usr-local.js000066400000000000000000000003321310765113000174370ustar00rootroot00000000000000var Glob = require("../").Glob var pattern = "{./*/*,/*,/usr/local/*}" console.log(pattern) var mg = new Glob(pattern, {mark: true}, function (er, matches) { console.log("matches", matches) }) console.log("after") node-glob-7.1.2/glob.js000066400000000000000000000457511310765113000146610ustar00rootroot00000000000000// Approach: // // 1. Get the minimatch set // 2. For each pattern in the set, PROCESS(pattern, false) // 3. Store matches per-set, then uniq them // // PROCESS(pattern, inGlobStar) // Get the first [n] items from pattern that are all strings // Join these together. This is PREFIX. // If there is no more remaining, then stat(PREFIX) and // add to matches if it succeeds. END. // // If inGlobStar and PREFIX is symlink and points to dir // set ENTRIES = [] // else readdir(PREFIX) as ENTRIES // If fail, END // // with ENTRIES // If pattern[n] is GLOBSTAR // // handle the case where the globstar match is empty // // by pruning it out, and testing the resulting pattern // PROCESS(pattern[0..n] + pattern[n+1 .. $], false) // // handle other cases. // for ENTRY in ENTRIES (not dotfiles) // // attach globstar + tail onto the entry // // Mark that this entry is a globstar match // PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) // // else // not globstar // for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) // Test ENTRY against pattern[n] // If fails, continue // If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) // // Caveat: // Cache all stats and readdirs results to minimize syscall. Since all // we ever care about is existence and directory-ness, we can just keep // `true` for files, and [children,...] for directories, or `false` for // things that don't exist. module.exports = glob var fs = require('fs') var rp = require('fs.realpath') var minimatch = require('minimatch') var Minimatch = minimatch.Minimatch var inherits = require('inherits') var EE = require('events').EventEmitter var path = require('path') var assert = require('assert') var isAbsolute = require('path-is-absolute') var globSync = require('./sync.js') var common = require('./common.js') var alphasort = common.alphasort var alphasorti = common.alphasorti var setopts = common.setopts var ownProp = common.ownProp var inflight = require('inflight') var util = require('util') var childrenIgnored = common.childrenIgnored var isIgnored = common.isIgnored var once = require('once') function glob (pattern, options, cb) { if (typeof options === 'function') cb = options, options = {} if (!options) options = {} if (options.sync) { if (cb) throw new TypeError('callback provided to sync glob') return globSync(pattern, options) } return new Glob(pattern, options, cb) } glob.sync = globSync var GlobSync = glob.GlobSync = globSync.GlobSync // old api surface glob.glob = glob function extend (origin, add) { if (add === null || typeof add !== 'object') { return origin } var keys = Object.keys(add) var i = keys.length while (i--) { origin[keys[i]] = add[keys[i]] } return origin } glob.hasMagic = function (pattern, options_) { var options = extend({}, options_) options.noprocess = true var g = new Glob(pattern, options) var set = g.minimatch.set if (!pattern) return false if (set.length > 1) return true for (var j = 0; j < set[0].length; j++) { if (typeof set[0][j] !== 'string') return true } return false } glob.Glob = Glob inherits(Glob, EE) function Glob (pattern, options, cb) { if (typeof options === 'function') { cb = options options = null } if (options && options.sync) { if (cb) throw new TypeError('callback provided to sync glob') return new GlobSync(pattern, options) } if (!(this instanceof Glob)) return new Glob(pattern, options, cb) setopts(this, pattern, options) this._didRealPath = false // process each pattern in the minimatch set var n = this.minimatch.set.length // The matches are stored as {: true,...} so that // duplicates are automagically pruned. // Later, we do an Object.keys() on these. // Keep them as a list so we can fill in when nonull is set. this.matches = new Array(n) if (typeof cb === 'function') { cb = once(cb) this.on('error', cb) this.on('end', function (matches) { cb(null, matches) }) } var self = this this._processing = 0 this._emitQueue = [] this._processQueue = [] this.paused = false if (this.noprocess) return this if (n === 0) return done() var sync = true for (var i = 0; i < n; i ++) { this._process(this.minimatch.set[i], i, false, done) } sync = false function done () { --self._processing if (self._processing <= 0) { if (sync) { process.nextTick(function () { self._finish() }) } else { self._finish() } } } } Glob.prototype._finish = function () { assert(this instanceof Glob) if (this.aborted) return if (this.realpath && !this._didRealpath) return this._realpath() common.finish(this) this.emit('end', this.found) } Glob.prototype._realpath = function () { if (this._didRealpath) return this._didRealpath = true var n = this.matches.length if (n === 0) return this._finish() var self = this for (var i = 0; i < this.matches.length; i++) this._realpathSet(i, next) function next () { if (--n === 0) self._finish() } } Glob.prototype._realpathSet = function (index, cb) { var matchset = this.matches[index] if (!matchset) return cb() var found = Object.keys(matchset) var self = this var n = found.length if (n === 0) return cb() var set = this.matches[index] = Object.create(null) found.forEach(function (p, i) { // If there's a problem with the stat, then it means that // one or more of the links in the realpath couldn't be // resolved. just return the abs value in that case. p = self._makeAbs(p) rp.realpath(p, self.realpathCache, function (er, real) { if (!er) set[real] = true else if (er.syscall === 'stat') set[p] = true else self.emit('error', er) // srsly wtf right here if (--n === 0) { self.matches[index] = set cb() } }) }) } Glob.prototype._mark = function (p) { return common.mark(this, p) } Glob.prototype._makeAbs = function (f) { return common.makeAbs(this, f) } Glob.prototype.abort = function () { this.aborted = true this.emit('abort') } Glob.prototype.pause = function () { if (!this.paused) { this.paused = true this.emit('pause') } } Glob.prototype.resume = function () { if (this.paused) { this.emit('resume') this.paused = false if (this._emitQueue.length) { var eq = this._emitQueue.slice(0) this._emitQueue.length = 0 for (var i = 0; i < eq.length; i ++) { var e = eq[i] this._emitMatch(e[0], e[1]) } } if (this._processQueue.length) { var pq = this._processQueue.slice(0) this._processQueue.length = 0 for (var i = 0; i < pq.length; i ++) { var p = pq[i] this._processing-- this._process(p[0], p[1], p[2], p[3]) } } } } Glob.prototype._process = function (pattern, index, inGlobStar, cb) { assert(this instanceof Glob) assert(typeof cb === 'function') if (this.aborted) return this._processing++ if (this.paused) { this._processQueue.push([pattern, index, inGlobStar, cb]) return } //console.error('PROCESS %d', this._processing, pattern) // Get the first [n] parts of pattern that are all strings. var n = 0 while (typeof pattern[n] === 'string') { n ++ } // now n is the index of the first one that is *not* a string. // see if there's anything else var prefix switch (n) { // if not, then this is rather simple case pattern.length: this._processSimple(pattern.join('/'), index, cb) return case 0: // pattern *starts* with some non-trivial item. // going to readdir(cwd), but not include the prefix in matches. prefix = null break default: // pattern has some string bits in the front. // whatever it starts with, whether that's 'absolute' like /foo/bar, // or 'relative' like '../baz' prefix = pattern.slice(0, n).join('/') break } var remain = pattern.slice(n) // get the list of entries. var read if (prefix === null) read = '.' else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { if (!prefix || !isAbsolute(prefix)) prefix = '/' + prefix read = prefix } else read = prefix var abs = this._makeAbs(read) //if ignored, skip _processing if (childrenIgnored(this, read)) return cb() var isGlobStar = remain[0] === minimatch.GLOBSTAR if (isGlobStar) this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb) else this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb) } Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) { var self = this this._readdir(abs, inGlobStar, function (er, entries) { return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb) }) } Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { // if the abs isn't a dir, then nothing can match! if (!entries) return cb() // It will only match dot entries if it starts with a dot, or if // dot is set. Stuff like @(.foo|.bar) isn't allowed. var pn = remain[0] var negate = !!this.minimatch.negate var rawGlob = pn._glob var dotOk = this.dot || rawGlob.charAt(0) === '.' var matchedEntries = [] for (var i = 0; i < entries.length; i++) { var e = entries[i] if (e.charAt(0) !== '.' || dotOk) { var m if (negate && !prefix) { m = !e.match(pn) } else { m = e.match(pn) } if (m) matchedEntries.push(e) } } //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries) var len = matchedEntries.length // If there are no matched entries, then nothing matches. if (len === 0) return cb() // if this is the last remaining pattern bit, then no need for // an additional stat *unless* the user has specified mark or // stat explicitly. We know they exist, since readdir returned // them. if (remain.length === 1 && !this.mark && !this.stat) { if (!this.matches[index]) this.matches[index] = Object.create(null) for (var i = 0; i < len; i ++) { var e = matchedEntries[i] if (prefix) { if (prefix !== '/') e = prefix + '/' + e else e = prefix + e } if (e.charAt(0) === '/' && !this.nomount) { e = path.join(this.root, e) } this._emitMatch(index, e) } // This was the last one, and no stats were needed return cb() } // now test all matched entries as stand-ins for that part // of the pattern. remain.shift() for (var i = 0; i < len; i ++) { var e = matchedEntries[i] var newPattern if (prefix) { if (prefix !== '/') e = prefix + '/' + e else e = prefix + e } this._process([e].concat(remain), index, inGlobStar, cb) } cb() } Glob.prototype._emitMatch = function (index, e) { if (this.aborted) return if (isIgnored(this, e)) return if (this.paused) { this._emitQueue.push([index, e]) return } var abs = isAbsolute(e) ? e : this._makeAbs(e) if (this.mark) e = this._mark(e) if (this.absolute) e = abs if (this.matches[index][e]) return if (this.nodir) { var c = this.cache[abs] if (c === 'DIR' || Array.isArray(c)) return } this.matches[index][e] = true var st = this.statCache[abs] if (st) this.emit('stat', e, st) this.emit('match', e) } Glob.prototype._readdirInGlobStar = function (abs, cb) { if (this.aborted) return // follow all symlinked directories forever // just proceed as if this is a non-globstar situation if (this.follow) return this._readdir(abs, false, cb) var lstatkey = 'lstat\0' + abs var self = this var lstatcb = inflight(lstatkey, lstatcb_) if (lstatcb) fs.lstat(abs, lstatcb) function lstatcb_ (er, lstat) { if (er && er.code === 'ENOENT') return cb() var isSym = lstat && lstat.isSymbolicLink() self.symlinks[abs] = isSym // If it's not a symlink or a dir, then it's definitely a regular file. // don't bother doing a readdir in that case. if (!isSym && lstat && !lstat.isDirectory()) { self.cache[abs] = 'FILE' cb() } else self._readdir(abs, false, cb) } } Glob.prototype._readdir = function (abs, inGlobStar, cb) { if (this.aborted) return cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb) if (!cb) return //console.error('RD %j %j', +inGlobStar, abs) if (inGlobStar && !ownProp(this.symlinks, abs)) return this._readdirInGlobStar(abs, cb) if (ownProp(this.cache, abs)) { var c = this.cache[abs] if (!c || c === 'FILE') return cb() if (Array.isArray(c)) return cb(null, c) } var self = this fs.readdir(abs, readdirCb(this, abs, cb)) } function readdirCb (self, abs, cb) { return function (er, entries) { if (er) self._readdirError(abs, er, cb) else self._readdirEntries(abs, entries, cb) } } Glob.prototype._readdirEntries = function (abs, entries, cb) { if (this.aborted) return // if we haven't asked to stat everything, then just // assume that everything in there exists, so we can avoid // having to stat it a second time. if (!this.mark && !this.stat) { for (var i = 0; i < entries.length; i ++) { var e = entries[i] if (abs === '/') e = abs + e else e = abs + '/' + e this.cache[e] = true } } this.cache[abs] = entries return cb(null, entries) } Glob.prototype._readdirError = function (f, er, cb) { if (this.aborted) return // handle errors, and cache the information switch (er.code) { case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 case 'ENOTDIR': // totally normal. means it *does* exist. var abs = this._makeAbs(f) this.cache[abs] = 'FILE' if (abs === this.cwdAbs) { var error = new Error(er.code + ' invalid cwd ' + this.cwd) error.path = this.cwd error.code = er.code this.emit('error', error) this.abort() } break case 'ENOENT': // not terribly unusual case 'ELOOP': case 'ENAMETOOLONG': case 'UNKNOWN': this.cache[this._makeAbs(f)] = false break default: // some unusual error. Treat as failure. this.cache[this._makeAbs(f)] = false if (this.strict) { this.emit('error', er) // If the error is handled, then we abort // if not, we threw out of here this.abort() } if (!this.silent) console.error('glob error', er) break } return cb() } Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) { var self = this this._readdir(abs, inGlobStar, function (er, entries) { self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb) }) } Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { //console.error('pgs2', prefix, remain[0], entries) // no entries means not a dir, so it can never have matches // foo.txt/** doesn't match foo.txt if (!entries) return cb() // test without the globstar, and with every child both below // and replacing the globstar. var remainWithoutGlobStar = remain.slice(1) var gspref = prefix ? [ prefix ] : [] var noGlobStar = gspref.concat(remainWithoutGlobStar) // the noGlobStar pattern exits the inGlobStar state this._process(noGlobStar, index, false, cb) var isSym = this.symlinks[abs] var len = entries.length // If it's a symlink, and we're in a globstar, then stop if (isSym && inGlobStar) return cb() for (var i = 0; i < len; i++) { var e = entries[i] if (e.charAt(0) === '.' && !this.dot) continue // these two cases enter the inGlobStar state var instead = gspref.concat(entries[i], remainWithoutGlobStar) this._process(instead, index, true, cb) var below = gspref.concat(entries[i], remain) this._process(below, index, true, cb) } cb() } Glob.prototype._processSimple = function (prefix, index, cb) { // XXX review this. Shouldn't it be doing the mounting etc // before doing stat? kinda weird? var self = this this._stat(prefix, function (er, exists) { self._processSimple2(prefix, index, er, exists, cb) }) } Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) { //console.error('ps2', prefix, exists) if (!this.matches[index]) this.matches[index] = Object.create(null) // If it doesn't exist, then just mark the lack of results if (!exists) return cb() if (prefix && isAbsolute(prefix) && !this.nomount) { var trail = /[\/\\]$/.test(prefix) if (prefix.charAt(0) === '/') { prefix = path.join(this.root, prefix) } else { prefix = path.resolve(this.root, prefix) if (trail) prefix += '/' } } if (process.platform === 'win32') prefix = prefix.replace(/\\/g, '/') // Mark this as a match this._emitMatch(index, prefix) cb() } // Returns either 'DIR', 'FILE', or false Glob.prototype._stat = function (f, cb) { var abs = this._makeAbs(f) var needDir = f.slice(-1) === '/' if (f.length > this.maxLength) return cb() if (!this.stat && ownProp(this.cache, abs)) { var c = this.cache[abs] if (Array.isArray(c)) c = 'DIR' // It exists, but maybe not how we need it if (!needDir || c === 'DIR') return cb(null, c) if (needDir && c === 'FILE') return cb() // otherwise we have to stat, because maybe c=true // if we know it exists, but not what it is. } var exists var stat = this.statCache[abs] if (stat !== undefined) { if (stat === false) return cb(null, stat) else { var type = stat.isDirectory() ? 'DIR' : 'FILE' if (needDir && type === 'FILE') return cb() else return cb(null, type, stat) } } var self = this var statcb = inflight('stat\0' + abs, lstatcb_) if (statcb) fs.lstat(abs, statcb) function lstatcb_ (er, lstat) { if (lstat && lstat.isSymbolicLink()) { // If it's a symlink, then treat it as the target, unless // the target does not exist, then treat it as a file. return fs.stat(abs, function (er, stat) { if (er) self._stat2(f, abs, null, lstat, cb) else self._stat2(f, abs, er, stat, cb) }) } else { self._stat2(f, abs, er, lstat, cb) } } } Glob.prototype._stat2 = function (f, abs, er, stat, cb) { if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { this.statCache[abs] = false return cb() } var needDir = f.slice(-1) === '/' this.statCache[abs] = stat if (abs.slice(-1) === '/' && stat && !stat.isDirectory()) return cb(null, false, stat) var c = true if (stat) c = stat.isDirectory() ? 'DIR' : 'FILE' this.cache[abs] = this.cache[abs] || c if (needDir && c === 'FILE') return cb() return cb(null, c, stat) } node-glob-7.1.2/make-benchmark-fixture.sh000066400000000000000000000005661310765113000202600ustar00rootroot00000000000000#!/bin/bash tmp=${TMPDIR:-/tmp} export CDPATH= set -e if ! [ -d $tmp/benchmark-fixture ]; then echo Making benchmark fixtures mkdir $tmp/benchmark-fixture cd $tmp/benchmark-fixture dirnames=`echo {0..9}/{0..9}/{0..9}/{0..9}` # 10000 dirs filenames=`echo {0..9}/{0..9}/{0..9}/{0..9}/{0..9}.txt` echo $dirnames | xargs mkdir -p echo $filenames | xargs touch fi node-glob-7.1.2/oh-my-glob.gif000066400000000000000000017446301310765113000160440ustar00rootroot00000000000000GIF89a$;M9MQQQutuhE|QM 'm5#NX6vMMYoD (4RKB'YzR38imQMGEHH(dxLyShc:1GfU AA37zMqK)@WCr MM QM,*0yUߕzI8RlGI3cyQxRutJ"SWR2k5?{W[SwLx4eabC}iI QQsRuRzMR{gQQ|YYYLO{QvD4T3+s[ EFuM@A<^yWUV;;+}M}MQVbuQIH}IyI6yI<6=4=MOOPO{MN}NN!! NETSCAPE2.0,,H*\ȰÇ⨵@zt g)$ɓ&S\%˗.cœ)ד<=ț7!<JtѢH*MtӦ28fȵ׈"%KٳIО]˶۬ʝKݻx˷_ʑ#G`PU³.$ʘ/k9s͞ChӤO[&fRcݺ51[sͻk+1A|0sK/دkn} $@?}Em/߽錠(ug#l$U&gfC =4-yH"(/ƜPq-H q%h8&Wc9%h݇_|g|ЅtTNy(aa : n*ihFL?pQ/fi:2$D=㠁5h\w$I~]'%f&x,a-cvΉ5`Avb-FlB9ݨy|^|%ȓK:]\췚rlL(n':AN pQ-X﫩$9@B&,:+^x޴uK6~v;$E (DB5I4׼1F6>L`&isN1Ђ$,`)X|j5+vޓ]˭Th6چ(Cb6˴:6L0&@I 3A5aeьiEBL0F 5]k?w|m72fn_M&;$C^/ʛPd4 i- P0rOz:}ۂEF׾f 7H06@N&1܂ 7rNī:6܂! Qd ؀ptYn,>ęeqDCBV`2<rVx@|P`drl k葖=u $ ]) HUbPB)H 0VM*NhtȆ 3BnPmtD<)K<(G9"򐔨4)Qyt\$Б9,L K^6;xyNÆYL.e;)P9VaQ>Ꜵ8ʅ:s '_SA,7*Iz?sssx E.4T BĆ'DE)щ1& n?DmPx hgbZz$G͛q8gL;z @ P! y(D+X&KLHMRzT%Jf7E ` J̀ U+XԲ -a'F$PxHJӹ`KCүq2`x`b PALLQJRq ~xa Im#!dʦOd;*RZiPo˂ގbn6tKS/`1W|OMoa#lh3P'|wbEm~_J&e9x ŕ]jZs`!$A*5mmaIuIFȔLiI#Fc_+=k|&LhF!KFLo8ָWjK4U*alukhlɨ@v<JO mHrk@IG0AczZrd1aaAzVB>u \0u %=E % T !p`aw-#`|>n'C31vLU 2Df؈i'b xB%Xq4vdr*OkeWZdxLr}#C( V.:ȇ懸TrN  rx%gc08Ƞ(%<'` 4P7uא 1@0wum?wf*{:Ƃ d *`(mXV&I'X~V͓UZ˰ t ːPɠ~@;Qi[R;Ȓ3p@qgKĈt%_@q>P%P %~ o ]vW 0@C7M4 1WL'P= `4җ䗀)wHЗw PG Dk W}4$@I@ 8yPxvV**s @f !!Y@E@9rB!7H%58pr.q |]J` p2+ O)+fw#3$DPr[Qw Y) , B Cdg= gAHK:B br*@А] r~BMt, .MƜSP!YKw*8 0YGUJDcB@Bڞ<M`qfGf%4!bI,raWy| b.VSϩ = !!! 6r3um 8Hocad# &/KJUHڛܻ۽q򦐫ooDh׽dKa;&"Iz`u5 I[M̯d/a]YР 3s+'oQbS|ȫd4*f@E p*`y%Kmt럔 "=\0c`0q`0<ȰXZ Ugc%80`<HEP:*簢D`c*mg]Ӥ )?,\%XtXUI ;O5JCur%K&&p$ M"5`\y cĤKθАK}Wg5D 3ƂCN"=Pj3C'(C: h`wtwW&euWA2$L` OӃ ɑ<%J6@oiEɥ^J&SE;A@ ࠔUuWxݹ쩙Cހly&E@æ$JHC )p`dMM؁( ()IP Ԋ<Lȥ#{2: o@ȈMPPJ  KYc̿v[(B r "힡} gLvOڬ01)xd ApGΜٜ["lePR)ë@ɬ}4`+R dBk HIҸ=׺YBv@ >̓UDd5{talٙݚfa١# sfM@pz$ݹ? Zcgl5d"/lmD-  =mGP 8#n=b}HKx Aʞ>9 ovMvPŀAYtBQ>D h.;N@p iA>#6Ԅg &n]౼D-&PĶ 0z Z@<@8P P@! `ҦަD  -["5]]EegntkaѯQHNTq&rz9 ŞĞ{*?^NSx73(ݍWE8fs#hBm !!!kr=pg8nz-q 9xͮ~:h4- k5]v uk":*p r Ϋ)s+ys*ii,<Mfw, f?63FBq@)5m+ ^Xq]u xuɹUU 2b+rCtt<$=⣪f$FP;g7@r{` /#N-,8C͎4"x@|*d8`QBq|yYoQ '^~^u\HqIqh`sE,'VNrptxt|zԄGr8mRRGNکMg@v$Xv_ ka@ DPB>AnaA(d=rH%M% J-Yd ސy[N+;h`W*t -(PRKLcʖ#P9]B ( ZhW\jJ@ֻ}תWp`bf}@ ɒY,;y9!儰8k*YRDt2E[lmO<\.QM1;xRK/#O^ɍ6ʇ&x] :xK6E5- 6m5/9( 3+$P %A +B,B 3pC/*-LX0!5*lY-z =nqnS"Z,!$#7:P9KI:2d"1 x/؜:)thsj?0 Q@īzkB`1QGkFT+? " Fsh1Q61OEjGz͒O׬l& rI)SW'YX#!&pḢ51,d_ky> 4EOz1BTQR=%2`QPyLFk-\UU".)u"z H$\3eEiX]NY(< m54^r!2%7IE$#Jͥ%ՀNO+B,8.I 0_rJ,+Nm mm{nv`rzJӈ6T>U9"'[=Ejb &( WG/$aOos HF"Z_vZb՞pLk_;l5շ-1 6D0ldS%޸N"0ЁLY5"1RAIt!بN yI jBP9bB,}Wt F0~A;z=[: Z0, |I_(As`65ѼAeb6bظZB; %4 K(@0'nB632 Tȃ".tC)X&P!@ 0K"DzD@! A$zHszJDt)iTh\HȬʭʇüpF A4.X0(ll, ʘK,zb &C U|*`d/QS"ȴDtHX$=XJ\FH=|HHrH4K -H 3:˹H)ʻǹӢG0_&2L$0|D|Ύ."ޔKYS:d̉2t9^tKZT)#I&lYȣܡ\EUQ{% oAhS >X tH&<}-Pd]7 =  WXXD'(dp j1%-]( mug7>.6F=S?_2Iϰ oTHfy%ً.*!$GJguk&;&|c KhhC茬֌k ]=HifWFce}s& 0 ڸ yp;ː5p`G ]ސ(h<^r-"m[b[ l8b 's0M;ʳT`=c]ڛ$o`r،QG=qqS>H0 TX1? s/v(3+*p"+$6 ̶RFlB.B+AJ HRry2ûȜ"_s`>PH}lF%vC "U?W1t#s&LQK2/&afJ2XR]՜0S']"p^$R׀Etp1"}kIotbJt&ݧ]WDbH>0;Mu=yrY/]#h6a1__,X@5o ty38'WԈ՝nlH<b\[JFwtf`CGosO`Huxxc'0FP}/uo0{auwa%L7`.Rt v2~^ 3 ǁ}eejt׭;smeڴ $HpY3.]Zs~J0B6< c"G,i$ʔ*W$@%gci&Μ'=n@ХJeΜI1m괩ROFl.}:t`cv쥲i* 1Ԧi=j%OHd!J@ %L#L#"f)Xsr]t4~X&7nDUA[G\5!p¯'~K1ӝ;T.n(W3Y;x3aʼn%Wo$NPݪ,Ͽ_l% ȖR%u T[yesjVYXx!DͩU]!nȡ2=! &X ` /c$=E Qƅ  2:5-Nz%vr]& 2&-Y&idt}@O5@9tw'#y&'xnOB2NU!9UEJUY9ؕS_EY$VY`xpu9zc%pV&@a cC FGͨ@h=;%& ۆvj:i ~_lyْ9Xze - 3,]7@vv(RLY %\{py QJ3$z֕+^(R0V6ĐVJa";5TQ;rEp1L6.pe4d1О$hpRk*I;>_,!B!~؄v*ד%~(;L`x# =}UG2%%~` <4p5h׸U. :QG]i3:$g,0pp; w e9pPFqgP!w"Ǒ&/ -]R! mѥ_++@tZA6PS#Bl; aIhC l1|c%,IE٢g [xj"2iL0#sآ[0AvP$d kBTɌf}$\T3T"maIw1aL`8dsu4݈4scRfyr)NvΠXf')fGt4IFa /!ǰ]ӨN5bBփ. Pĸ1:*cb^xaHH +gnbI,f/{VS$Y*2+ 軕1fWK >umY>uv(1%)TD$6Ml x.t Ct .MvDi0 LH&zR k#|KΜ57iM8{Xxp{At ]KZ`;= lA*,Qx(n *8`]2v,})Sum5AUƹnƮ%1N]JHLn$d%yd.v!Đf( #^ƜWz|KUibl+"IΆm`*8ѷ= D wWmiaoo'R!:זDfx &t ݲ+ #(p.p6, gO؞ˬ3uR}5dUs6%p{V4^lLXgg&ao3:s2pFz$Kbڞ1' è!adC Ĩ@Qh Xö/@k+6;c>d:tޥ5](.$@0%r,r TXBT.<$ Á$,pɨI5 WXR>Yh^!U\X@XB0(^C0rtE!ȀKnTF0SXS܆ 1$0#AD11eφlU4 1%`-m@.Y U t5 ,|_ SXBCeb<1@$ÿq MF)$jfXXnSY\0S:]*0eY&%XK JofrgnN%(́"@B!CU\5&I+[QfdYє*jrF*]BO*,b,nb%IzƨÓfB+BdB+ _2CVE*+LO\x纭FFG\Y2/ <|h̸gm}B%``]`6nu%_g_tm^H׬eCFE/*///X50o^% m*W8@D>hD.OZ#c0% h0)En:`=],U,Rz0W9T`b&d/@C1`$($w]Fj?Ih’<_'>Ŗ^̼̖F1Nɲ+W ;Bh9;Nn LkJޯ$J&n.n߱Dd @/n-Jml!k\2̬Cdq<&+RJlʪ!/8H@3=Pu|PN0GT A.T4߆H.JO.Wq(:Y/*CƬ|,Sb LmB%g7K$1T/ 9yvH.2'VsRP .Dsr)dr[HTAiNLU90J3KL7T1204/4At}ҧ33ˌbvmDsBTs^wϱ6+7{s8/$i2T(@5\\ _yC,#tyVw( r(hZHza7Y=s:GžriKqCseBϘiˤxc9TjWsk#`}E?;ɳ4y9`O{9 wZl{=I\]-!tc4׎>17܆ O=/X[oRx/{TtX9,Ah@lyӞ E-`%O`7/;k\w+ox-0~~\EF RV^:WZ4,Yn D0-6vk_-v$vfaÇ;U_|!x떹bypL}.,I:/*hjHa?]=[vmַhժW*-$B 4hpC 6T(,P̖-1c:>J,[M>$b,tIذB7J6)M"ۋ4 fx (̋LkA$;'$S :ƻH>Z/)y6~ R[7JS͘*!`b9db &Iֈ&R@:S4*CĪ/䔏>,1G=sO #;sI#s*)HM<"MHPM0fᅙ&$M!5G+|/[% K5[\b2Hbʂ!tc$(D L5TMmK?smv3=Fl<0;`!F[T &.ް` ML'U,y7yM=XunP)p#'' 8T Ȃ,>oxWF{%Jo^Mn@,` t-a b]&خ\A*o$A00 #0b3<X(D!:/I3&(Y 8hBD0 u.`i&p$" b4k+[V!ΑPԛ»De^8}Ih4,P!1 mkLB0%9@Ô2!HK((lJ2g2h-䆰 'BH& $(Ne͓!Gy/#2 $1(G tE~h1g'πz$4p.0b:ŦFrU@9:MjC"(FM ^1Q`q&UL$So U֊i+(Px0(@jTa}fJ2=J3쑠M!/Ih*B6'Rժsf1ԫ-`e"ELga[ z$^=&u UlWLrW b4VѤHl`9O%@qzBms`P/c1]hyrRfo[f%E4rgu "}#ߺ`8\z'ivR`ZD5y]̈́=񀛻aLte˂ 89S*ÈY}\0A촬Vo# §J=0PM ÉJzp [0ի0U[΁*ba*(_yMynpCJy.HcBF]le@Fw2BqCRŒ,Q؃dQ !r`ZL* U.~ NA(0%l<"4rf@s#+e!Z%c&]&&q'wάd "#ʀ>{r|n|ܤF4R7)S$:b"(LdBnL(!ipep//2q*xqĬS<"D@*(**.*Nt#*< I~ư LL9' !d"-6-37"qB%C㒌1{s,m2B(Ǚ U+ * N` =; r@ Le!%7s@l"SyGÂ*BbAAyAHRb6Md0S7Q v2235T7%n%h34Kw%D5BO4f1JCB#T9AV4tGAbzI2r,@F1!0ijԀ =׳ Դ:M LCb @ d ` .`;/@"21TI2BNNt4R!MR-#C13aCyCb ݀FAS{C̡B@ E/0uTE?FVz>.WW5uX7XX}7^ri䌴&@4ZIZE$2a B@ `  ``~0,54^N@ʠb@LTNzb%AdJ 52bvlQND+ 6B!V7xCC?tX7CIVEIA q"^U8EmSdgc1VTc'Wu6Xyvg6hvh6Y=**,8[,[ZavaA .d b 4 v0HJQsJ1m3m(;@ RiWEJ / @ Q@2j 2$ RRLb!bFhT5t%<4BuVGv }RUKEM"8uiV s5q%"'mhr+W-f @5qUuT1pyy1 `εe`Ht,̡'(c>.p :nSeR|1pH,Dp  pETy,6B>$>^wr9cCVDMC?TTidѬJ "gPt_S$`TfifDgyV>\NFWHJnix1yuXA ^ȪhJ{>JC,M#* |#<`}gPBT+hXqoIV7"DV8Cd(,V5r5rM"s7=b"PEWeOCE>Z9>3x@fX,nAD#,FU0B,U)p!`t#,(8qu9S0y,Z*NĀRg1H"yu$S@[eu8O TYs9 5XZpYYSxbN"Y7U{9k999[G @{I,#>$hb V\"oYi7e4H*Xw30;WusI8C嘋pt VLW5^ٛ݀* T=X7١BYAuՄGLŸن71@7_ċb LYfd;K. MQDZ6UR@  RFs fdu[+mΉNnHBBRY|ΔW {ټ0>U h^$(pA?c-aԠ %hNC:%;ʁL@@t J}$qGt ]FԵ&@&cBb UR2*׬xofa`L # qkPۢ]ݜƿݚ#?@H1bP]:Ba<-H^nqivẓSreVafϡeПv#>e'C$` V]#o"dx2D5YaAq0!#+緅7h~~ޜ1n!C,o ^ly2UdR:b%J"T <8C\\@^F.A ܨѫwf\A >qk'RI$V2q"u~u>lUymjbP1lϾ@Th0T~?b&?V{3W5$&I s$JLNAƍ;r܈1ȑ$K<$ŕ,ϩl 3KE^LY":3P+(2`,KTI\iR&`$t֭<֬jsHٲ53Hd]W&Z͉uy Ă{xݽ;vWoIgCdC) L aq=sHFb~qZn*[ҭ%q{[ʯ%;3r!mݲ,0 N),p@Ķ3~#ߏQR }.X |9t1 łdCN.U0U%>pNB'Qlww1LK@9bHbaLĥI:z1Jr |AD$sK?j5U%0%8[jɥ?#F8ٌPm8Ӂ$`8fߩHaHU8&yhZb K9㚃v@e[V9z馢jf &|JRLAA$(6Нݕc|ҍ9I褧R:c 1 3-O:\ZUrZ)n;82c]f)11Ě En¸k0 p)G;kFV5SA1S[Ԋ4EvԿi^po"p a#p*^SH{G':i9ġ׽}{ թN쎲?o10+j1\MAOXBFs9qI$ $1<FFt @%I2~C|%oXDzґ$7IEƇggXn c%y*Y +)` Sh$Ge8>MlĔf5i5ߙry=5%2>,'$1)DL2249'vv҆6$;9DRS29Et A &0)K MhCPu&/u.Q#(G?QӚ-q5$yvl3;$^v~ 0I:!ed0|ӟ 5D*P)z \%QT),':Er2$?Ur7`&tQ*Ԡ{]W*v,(YdMs;ͥ EޒWG nP{Dl"F!Aԥ65]I"9VS:qavsήb\mSJ*׼U}tGN\Hil]3(xȾg\M wzJBԼv )ڱeﭑ_-9lЉS}q%x{%p\09yӒs?*̋27] P`FYw1Kljxc*h(id|#GP~_Uip` [BƔM?aziV,q1] vw宖hLJs$+m-/P__e+~P{ZԤ>-Im1R1o 沣{YWXУK"o ^$ 4R]Rݠ*fb0=Jme]h?c _*wsewx{ `eַYWH[݋ʯs U[yZ-OⅭ8+c0@ 2ݭr(Sf.qE|4.AguseNTvO y#=Rs͸ͥxsAKG.hZRd6`zig=kf/+:.(?׽μQzsUo M-NE 2nEÕSۅ n^ԟ7AcB[*÷yGG-vq ?BzsH{]s&+H_Os2xB%|COr[C?d_zw.rb>y^Mhݬޭm֦mےn"xU7J`= TP8*adЧU^x #8BNu1'zm8cq &A*B{$-nP~AHK7}{`uB3aLXP%QNȄF KXsebŁcHO$d}`}2;b0t;9b2C 2qzerFw&7!_ u^`%&Ti(vdqWLttO JSe&wW)C;R;v1tHS gA;8{rg{Lafgqx{.{)8УT՘?LTTōj|'f}騎׉gCъ'd.^BHq{s/u3֠ Lb-凉QEB~)nbK% ЍeKk&Tx4T# 12'yDt+r1&G$Vk{cB.AF2* tفA+Oᔬe>)ʁ=Sʑ2;x SCuDu:g3gi܅k2ĖX)1;Jq(|ei)#S` @Av{ nKh9cP⚀WUE!hYD@1E2og)ѐ “ LwD+&I s)ڙ2#M<8ꇊ8!靆DF@ 0x83 {)/C5jr'AnrU|6HH-#)J-铝p biA:/"a6 لe5Z9g?@P ay9# T]$]@v! zCږIZj¥t])g U5c[q`GIT*2 ڝp;8:h79]GYY/."!g k;B;k(x"1Y:ʨ1蒦5ӦhYR*ڦ \Jlj-p*RvU:' rZӎ׺BZں29;CժriC*hɅĚonhD-UJ ̗ 7cZC1*if˩ډ誤:NR 93,]T:'q2˱Z*ښr0:۳aT ~l +2'vT0+ɳCzSU@^[`;z2F{  @:7IpzAsr<)20/+i[31e ;= ٤-3!K{ ` @p յ(+Ζ%өSyj~9Fp|أ)w=ؽ=  ۥPذ||Pi겞Eۅ>p мn _cشN.#e޶sNJEp댓>]nˮա տTdN*22ՎbD%HUd^5d I˰Bp600ֈ-nJ7;O|^Ly2ٕx <eJA%"To)V/n[9 $} -|e@p`j؄A$LTY?/).O?WWU_Wwb_΃-`:Ɲ {@-ayT=-G2,~)E`3YN0>fSp\ pݿ߂UP <?*ɼƾo!; $8`A&daÄ$>48ѢDhH1F!#YI\KĜ)K-_ 3ʒ9qzSRI&pk vBTiӁ.tZWwBSΛ/kM+mϳn%(0+P!v_&\aĉ Y 'Ye!j9'Z&}qC =śm\د۾kױVR=` s.^[ٱoi7o] .&_yIO_(=Ƨ_߾ɐSo@ AkfA)K@$,oK~2Fl-=STtzG rH"<QI&0TB2ŠѯJ3Otf(8 3{PC8/"4:0-̱WtPBȟb<IjQ'tRJϜ^ܷfԛOOufs/t^$KW?|_|[H\0לw W;y-oRs^sDUMp蜏-zKת7 ~ Zt )Yw?u g@*@P0+`J`d]Y"h,G' X/O9I1"afXc iQL X."HXE%Zsr,cmcbs J&[䢁XJab'H HJS4I4c % d9?/踅8BHZel[OI$_/Aґ U^ H Rq^Óqkb'A&KT%:!c.5IȄHZ0)t`  n A[_˂^G1踁 zPr޸Goj8̡90Í.Hj;9 +E.p^p9H,-lDGH)lj^( MCM?#?EQ ׊IS'}213V@3+dBk/RkiMOch G#eᰀI#>KD ']Lik_aVC" E@čj)6h@C􉲨;H3 NlDlx@eEf"ddY#DIw]&/k@YߩHx33WS zQ.*Ô"iE2]^m+aH&J$is` /X &/ye"X #1c ;DߥhA cE`qmX MB^N=8j~ut'^$>f;ծًb'8)`< :E XsB9)7!D&@|g%gR6 nbWY!SJ6jh$ rB,EE=det6r-gDZՠ|aПYutR^] Axk$ ~H6`{)fuWQ,Dpqܥg$1rlv5 14mМ7HA}o8!#&7I[3vw}¦=կx 0Nµ- 5lQ*8Abo gN(ܢvxfl] sxGgsn]qPS$/vΥ @ jyo37νtAwĀ x p=Gl( >%Y!~=ԗ *9:RA ci$]հv0|./|y~ DAgo+C<4C=,:,d5-8AB1,D0(BE+"T28<ڣ L$'(ij4ET>t4.D)S>O?U܌Q E!S? T@T9]S6S. ahC\&'UH!,,H*\ȰÇ#% \C)$ɓ&S\%˗.cd͚ܩ'ϟ>@ѣH"i$pp,уb%HʵBIYh]˶۵g@r˷߿ LKct ˘3k̹ϠCMKQ&װc˞M;tREdf!&3 1 Ɠ?̼xϢmFh(hD.KC+gA $˒ K(8`m&(-c1OCTHE\ruކUw]y$Px(zٕ0(aǕX9 p((QLcDiHbfɒL6P2i/2-̱jp6xdFNeew* 1Vx˜Х,f 1Ë$袌6b %! )labrJ^/~mbIo@ 1&/+ĆvI*DS 4Jh9u IqbZ!uuxg#+^*s +2 -sˏD4[1Ֆ'ߪu,q&Vj6ܒ,oj$Vj(,. :l1oLHKp{\tZgbWgA7 c ,3l &Bs:` | dmhilN:$p3:d o r;-t^GH4`E]J54plCyL:Feu搦b%;ęjjB,){ "Iޞw'/bIP= d1M@bV:v 3 +{9+>ttQ?lK[̀Y0]5AD /H=T@Oh "EGJe:2 Bwa^f.a(jH[@\v9 !A wfXiLfk-i8 At Q&x3 ]eTwTtgY;#) ˥Zds͠6_#(ki w#L[0跾r? ]Bg̈́ \ +)D4ӡTN / |<"{/\cxH [,Lv ?Q ]1E cQ ݒBr-3FY>N񝥌L9:(hrys)(1< Y 2Yr{-!!)Ξc'ڤ0">46 7| dKpJ7ΧFLlO5j:V @΀_P<fB6o j b\Zb͜RrקQGYElkn۶(&0IȘ@ !&cSj N T[0'АEs\@6G/_\BH%N >Rt{B[1l)ly.^#c(*E{qlM6rFAj`zu 1! ge+1S". nM n ̰})aߞ< P s y,͇4jm9 @%ݥAIpɱzIw]!P`e% LZ>xqlXU2LJ*~jH4CZWV\wxt 0]0GshqyfU]w]t@Vr `lA00*xFǀ H#LV W#Mpk c^i%|Bag% f!t1l6%ZP:8/4 {p9v|Ds$ "@M@QHP#($Utz^}Q?| 00\_sa ˰@cc. ikȆov0w8NB+ttdoQp xgu6$V9 r (:@w$ظ> >CnvbSBlQ8A*  4=k@V$psʨ~2;SA p=8؆>PXCaJX` t@@14.Rl/ }ႚL3 Dm/utJ qn~بmPn;'q @I`;'xq8hER6L\7Spn!:4=cSA6vQYk|Xc 6ZCgv6򣏉|aL* 1>I$s,f' p kHđu $$A7:49{k)9iY }usi{6Y0$Q~BdX{5=ucQv%0EW=M^Đ  Xx#)ɝfth K fZ̈/Ā)jb޵ME89Vv "P@g'k@g6op j!HC)tɅjBLTp,☖Ahtv`3bZJ/j&`F4PPp@|כD $f4NU%yaY:@BVxx":{jxh0iJ vWEPE0MP^3UQA lZ=P;.`NɁ4ʛHnN4#Xi%c@`p#8p;)a &I(P $Jɥc 4P ?:Aj* 0~3ʁv VypTrYQ@n̨@ҷ[D/F/@ unkj+\'|pתWL#Y;^s` E f0D+0`HcаAдNH0`Tpt>B  +\P[MЦ-Jtӳb D@#Gulb#Nl6K{([P LeC0p  h% $pfk\[(W[ GB;c\:aAZ5 YahRz8beo2h g Civ`վؐc;yzZev~Fc,lGdqј` $%P"fU)8.Tc 3#*c~qِ 886:sIs>@9g; " A6Ȓ `ltOPӎlbY#uN}/7@`œacJ;ko7ir t\u܆9Dz ^@,yJf6| 9q aNė 5zpo64RZPZhi~~5i/˻Ǿ,[ s: n i_{? ğs=b ` Oj'CO U'񄽥Lo0˽egl ʛQ4p6ikkfոb7r%ƺ$`Wۺz^c5dj儞OpS&d,g3R;%2Wx:Sr5E h;^B<Ċ!(WN`2uwI #$ oˊC:nʺK^~eמEX]>F$m6B{Lى1A };:#$IPQDHH@#$K,~Rrl!MK,SL5mޜN=}IL-ba(n޸qUTU^EAd&X b. v.]:;-lצ%cZ$ـ0!I}6KFrFX#Х'\ɕ-l tjiSWM>-@J.bVsҪe{[ݑo7pb!ba͝?$%z_|]{̛3E)ӧNQGLulAhmf{OtE$unk88@caXHb,; /2PBӪ#4!^20 [hC8&[Gl""da"$qI#H"a  ( cB.1lɒKjK'61FMkq>0E=pXKF[CmQ +_dyu[7-gXPZv)Џ_ ¦M`t0*-NNf#!c)4!{{;S0Eh̉pKAVEĶkJtOl&u/+`뭺ϳOu#OPՇ?;wKG7w}ŷvـF (E<]1/iԃW-z!J%ll{Z>q\ڧJ"X:XD$؀7_ G6Mc6HO* ʂh=mհ[ 1laϠ v<{aM9n1fd0hsm 'D/kHG2Ry`DP ɐx0.O7dZn>}{xK) 9B9ZNuta[(C/\. $I$&͊T"" hvӛDFN -RAQj+WIQqfDҙL pd/d@*% (2z"XAfJ1dȘ XEgצMjEILv˧ҡk־ߴG'z,8Z-Fh_K%aQ|2&YkŮР?ƤK ;hUkZjHf fo T7 ܄7qVPTli?Pq+C&Ԁ )vP٥ C0P9\Nyd>}s~NJXEV;FD,OV-v LJih ]6wslʛf$.^q~odF|Enh4;us q UuӐ0fcPޕ * uuH f4+gyT"0*qOV72pnF?հmP,;`(EN 8t1)V\m0\x;vy[! Jpy`I&'Nm4%tSeY6Mbn ȢFq--QA{[D-Sxub2;GkHxMҾVy6T<0ir/>JTH``#"  <؊"(˺ 7lrwt\e.}kL0amqLgKzOL} W oTU 2o( p bШDW"Z^(=e;{`bJKRy \i#@j!&6ë 14@/C'o:C7bt0I0Z?ܢتۛAB$()!t3BC@< #Z Z첶V >t2+?K=cA$ Aÿ8.XH3",SATt: .7 Z3 , 4\?([0`ùAVIVC@$ABjti7AHB ԒB?Q30HPR9\  $Œr&H!+iC EBd4K(Ɇrj8 +`Ftd2.`+4$EdsI`H"rT*2X'H)! xxyRKH&.tã| 9EIHqHtH5t*lܧQ1o49cxq':tK JV)ɷT@K'jN+98)T.d$ hˀFn2$8ch$LLH"L$ʿWl=}K"Vۤqdp҈r ķޛ&K.$N T#h'>H&Pk.\@@8 bpHELu*:H&>ڻطCXO OC OXUv3p͜aG$τ:2N"L$ ',űD =dcHgdo'( [nȬTIL8ڣO%pR3R'm%R4m̍Xr˽\qyЕ5 z.MdOC.:Ձ. U|8 2P%CU6."(Ψ >!H0 Ny4sPx`OLOX&X*H A؂U؂AUU^%5p9*]O m҈YP3$HM ,*+V;&7Xxh1TD%Q#ǽ3 bN56P}sāMtQ9Ђ7x"h0c@'H_(b_0b0d A5 VcO:`84MvֹbjlsHXE$eU&9X5xH7YZȁh*ԁ=%z.W #@#FBE´4b(Qd(T.ma%WIh3Xx-PFM SHQe d%P-x]W .%߱itEku7݄#O,m9P8HcJ@^@%q*Xa[5bm4 I р>и.hMXH/Q09x,(s3ܿ_@[e,\P^d.xW }PRsV>q]  K@^>[Y 5BUa0%XHMh 1 Չ(J}f0(%6[3 3Nea0 ^`C3Q2AXQp-l`=Lc &9$fĝ!o3#H..`ḄB>걲8pJE0<(#h]ᕁhf:fOr88Hh!/;3 8G'` P7h0V$Nvz9 (F-jAiy,yJ6%+p+X+H5p&pGXJ^SbĪdxCp\3?xIqkߓb9XϦi?oG&9E X(m$l.+N0P+ )(\T_+^#»Dgj/KXY- qy]Pnр$>u[S %AE, `%z\WrmyigP#>EDc1t$:d Ƥ‹9%X$-:t`Ix@3$L$QPrB F~^ g X2%غY !,AY=0 e /`;bvK*Ҕtl%p Xr`ؙ̀P Jw:X]=ܳK?9-IcPû`*m80@nC?\:Wi'BKȍWVspVhQ@96m,1SݶnB lBdQ9`@w6do~xLiLIĘ0Eu`86)`4U,`2T@Q}TK1AoU BD1 S+w?dV _kś'I]Oaͪª D bd f:mc(Þq1RR0t)qy)qru'm$cV% B{ :ڽ&6,"x3*S9 GKإhU󨶊!5V &lgxk2=$|Ј/0:B+#Iְ?R撿( &Sņ9l RВj ʇ@2dqT'5Q%26|2Ja*P `ɼfٕal d0!K0M!و3sfL[= 1|s?Iӌ{TT.!RF:BTD^r4)#p0 Rr)* Q!8/xgJQƐ>%@ujн )PoA yӋRuw `SFdaHHֵby#NǚtnCq!#C^A6H)\C* X2E*` ^.(,W )l-奃 A/fD˶0` xG4]}gh{[@09\6|`ѷ:+Ry{^c.^nܬ_S)c,mYqA]+-8ZVEJc n5YJfi-Jp\&. fy228BN0h(!;[v\B~1ޒ?]Q#>&i=Q)(Pm`OY(%[AԐ,V2dx|υ…H H?>3xl?쵘vL)< aҠQZ9i`IIF T-LA8!!fabᴁ!4!u ,ՄIa!"$ \2aIJs\%D}%@4\!XO@<")^bbb Bo(! *E8 + # X .ra-@@:2cp].t c+.70 44V;`]A@uc:6VBHD1uc>XiC5£&fb.MdAqi"d9 $WE4Aó -cCd&N p]}$[ő1$ R(Gq$2$J%5AȡNVWBSddR4mI %PR#BEUe0I%P%YVW OnPd]Aɼg%)Z$EecU0$Bޥbv%.BaU(F@ed.UjfTbFc-.&]b" 6f4Xj\\w%jA;^"i%.lda9XݦgNiHP)l$>&uզmvTȢh&c&ar&r&s5f$H'ufUznbe'p!-Lb%ʝgtNlZgb)Za'k&œ-(A `Vj!pEHjfy%苑F{&|>((Ugj璜-`\*a#$@X^z_9't\|[EQhTY(z! hU"Ņ0CeJ'+B(\IiBitX.L~^4cx6$ AM9}U34`N@VlgmҨ3|r}"/障j: *܆uzŢ*ꑌF)raYo!h1N_}j}aFg`f6Ro-#}}> }rx :0 J[\6YZ;hI D_t*Y~ƴ*k~+^,\Tg^n6>+JkZbk:WtAl,f, lh!I6f@uŹ܅C4llRL.#: #`f 쪖Fh,.g.b1Ē"0lF@rl(lکzi*A$@>-8l28^+&hR8)&l'mڊAlG\Z-^-jvI`pZ A~Hڪƭʭzd-l-zۂ.nĚ%L-!>n6.2̀畬iA.~n6-nNn:`x&0Affb6lVoĶOAA/rPb]\@2hEAZ6WCX/첯zRon/ż%F.rm@rWj>+bpB02.0Tp->,#-C18 -g+q$M0+ Ӯ{ /,@ /?s-v./Ǖ+-7S1ϫ_PT mG,n 2r-0X1#GC?.*j|P&f茑%{`#9GDKtW`'#8!9Dwt'GA@?pLn,j^AKQ&<$9IQ{4q0*.$(:jA @,ArWpl_}2z,bbw:-\1( (ho$/31Z4S*<Ԝ|}U'uπ$DB|{߲ױ3p8}:vv!I$%49A@iuu/@#/QY dZ1@/$@*$|:619nC&lp7G;pp#ЙA-l  x'Z'"aY@ X9AhAÞ]մ2骪2$! yE@eVaMȕ_BS1,8\ $ht4dž]AY'D\z5 Pz:+ ʕ9X Rnyr$}[u;@T}[H_ PDKρ ( |DL4T.m*#GӻC0\,:$C̚);{<+vap/4l ATA\A|TH(l̓*(-}9Chf3reWUBT}v'rsGBkS;>-z(IRu~VWR-U;Nоƒp?vIތo9z~S?I2W$4954C??rb-E/-c(O+l@!`@cҝ;D1f &q㹎A9dI'QTr$E;$nb|f,^B'ʊ?Uz'͙56:5"JtpYCI @ˢ2=.Um[Q͜j, ]tߪx)U4'S[* C $ZA Y܋G -tѯMj5kFZڿ%2=p‘NK ,0Ĥ`Aȁ}Ha:5FoŇWϒn+}QZTV"2 1 2vյN21ݺj͖٢-w1x`Hxs` (EX``^lO9nSxIڿH.YEL Q67EYy9Iz}N䡃.ڬmP'I-@ HZkZg,Il[li\"Z馻^[r֐ؒ#F[VYÌ\I$zzIum 'a̹[آW]w襅؃R^أA~vQū[A'Tyw[8)jRcբądcnݧ 3`)!);N?M$-ZaH[ܕA I4XO.Ђ z@MR -XQJ Q@:D$.QMdD)>QS"s)J]</q`X"/DnLm,@(Ά"3EKj sHҤ: $Y"xFY#2RR10&-c󵑅(GMM!'[pC r[Xud'rG"8A$'iIq^d%!b*SFdg){b xqe1<8A/X9:'dh^G`0xaSf6?DH79ƙҿdgOI'!/na xL`[,` TP3xIB?g9naH9ѡ4H#}7RtXw$A\Ie0#85.jޮ1@sv [<3:̱J|SUJIu(^ͱVUPO(* 0b8h[/!Ik(f3/iEqSC, RQ [٦Dʋ 8&b_DȂ1d!}/p /D^@@3WA!J-Q^ h/M㊎'` 4ƍ05@ a^Xoʋ-ITK;g` p \A j =Ht @pzcB )D'k -&HE: Ch!T y@%XM2 T ::Ap#ĠFpEpf oH@P$&4rVMךdloM"l;ѳeX"1k1Rk'9q}_ 6wJ.}8 ^%vvOnL/0qoQ\A A@9#c'5Qr4Q)1 b"@<` !h 7[,y?9ZdPP'O@ @J0d)<"CPB;dCےM+w.O-j b֯TzrVDѭ{-$}3@Y8=졨+@ _!N` cB HF*>\@ l;+ JR|7@@80y(=$ ̿n燷 1d!-xyA 3=JmԠ@~/` !rRRh,A(N ֏"oߞޜG& @j/"n:ԋIÒ P,"P . !@2-*oJ zAdˆ Rb ΖƊd PT 4 5q0گ .!h H(L @ 8,pbpd1ӘR0b`""@  +qhݐ1W.#dt pAʆ6 dJ ``g# $:- ~! R Ax #0ƲQ+ QA2$ l !Ll B`bqT'1QA ~Zo|0:=B(x!b`dz4r#K=R$ɲ,eK. WIl&Iq'i1'.o'i1A j0<̡Or++#a+M(Ds(̲4nM:n!vO ^S&"v@`@/ 0t&wR'MdFs4Qn2BN ~pA Ɔ"l) h&3yd 8I4ݓ ،aA  d|l or/343b@15A2QI. ><ɏ:43FAPi!ph20 :F}J7FGq84ok :!0 $pAK ȳAabqj&%]aƶ\2s,tVي!KtxT{/@@7GJK/0d  1@ f!ҁ2O.U(VaVƚ@M+'v.&~0 R@Jfk@yQuA/n@ 06coΡ4 `P51aR ^wB^^yVn1r2-v,0i\|g4lˀ)VA%/8 lŶp۔  1>`p^/1ЕUog)Bg{6p>Q5c/qODS MX稒T}`ks Fg>ڌA @la!r PnV XZի.Δ6Wp`ހ.+v0 T4MNo6VZ58%Nf@ !r]w`<@Hf~Ɗ\+!elo xx3 * J(HʌLf*-ވT{Y#{6!cX3nhR V5v-"^I&"#ߴcwx? c/2/,H!1a1xt+otAWJ6.% φ+(z؇D2 ,d,` FTҫ\T(Kfb8'.+` i 8©(X#X ꪸʰ,I@`* "cH{Hsr؃;{!`^6bʀ A3J B ~!q A{6&4SEY ͨY?m5k(}.|;ٛQ/ޱT dSPIL 1hHx98y q%]vh1o~'xx繚nIztB|d.xxz7RO!\X{.b 8 Dx?si:&4+mi4/ګ  k5',i()n[! ̱/A*5V$ҭH:x\ "3?m*:"zqW65v$ے;ZЖ)3t#A 6.` zAAS({٧q[pfSJ?"-bx!mq-G";%`\o6X+b"K 0 t ۟>F*ɐP.V \'"R@-ᤗb$e ]RP paʆ89iHI >'-{BB뫧W QC>8PֳÑ[vھkؖl\_Ey"^TC8ȡe@%.2 .]8tދFe+"ڴ)1r{'_c3I&0Wģ2%X-rZ[v剹[{W9֓ _*\ū o 9 $!, H*\ȰÇu N3a\HIu \ɲe'ꘁTAp̩ (DIG"])S!@`A@4RI8PÊD]YhǪ]˶mC .I\뗹,LÈVb,62eo>2C =1ӦS^M:t{ɕ P7߿ hEm_μyADϖ.CEȏ >!S޼91οas: %q,I:EXxӆ#3rv!D,E,$kdw`y sI0 (8%D ؒ@1&VPN:s%H%F@ !p42:g"Wl3l`,*h˝bɦ~\8A $dBTj SRy:ْJ*4o~&q* 9l,sbN:c|( c S(Pa``ɝ6kZ #`ܒ .ש֪8rbNX ,X:Ma66kAcpv-,Ɛ%V`s9, EgX$rwa Xxy lB ?A `}csJ5$֜rm^u`NP3LPtr \`2UTk~lwx=M=$M$dMǿ*%.6cnz[F%ƴ pJ܇;TYY [آ-2e8CuTV?%&@7 ;:l;{ {11:w{i[ 132o9f9tBB!YD8$V Pbi Ub٢BP%@Ex Kh/vtUċtTa2ƱtAC$"FB&ѡbcTX )x B( b ; W$aPQs.OԚE[3X0H!]0E.2Ɍ:”{ -xEDs%עR(đ+שly `(`f5DͲuCLmkf)!11 qfX:0pTX@R.C|`AO ̈1t؈ P'7G7@a0{ Rw֚hb;R U ]r"ՖMD_̣Bl9J(7 (T p2 ANk@&R#E!a0@G-Y@D>@6,H4Kt3eRkUMh"od@=p}kf Ƹl cuDaI?[A: X>$xu.T|;LP2 ~t45`!lr}{ښٰ-,x63K6tk;JvepC4"h g0dςL-ʎT;``l}#K o$@8&+=AQ,o1a.'I[E4 69vY!""aމۧKqmq 9 ^GnD JI* &OñviqfVPG|恤+8KB0@MgyR1LZrA.tT@o@M*Z$\qhPpa@=;+\T9ю%B .\5A&"ZݬpL0I$ M<&-0ca#CڑC(.eXm眀8`v,_bf@tTv_>/oX/>R'hLP_#Zc-T(Nh -Z@( 4i_Cr|38hnvzl򭺚 ;u|_lwVWV:L 2x?' E! 'MPS5NY"'h4O47uh?UG 44.B+^Tz|!1uC_'c`9 3 .sV]E{7ܒ(^{=ReEQԥCߋoh=qh \XR,1/XTt<`vj}@S87h,F0u2#p0F ,hyP!w-#t"Q ;t0LMU176A1s7gO Ţ9!:%J~"`W O,4yTu43|9tΆh $5`wK!a фQL;p3Z7?#mtmW{VxRlsu4> c4/'!q UbzgDi&d[@ /҈obu4#4`9fX43h(80E>90W>x!JlB@TPdOXr#;0@ Q`6e'Qp &a6d[sxp9xdAFd?[r=^ @B MXgBja6"p "3a\b?h%4F8FJ9Lx'4xu.O3ŠB VXZ-DeDqBsc/'jn 2Peg#5Mb=yiyӗX -Hc[ehڀ5 ;9O` e řaA7$7nYŁY c3XM>P z5hcxMRH -W 8aWD

WUZ9s{F9qq=z7y3h?4POt%C U,;p RܩBn*a_FQ BeT{ 4PmCC_ =_/p#H$ 0_e%&ŬZ` ?I? ښ.2؏:M04p%X~;S)|kњ ;Y:0뿣%uxaᲽQ:/Ui Ϡ Y>6'>ABBqUVÐ10XR ưI˱@ ,EL@Đ̽Y]")p^5 Ax CVPW2K:, ~pV 虻/+`M'es~SC5#v=b 100F`KFb+ gs M ] qAQajp@|gTY1Hu~R{ VhjGb5N촷P#M2ŀV&#>KO;_v)3bƫ@z;MP -T<^`E=%43p-\`;u`cِO+=7#[$)b sX^tXZHaR`i꽣Ϡ4=X% +R "̋!'` o t "2M;O$Vjp+o`fRpA`.J%c0PliML0 iK01%<_v`@S=j[@ +[:`aG"U%{#Cu,כM)%@ 40 <#ExrLf #5avTf3 @ k[ϒ LSS0P4h[mxbƷ1 Zke;`Ѵ=|0Յmz-a iXum܅, jnB .mN&% Be"m%ۭFL@a$\00"m+Kstݓ\@ -{^4wK#!r `q!F U z1xTy5*N׶ @s(= SG`qG;P,M n?} /ʐ׷\K}`nIU]B/+![~QB.#@=A*Ewg+<1 ` L*&OeLnjO>^! P8yo344ʂ7N>p0p Ic+ȕg^BMs!/UL&o@1+ɳ,Q 4N[~BC =…j*a͞7 [F&=& m0 Jp ʾC' P`W3q`pG3?O e 8ǤbUPNna2(K8J z8) UR*u,ؑVE2`VyC!\E8TB'k2hqBƛi3@Hv ,J<*ȅIQ 5THp" b,Iބ?2erfo&@ e -oo!bo)4˘3(<&lA"xeT1Uny&QJ@mD̹E`d&X&DXū-|_žPTV7)quxrAeonmɦ$A]s=4'4B=5It^0<ו/ƮNׇ 6e`ChI [RAiՉ 7ĭeH#^. %NEB Ke:qv?*PTL S$M1k=9"R4d+֛q(r@QŇcPƲ&C a  RPA 2@R!x)N_JTG #ӭ8VܱP >mL~Hu#~U*ebNq u,# el"B.uZV-?+QbHL%`KrG!BlDT.AOy5^)e٠o@9NV;%JzԪUmV^`ȖXđ+U3CvK%Yla &14*uCR֊d} $!`IFjRoH;:mC0OT$f+a;uK"kEf*6b#r1#8c h٢fCPR&hapA@:dkTqG^ hӦ-yZ^=fJc=s(Ѐd2:24,y"M ]/)=[}t$n(‘Ѕ)y.ff3,_nQJbaSM#j?KŠSQtα6y[fp6jmIS{]+r{S..xKarCYKHKl+ ^g[lŅ9}&oUefn0*10(' x@o 0t@7Mһ 9)"Y`!~5Kiq1wr 8DNwia00 m?–_b`<*g(ۚF0TUV4G $!,$1zI4@}/`ԇ`_,(`2$!3+zDXgX⤓dz$!>mUG;kD3n[$PЃ&XF|'Clf< i%fNq230"(d-Hd$'H!09x=I`: &p"HQH\=Ox@XW[;>PC;8A%(S'g+sɕ ? Qd"0n)sx^$At0?U80؛M@&BB40&ˆҬ$hX;B Vc!"̊Kl2kX(ŃBBŶ*µB[ *X%XbY ?[X@cP%7ד=ཟ͋F)H|6 XķM6!S 4[jT\Q< EX3]AKH!؂h0b0tP"atC;9<Z굓K-pF<@C$" ,ml3HІЎU1!EĘ >wǴQ Eǡ[&\ BnKb$2s(dx!P[`H I I\)8z,>/@.rR 8ԓq6JG9(;^HYH,;F) q+ 0*<2(9GDĈkH|NBê#v",-I@;La̶sU٥\EN(%Iԕـ-IdФ S _(,(x"XQuDKyi*N:C:{:S:C=XЂaś[$IS2H]*0Ր]SػLr^9 %54}c)[:'*؂-XU_ M_5勆kXEA-PV֩B](lGJ|>y[6;[0⾽} І;F9FkXCv p^IR2W30 H#)^N\*%]TH-x[zBʼfmS`F1b" /b0.X=ٳ ajbTeZMb0F. [&J3fU/s` H%pdjbī04?A.K^D"eQV6h!)T 'pEihh,źi43*>g 6cSflKNݞJ[86bR3[ kI JQ  iT,ձhdЂ=MB &$Axh;5KH.m~qd%lp9x`hh#V XtV?Ih:S3!p7\3x%He3U4MnEJKe[#0īVSf0N!Pp13s5cXzkmk>LkD(eX ' f"U1*Hюm&i}xXp q c(?Xo4!Xq5 q7G=Hi`pW*buh)&dTg聖U+nž =ɡ]sx3X될1 ؄Lu'c8tXq<J@9 tA0Y`lS\zbBB7fq>$ x t~ >8dS7qc┣f[,uKh-[򟭨莾t e'fg؅fS6+#0}8sE6>oA:mT4xMi{w7ޅӘMxh;rkml6fӈ U6s8Gl0p3;_83[t'hl[1}Z-jCj>< .P8_5;`+1dW.[ nIlt0P[rCĐy3ELU-6`ѶJle(6 O6b `l>flफ़]V io;C@O>F!ݸ$c_.8}WH 5!h$C@cT@,J|I͙LU0RElV믻Q2KWf!ۮmi&4$=ŠqPiN眘9J``@+5)8;: os(I1]20Bn|QxlVE$@BAD39Ĝ`М1xєxӮn^lC *@6 a4#rFX$G @ $S9PZK-~4I=!BtV *An2b< YtJڭR25$#hF8G'GtX$fĦhb,+yy0JZ{iDia| ъwleJ]sa h1ml _d5Gu쏁 :@c@p&PЏ$hb"@\ZH;YwҮKo-4?QӀTNϚfvRcJ- Gt+1s 2Y6!c L[BRӕde)=o?d#ivJ@,Q s т `+Y*̚C$;(FKhXųj6 t$n_4(dz&.Cvȉ 0KHH tHҨbCժ&P#jpWYU:vv %uq(keڶ#>7Rz%vډL"!c tXb>R-uT(F YfU\Fpb?ډmű M~BUXp;Dd5X$*#!MRQYEؕEg):- 11PD*Z/+@`A/>c!r[EM-#yK{c|Xk>Y3#\HE4@&BL̡\wQt=KkDIVV&њ Om_`+LC-G$ @0=uOb쩈+dDC HE*`9-: Ɨ>8PnB(~ ߈1 & B5Dx!`hz_i| Nk`#Ak!.`hd9x1tk~E@ {0g]jhx&N*p$!a/J7@, `T}7ݽp"p@&l˸9VSH?!S8NG ib [vZY5Jx.qJ @"(! <4P(4Ӟd}5f!Mع2,ST<_!\*Eg d^|ͭxn0SܑZ0105Zhb88u/}+p0C!կ韍 XC)1@l1`Uy9XC[ܞZ䉡PAxh܍\@\AD@$MЈ%Ae_ѓ%G$:H-&\ bFbN`%B$ LU!-\BybhA=".LĒ(C2@/ }4-}%N"'-8.1]1(@I86%z9/C~OnS%)# J!̀"\WAyY(Phaε--T3L-C(A|X@:3 \ NcLHB~@]AQL C1AĀ6B #8CtWfdH< N(XZZ!1N-$JX0C 4`% 5@J&JʀK!PGecZT1^`#i$P1K $T##BH$q1˼̎; j-RB A.@$x(XBfd6LY5ĀH`BrV!i(Ce :0918+AހUg5mb0:2()l@^P9P 2 ABEmGtD`B+l6K2Ā CqT ,_"M#C|aq@"FE:lB$/˼9B9\A(6\Bt]Bf)ڏN<l~,:XoHv/ _ B\C"(< %YEC̀4 $-0Rp,&_+"EE"++,F Lju4L3;ZE)@10Ee@]KhvE C*T/Hv @e7;3(%44lP^ӡpmiHH,r 1/.<3B#Gc(yX3̒4nsb/ `HX`8]Ex /%PCdp0A 7om|$$@/77k_WPĈ.\)OIcZ Tl[ĨʇÄ3x&jx$a(8!5xL-@|+H(NĀd A&̱h8K8NdEiI3,0$l zDwyPÚ/@GL0T zE0 a_Ө݇&3h:z ""t{/Ktլ )$I-<0bEH3X o@/J@HP7LhOT9(@ tR@hB y@%\U_$4 p10x1'o) T31XM/|E&@Pxh3/hFLh-)l 3302 %HhD61%-˭5c8_T@x@ԅZRë2 C6A/hNRnBۖH8sP}#4#2ğ?OpYlH8{;oVXԣbJMO?PlRzBΚmsH3!zHl؍?+w$ *oNx'@h@]AYD:[Х8q91RԈFե;89724Aw IS%F27qԹgO?@]`С:jUWfu:i9$ &L$Vtl3G;ջwsN8q/7ÔiP2Z!GL:"ˆN=ti*pIB!Z A7љE &˺vf;nO X+|ebt iץUp)XHBSѧWo45K2:K_e[w),R0TRu8*rCcK t$u?z΢[nH[.ŖTceϑzoޙ9B qkHc&'Xn$!:5P`-n=jQ 1+NW  g; ,b1 $)ҫZ'C`"XeL!?xcE>'St 8&B9zi,yI2Ȃ5ڴ$cUQq :tq/.X@E.L\}p #'-0CM8Kbp,u #&ЮYljsg- P 4OTЩQu҉?aT+Z WADuT3P&OAat&z9XS% x(&U,nt2H@E)%KYv6)A-d ,U$90h"8$Ќ:s , 2 0ȵǑ$^`JJJf[ n mQo P~GdXWBTGhqq1S* F I`$0<0,B/dgn`p!:&b(&D\H0JM$a :^|İgra  H)nWP Tc .$*j;@pP M -+c$bDb -@ * 0Pˌ0(b` ,̎oD堨-P * QBr5|DfjO 9< BGb+"fEHV8-Vn)+hR AF AlgP'p/"+Tq mnGr-.H" ?B!S `) G'G1pԀxa^~n‰,#pC rmV"V!p#cf%*`P%I'"pFaz+6~fa.DV*"3'" fv($,`h]na@drkr@d < "' #"l&В2hqHO*,ҼD#nȺVA*3cLqv6%zÀRpxl"l$2Ѥ B . mXa܀jGB3elK#>ךU"^kfVL$DB6zD09Jiod8"}S** .GXRʯ: ?!<2Sf/Mns2">  VC3^4P>."nA۱Ea$;A`>Fp ~<-1=z0BD D[!nJFE2>hTLxi -*BM'A4 K" N׌Ynnb. ITA!bcѢǧSvs"T+. T<%7C7MUiF- 3*% H&3 "Z"xg! H@>H:S7=lXhSg"@*1xfASgZ5[yU5IV$%cR"jmF@Hpb ތW[sX@A\ 'rY-4eF!NZEZS5zH:"~F\"\F(2޵LaҐ'o`GB&eZKa׏MI !a* i% hb bqz[=e`ffvO<{rWk6^i^C"x cQkqXciqbj5a l2UZ NOl_MTC+nrPm`bnvIyVplV|Zc ,p&lb`*WXyBA"*w&݆%4!@f@t= k\Vf[qneuevI*/,oz v=wqk&n "hP sp֎R ^;{]t-8uaMY{hb7js6owvo4ARF~y  56 hr(AdwNfC=Um0Z]C7ou|یAk!| f",'L6 j#^y䇩,Jh.Ć3!(|54$A,e# |'4uV(GwiAZ8.xe!P#vo5W4jj+D0l{+ s#wz441 X/Bgm.eZBk*O{<9dt,,U/r"8@cEC,#AʠΡ2#w= 67ʋ{4 R@w}'u"\~/QCY}[,dd`Z"% Ah@wTDвM9e=9ZfAc" J"jz"7y[3L./^}4Z˶}Z @ Et݅!{ " @`Fΰ>y7bw~*=VT,!‚䨹gX b s#.ܧhM.`S -b tw,9ڽX }'!,ՍD~;_c!C go4[}YEc+ Bw_C^6$p!׫?p`B$A/î&g݋w#J xOcb:u̡C70… :|1ĉ+Z⥁n%x#GK<.]K~@J6#"t4kˈ3Nu4K^b!PTw9KǦْj͝TZݹaWz 6%-(TyY ~.{7e:b.c"EUR.0h[;oM+S:P ,{ jaSB(u[KiLM=-J/#%Y†FVO;Mb= ƅ:w,V xmo|ిeںDg[tUGFtJM^]>h-M"1 ZJXr )@[{A:$. @Hd MT)Yb W@sB5dFJ/~B1Ѱ5I5 R2 {G/)u _RrΏ4 bpΘ R:(][B~Y.IL(DZ X_ƔrɝkWLpI:/v #k>i)ha DLHe1t6шVT9hpA$@ k&:ĨB8ǓjGkd g3 9Mg]a@As$nG\-c \SwQ̄A2;*-\AZ9Jzq1SG [E1_\`@H2vMtN,`R&fRL }a,r-92D* mе 7Fa!FT`NQOCܒƨqJosTN{K:ْ@ ðq[63d 1~Qfy:9a~.x`LVn?9_^Vd֎-@]A@CED@7%{_+^1@U9-84bP =")1*4ue 3 !0 OJ!KH]{Rr1RG!Khy!G+Bvœ gS3cuJ :q!tH3Sdm:ge'Z[Ĵe0Bj&,bIbbTؚiffe@/ pC,!JBAa Sg5L6LcЄL];e0Pu=-xcr W\XtAkL-J FR!X5 1S-^`"ȨݐT[/ #!jx AR/y~L_$E'ؖ_{; 8簅+{iҖ-ZB(Ak"T B 懯:hG},HheD$ˍjU'-LW ~ &m8U"smB@.rr;[`F AGxK8V<ξɋMBpveXiߒ1`C^qZѕAHɻ?ϕ$7JCM#oR0ڜ<+t1CuHأiG9*@Ե01[س/.# %jY#ׯ`ÊKهҖr+ʑKc[,Y:˷Ys],XySҎ&nl@%K-b Y  װc˞-{mZm( *,8q_E n}CK۲Y #KؠQ p˟Orɱ'{my'_]b (xy@ vv:e6 BĤ2yƜ~߆(b|n آ@+wɡc )td U` BdPZ:)Pᇟ[L ĐGKXeN(LDFc=#e%٢N'dy i饘[EafəS f qpnB'V[|39-@ݸEyַb2 h$Bc̨Sn ܒ U{ɷ~`%I%Q 5HPƶRk0ߡZ|A b2ra7)V&iq y, 23jJ@F;`#4d0x e.CY\V$10#ˡ7t2E7&zTi;Wg^8o;Ȇ@ i hT2Ĩ$ Z"HN:<j&d ^l/}mrqˌ-81: N P4$`:R$}BK"CL0!\9@,ЖŠר 5= aN `I%C" cJR[BoL8 ͂ƌ+&My*:dy1K:(-CYӗ>mȨتɦlOZ~x$iVʢ@- B$f/΁!sf{xDlNrz4:CF6!'_ŠCh,D?Wf1^LhP0 ]$A~ &rdbEA=q{6j`lBD @eզս`UQ%1 @hJ[pnaϠڃ (R0-D AccChx/JEF8 `Sam{qJ?jh[0T| K/_04\q=!8b `k p鴻zw3..$-cK,֐MҔ,[ RUJU"([ qO@1BHPР=A`;,i9x~~:.&fQ9 Hb1Vif1Ɲa )\jP2wR*֪VY6 X60a77e:"qb2Č1 ,n JCc@tg;Sذ@&`b A>@Ck2m 6@K&E^*-gu6NZ50xD&0‘? h?[ 1kqߟ-1 5H10hʱ9^ ,2xL^/1PO9&Jijpq@U%.tZ}P4 L`8`e93$r{64ieBR)I9Kg& +DudǀMuNt .t(&Zi/a&(^"eGXc6+X gBE"uZBD`70@ B.=?dkb  A;C1Ѡlg ?qLoLE\@ ̔XB+7~!@( oc1|q|dDK0HpF'$'s,@#h~rdFm"\&3 MzfVk4P; .xwwD.XA( 2S "V H1L+a'IF u x\R&Hud5'`=`րxCXz 8c' sP@0}sya"u%1#0>`QQ7o\0;Q|W Ӈ~xH $#2$@lph,3Y10u&B^b";0  Ytv5~- 2rx}8DC(cƧ @؀ &Q8(` @^Ȍ|qu( 7M|GzP /xJv52Wl F'xLJ9|GH805QԢ ?uK^|P, #_DCJŐ/5 V> 2>VcchN((|2E2(x.F`Z1Pidѓ`ACIq\B3 zyoP '|x&IH"S G V(Y/Qpɷ yr/"a 0 0a,3`,#v@E  w.:IYќ:`#pY6)ЈB.[p HY֝|PkP sSٜ8wX61 0Pnaɀ0)BBB%Jfǃf5t R*آL9  @ )t"@*8rqzuT[$vD E.0" H)Vdpj &Pnl*/$JVu!EbLڰrPɧ kx "%`&Z !-P PiBʦ[` G$(S<`= U1Dh _ נM"W` FPI4ӗb?FOj^MR+w qwUDˉg'\Lf ˀc2"bSqC   dT'"Ø82\g]pcRGre 20+%;4s&aTg ibSFOհ*2W1@Iu^E]' ǀEr9␪ 8C#S2$*b p Z9SAM|AKF/t9 MVӺ c#U%kly(c PE(8Ҧპ  GSxP2VI&@0fBl3[[/~`Xy <=#Nр%;Pk:2%a0I@K ߫,TJ0 vvP s yPQm"qڨ#Q` o7"ٌ I+WkJ t = 9q6 H0+&< Wt:[]5|rqj[9Z)kqDD S3+$DS3e_ tBcJ!T O@R0y|=0*3(ۓǁAzQVRδ"4F3 eZ Q Θ]vLSs {:\Y6.*d PVq[06-J5 k23` 8%5Ry!4N)*60B!~-&N|)4n[`wӖz/R_#|Y*VX(V$8u D. v04` [}ս]pM (f2PQB#2`1+ .43g 4 !  (>{ ? HN:BXIV]p6/} ` K3 7Fj AEK RxO$М1 .y͍)ru@`";}3M0[SD-K>' i#JΙGT /N1`%)`u~Q_*i#ޖҁ(ə@>'gJpT=YpQ"|)L C Aq#mJ?i N91 w{VnG%YSR: ;g?af[/Syy1xT\>ݪ6` HQe@Iϭ'$jOD,aqN#xkQoR!$S1KK~z?@`]VBQva 0bEK^3אi@iV_$ʊa X0#εt ?L(Q M  #YJWƃ抙E6L$x2CJYhɜ95męSN/C4i92 U]rSĚUMJ~+؛LB&> Pu:8޴dW{݈ܥ`zPg2(l9%`&B 1dEz@q11C 󡈂tep0tjQHF=HUyPYxnխ+n\w H*=]z;0JxYII4`z̖[8 -'bP& l?qvh"ι=s%KA ʎZ0FJ[Vɋ#ܶvb/R!m2ԡ?"04#F.P"@JQÃαm$etuXH+zqZ$kܮ(rS(!Tjs#i "ҽK4, I,ՔδL@ [BLIwb /!`QJCNK)SX`;9H@q"`Yq=D479H`ÕQRge:gH7_xWxqgK@ ]#"-=EB+,_.%}I3&uLs h'tQv,ye% jk;咚Z)\E\=# X0u:*ի6݈K:Oqy#lD+4hl:S¬^-ij^Ȓs eHŶ+~zsz6 壗Yl{leg I{4ķ/q:}B1&",p%0`e[>l&LRjqPM߫ZAMNsvuWksfN/B&F &(`w9΃s.w^zO',G%AdN81ÀS/QAX-31@ M )z'̎9 2[H„-[WV(5!T3T&{9׿>ă< 2esI CN(HH IC=b8'|6ph/Nm($ r<[9S R ]WtkO,9O@Z w_WǽSS㘌HT\Ba烒@D@:Pq ^c[)X9I/ʓ0 F quEYeR[Łv2g@\< Zqv ;h'X[y_\b?iL]WT$%.bHZ @-h2Pɱ \4@j hg .)\/0$!jCKu 4AhQP[֬d1t((F:6qD =mn9զ PcVŴO|;Dr.Gg! & 2zhu/T7gZ[ga@˥܈U&0AK-`6@$H1<P@ n*K tOR.* 2@, jRz$iC09 80Q6릊ձgeM_-CHny5Z=3Kh@60ʘ!h#XF@z`$lIe's< :g#&ĩ0a*pm~A s(0 I;ի^K;7_B=Elzݔ:Gÿk ( D8k^p oØ2d*sE]oȀa L_zӍ% kPP՗>wQ2EbE+k|)3,ISaР=.vl_d+Q&@&Vucb3yg6t( A=o3` U*` DB:smRCI t(/rKqN0ޣ<GjrdY5ˉ@38Fћ+?b[Fb tz HF2Q+RcÄH`## Zs,4xTA :![zՁ30qS!y<)K j?|ApcZQX(%0t!*[-@5 2rXr*j(.WUL:4P7I7{94: ÂC5I@'1'A!C xAb$ P1A4ӮڀћPTH[H!X̟ʙW, L>0P   0Yd8?hX?@cH%hh\UxOvcDdJDfJG(Ḫ|)q$ 9D SwHuaɻ "pxr0zR \HMFQ(|;"؂' pMDÈtȿ\8K"Xx[b@v< B ?#xxėisLIPڐxY2s=bXH5&Ä@126tQ5 dpk?x))d9d ̠%؂A[J䠍JJ-cxzz @Mk J݈ [P,K: Vt2r%V/'#6\%[K4̘&T MZ "  |)ɗcx|Dz\hBِlȻD dy 3`]@a.5K8SUc(_ tNdƫNKp=^cH, ( ]b 2aP<}*LX MՔFZPc))̠mq;ݺ݈^M^\pԭ[0thB)t0X.HUP k 2YXT0=N\+  ߝ hޠ>;bђ 7IU0W=0 W: PVhw2_A|ʔv IPN^`(63Q= %\ZM%)´߭c`t[T0aTMq`]!E\,xMaGӕ \~EXZڈ´9Xc!t`b0]ށ}/GlJ뛼qdHaHCsȞ@p_X3rEA0](]CWH(GH<KODa0X` c Huيr^^d]t_U@K&, F9(r_T9 2k&'LXխ]8 聎#h@ۺT yf+b-8-,EQ8neu0g ĵHXh7pB"'LX^hx [hi`?9,Re$NH#x !K-Z#tI "($?t8\vw4Ӭ'h~3kL68fc&Ii F'`x+J15͊hu}ˍ P0HUS-Ёg^@JK@b\x [0MԚ" &9\r*LƦTR6|;>Z .S-IH sTԞtKLnd &i mNTȦKHRN`llџ?iEH%Ǒ$lSnV$Yo@SkA X?2:E)G3Li­#&cpOo.p9qm%@J\a(Х"H6PUȂbrF,hfƲ 7Mk&h$mprG=OaJlTt`emIo_!UH[X|A:ׯ 7dmUߘApbTāi:t\]%P@5ua#̗AghOWJKBZ `^WPv|d*shsWuVvػa'0MH4JЃG5ȂYQR'#ti|G? j`/P$؈p54؂_xQwECToumw$o<Rch ~u_?CX PRG?؈w yw}ywB[P2XI#qqZ۪yת/H$N̍S- {iKt8 X,uuW4P9s(O:{ mݦėBRVO`׊ l<[eWLȂC9yqA)fB{ON|V4HOfٔMUuޖ :0eG䙯З$UH`DA!Ĉ'RdNөX#Ȑ"G,it*Uq%̘25Ҽ(/u|q͡#v%kĩ x+v tR`1_RgE1^dveFnkwP%Jd:HJBn"0խ(Q2̚7Оv\4`|y׭/;%fp=&9: В%#FL%~XmlHBN/~']RAa2D.:X$e߮hTi2e0(#STT0 @ \@ xWЀlAUfN be it͘uחy8R:ܒ@$QP} )Z8jF8%UEӕ#U6a eWƩJ-q dt92nw褕"Ѥ9T`L bWѥA dY@:e)Ӣqh[F,CrM)),d,y[$S1||yM>_VjD~)YѤC$H2c+ޖ/ JJkC[T.Pey(,Dj13u8%G*mtX+dN0tK-$Ш,d2D$14 |!Z$ Z'[q@B#mɉ(nʵU@d$zdؼLB7U¤ pԥM_b- oX-'DYo-pZtw0m.~M7+D` #ČBA<+9ϼ'x/޸\%X-Ss^oD0A F/v]X;%q%M\0BP8 G*A@s 4Ihq k\{Ƽ6k d;$ |PxBtF?|Ij|8|5^:+W 4K(9qa,kcuGqjuT) @0ØB@`%N#&}s@K! B%P]$*1 0((F~B>^6Bȩ0>5+/c [3h)1b#!C PUTsBL. GՀ) JO__A p~jKuF4P,YjB]*#,١=oA B#[!Ђ+L@\ F$s,2)ܤX99ƨ#p29Q8MPCk0jbv DPZ#BxPCBp ЧKjTL Qb: 3%'+b%  @0c'H0bWqcACNKV wLj|mtQ" P6 [HNbWqx N÷+%L  3Sh1L70X_RԦ ]mD$5͢\ڜ&dj(Cre"P\$CFKDC@\b@< y>qV"KS bAc(9@0 j{"Y蔵c`c%+C8, 4 0B)4eB bd<,oU ħ胉馹:*'= Fa )@ @_uN|T2i,@OU$`5<p RcȀ2efgq+$T$vr` 3 .1~79&D*2U/">"̠Cf%/ d닮dPb!0- O$k L6~WOV-C-@`@P楍@2BC t@Bzx Q:d-$AC \2@@%T2 .l3 (OqۭR0 ^&D 24@ԵC@n :[ 4 CХ(C PA1x /L0F.` AB$ @FAa@5؂:X*C=-Dh 훗.hwK'qX })l 3PCePt-'7LQ.UMN֙.g4C"DDaD@{tbYlĔM=WJltI0E-e~xHxH'a@[y؝V^f/߅|8}}_Csj,Bl4A0b5]_G=قS6.w}9H @Y[r6qep8qBSB98Jtt߷DȹL8Oz>_k2!Ԥ`:k:zwvL4;c0l-bwG٦yPDe3I)dCİsSx!16%OFٕ(t8@2 :X  &X`V;P!B,Ì2tQ0n1 ($@ q!I`38`) . p4[R[#Ȟg:ȱy$4A7PZPC21F@#"QvÐX"!l`wgN<>ET /w 薃\AʶF"a)MJ+ʐAL` s#yhG:Iwr|].TMOf*BC2a!$"s4l%#$0 \.)?¨0D$XPHJgfƸxtM99*0\D4B*)u)Ib8]%4t*(F`t"pFA3 DID%q+&k"4mm?SeCgje>4 Iz zDϛ,92WCMJ+P!po2R&C<;!֎FJXr %F6`w0*9eQ*CjЎ*((eFJ02HB ceZ{ i*cx'o+ X8 YPZ :+8' BDPW $#@D 17!Y{-ye1R7 bbUY @q%ALVӨ x TcuࢅuN?t~ԐXۂeLawD. 8IX< V=9xl}1:ocP-!~/T1 0t}Pa:Q3Yz0d0& BLIZ +rΨ]:x$IQ჌B5<q223 8JC*NF@Uh[B.V1I| 55钤۰-VI p 0a+ _bF:Aፒ8cEaCPnj/i?@TfhSF2 $$!o$lf3De WÇ}&{ &TڭH:igW=%qC8HrʖԝIDno¦NcTa0I B*(( *zF% hΡa>,(]Ց\@K}8 {c!/!&!J,$o >d !!T $r : 40*@zn!ƼˠtɏN#P1 Pe,#2'ur2j \!P;I%.cH!ˠjCJN'p 6lNFpr'2,"!\i*! t *]Ԧl$j\1T'OtWP,s1 :PX*`l@`lX.LE6/@-13f靲 0-1eS6 3>xR/ "jKH57P }c?@o6:(pՎ6M! @ h(q (މkR; ;s1;%H#'7asZkC:@ +z7*gP(@$%4,%͡rR +vO 0Tj-Ji8~67݉.ҵjN7'!xd"mkxGڪv@4-&$Ųz#(&ld7:B #R!4Ⓤe*`R(s.qFXR;zEҎ+ɤ!}me`R,Y-NJ 0TC,!_y!0#~v?rf`R?uyT!aL.au*dUڤ~AĜ A (0y9ncR& Y y.JoJOHj!<`n7+bC t9aPQJh!mO;s#P` |XY&n!VfI8"6j *!wsS">! g["Ԡws?{ x!-0NG>7I}>J[3/O1f3HUYT mBX A@{V ((3"::%:!|1rR32Q->˥kIR/!{ `b~a1BEa!YeaR'ji[3M `?oP@:CMq H"HOV)&9<p: 4wN sq0(;s ^^ :4o':"W~O&ޗ;:\24\^ȉ !8$  Ң2[6mdD>lA`;^71Mt0ÿw.aȑ' Mor|a-p*$cFcB< 8*Ty,4[@r8[ڝAڦ xj%鷾x!(S 7 UY:_0jbrab)ֱs'ҥs@^͡ d`$ᑢ]Я)Q! B7V|xJP=BϷ0ǽE$j'b%sVگSl";Uf9bF$ﳱS `)yәx@ߓ1,!H>ubCaY]!NʋS"ڷW45;< >9JͻJe nI 9z*j؉"zQ)޼H fHs7@M޲zBG8jb)꥓ :9lc.'* F8-sG<= yC BJSr0<7Ij$>{UIA  rjyUGI{cI|#!;02U3[%:>= >&J⊖dЩ;.ƒ t-fZ3a˜:.9<1Ñ$K<2ʕ,zTgVKxˠ:*B'KgҥL:} 5ԩTKΒmJ!bܨ.s ڽK/cSBleؓbѝCW%G} 9ɔ+ ! nr+VHcb!fR` /VŞ+ eY[ \1˜l̛;}d ȸJ-Mz>J!S5HtF2USF͓b Z}fN2wKn삱KAu9|4Y$@G阘H@ܐh۠k i`Lz?v&'8ĕ~Ngf:@4*Ph( .ZȤYزF x*O{B^H%9{?C؛gm;^Gd Ē A"}1Ocg E) q6J-9{ P)@u< p32!(X J-<~xB@20dsȄI8f0`*2qN !, H*\ȰÇ c%2!I*\ II1{+.( .s,E!䖻Y , lq+5n4ac\-n9`6H*5SA:k#>Cʥ@:DCK0(1|$!z$/z]wIhq!%xe2Ј( ͍ CL*b N:꼉Nf,ɩ 4wMWbmzl @b /y=9.b322C V̗,)x1 Dې v9,f!&m,y-%`AQZK_2Vs8B(01g į!RB2`IxZ³0(@%G焾/=#+PIY݅*?ze,f@cI\Y"=Y@%^P  a7|9bCx;t`80hXNqDj  [D u|’%e Id0by0$bfI(: :< ,u00 DF PY‚TA)'H*/CY`èǑL.FKHp7j8nla< 4&KT`ph@V5@(H,#T%4WBv"ƌ,u Τ..,A `X.ɈZ"vq͗PF!<,m"~c. \ޔ211f`hEbb rȚ%aX!AxZ+KWɂ?BFB %-X  (&Jk@ $0ABHJ,!) 푮 Ka"Chjz4}&5ءs(` D1>aReb`Hoz>R} `05ox05JtsF ohCmT^A;ES1d i"0O\[AL0΂ !O=i?6Abvo%(sft`u%@ O= ,A  S4d jhC,63tJ! EG0-&h;(B{)-9I - (. 0QJؼ@Kv1&:"+DbEi]ԁXz2c4`p#d8 D%X@ [( f]rM'K0~,+_BN Y;01@-Pu %Q!d|be Ep[pWp#,#˨(tlv 4Ƃb,KF5! (ρ%70jf& lDV^l.JGx&7i.lEZ ` [(,V pC,@&\iZݻK0S &j hĕv,3CMT,W*5(~(HAa qC7ua3`v ;@9@ vHr#]LS."mג1Lm b(n> y,Ё$P[8nݾp-49L0s͌@K=R5_bƈ9`U" '.ut/i51iBvպ0ǚ_҇0&01\jhuXJߦ2j*|.)F4SpIy?7m F@{~iFcx` >PFxȡUV qpX5cyPWEp)À)oD1B\r Fgq2~YUNld_%Myuf@hXa0ȐHrv@$ yP&Ȑ `"@M@ho#"POQ!',H?,`@ H*Wܐ% =fh3,0)CV0rip{y/#%5֠F~dЕ520jPvcYљg dB \Pp cp %肐'Y&?Iy\GY?Bg@?3acT=֙@=@ y@ ѓy592Bb*GGա5iOœhIV,exP e`e Z.}wH/3EY&OǔB%: i?' ]@2D0F 0"@@P ' SH H=`"0w &.6Qp 4c"%q d {eٴ*z![@dvF1!**9!8;EsE pX"kF g9L{K(B=` @{ 7$8 &Џk sb;dy?3b1T2y%ΉIws1ki~X@p`/!3 StPS9q!1ӏNO.+&@i Ȅ?d9;1[QDqkpR6Z!"\NUZ"UEd ٕɡ ƤzäՑ3"Z zGӾbxhJPUt @ u qĀi;ֻےKxX'J1NO?@5 +0<NTE@%U`al' c(sP\AZӳs0 o+Ԇg김YIE&0\R;nkH m# 40 ~\b([jErF[Q67![Ð1s+PQӮhbAf P HgSm¬An+^#mr(DZCQu[T+= &0цfkנA,!=E'0"Q 0~]n;' C`D ǂ,@ m*봔q3M,APSHuΧrwf K\| )4":+s:&0OSzb mzwѝh<[%)Mw$P=O捷IfCjF P% {-x F%Kˆ6Phm)1\ޡ˒M+[vbΐpuB ݤ:a([ +5d$ v \zIRc`@wy{@~zIK5J@=(541LQK{^w&S+ /Z1.x+G aq扖jWN̩c)~"&:&R*X$e#?PӐ ÂV 4K#Ģu>Ll͒Ye#$!NTU!F9:`` }~4X7Ʉ:%c$a0~/ 07!;n~Q[{#b6)KXLvKHnʰzYcQZ196bЂb(\ AM@ z\MlF. $iq Bݡ@S;C &6n0 V\!c{; 16EL ?!&os +6c뱫)|5r3&6_L,$@FJj\k Ϧݡݓa@2'i~׾!aak UTt)f"vg!:АEO2~$Fm+1c"PMEjŖ)9i7Be Ш|?Շ n|!Oi?/S!COA` LBahЩCgIDI8ќ:=~aH%MD\:ԊQ(DMD&JT3L7fG& V b„@>HdI3:d]P"P ndncJeˊEK<.P8Èf5WoH} X]]u ⓉPA|`k /~ر":ҝFt<(-c͙l꼺\jx%4DX(DTVV@"PlZIiٺL $t nu +iA n^y4tQM4[*0qH"hR9&,LP`^6<" ~jyXup lTdiO[(=PQ ETdT:Sd*D -&TfD,* tyVNu@'1aL(H/A (jLsGM6QWo"W01SZv.Q+bFG *D9ɣV6?\bo1 >Db+@3ګv-IB0"$1bltTD n _P&@i5gbD uFD+ط"r.K*t C@E@`s^#EJ;Kcn7]x>_k3rx1*|ԑUN$[ 7#[M'قԎұ5B@UQ4s.a@Su!kEG^'RVMsl51Lp^i O4/mjz ,a/8ccΡă|+MHVF [71wDL;6z~ޢS d\?6 i9KCP=&kziEo@!Hq " L1*%/:[P6SveA̭.;dy /%l|[4[d "n@"Kxi;p:$X9^D!ESDX:tF x =y^"f$:>E"wዥHML`<展Rнp¥Ýt1aMJSb 7/Phi)>NtXÈeFr g&`C:`zCayΞFޥncm8 1 A"A3g/{CЁ |`ByRhۧIh9P!0>|css(RIKc`c"8P  0>r8hd_\)D rIx[x֡$)s3 ["XI@L Ə!# 5x-C9,E)̸^c0, ԁE; Ւ^RX>  C\%0 cu[u_@U 8a[pG"Xzt=2: 01aIx@R>3hAx!oqR d!itռ/XQ%\og9 [6빕7&H4FFI0ca@A>H0 D@3Lt KH)PrO!tbSr̖0 GFHP r:2K\* kpMYK\7P;M`t)4i ʡcx GY+=%Q(kK&D3XA X2Q`A-0LZOLJ2zK9"q$9XP& ;k$؄7P%(PsFa S ':P.$T] SQ 3_!@"ȁD5RX4L`kWPqٔ-H?Ye) ?̑Y̩U Aa0( $84Gl2/K1ՄhH=e4Š;cШ(AMWEvm03+{KH{ phQùSX5fJsO cw)ȁH`,xڌةP TtD=\l!SX-KeP5WASIF8·ڇK9-e`-[a\pHq͵)"ٷq4X! rH$HH\a@dL5+\_!QuTMH&\08%(t0"p2Ђ0_P3MĻcm'UmXkQ^ THߐ)X3c b |LCH_K(@u8KC?`gTH8)d,5O"H S:.J5Tc0 5#[P0fXcx &but`8pa*.3u2a`3:1Gck4تHF3TH\ļc8/cH1dJvcy6)R'JdM똿[xH#2X7kb"ȂMEL l5^TXQd811e21 @kQWHhHωaޞfjݲdC |da&'.tZX؄S_e@:3P ngK^h.ُj4d>y&\xKbYb% C-0U8QpiSV\Hp^(]-`̋ޣޞE!3gdic(D1ĭs>(cydրbԒHX@J @Cd` ͔f5K&6mI+mm^t N ClMyAjl y^^I0DT`nBՙ=hg4`hAjg柞yf+aAV&=91 cb!pDd^NVB0sETQJ.4H ꈀ@"Ea(jѼc, ɠyfs0È1@0Pū lE@.@ٚ ..xA 0h'0T1 NA2EgK;Ӟ J3 hBuza6EցnQ5|J!p5Q:[fD'npK=|=:Ŝz_!Sf:~abh!_95<HE2 à^\Q-Ĩb 3@_1L+ӼGB7622s@ \ P0OޏKή{f92xlh: ̄>}V  ;1qh j0%п@@Z\@/d ,W-|@m1hOA08႔`XT-^<JJDtDXYxE- \3C<4:^(44D*TOEMC_1^aK[vN5@ė@ μ0<@1\@/0B*TPCPŒ^ F] 4,l:CE!f&6[ \ -ğ.:a.@0_^!E8i5` .ԁCC1@\ 8.0CĀIA ^!bh8& \"nD_E%B%9!D0B`@@3@4@A@ %,C\T!de!@ĢUAX3|:B4dH(@%c vX>\:*@%$XM$. bbQV  3|A$d05h/t FrdG/^la1@z2(:1&dA52C;2%B*$! DA`P8U!VB:، H $TchfHh:$앟C RaA05O(9@JzdR'/B ,@ @/Ti $@,ozS0C1T42@]BXC @_Sh^g%mZ]z<;$X$TUƴbT4U@@"pv_ChGPC10!AuZ!vbufAhO lTGUz828+FC$4p1$2@fѠ$!414: z\hc!K\ bX1k>F=ZiM&3tvCX:]XL0410Q;5+l hu֟.vd/J[ܨ ɴ C' DJЅ34\\5:C2ފۈN^Qh#^ġ 9̩P)Nݲnbdi0h04<[>B1,K:b4@$_/*@2TȖM(V$ .Ϻ-5p2,R;U@2 -A ! 9 썐L MŮDDJz}91_Q)1$@*(0Cd):0s D\%L4&H"&:Xb1f]C x-T `\eGl[:j;%@1(A2,24#n̼qAVW;.R@WY <$DfAīWSIId0̒JlEtSL{EFChbDRX15 2,_q-XP&(_DBs~k=_4J:lvנ lHuKRM ɴaWA\'3@0HB4̦A ]p?7gT/2‰Fo @$7or8.lkR5N䠊,v|\‚2v CLCtʡR</~P` j-ؤYj77rwwX x8L[KAȌŦ"RPpA&DZ 8@tYw~`)9n´ix,q踋94zJ HjH&1:@4#d-Tf_\Љ 6[Nb].89z]rWѼ4{kH7]w<sD2od˗?]븠l:x]m fJ(rFOp݂@:7oEc9xnd=- hr̹9NQ@$ 8ng+|]';N @9 ^]5RA*:x2!75M gz<΢lio5Oz JhS8K3Vn{y?Ar־|[;WX`ub|}ۿ%~9)dž2@4pT}:CX섂$|kΔ׼]ӽk:\ >՗V'Ѓ y3<_3n@D`V1$\0;QL3L̓z9b~8J2`W'}z@* fW\@sx+mU[]0 , @P7`Au&DhaC!F8bE1fd.@eè9s˜sЩspupL%q漘Ζp]fR%t`TWfjPAJB`D Umہ kA \N V-䰦_pA2lA)N<$s1t蘍I L&=vmpVHa+&1ZYk{ge b8NYrrMFSiK*PLj+TPP!C;|"K4fбt5p$0VGG X"ـbugQ\ &T!`WJ݈FeO\!Fҡ%tQ0 `L ^ 3k'uP# ϒapQql<^`a .!8""1KQKIhI6d0Wʪ Ze9ރ JtfkdoQ@,~faO%6;&O)ږ` LZcWcUgQK$"-Hns8qe;H  `8]1HtdTS  ={H"ےMfrH<#KTLa w?.q u>*6 68| @B۳TA5ZdoI8?Š;"_7,Sh<O@Ii2) $%tq͜#D)1 ( p{n(Fدn50@x$Q?uXNQA1vS̊BX#`BPЕsI!)}x pSt4 J^ )BqZCc$!QHXsLE.a ,*"ip rfZ顣S4$le1KY͒՞i\@Li+*!:4g SՖwP^( D*2<8XnB+ BB@3*#B d R奘y^v5Sb *HÄȱsU`U ]m a\~DRʵ~K1"XF X j:c4n|Б>\ DAY]ucZlD< "TMW)ʸ+pEXX= 3f4>7E0:ahA FVQ{1~&`2,t/CضH&eaZeUE)dT?s ˊ~TGnK  F:3D!r +Et\# '(@_S \фL)Җ>3):Vhm0@S3IFD̸@aDs&1h @_[pqm D{uR 0:P搤i n2Q_ߢERPpV=guBƈ k:"!844jQ.CNBL(`BpKX0$;l!a` Z +JB*:#>CiAljB (R9KRv>WPS28>Ӄs@*.w;,%@ B,93C#aA skJGR;$?g?%RE7B?i!91"8Ӣ@ 6!`bfn qn6d6rNDg D ,JHIuF$9chGyKm%wLlFh$I9PGG )0/Ft"s+4@-P 4M6 &`!6Ӓ%6u6` Fa@LS* # 5n *JeKC#Vo!:y;oCR'6H9 K aYG/@. B.tjJK00 U{UuE ~XuUMuX˕6nR`Q-"Ec P_Jng(X;↡ ~ G\1]BCwLw*XgFV")"pg*rUeTTYUPSDF0XbUR1bst]uc';@)HNb e\ heTa$ IDB~*a6eÔmUGb4bTfjD/b'@JlH.j p7 gW!$L $0cMv4|xsI bdpt.4km xmB^XRA`> r=+9ssEv'a*af"fV6x#vfP|ng. %xB6 \JLyvzͤ,b w DRM:]Nn1 !"Q E:&o% ^Itj6-jpeA ;bqxD!Ǝ B(a\  SL!;~C[RA1͆Oc?FYP"|dבA8Vc4h@ `[tfA*C` R!lay!dxbA BCj?)"s!r ]L39؎Xu7% !W0 9@ x!o#5b>Hjzi h1lhBHn &S/N_lA!Q%uVyˆ+&dLf%K%!C'#/At7kJ%pA!KɴԦ0lb感bXʡBXWm~R^y3!~a?ue2&Xt33"aSz*Z4vqaH6Ǔ'!~!F o!.1X+ }:!zCB"n!#^!=!kէy8C?x0Όc`<t@l,pܼ"(teBy \ %^V"lA>%Ru;+%%0cv@%$)dSPrd`eQM/&NIw;n! w7T)Vw" X"i%$Pmm :@VO1 9HQv7;m4۶q|3am[" xLCu%7Iu *̭LD}BI|Ļ!@ui<.p!+7h\\B&9#!rH;#?kYf@DPa @ampf(bb胰W{z {Sam̽`'`c@ ҙy ́WpH%F9QA;%#T8hbIAw7vPj 6!RB Bo}} L@y(o2;(c ` ByRgHTsK<\ Ϝ#vQ!,)&r&ݡBDTJ4N-bYm!ƌAY <4Z@d=@csm=CY.@ |W/[_< x2:~"c<䮍LSb& z~Y%*8S"GmRu D臞o!b" '{GɀxV@p (b*Hd |UϞ@~!kzLr%1nOF `D%Kd*AGyB.zB. lO-BUDClAuo d6;e2;2P2#@ b` }j5ڬV'`Roo 8"ĹC:lBi:unC70… :|1ĉ)80]KH0 -T-[I#JKΝxɝ<{&Db=4ҥ;ݼ+1KV9Kw,"3-jK-[ Yb 7\Z/:MgK *3]t \1`:~ЩuCB9IAH}5@f@C2ً$mԌ;B霞6L H.goe~ĒsA{*(^¥pT7ׁn|ݹZ/ڼe2p%YrK2j9$ AaBMVv~bB Wh:l4Vu:(L }@wI~!9S2nܰƬTYb WKS!^N7ba'V`N:#iՊLŨSAaT@}Of-0CI9n)cco}N'ٖ])dB,$C: `ɝК<(s-Ťy%yکu9TВ LY-#B WmmIhM*eHkVkw :ETN-FM-EsTD *A MTzme!C\\*v:2J2@oNݩպ ل%A&8;sz8A/ј EPU0@\ךd9,߯Uootp؍8 398.~)۹L@bBAĤNgm.!@ G剷\]Zy 1_b@&u]h)۹v"\CJq{M0pL&]TKY@ ifE;C {0( |o7[(vŅyR*"ĺbkRG2`}7tSHC[!^:` bD@ffA}0)1T U!2F س[o"P. 3]k!e j1ĚD3 *?GԄ3'+Qg[K1tH@4s_Q!UypWԞMTB/?cmr!dghA^c2LV` k*Uq f!.7å3M)wv@PK`BGZ77i[,% Tx˩l^ Ud3.A%ę9- bT-GMJy-A20 w̳J"Ӕ(F4 Q/P.*Lq%K$&7u3G'd 1| 6R`WD5L>%h PhB0~ٝh@:L@SQ@bUՠqq@lЄ@ BcNQ}NfZiet&K1ؔgi6@Alך|Yf~ q  硈:$u褔^w-Hf**TT@>)ܓ*a$w4`y]O0εAHfA x&5g%DR!#ʦm6*妫sgo+ljfq097VE 16 W3KG,Md@ZCKVquj vp+w<k8) doI7'&ꥎd%alz"nfJԜ3am7B-V01Hd|[ 3MmGqҐ*Ŏ In]ϖpNRI@"@#kdT+@OW*?%BT:@+h,K!ߒFzѠN =R1h @.!dP7+bcz᜘?+ɂQJe lO $a V( )Zl 5d|+_R @iQKB 5 $|$$Ȍ!&j  +) v %C {qZF&֪ 8f. kdx}:TF9gC!@qBdAأJB! M!Qy9&InE~@, XϙctT21d>9H"# Ll=[mbDU5aDtGDYMhYkkOjy(bКG@%"e: b gd64{i|PV@/ cZf ,@ * @F(DB-kT4hT Ap *9Rc}lMBcGjMM@)}T BcM5@B' 'iT*hY>>t I ьR>d@LO (( !hghJ#!bPi"A`(t*hфR(긅j*? F QYtU!%3;r5H$u.ahmIÌ9HBo_1`~g|6Y,M+˱KsѷHu4^ll=s<5sՃv N:6;u 11_HE[cFт,& p`麈Ak,O-vl1Q_0oת'8z,l[SЁR<傔CBh@~V-?:9/i` l2隰rh튛hiYT-a?nl 9i(0#,u1T|> {j N*Qpu]NHeb.5lcdEkV5cqFHm/?@҆:ɂW>EHv۸ vneTE8Ȼ-;%&segCS"CbkaN |rqM;;NH]O7 xI}%>|- ^ xa ]o|٭uMҝ[$xr h QBׁH!9Ct@ ǍNv9H"SF:;Cف"xyS2هG O"{]4b(Ç"AֵnA HtG@f ".ڗz=f/H͆|{vO.Ɍ#T$$1FbX8_cevS\ w~|ucz9v*'eg+'΁5($MSwq<z{wl7~?5MDmQWYq "HЇ=iB8!^p"Cuv&'98fd 2H%6)kAP)@uegH1Xoq(Y'K?25Hfk1o } P*ҡg"J&  `A]%r }O|  Jq(9Qb`Q N$ Qm2Gs `7}%Kەn #Jp02}Z (- EEm$( p-Y0 [tK5o0l 'K'#b5ѣ$T"uay}4Wɑ9ёasQGP<% s qaH@&r ^W>-PG.(rCb[[3@t}5$b*@o(>}&4PQ8(4tЄ(:Wi_ASW' 15,w ,WOh43h"怓Ņs5iBU@9x`hT"A"| ! I) 3Ԙ1ha@aLHUư w`*pz7@ ɠO p Ca(  D@ JPaf0DIPik P ` u Y`ä7:2 ABt;'#ɠPq w΀ ̐а59Q C hZXb`s7~4:Y7Vq 0 m6{A %B}Yh z )[ m3ӱfcA 0z>n QC=!ݝaס U.2~?^8Bpg<@~YD]^ͽJLNP=1HyW>g=wH>)>/.$1=m[._UAN~R r Q鎞RbkѼ,Ѡ1^N-*`1r+JZ$~Cj$.T/&4nSaιzP ^BP 14qA*Z̠I \mG\lN  n3lN]4^*`KR 4L$ԍQN"Ӽq2;ͻ`;-ܓ _B=cW`D 0?> .8,f>n ,23pP m XDYb>.)a,1}+N@*! a}IW׬ >T~g䊯m펏b0k@>kPT,;*@ $S?&R_ݿ%`WŞޞ(XtgWXYD'` @^!rG+qq aBRPa*c*0B]ĘQ#Ɗ7rRH%-~4R%uеT'CL ?ęS繚=}t[$4sc:[V B HT'UE%B&H"as&N)U#IBWa`N(i&uY2Ǖ-_.ԡKগ—I2ևeǾ> P&@!u ]+Eb&J"P**h uqTt߭;!b\)H|%Ji/w8s)hގ-PG &BBo,Vch d*ϤgU35q"H迚i2SZc$H1K*aNP # r>^Ta_Ӻ9*͚P곷N;St{;rm ߞo; m͛kϽͩr.l'i> \!m'a6qs/a&مl<$2WK-dNpc}x;W<0 {)dX؝?__{3v% ` t.Q%-1]W>yGFB8 n )5|25u!Z*b[Tp\UB|53|29ru/K$! !ե.l&pN7ih1/)9xǀT\KlBVE\ԩa A)SabYX:FrjCG2Ea"ǀ2.%#qt-nE%da \c‡?AՐ,f{ :{@I IX:bFJq*C,Op$>VVkr1<:H'5Y i66⥍ˬHH4g'Lu'h QPlDXCm.#Nvn.:0MTlIʉHr;kCLP%&0QN.E|2-(a](+:$u@ !cV7f PRJY @39@]Jr` LvȠH-hGx })dRGt5{fH !*:UB8:n.tR!6к6m'!bBja@.0bCS#;+Z!qkMh--)tH0}D[+ۈ>KmN' TDžEk1|U7!k @QuPt59!HH/⇂q)H(UwApB(6^p,a(Vꨀ2> jB("}Y caY`'`0  SÐt l!G6%$܂.Eػ6U@3=V%/ȮM?蚳+1F̰Ժ024iPi$4!JUGSUNˆ [t#{1b0&St;+t* 7jjѳKb\=^fpPC> 0p*roZoebFAc2>)Q4Jk1aiŧRpZ) 9,AWJ6N$D?҈qFQ3GSDV 9ҥ1{d?OԵ ܢ*qxCޭ#_nj?o;IQE.;t}\ !2ٙ{>E|B+ <4Fߚ| !/3^EzM Wf?tgs)hѽ}K_~ jn@\L+>B^in2}Q"xx7~?16!-"񿣋H 2 @`=$ %9T!؉t+^@uwYhK)<#@A A<DڿBA#,dDH|Re`BB9ˆQB6:(dPy*B d?db;t0),÷;I>sO P#!u+=4C>DG53H t$0$'CcDZON2eˁisq8HzO׈OK ȶ얱CePƆҚ0CMx2#LK7Q']Q6-`B@ԟ)M'_=њT [UÑ3jEhɾ]]ʭYb5"TX fc跹u/8&\eNMnm)IYZ.Rds -w%&BSVkyZx)UBޖ:SA$e`X%%p!|4d'֘U)q -#6.ޑeD[:H ёfޕ.Dm\A&>WsÕIPUc@U :%Yڑ%Y[(P8%`#GTGH* A4@U~i+@cјmF ا JjXjAM@\C 1|k|jaC.DA`*L,Vl>oI9 e2+l:0 d _Jh}umo9,AYPR{@S5v&[ A_ CʛrH+d-zu1D*SbYqsD!7# ;41/C]eqAt͔Zwo(d@Ft( PΥ_mFK7hc/mk2 ЍG~-(ai?K:{MD:9R>2z" Թ ת/f}yPzҐIFF6؋+|(2{3^ f,zy>;";, D_W;!GfaQ% . en!fH;Or >Q$4QE[; vFAmd Q81+7'EՍLmk5Tx' 6~ιI521qu;$hbldW8bU#|8H2Q`XVPG@aIt9'fd@nd",eD@٥tm>LBXBcq m40BYt AX 8Fu#E[<&o~ 2Fޜ`-P]A|V飯\ CAB^RL^gf3 B'&9pm+@~e RQW~B~t4p ' 4E%wc7fr I)u7p?!%r'Włpw"73+x%D"SFd @zD(1dĠ @ wd5G\=6yY3 hQy[$j`[ deD#kMtfAꐇV55HwiVM@ +tc!;e(ODG1(1fqXIu4^FK$nJd jxA4Lpg'?rrFq2tBPt$Or r^MV>Tl pc130wsXSvN_$2R' t`JO D4(kyH`!&*Xe!<ƸQ"%WE1,SASIKQX'XIc 4)7(%ɊK0AJA,A2 5C!}% hLnHOX|'ِN8Ji 3t J}2!͠ P0R!Ja,rDi"1EI0P8dj{ɗC؀ AWL1D1*['5_:]ys+ pZ8AђUCsgux_m%)}1p :P1wӵ ГlI4%9YpďCju6DrF„ZF`,5!јDE41`Ht9)'@k%91^Y.I1IQy7 hZ.İ6^c < z*yx݉%z00 Ob>J{%Y}SZI;0Ő P5Ǝ$@sm1N&-ɜ5ʝ &Sqh*ZxRr/r!QBsfV2%BgZ7jfNHZ(~1uwA O )>)"BXiA8S qhCrj|N4ԧxZCzJ‚UHr!a BPE>NEMd#> Zw dYWT &) rQj"Kgy_ 4⫷ufz(˨*+ EHGM7PNNպT ! Cԅba]6U*th}[˫@z$w (Va <>!ruc`%`m)4ƶ(cJѮ= î,8JASp$vѯ(jfkMCI W!h0!fPD@YVzKB: ;0Z{ ER&Б.JI3f_T6/<˧D q &.{0?A =,//$( \_& +0Vq>  ~fXWd 4Zac6f07Wjl, qsܫi q)z0{=&?+ CSuv! f ڠ Ng/cWG@Y3cgTy 2 ʫXJOB57 {u˭ \+ɏ|N O~5Z^K6=0 %p  ux*,  <tA-@?h2υ⑸G,#;ua8 -B>JN`ѽZM98 z a"Tq ( Rm>\9Sl"a@ ꀱ$ṲL*, QChk0a5ì\TϻxՎ2o *,iTmaѱذ1 I}؅=f]| P &Nvz/l]!1-hj.:=5@Ġ b-f(L <NAۨԼ *-iNA}AŖTaWBZu,yMG;vߕ-$MSͺN0-tJa߈= ݰRC v%k]d:g32I޳-

q&֑`A11I Hez1zfJrIp-^ qڶ#Jm DzPT:I0X7Ck rt?N*;+{,p ,aP`1ҵ I=H l:9,G?* O׷!% biPזp}nnZt4UϞվG} QY`P$M}bEmgpŏS @ ! I̢S{If0A7C &*>O [v3Cp/kpJD0[ kȉ/M !]pqJq`p ro@E2dS9?C OP 9uԝ @K *Pl! gLĘq!94~ 9&RJu5y WunL̡uJ(=aTRMU*KtM 0cժNr &E5Y +{RbK.]]Z{dNNt1[I:JIqcr(!J.u ӘJ&uDk`80[lQS溕573A/0Os?}B3'4]FO2ex!ՉǤ.Ɇ(Pl0@𯛈.!0!g W*ŒY,$XԹ脅*Hp@40EWdEJfŅX˄Q0:;CZ ]0I6j"Qá5p/IJoɂ:rV w:u) K95R΅ۼ7P##̔x㏇r0fCy_:zA"K<[g?~|( Q$1I~uûȡ+*4=-6j0rV[a ul5LR A vFԸ:1̄t[( fL ?x{+Y!eo_F`H g%Љ[ $?ᒞXA%NGC@@> "# a I99nю\TI;O$ .BM $F<]@/1v| EAHя×94'a';CFȁ!H gsL$&IQ`9aKc*f)FBιD.sKP2#C1پ(Ps%lf5+ +k1D^5mx#Q@ҁĉ :i6dє ecЂ泖*f?:@dcħ9*4I2#+~:(CsgY&n#2YB/C*mjY<Lj)<[!sSHvB)Q+ST^ kS2 PT;)wD2wUXaihkRG!4IXƪ-:k˒K<\ v]%@DMIΌ$v]EmlujHL/1m_eщ# 2XJ3hzz6[aU1Z݈=n 0!BpG7.^bb-0dKdӻt r%nV;`判C3V҇4X%x<FYA@I;u8Ψ{bdU-A EYZH cĊ{la Dr_PM+!%]y1*G Fl_ r2=i,$O Iy!_ƈY_23o,MXO%A[Wl !:-caNy")Dj-DljڹwtALcUKEV}Ѽ3PR`ED)(yͰmw1Jn{1o#6wRuC+VDzme7;HRˌ0V7(a',1ġ[D\/Sw;ޝ1qT+VKo@_fLq[(G$^zʶ-T+99HRm\.yJ%}>=t _;z+>?١unrs]9Uwzwz~7WΆxȹ=bn x:W%\%~!mZ"mpݩߒNyTjYFNo{LW-10 j޿eճ~*7S%|wyLfEFh 0=m~wgžєB`h$D {k_O>'&I.>/Z@lz "PbblQ  h036[(Xw icA?A;[ @>Ծj>(A} Z3!!Q?p;[ة %JP qLe+c@s˜> C tƒ襵Z iBB)>'C!Z+,%"<L@A00 0 _ ^P*EQhTZ츊0!|dD";+B2 ,sIa:h F Hc-"tx*x Lb0>Dx8H6J밚'H,bE`|A5+;!3tFat@43衐0+pD͓:c+ -_i#{!^ЊxbKAg$HE$F<85,Ɣ>\b &P_zA H׻ x[ _"3Rw +Ђ pY?H9>(IɝD̼+f J,J驀⫊cchb?u|;ֹsH^M$BpDGbe;sTk s ¼J!K5fʇɻƆJ^x)P) Bupu⌐gK{dЂ5 ahʅKR|sRy^)53 @C'l5u8˴ μL,\DuPA—%5b؈Ne 5q\ μe"rNˆst11$L D4CQ<ҟ\=җeH'@ek?7'(Eqt@ s P-e@ý΅sHT<\H$-T%5FXg)t€-)uS$SxGJOER=mSLԉPNbB#ռͻl eh3`9H޺R) 3%>*mZfTK>}Շ7 T\]ҿѥ873UV -譔PV K"A,Kp%qe> q(TP!l 7U}]Ui;HPNPa:VuKHV5T ^ܣ(ݮ\`%t( ___#36V3 _ Vε8_ƅaL4U2`b n`pyᆐ!fn vbx-⁡"Fm2b)Lb+_HU!K۳401 .c}=c`758N9:V *$d2S)ٰ`ImKvKUZb`]Rƌ 4nU h0ĘAl5b(eR &j`bx+h0WL  tecf+;X G.sPJA$AcDˆlyn 1iMg2  `"mʊHdIzF贐sxL:Yfg QSՊQVbNf?LZpUg2qRK7lPb0WNcip%dZZgcAQ_ӥ X>Q.M c g.jVu``PEع DEJNkd3 Fxݜ wQvD5.(R"  8#..s0skCJ. J/f@Lxx$]p&[ubI`@I-J>CZz~.zA?etmxbPqpxO`iC ^P޲ᦈ4PJ,`YfN %f"а1ﻂ"(2&m7*V#Q p,~~: n ?8YS] hHxttm؂-@H 8Sͨéz 7) pk3,]\$A s2r$rpYsѿ! jagn*A'B7C߼ fp$ "YKJs4]C/ܤp)OXSOLŅh54m[s8imP]gGFsUzKѐ "4*u5foZ Q[=mxfW]]j)1DQ @˹y=ВhxN7 #"a{5^ بw_yinMCNmw1p'A  3i|;e1g2'O!)*y{w]t6=QzB|?hpuy_@X'ʜ6 ږp j%un+ ZCcxNeZ'G5Б*K[ق`)h?c{&GӛqQ(bҥn:K2l!Ĉ'Rh"ƌ7rDt%{Ґ"l%̘2KwI3.B3-j(Ң@wRw!LRj(1u= p9tF.v'вmt Kc!nK,%kpN 3umHǒ' Uݹc2C7 p1DwBcdEMY͛+K!^PƑ~1N ҧS%ֲ"}.m[7dmd*ꊐҙ;m %)Uzdv$+s뭧.M.e¬E=iɆŢC:kH'-*V`YRGзQqKxO);r7bgݒB%è3F @}j W Kdm*0& Cxm9%[GQҝY1C2[+N` |ϤJLb;P9'")CEN\wNX˿|9&5 CK1t22CFUK`o􆽷2%J4:DںdNTP] \ 7\2ɶnvPXEFTL1 slAי^Li30@N\ˬ299A1`:cj{߷̖p _V- dMfzLGn!D,5#lX>Lbb,a2x n0RBO~SG*KO.AN?3ۈ7\l|YRW#B:xd shF4ҡpQ) ;q_jx' bik%(UF,C|È(bܢP .1"@b8tA;"4#2&ܫ ?*#HV QHɖ &M9@ !Iّs$ 3H*9IUZ%1 ycRGV8dy BI _%X֛5c285f)%Aj`6әܢ)FBnA sM,*ex=v H!2"W!N"q!cZ]r:r`[MP21F:d^sxlaU{D4mc1D .zՈO#y.PmnEFHZsj2kcnyci6,֚11E59$(nI##0UKQ;O,NZ-3b$YH]mP%B${VEG5Q0Z vHS2[24mIC ewla"IjJN#y2:b ׷="0f! (2HּrZґL K@S,_),z1+ qa5UXŲj ĎbH,)tV]/,] {bDL?&j*3ʠ r#bTCt-LAPd:~qVuA>42U`Zb qrgM=UChAbnn:| 0~D,k9r %Fw ɵܜ_ESԠ[i!l~&1I!XP70]&R:*k~$Dw4_Ds x]ק ĿР6Zlԉrt2ے)ѫ[M@VR#P H7+h ;./|i.A1s VD'-Hq'eRtT"*̆8BeU#h D4cJ"wrF uLsj:==3'*576 8`ĖٴXb:<5b& Yҏ$h0ts5H˹vfbK:M (IrRI^ ]"<  0P'%C0IEQKP^/Αd LW> :*ptJ@wt I (V4%RdP0}Eц00P 29r L 9,q22/~)b @Qi ʱ [XpCЂiTrI2] rQY8܉AQP3P qL_ 3rdt)uY.cDD(#v tBtAEӮX! Wiu"1$xZ,Sinj 88:DFMdede=H%Suٛ*$̊~TKP7e=Fz`pnAHKvV#$p@~"7yؗO yyrkڥ!p~X'{Z/4`N$ {Pt0]=S%k+Ryx7XspO8Jy9}lk"p a Q%ha0!8$OisK5vNQZ!" Ppb`A&EQݔ0 qԄ&!faJ6ǁoCn3z`D^:[cjPpGFDuq E  4`V05@/{T!ʷ9%T"M8 >"f8RHXҭ qjo n溟pPwUKHe@%+v'ـ@e!!"UЀeQI f,lt!~g=T<~Olh*ʊ86I+nD28 @ H\AdZr)<%[yP76a)U;Y (} Vwݪzu\:f$8qJWƜYuT!KZ*z]2ך갍@fqDf  L!뢗 K' =I;B'O*1E:E|91GK":g!G4bʒsH'd"tA'!J-y.D̰ -ʏƀ K dH@ JQ%,]r!j(t1&  '\\q!7mq,}K:N9',E#*T"<ּfE%ZhK(E2]H-' tҹD(2<30pp3=J9 ŨVm؊tPȨԹ PKu OeȶSDt"rF% u$!] W~dde Y2ٕ1uDL3LeHup$!72 ,>ɓ&^eIߤm4*b,1&6Ԯ STخQo`h! wWFUezEXؙ]} F`u`&ܞگm B#ԡu>%67F(ͨjL.WA}:p^_ N[Q5ӷk 嗟n[ z*'$mrƧQr,GK;Z2﫦a Q&bl!_ɟ:hXKZk~G"0Gٲ1zib='Y$r{P &2{ANWs\?"QIꔆـW' PZN:A %A= "orl15 P2-&TBaĦBMmX!W=P]Y(CMD"əMP&`-MbIabYW|ֳONl0%!ʱ4)Qx#dx?z2B2AsAnKYȕԡS9_$JɌ-*0-j&3g'PJԑ ɉ%XR"Ch?e6 /wh.Dž6p1K ⰔiG+4j?*ț9N_4p=[S iɬ/$c9 ڶjGddO҉Q_rΑ-zt -B (D #l$qRzD6 }g~GuĉHd 01LDrGe(+,EK8Ņ ԉ˱y 00#ɖ D6MLu  yrL20C8 \$2 26pLLxxK96\OЁ OdńPŒ,䃃(Іt@@1| )q(t@R4Mf [xh`dhZNpڮ k=a-KP c2QIM`{<[]շɼj=EWZtKHr]c㦥 %%$-49ch !JGb[fGۃ W(2\f76b Hxch;N`q+*5eHE7Q[׺Cа%@$^,~Ն؀+h,ӃpJ 05 ANb4t0_gيWNgf|TV&dTZ-TyHҀ3i;f8#Q*=}ndF ^ՅXMeg_Pv> b0s(bx%؂bb_ CpaWB7c!vj}QS(%C4pU`HhD1]_ee$rA=_d?hpZ-Y_Uы꩸XujW>+g t`?Pb։V!PL!_?ݱ=T>jƋpv%A%pf%;]U[0}a7cE2P7AE+ TkTԡ&jlpfZ^$VKȮ@_j;>e0H^벬vL\us dնf+RbdF$ ]d eFgo]b"n8niD7m0HP@HBF~b8k<ᑨ]u8isc()pi[m~峿 1l N8nqDPA'0B qxsj}c^rVtҺr8ogN~D8a8sd4W`rv,@?u/Cp < KkkxCŒ8ހ텩U`% Mj?a+q VWC~\oS,[~+JOb`T0Kh~Hu 膰We*z3{z0xh/ Fc\ķʊq9d/a%sahfJp61Â@OstOt[ Omǝ"׹w]shXp7Avn(bPIqHТlr1EU4!bpqoXQuhh uw_y vd#*%P>UDY[rǜ-@HGzSJX-`Bwm<|!It#ob 1k)`?{UD? &|#]?׈X-hd&|Sh"e|Te ' :9#pFlaZ(}t0ieg_tuH,@~t FHϨD!u%"%6FdF1[.!D*Wlʔ0gti&Μ:[ذ L)T[*ISĀuR* h6гMmvڵ# (E ]IYBhVϷKq"yN埐qZI!+t)t'8gRܠ.c mqluPG9 F8"Fu1A8(a..ݹsud-g:2 />&KoR#oN=;vN* :^x  1 3hP[3ywۇ^*wyU"SXiO4IXn("-v1 :I EM"gBU`ɍYelAX#c&Negj')/{=5Knbeٙ/ݹg3}Ne@,z!BE^R^Tک#R1q%SShN,ǡ.*,Pv='zz+BzjV[21iJyUcڡՋ +fg`Ne]vhyYh^fkM@ \ξqZ b^v I]yGQD%\”|*\Y*}Z<2NmꮸtN~1 30|oν70db1hr._յDdf\(Z3w'{Mʊ(.vjgx2  3=ɸMW 1 I&$1@V\ea:Ōw)iֵh]~9L+Bkv: } ߷ B+n8O(#XXt:+?[hxs+[/IC2 QUcHpSD)nR~:_|S6y=_4=g(걅-*`bYiН4/k H=,=yر=k&!_a.A PV$/1_TtbާBtӉSc\<ɓ" k0G H@m)ڹ:@9"H_nȲhu-X ~c'Ƕ` 1r1Ge{91 t<я,d'9=(T—QYSK,8uȉWRi Bu9u@ʎ.9nb *\6䵵]u{HԵjK1I50~7Ѥ$..m_IK07BC < jo􂪸#>nsm9$9HtjV@H8[f iA '<ڴ 0boOXwieL ž:dtB>jau/n-hQ:xIǎ4u4 m͋0pUJw\Q]r\9P8>n@& j {,tѡ JP@:fp1㔶0 @ #_ۇHa惨:o~($c $bb`!$C]Tt TNWr@[E/x#UD\ ]H|B0JB: yAZde #QY_z_ U ҟ%@YPU*|A A|1CvTM -J0J!Lވ!D*(yJ(-4Y@SIt([O " Ĝ$(]UҧM-PBA 4 gBCp$TxɔKaC1D!בBIhh u $*T+XT\ 'v[(0b=D"pHGDd& v"}݄ Ԁ #wB*SE`@p)A1!V ܣ 01F#BDH!BlXtD#B4]Ҁ:@/Rj,\JOd >9m $;j2D D#m=d #_?dʀb<8 i8#B8lTDCYGzJV-QT8y%C`@E/.L+҇ORUQ'#Z8B4S&1Ə٣ zx%dV WnU\⽡1`X H:1QBhi {#~$|KW-@ hEQ:$1T M a5+V$f9"d e#jQ *g^5q8EabTg>@fV"aP&wh2!AżV 4BRZ 1ԓS1WE$:eK/XK9\1`iKPFt@o|-Kg2/Le? | fΧYl}~~DTDihT&U2Kk"e6(-HCNJ4 :0RiNP-1DV^]!:'2Y0]CvZ-$f-XJC<{" RQiv"gvb ~F<r΀i$hUC0dǮe ) XBj@lO`aW9 )C}#MYV hhEJP$C2Y-`ItQKV@C B2(~j"F){df*ê } fi/ADkUc k*:lckBH\mvEjIB2X9t2]/ $h#|+BhюkK\rU$T@"S݀hc¬0Gݨ9:A$畎"Q\ܡ@,vuhGÄf )ݮ-ۦ)ʆ.n@Cȩ:03$~:@ z>bPvhN.5\Gd]#^&*C/,k*kCZPF\$,&l d09#T'vNf0,]A%P& ./A^qfG6z nmɅ]m/58!B@s$H#̀l(@H('D$%AS1Ѥ(nN1~:tE@NPlQ/ct%8e=_` NΪjpo\0쐥:(eAp=@ܦ^`n<؂ MlxЛ:hL'y@u YkxlǟCj]4\{Ɏ$CIǬ.vo\2)!)ωo㎲+%Vd1Qvb,1 No)9,C. 1oyT!!@@ :ȀzV'uXNϽm@2"\H*LhvdG(P-2N0B/A/n&SCZDp8,W2*2ӯ/V)NY20HXBT+:CsHmRfYS`t10C*j,tiǂ-T:T  U0RCTk(kbꪈbF2~4>'2:Xh&I؅7Akr4zH5Z nES : -T@54b4'eH˨tXvb2RȜuPP-$@TD\ŒnT0uNq1oC߯[.qov.u+``WD(tb֕`cG"i_4#Š QSm:lIv(H5v8!YײG*2R[%0EA/2wv#rt;4I)lU؂΢C44d3qHS_ F$8;.(jEBb2 Y5STڂ|18MW8Rvv+T0B5UD`&4GKywro_[l]9$0l 1L 1$v1䏸Rx@0Kn_)Ia0HhATG_Zw^8-T@ r8%Bg^ڊܮt3D my\n HG8h 9TCmDY h<˚re9T@oN],:6:Lt:݆pAVY0C9aJ<{=Fwa~:4vq t+kw;OIn4Aj-8`&mni۴Ы HE00=z=wL׉D(9=5K==Q3<پ뺴/+o.fG=*<ijǹ-# !@(87P:TXaC!FD1fxV:t&!n$$QF ft0]Թ!N]Сs0 QT0ݥ4 FVu^ju׉fD% jJx.30)P\w/`yVPJ4a6k YfF9[!1z]ӣBMh-%[woC5lI,) S/]zH8&L'LHL}{\Gkݥ;L]"b @Q *PH{ҶC':G0l+I̎[  g$@o>^Ĝ4klƈO-e )d (bȘ/q2P`(K* .A'.´7PƜTTgr@?q,M>@;Ǿ.QK PCW୛lKTa * DHCt A?50\1 La(F[-!P u!)#pD'P-t<-0A)Tb"ԉb%oʒHOĐς~Vw>QfN *hڂ,IuƖ`I#"Z4C2'2 rR0WLx`׆T ym d:\:•TΩ@CR&LK 귳n Ư` Ƅ ۃ"욚P}׳=Eԟ#&-9+R:ʜcj*6Nu&s sI sHKג3A^~$rPh?.˚ /<3ׇ-'0]:yǓ4et8!YrӘˤ hO.H>y22! 8 A܈$LA Q\: PV* k^ޞc])KֆXE5BGQQ+Q-qm~?$x oHn`OЋѦ5-MaXԱ<2zHad~sF4h$g!l%Yecrу3Q@* K}KbnaQP*I@ I@gјdBb(c2я`u@CC]t"!ӈ%&X\ szּlho$)FM{t3WQF ԁ!%DV%5cN+btD2u`O cJb5 ]*p>7j Bh`(,*\0G0f$5jR-Xb3&Wd\S8Z,:$D\Ma4Yz,9Bca@HF1zVΌI8(L I_LًL'8%FԆ ' ֺF[ [~OC тl)f "($<٫ʂ$h "1U 8c%BɝhelJ2ڱ!`-@H)>l.QtkP0z@pN%)im˵u|UQ 5ExJԫ,G jj!"[PAZ@kP0BA@VБ<Փd|V/,J,;c#>F>y3'Gy7SA#WAX  Y tK%<^N֌d79_~W< CɜU'#`d'[Y7DL.ч_#RP:b|d{}$o h 2ʯyO}sSZV~0q&B2ʙv Pp5fYKeU!p-T y%:VtS഼5VZ!%bXSx4h떍|,eXP4V2i %(_ !0К\~u7%o܆?3j^Pm֞1L. fc&!3pOMx&aAq ?h\,~kd]Qa JP׌M8[B04 q(Ƙʨ{;gugE}\hLǃRޢ+D#\^s<'/ڵ\Xq8֕ '</Հ`Ċ}  soOE| O(pԄ)FopIB Zo0hҡ .$@rR4ʹ`A d ln_:MNZf)f <Bḱ,!Q,K.W6oф*j@*$% `0Mx~/b/ Aob[el\l! '-΃$Vkq6/8$a|()c We "2b kL(Ix`Z&~x[pFD)::$g\F@D ޘu,DqBUL#:<1r.. ,J a<x@b6cI2'rb *@r`B\"@-DJqB.A)r.-=" `B2"#z?b :S%hvVӞB0h[ 852E*ndbD s&m:ҡN$ bzJ/A@:.S H ,,33~mPA 0#*7S#^܀ pFA`?C6.0 s"/;Q<!%#!2a`b$Akʤ9`X^!Ҥc+A iP*F2 E]LRE9L/D?QLEk;w̆jBrH`K0L7㗂LʹLєL4M' 4ha .A4LTna)́ C-L9AM M&`%K $d#܋'aF QtS1Q mhB* eO7uM=USUUt3$H!:8!PK 8 | ;m5U9XQ/ L1C~PK' ~AZPLs5LWS U.M[U5b[LuUǴ*i=!eA19]'B]\2Vr:ULj$0PSM}I&t2t1iEi2h? cR ln ^qk`#9gtmT;*vBݔkMJ 2 !DPEMH1f- ՁhKs0sVg%qOh"ZbС%C&-$= :PEn[A]|f-"lVv4+Զ EM1Ah>ZYoVB Daq/ 6'MjԘwh0 @ed3(\!20?m0Z4M -СSX1DgCDЁ (wTye5pQ{7a8MyA dPqԁ95vB"V^Яq)Q!T>ZJ9JB\9Ypa1`)h>@G+@f&T9LJ0XC,b oUtd xm4O%R9 YԽSFiaG1"a P#q{CP$FʪEpk' )WzJ!=ofVpZ ER5h/[ +xaryz-9,8!2Y;En e Aa#!A![C?çm*A/&qpab2|Ud+]Sf:YW{_Bl 1; .!B[-^ek砆ʇeG8(U|?a<;B q{MD4쨱;] lBE]&nzڛzU^;ù"A1p 028`;[8aݬz-1|FA< tbU C.?[^QVn+'vhv V=p"2H' dIU|Q׶޶ ["Ё+yΩ@R`b\'!%0"U- !H J؂˅SN!zzCR,hA%4*UщBسxaƕ "M2{n֍4'4l;:%-}9jCvE >ܪ NY}/a 4!-0Tt'`x|)o! =a"n0Z F-0Z/x@@@R E= sYN+6&`bA "7=ⳛ @M1S^~!'R>/[cA :|<ׇqע!6Ƚ2 ;TQ9%&FO#w[xT#:b0Lz>Ԙ2wkQYIΞdzĥ X/Lb%錁ym6 A1>z#X8c߫#QҜe:IM9{)0ܲ ᢁ J>I5 QߝEab-_"2z59u $.Btn3'!LG0;z2ȑ$KaK0.ő3]J!unhD=Tad4ԩT3DuCK'ͅ  t~h5ܸyC+dM/)AXBuA 92sbTɜ;{X݉[Н psB849K_.n炩+VWBsFQgb1uA F+7|U]'.2B8P״cS˟jV f^D-]G5C AOPSVEg}Hb#][z}(`K1!M0椒JAqDHGd1_4b(P[edCEiFe%.a"W@`% ֑&fBZ gX JS~WazhcwBAfh-XCZx&T Z@DDiCL~4A,%J.;W0fRf- P:cS2kp6yMCT$fNC+YTwAPUFmI8`B:AyuLPq1ER$ʽ\`))q$b%TEdG*.k@Z8 "Y[m*0@$\a&:U5I,d̂&1&:2$@py\cNƃD5To^A!A4GgaM yG @Q2A[mL)B81@GYn @0tE1(tFN*(єxc62.k}.u^cĖX󪳅fN|[sv%2.Z‚;Ax/\ٷ[AoXtzl^T4A=$"CH.WeG K#1&(Lu\H T\U|~ r?h@X޷ H%0 `(?rPb0_1=|Al 泞^(o%0%,]DY` d TLF!܄!̸@#yZ,U0t2t#4c _Q)C.!Qsg=cÓ#ggiHŧACdT:Ѓ%,E2:GbE rQU!&GN-(M#8 @/lW44*3Ŏ@h x ,R B_ilT-AAZ͙Nwj@V%{X,a; [)@C8W7LN+0ר+DZoIMJE @[U4+ۘS J~:a:*8?tl۪:9[X@:D'#f/O>#O0} xА:paH Gh;S,. pG{B$v:~ |AaG84!, \K*\ȰÇ#JLD`%8 T@U0$ɓ&S\%˗.cœ)&M̞b'~ H(Đ!Q"SPJD]US&9x5ׯ`(G@`9rhfK*saʝ\tmUL]~ѥk u:#aǐG,Rh#˼Ysɛ AM:*R4 TmxA)bKաv{s,v\9mO}YA;^<-r.1(mp WFh~i~-;g':m,҆:v=݀9,lp: P2 c-U\p栃Np&"A88:AsDI DZs mm" wX_q 1W+s :DNeq|HBEP{ZAE*ue8 :眃8р-l㦉pvY]x Bx (PYT@Y7Yblz%`Mp!1zfN٩NeVzn$g9]2Egȁic&l+2Ȩ2N|pPmahr%$J KWc9U`SPI*-v\/2fl]R{:#Í@۵pZɪcV@92T1cS]gDB@h-ܭ(7s#d,%[ +(DYwD@ќ7~# d6ps(@JX"_Bbg8=vm]jWAۥ׈fCB#D7ΫN$B]mz^ڬLA(@\Nk c@(>:%8ƶ+ jcjA( //y]ċ:8&R6s@g  "`^1XlY5"e1aixaHIe_@6s} X`H1*`AZ8X M @%HwĬG706ux#CzD: p^U@ȡS6t4[BfA΁ $5oM(ea`uK~ZZR:C]:>*T2V Iz N¸n ;oa ^XO!ˀ2y؄= \ԷoV&D$m%R 11)4@)KSWo|e6x…i, ;@C7 Xc Ho@Yl O|̊S5%0-CR^-sBcF ? RXil $vi"6: ʔv%$9j1J2%?%lppX{dQ~|QQY>8#1P 6.Gg@PCh؉y$h o&~xD1,X#,jO_ M3 Z G/vH4ɀ"CrpY64 \9Y& u_S;PB3HDkAA<\ϨBtRvh|5y bC6"h }aZf,pX .w3%9@rLQ@/֢0yaX(8<Lw{sOX@eB%zA5GX$ߣ4?$WyGivcz_œ]7ah_=)t9iPp`a"kDaO]YEP%Aw698J{sdCmTBr &4[p 26TvTw)3Hb\mDAp&$MYEz9bKF}Bڔ[V-` #b*WOuJYj0RZȜ Jd =z1x%?c! a5 GKcS$P$b% "Tv)?7YdttTY{b)!9Qi.GKS+L30D sN"-yj)T30fFWv*I FZ̑ 04` 0eUFAb#hK4ULi6@)6]HPQ7i75ꠈI'}hr)&P5@EMJ#WvK^N QIG+TmN[l|dGdswÍM ;B _ ޢ4c 1{C%]qK0ǐ/,X GH|ۺGBh'<Q;S&I|DGZYV4L?٠*N,5DԺ%Ch0'jeABp7RrDK: O ;8f%eЇ >`z ڐ%aQjZG4+>VZyft WA;K, p$&0D%PZ{jhSvJ u*"p `&!f?J;L۴gKV+2z!e] xin *+[\ZyggB pA ?iEjkB c6 I8 h84b^@U;ڬKk@"M~D-a0L4&/7d!9.[SK uS%U SdxW73{c FRkh &p ?Hk#m*QAAC٧mC{(JYErKF Q4.'˓p! 3^;8 |IO[`[5-Ā<;S>#GE t>UwB'=p?%mÓ4*#s&c fׯw{d3 2ABUU0Ɛ"%7y'mթ^a_41JJƛ.5YY%w1jk㈵p0c A܌t2\#a `&\HVIFH}<;@MxzCEtJb1M4M30;\: W4Dm{ԭ,^&*YV-3\`j'AHHV30elԳ0FwmMp lv/r[s5 Z<|r=0?FK6p"kݼ/A 0>|tڞ$]o ڒ0-#}qVYMUL%=Ql(B 7P16i*t" ˕& r1@YHT "Hٳk hdD1OF|).a@ &ޕ `G {Mm"b `0[Tw@ak0E@2.5 ;q)c cDޥSh{Ơ&oD1k+N1 3t_]e&wa=4n !}`UEJ%F!*=k Fuݹ' #v>)> s9Su5qxM` (0ĥ\O䧜oC SP!9;U3 ?hP\櫜r)FRmMyF!66ʐ59@P~,~?NP-9%V=@ q )>DH6 \nDƮEɢnLDUA0[Sq`_Hۑ% /l0e/R! &\1IFH5.CL͐Cn Sc~B*[A A*NQR#6LNI_lD˲eNDQIg? ?C~jF-Pl6 46BfF,Mϛ߁ L oʿoE02mOebMFE qMjC&@!@sx!:t-V4WaFuҡ%%M$GuaqRL5m,IN=}Z,"uCi9K>ݹs^9,}5X @PCm Z*ql:Rm %D!SQur)h ĎLkZzr&W%%O NѥML!FT%ҐINFYwDGRMMwܤ tA۴NLs [">TG`-t|L·tp~!,'@H#@8orNA?.:';p¨#軨10 R ujH6-:"J*|"# jJ@ Sѡ|9|"3?b ,gHO2Rr, -CX2ILb`XKΒIS#JR jO},rNE$ B6< 5=u\ttlq/ uJ \kQuSH>$U'")R,e;! r?6H=Hݗ|SLu1X]s$aKUsKj¡h(B`ԱeKn9"7g)K$vdSO4sӍ=ukyrL >!Cdj+֩eTgȢ+@~8blOáX ~1ǒs60iY2izԡMp`BGy Zƕ,їй$I1̘ w?uס-:k_7-bh`!e#;`!¡H iF o^"$Itu%qɛ d9WgD,i^UVQ"9ЗDg:^RdgbrHIM̠tQH:rƸE2 "@HҤS3I 1p9.Ab9%A1X " *E7u p{`yr BmY:qI'+a@db3Q ST9P%R$`E N{ y3,$H@HD;PG_D09>DdER#K@v0܉%(#P-q ,f7`C"H tD0eʘ DyHu |:)GInJp08b@`!+c:hYJ1 8gT:" @7״hE'iOH#1h!@29RgmmRjB,jJJd r$aAZՑwSOa \BZPeISvFR=:c$D8MGFWCBISPTnu X= D /Z[ֆ#wbs0BqMr鮦~ #Z8DMd-Ni.a ڕA a,c%B2"]n1y[:*/,^Jd!̑,|m>Kl>'r0u" esEZDU8Qp8u55`HȚ$ :aoD}A6O D&5|fݿ'Ri`GtIWsXJ8Er&wdv:Б!?TJB$L Πm[fR: Yer!b%"`BNx&AIL ª<:Ρ tc6JMrܢ"nXz5u$o[C0ª}K1,H<99_ˌr;v0PUWݟ.[$n}t=bSj4A1[)ݒp3gfd#"K)?u!H Y4Pg"$ɿK'!0?,  Phܓ@`:I"A4I!uPY0@R'^P%"b0É@ePQ8\'&\B?V^y`-5? ڪ+;B6rh8JCtB4rkX$:CU;D C L2*?<, R̐ h XDEt x0ܞHT8rUe%MXCC<S, / #%YFi, xIL TZ(-ٍW0elCfg Y |`FDFZZH 2\!Pë7HuȋȇȍH٫G}l%ɓ%2ɺB,I=zd;Z0E<r (d!ɎsJHhԔ |A<,&߳@8F,l> V jYNjxlΆl#H"0NAuobP0Z׬a)A20EPpU^ v= [p hXR@A@\9Sl.l?s Xäftl](ollnIsPM0\*P/*qZy؂hXՂPV P__\um Eb ?؆c5hV8$˿ƕV&l gkl$N$l̾i ﷄj&rMxBxT @?BK6 юE!2%h @-H*؂ ȠDuc5P)uqӻhpWPBX3KQ y.)W.#CKM]o)r,d0[ ZF%kHIu0_7Ȃf;sH\P JX}ŀr[qbPd0[ &BH*Bf%Z}; R2p۹Ҽg>RTb?Y'@Fvof?jno78 " P&S+ @B #Y.u ~졧0 H`:0# M"@k،E,H`@uBX$wvun вs`alh-Tz}9ޝW8cuԽ@%pF/$@ NZtXW !Z@bTpKY}V@}v@A%=QrJ8 @T+-(N؅7d} IPGD@On^yUIsGjx[zUtJ=a91 --e1pP9ܒcUu5U#SpqsN2J3a },Q~ ezaN(`GL|+wN ^*:uvK0 LGƄĬ:OpQ`DE$c-8hNȁu\*J$:T`- c1u)\Ra2x4:uli$k -[H:*(2焠N28_0(q- P&~evd-w\)CQ Lc9Խ&|k@MW]6A%a,1TЛ:--3L 6kw†&xB*% _q)DC59XF^.:QB\gӾ:c޶[3L1KcP 'CEDK*5_r B~.3GJ!$q-nM~`ۚ<5]t:VV2Q)K]6t3f[Tf7ԛt7(01=8qݛR%l#-`8BD ٸI x:;}'ctEELF¤bX)1d@4!G(qIϖHE~\PY#C#ʂIDž 9DHo"L%(Zn1SrTj,_0CvK(-i4 8|*1Rq KXB c^DKNl$'3ȣa"ω8f3u 1:::T`$nrbF6%S#0W5QC#PG: t"1BG3qBBṦ5YrjdxS01@ ]BYΙ1bv+SqDhhJŞYL:BYHP*U،RL+-MKNbpI99@3ʺĨ ,t8\D,T8,T:^rQY+\orQxc(u`:$ΘNz$jRP&Vm8Ȳ?ł ǜSqO1O?f.i*FJsr %U`d9JYR43=h-UTѫD%l7|ULPV^/2#ޅJ, c I1:%b/LSDJ6J$MHq *ׅN$@@cWElbb[;:Uyܘ#6^\COfɇ$#XNdRl!h$2X+VȾW Ǿ54gf >CQe maUSӭIYR1,_:`Q=%tHF00YH#b Jo-l$`"pk3z`Vf v@Zʆc@-NB@-uĺl|LMsQq5yRF:&a< ӔEN-s=ӳ; 4`Gx^D#M [Z7:0]5CH|~kt'OyB MfB[6^go@e_7Xޭ98\Ox1(Ǵui5Y^ $܌OR9@ +A"NǨ`$$(cT]32ب1]O(^ *6@_У| a+. ^5;NBS  IH\BA]X:lrIi9aB VJ-|b!N‘\48GJ T8E^N =%XdDiȈQP-:uH$5 i99hvl}Gˑ:1MTUBuC:[E*\PXp%NDGҥTGd,5@L&i ]: YhRuF0CMb\N]&ݚ\D~E: A%|FAEcinEr8I*BA@Q4gnθQ$2YwTœ&jnu(@Q"1DDĵE2 ١vX°.(ȏDC4FePwsbLI@Hu&XWJMbRT(戂E HYăM&EhngIh A C4C31рB{v {1laNf!wh+蛙h`FJGD`T%OZiJOHmA fD2j1W1DZ1V!'v:RXXr\W̋H*%VS :tDםh鎢F neE+^^"YT`1L0ʬjϨ hAFxLX(>g2гNMĆlT+22DM1\rkMlPv"Nש$MȄB룂귮qlrl9t]5ks&һ4EČJl1bD V1Y0OP R-QaЫWu-n(EnY:JcmuY4H̫~X1hɶFTmVzFO`Qp$'qZSlD>T2@:K@\ -M=E^Ć]*olɡCC"i9li̾jD2d,#խ*vԄA@tFG a" 1<T )cWצ+.FXě:-Ԅ6t%^OD}fаI034 *{I4@JX` m_fRɫIlOTDě-ZkS\ålk3:TTo9Y2kԐeXdXf^݃I` 節@Ē/')EFd}#L;@8`A&TaC!F8bE `%sϡ+*11T2[ pT ]K-DGt |y%KG&U)s]q00ƈ 3gl`Mshu%ğL)n]wŊ6ݥ`ꬎEG .Ut)$S]΅洤D uNJltiӧŖɪYc]*j/%B] : \VysĊVW{l1Kf@][ڹs^&0g4s7yp mHs |H b)*bЪtБAI .u J-Q#T, CLF i*zP#KJ&^h 2@2(KHbi³dDC*J ژRK0o![n9'çԑ +,2ƲSMO-**?PG\Ӹs) k0 |p[ȓw4p5_ehivJ )Di$S䒎PF/Hi% \1P+\)VRtɈ#-0m鑚piBgD|iΈ)Ҟ}!e :ZDhv*iM(Ԩ:Z:NH)gDu~jGc-Ĥѥ7~d EA $z}0PR N@0 RO4&Aת# yq.amCץ -hu:>Cp[ D+\ ej%O.4" #ĉ1ѱ 9Kb؈".#l*W.H2Cm D[UNnA8C -TxWdke! ٖ0Ba#SAZߢ̨:rT1F^@L`[ fC>q =Đ؋Z^;qF?Tn4 6CyG:d}2#pH{o Q[^9;^_6 (2}'$K޽VT;bV@0˽;kAPhaؘ[?Qc^R_A@WdO $F FGEl ;P Б t(%+TS0$f#>  uB ᧀŨ $y8!Oz0l,>Ll" e'\ cnaԎ^& #֤B3ch5')4#G:(cLyL$IUTiu0Q0 b"0"4 f>P 2%@b)MC! Q@paY0YB-^YD0DÌfB)ͼPS$1{i(Y"4"K0_4H:cȻ*dJ'A)Sq[Q#AWg?Bt-! Fq1Ț:_,f/{`L# %WKڔm@ԟ Պ*chh5@iSk6_CHjFƚA2Q0D qjYʖ\U bV57ڌ]0gJG|)ZUf\+bmTZ0Hh>njo$ ANlk=M@͐HH+~59"ld#&mvpFȯ6m.M!hԸfB-M|!T0b JDt}fQ3av E؁ kš# QXbHsJ-) oB諎8!#V'!I$U,X2$#&RPIu a&2fnK<{rB #e> X^Z.+5GQ2W @*lA1'R܀:,9C؀SbH)iIt!S9 "0CrE:Fhy0+^Ө Y: $W< ڨ=t«LPǭu@"ɀʬi Ő 1j3!6r]1vH;`ܺ;!ç2AB Cܳ`#QGB]T&j/Fap{IQ:mlrJB-4>;IV+%`:pm `Wir(^1BMt@*h<LCu' L K `":e $Z|кdS@h;T(6ɾ%sem,qpg(BLjx(N[x-_43vl:)P@d{W>$včU ́2u$|Y#_[lz4򸗾\_>ףal" _U2;Wv!Yx'Xqs ,(#8ZiIb` pF*Q c[P j +1R O2 (4UXr7ɰwSxBWFx-?$+ȂOWeh_sXgmupe `ކ&Hb3810u>фO8qxuH8jIVVQ)Aq8hWfck8m膕X8wHjx(`HX akƂ1QHߨhdFOfa%YhHg(ȀX؉ +oH HggFD p +Ǝ 9)H )gwH'Ig øz8ٍ!@9BIHIpR U~q " Tɒ-gl؆#RyIu&pꐖ[ht#H9yiy8AI(qɂ>6ph r], [Ă`k-(}oUg9J"lm >Go +Y) q+OE Lgh+.Q[qDa 3IcXuUWՐ8 i5L.l™)~n̅ҩic &v  }qY)Ip i0uĀ w UwiS0 *t$\0I79Je up0'@P f& u:)5#9wʠ _𢼐 Mg/ R*YIPі EpS09I8@)` n٦q A@ &_PQSa70m  @tVv6E`0mpuy2:)Cqi9zeUrv  0p E: Ơ\۵\ ր a; PnI@ j S`e٭[ j[ `ZP_j11eZp6mĀC٣x ppи_Pe0;S[0[[ 4o#zY!@7`` O ` kmJrɀi1p2 І;愛 t9 YG3 ' jpٻ.Bi*}  4Zb[ʀ[nʑt) JLR+0WP[@ ̽}j AP/bny ~00\I𽕇[ܳP˚ڹz "HGK Qp!0Nʮ1u_G Olɠ!tHˢX  р!Ɗzܜ꜏I7)pϽ;M<>1о7+ 1(-1 YH}1P9RIR!(LXVZө8i i1'\>Tp1qL: Yk*YF3Kc1h!Q0}<̣ w(쬒 Dc @&@9S cJҕjmݴ v[H{׹(7 Q bY@9"n+:K @w+ڀݦ=Mrլ|=-]۹f pS[`pcp+<۠E0p p'Pf *"@YwF^~bȕ U<X}%p{=<q 10W`tF,#w 萞`eM| h;>x~ Ǡ1`U6;rQWtʮh8 ^b ~< 9@0sdu^~Ð puz4(-: =09@G J @-B.kWҢ(>9#" [Cڜ>ɬ4@-ơpߪ p<5zlɰ z E~^>pи .̀^ O9u&F d TM ^S ](p[#FTu]|["!2Ri~.MOOp_Ѕw\oبe䡽^6|m0;X?,gV?ES0P`pAt)kO aX_ڜO;Y/)-Vz:ը:fNnqpOe擿!9N@ LPB 2TPbÃ]x=nQ$DeԝF[\e ̔CuB 9s!%VtdFjPV> H^jc֬[ׅ꜊}z,DzjV$1۠BN,mAK/_1c `޺VcE=̩Q86f X 'ӝ{{/v5ڸ]UP5ڣ_~K`z9t*+bb8 B7ދ *xL .8YL:*S]gBVmka_i6|-3jzK-?x;*»|3o8zt.9[pR8F;LtQ'zEƁS'1~ps+!+"`$q*$;G!Z\ TF>SB\$4] ѱE7#["sJ.q#"b9 9(,/");R$c2!$tSO? MEU L\R5VY+3t\ PY6%X46Ye$ s͔WY}]Zk66df/]neBv-PK f]tURRX7`C`+ FBmy+M`/xaePǙm3fa-=HbM˥dW)y`s-dL6Vcgc?]Q 6™i iSUi5trD϶gB4٭Z:߆^<1 -.Uм$onâO=-?J?8i);s,I{sS'?grթs_}%L"hhkVut,1FfWxxu*ѕ) }ipǖ|y(\ WV?uMfQ5>s@6Xw* <`5Av]E8BЄ'Da UȭЅ/a e8j% -auȲKo1 pQ:"ʪĥ *LUv"v]HbAYD#cjS^bŦ4JN]8.JC<#(5~JA:#~Ld?:J?|\c]D2R U!-)!=.@,H'9Iᦉ )Y%~i p' IJF4%#QY9Mtr&JYڲ.=%IT2A|1 0b3Y!dX,EL[-)p~К?&:9k,gw z,%> CJv`s(sa} :эp5 !Í jc EE#Ia1yD2€8YA]ӬX =O:ԐըBQ>+pQTo8ՈT5AjV5hě@*hU ʹYaլn k:WծwmYWu=LpͰVU {^B6vM_֪y5T*UAeulhE׍H*  ^j}5c=KN~j$׸rq1ױ%X.Unv]R-rOnxū[*)F0k@ؾnĞ:d0jnV;`uK tht%%7t?$  x 6-!д"~5*;W21b 7?6EbsTrJ . { #a@/y{c>ppmW]tx$._b~#|sl/Y)^z\?XB*`aĜ¸] )1{0פ㦾0qtE=jRFTTڅVjZpyuuk^׿ {t@& 4h*cP M*TJuX]Y8w7(H* :EE:pX =|i Ks^}`gz`3ϕ:Ё}Ϛ7@:үs!, H*\ȰÇ#JHŋ3jȱCIɓ(S\ɲ"u#FI͛8sIȁ/y JѣHU#W06#t8bjҫX4AzKFJreL@Kw.65Eb߿^?+^Ɛ'nPO˘IfHLKx5kSrB+Y1mM6EQ( D]*4aE9Զ+_n1(u5]D \s2e! ȍ` &P@}˟_ 3gN}K t@gL>G]G "z=7-5hT0dWA5q shM<U^  D5שә%=6lֆY2X^c\Õ9OPifB 9N\Y]2-e dlhA!byƙh^b]:ld t <$@Z  d% ֪4*:P]*lY$1/gPdSA6]hb 1`c@Rk.Vh"dG&TKgQƫe//߲ \ p G,-xf--,K /癑-L- 6HBƖ%7m:͘`$tͨP fb~'.*nHߗΜ]}7mA~Us Q' )KsS5omqS:M@Ojg7 8e(Y>ݠS4| Tx'>OT@(c ?`P4hJ-A37"!TÔHԊ =HD;Ia ʁ+U6 &ep(1VϰΒ2!bPꨡ@xEyJ<ةvr"c&CX.a#dXP| !(&2LFF qbʱV7 T, $.Tdri+K$P c!Mb甚l 1dficˌlrZRDfVګ&  uX0!tj̙+0%CE;b%mɒgֲ"8K`zsycD9N+Yw 'Nρ9 \ɘؕ<v(!H(od9S7z'P3YWIIARGwNԤeKV۝V_R^Hg(Q9">S$ơ"Ԗ69o 9|0#):`RF96&]JFApa^ uQ138ޔ :Ku& nqFR_ydяb&TzJ˯d},ȳT*QIckKc5p-q2 ( R֔sp;BF#QV%ՊqRxs,vftj|M _x#Z.I F} hh SBq@a'`F$U(97d"Ԓa=qF:(u!RűQrHe8x3&`Z d8"(9ߙ!4TTn:Х. uQ BlT2B!DKJL(Q$ b,cD5_f86H(+F 7x Ա;ً1J# @=` Nj68 P*a4 A:}tX" @ D T"W eĚPБ&TE*x Bi@X:Oe85 eI wڑ~Y^!E)hU"%ݲkKl1>ց284(^Q8(74tQ TB5x<؃kekTMx68X\Xp jPIDxC iHq8^ApDrmEQ<^BuF"s)0C-GHU0?5w0؉K^chfQ8 !.slgP(t?%uP؅؊xEۦ~HÈ}c'0 ,6hk`\!t#XHHXf54V8܈x'˨8v`x ;wx 9 ph "$yxX8 Q2idQy '+i脺  Qx0W%NY_ۨqOx'cpLj5H^PHl1OٕUY,)B ^YTGu>I#9&4鈅Pɔ8iIh'PP}6"@˩ Av`9Z3 p I78uoi]E*gxvlXDkmsOsb,J 3e"3!tFRUqD0o3h+O2@ մ8MA ;g%lz_*Fd`{hja{ AR }g@!qTXqdk 3)ʶ1yd˸ kA5a~1Ṥ[jWh!u {=^(Ӂب M$Uesp۸ JͻKPZQbK۽Xx |շVPcG%BgX7qXi[lc+ݫ,6F f | Q& p1h h&XO8` t)^J1b`:4ؿ;:Ð c,,\>|29btQ;g$q1Z:[v7c:갱6|H|zmo<Ƌqq 80 J e# gĿ qy , 1)ëJлpiG{v| b=br)0} Yvq/V A (Z` h4Ɲʞ+l ߱gK|x\krz ֠g\'pF!'}қa Ġ V }i,8\{h =g4u}pr~U~en+\md~֑Ъޒ\3 ^uB›ŐlLyrC2⩼哎ٽa\3뿞_WNe.[IHRPX7j talQ8)Rim~n.N騬Z0>38 14e.) Sm& O/f&ɕ/~1^/Ê& !-;F|P3 !n@_Y ',CR.gt'qBW5mg/ojo=OTA2{)|Oܔh7ׅ> RSe4Qֲشo3PXٵ;M|OW C گxp pIiDݿz PϘ(I>ϨH=FVO%aXXL9fBCPB >Qt-ZQF=~RH%MD2@-I^RL5męSN(a^TЉE$ )"TU^Śdd~69dՙV-!UHv\T`hVo]_)F gFs@DS?FK] "ӝ Yx!6~YtN1Pg h֭M2`Ʈm|!|L*9sA1΄QBg4PDSFГ'K!I%iT6 sS:EQQU=UlHU315`Pg]WeGO֝Ԅ2tYk"aELE7b\s!bxIȜsձ w\ VxCp81b/be扄Hb8䙎Y"greeT~fyfnF"8gV莈FP>xݝ.>֖nhGâ#ֵk1R/l윉AH砃;mUGlf$\G ג1/\Ls0@1tr*t$ԋ?_Ǝŀ}8V1}S#Un̄SlqO'r?%C u&]_!PV~˟ (a)rEu&VkG)BDA*%aub?b8D"шGDbD&օiJ8UWbx#*+ %=`:,X(>!FƲԎ=kģ|=u<#%GBQ< }8㘥 c!%%xb$%rKk $E):B:&DQ5D3/?~bJ^B"`Fz͠ĸBHF̍H 3 d=0 9htO~ӟh@O,Sn.6*'+:Ѥ>hPAXMMԤ:%>zRfKe:hᚩ@æQK3cM ӧGM:jѢ:R!BՉ;TP]rլ)+B>I5HQ]3i55TG0j(Qdvh%*H 6H 3:v.!, H*\ȰÇ#JHŇO{ŏ CIɓ(S\ɲAslrI͛8sɳBs~P7ӧѣH*]ʴiA[pJիJ:K/K,d.5.9$9QڂL۴BT|#(@^̸qN e5k60C3[g^Z]+C] >* XẗM8EoVgG@#S%N:ɳkߞSTdƽ,Eyc&+˟O!21ϿcvTQ1&}@  ` Vh!q  ߅ ("KUb V^P80V̕ %&Ĩ<. H&IPF)TViXf\fIhS{]iX|Qg&W)KHxB(6@{y*D_9 h` 袔UB 4@ViU&hb>eZvH)Ū:ʩM+}Ȋݦ&[ӭ*X*+-MâF;W9']TܖK .{nC::(r.C&q0а! LR^K0.7`w -׃tsԲ@F:\E8Ӥ <3U IDj2;9БQNEG}1?sITI5I`vTÙ@CvHla]5UŮ-D)W%1}@c-^P)fWn93ފw\9NS`2m.:V`&^uk)tv'E!F@EfDM#+D]=BOEA0PO}B~[>s_Hl%>RHsAQg?}AO#yC?8SW@aEvp{ ))tAT0)Ȝ@6$ l Æp$L% mAЇ;LbC"S%2F:q)*3")O@ "QE.^ J(@&pF1#cG=U4 /2GCNr%ӘI(+9(H@r\&t̼tHAXڒ!-wy\!.IL 0c2x3a4=<ƸE"T8 @DP"C˼^Q3 `B(Xu'MBǓ=̞gX%l@YOuorTQ*Ln'Q,A v(,Mt#"lҡvzV9p異-i҉HAv iTLT`աC H[4`Ž£k10J8o2IGs! 01X@[R3\&.qAP\$7?֍m<8$E xhm"TcYDx :\feY!Dzi.oY7a5'.yCU_gm|Z}VGMa.ۼuBn5D^tyW8?y~-|ywO}}$|OnnIQ{g% >KY7QD-^ĘQF=~R$LDd2FSL5męfI=M@PEET҃<}k`U^ŚUVNƲ%We͞EVi_MN{ZukAyqrϞq^˛Xbƍ5Y _ƜY3^ʝ%lZhIs\kA^.X.[l1U[n޽}\pŵ޺˘qT_n6tҌu;:$^=/7xn|5!~d!, H*\ȰÇѣ '3jȱ#B\<"!E\ɲ%7#粦͛8;#:sr Jt#G*]ڑS-rĴի uhСHv[\9ugϮ؆۷.Sg ݻ:` M6Ӛ@]Ԩ,j3bDx.@[[iEތU/@;X&E#@ƺŖ%]MCqon,;Gp@&Qw l-`a;KҥtHo@,+<|BhQ`1uR:昳Xhu D_9_0ө3:&WZō(!nV䜵"`4hS$:ԵUL 9$q Au8t.b%m]nU][}iHS@dpIAUfx>d /: p]r%c@X ȧ+VOlNZ@ th`)9/(*z3(:TΖ룮s . B\ Tf)>kAft:f B׆+.L ֋'9ۑ5cF=,qd9m rGҞ2Sk(aV$2DlsN{!C @4ZxY Q*:0(X{p ` VhP6٨p-tmx|߀.n'7+ \ ֎W$20S A?Y&xf@.fyY<ХGċ ̨13|Ay eb_[Z!(D&mvKg02mp<kB @np!j(r,x@/peȀ(|@Auf J& (6%E;J@\ NWPzB M*@A J "xњ؝@H-r1VX/iU-$Ң7ÝbVH@R`RG` "i P`|3LAꪐ\A$4I*D#ɁJ#J*AC-%^ u&%IL|&K2dejcs,ES\FVA&gL3I - 6_jW:GlT) 7 w ,H@6AMwS\%KȆ ̱9.Am ds@@) U>#d@pbl_^eѽ`RQa6>NT '|@)ըRz4 :'c|vR҂(SA)Mo:Uq`MAj6 rjVjL:H@WK]b8'"@HֻrF801!A R$Ȱ q #!sx!G"b/ >Gq AnF ̈́E ~Z~fєnE0΍qړ%FA @!sͮVԅ9CԻK0g6Y%p+j0仰%Aq`=ƽ%l<ɐ ֏\'U G0xay F]*ܕ@ sa@`bsP$㧕7= FƲLhП}wQՁd, Dc؂XPF.HTu`P4wA( ˔ *My:P "4rsKMH͆ 4@-'R a˨~V1@>3 [-KKCF0iTK EuO?s'v7Q/ꪃў-~Aczlv$0cĄ.={ibSꠀ@Qb@݁hM` ŀF1/!}5#(c@'̻%kBq7A\%5mP{qqoCq.A7}yRw.җGD/&:q^sazӕN8q[:h2{`;iccl몑짜udN}y{w~5f ŃFgG:/$^ u}m5{M5Z`_2zNj'd0rװjԠᥲ Ƃ+CCΟ;;{!kq  1H9KE:*PPX1|PD&} 'c c_ngXwp _94~{^7zp À Pɀ O` @ h ]SnvisqS 6ܶ`{`unzhƠ Z3pj!Є1p0~@h7zsqE 0 0 ybc%f{7 BVu{e UODjW|؇| ~ p0А 3&UC`7m6~a@a   h%u"H @P! )) W|x Pgxz_Fh&p 6{[7V֠Ѐ369Jp9}W 8XX 1U [k6pĐ єS'| Z@E+ pxyhH䈋W0C D @'` YfGN.QǷ=FЎ a p_ 98) S@cB &`!@foy!YU}@Wp=>9ؓ(h))P~$P0}nxw-un jP@ @g9>e)٘fI@ 8Izs t\G&>VՕ` DHjd){J`)pd(7[sp9x[CC9(  0W7p װ]yڣ)@0Pds :Uz 6z~ʘ8ĠwZpDڝZ:sp r vzmP:ʫ ( 8/*&p˪*0 yөz|0 쪪xZ`7֑MjOٚ@ PwnWykm ;D!8۱Brֆ:ڮkPP&a( y +!py.!ѳ[K{JR׆>1֪e:y~WpwO : ! "a rq{S SQCkQ0‚ w[LM+8 nЯ̱ xʐ[& I$(צ ̠ L櫴?%2D"I +^`Ui(,Mf찶 an{q {*+0}xFg*A/b Mp 40p7[;y \}nE}m촢O Q`֤n'+AKʤl#軴{|PV:λjf ˉyE]HqĮ+:yܶ#4Ś-^7]pN&@BDrOa{0 `p1Y>Wپڮ=bP& &P0y2^48n=N+?n6C5+[p_ 3X`` V>N=|ȹ-i6,aaכ㹮jDd֐ʝ$>K+Y}+{jEj`mX4mŀ9_sc=9B,YsZ.f`,)fa+qw.u q Ƽ PyP'Ft|V.dJC@m[ i#KcV -Z7I p !s?[<iEz j[ UX ^OWOpP_7t_0: P P  ݡ?ȏ<θW`Phj;d q\Sw &lj(&j4P_陭<:'3ͦ ^.: DPB >QD(F=bRH%MTvsСf␖l2v!:@PB=4 RHԨQ,X@ȁ b.%* uTEVZ3~ \uPB&H%wf;on(s2 Ѻ{[.Yf\qͱ@v<"*X'[s?7rл.=;nՅ\C׾ or@'|G?}g}߇?~秿~?` nD B H6 %@NЂ5 nЃEЄ+ Uh>de {@dȥІ[աCDP"7g(EЈcP"P72*yarʼn1$bD^*V$Y:@q\T!Б#Rh3+bG76 b!2EQ{4 [Ie%9 G=vFD,[ f7TEBZֵֶ#Z :6Q@[ &mq$Ehrs Z]"9f;^c%j,].`IV;_x4MJJ߉8`o#Fp`7p%<1/bx-!!sXt)mAA2A_x>\̱U! XQc#9>I 0) tƳuT6tŨ$  ;s(0/n UةfL`!F#HkUs~d97ZB#oj$f@ \h1fUGs{gѻAY+d6UAJdCEZs=SG&"]/ !, ԵD*\ȰÇ#JLKZK Ǡg Irɒ(OLr˖0_ʌIs&.Fq dN:(d/ĘcIRNtYaP$Yً#"IknUfAJ`i-@} 5%#:|`&HYrNAgkbJt}<2Ԫ&# Bt@ƠCEt wi!:% $TCb 1pPFkܪ ѫFbXd:X:[YBLlU PB8Cmy@>EzC9 <˕ 8Ɖ158XNsPg(<:RS•ZiPٚ'2 u`AhStLC9vBN6ds|a=ʍA̋`.D`VDpӜ)mDWl @(MQ1vD]:-A6d D-҉fvސ% !mDוt&Oy-PC%,t.(>AT}V7(mF痢o(!?T}T˩Y_պ։B !/-CCDB=,gdS#HA[r B`r!D p8=p!&P%d &(w2 :V*K8*ͨ=S=S4AS ᥎!D!lu4- KsP&, Ec,yx1Gϸ@`b1G Q09F5Hje "; "'g?Х9*%q DȠ@HFlC5$xQIɣ*"`F+07̧E(AfWHdֹ.A/f "K2gMY,jv>e<9HlQT ..atG1 J9 !nI 'xaɔS@R!# ]蒀mo!B m^t-`EhJ)s:< ,X ¯0*4E_~#CgƵΧ =9Yɰ``]ҿdLDeK,\/EIu(k`4ꭢ)RAv(+@nQ$Aui6VvT "*MQ/KM ـE P.1(4j+HQ(P=W E3p')x2bde3UG]m>u%mA-V !MOc+ "X#bqaa4H¯U@x'1O V" uDO1CS|p׺z6!+gbuc0Ђ߄RڦHidłC1٨E}Qgv-2dcE X:6/K%*b beI҄8C_;Mҕ!M2H<Ճxv+TCᒖ2.ډFۥqc WMň9QuƺW*i֞AL`ArNm{Uǁ*L tТOX\pe5 *JՊ!XBv YT:`c^#é*"dG;?^ j⡪fl6 R*9Ry-BNAmqdl]iK\\CC2pRW ТO٢YY%,0 ͔:LPNA`6 1CB=8S*0p\ʙgZtukƮ*I>HdO@ J 2 ZVA:t^q6M5[-?ShQ z6Ɩ%#gin2|= E\ o@ F=ZzX}۸ ^J93+F d3>!;P=GK;$t!5(vx)J‡织z] `%!ʑfMo6EPw' n2QKOgi=k.'m@P|cLI|kgVXAE!tSWC-E!3t_1rQZ\p( t&s ]p <"k!|RcjBp | koӓ%` a(_&geQifK!V ajrw"uD^cI`"rej'\TB:H5? 66xc2h؈@e$Z A\=` 8JKxL[-t8O0\C~X<_(X~/e,,cVv]$ ᏦX\!sViO)[O` btfB].a/P6KuՅ\Y,(Yu20[# 菵@[ݶT5fAVA?:$=sWЁYؔ] 32>vb  +p.]Q 聓JD9o bų$ L`Ȁ O xqt2 P@ " yL)äTJ7 "~:hd1U(U23 T!8@Ԙai*M& o`~QPrC(q3I QP8UȐ6%z'U!Ip00-)1j1kaME $+dI'(lc$@KښH/YT_k=,Xwnta`!A8by- 10L >@_rY&xHCu HW_vk" hW7n2ÆX%$g5gBl5>u@֔QCeC`yd7:'!b[#'h` pBCEQA {HfR* > Sj]y&⍨|.Z9jO&'0>w%\bc/h~%`\]%wy"t/CA~ippa@Ra7gT1YatfEPls5Y!P!`2Z?pD&`7"E ȀNbMM%pf}5@AQP2g 0NJM';VT s1g6^#P@ٰ ם1_M6K!B&R pmNamS8 6RWywnJ.P 3!YSEʸ1C4Jv-=S2p p"͈BQ":L|) { [ihl'M3eǩA)5璇UPp%= @oM$† 0oh$0>bt0AFhG"C-z77\aԿ бҁBmF"˾ꑾgn`jz7a6˱$d'Is*103ǝv; Paeap$S|&[ T`}o%EQ_&o6o-R4NN-q WT5H P`y@G~HBdB<̼qhAWJ+LIkT.VFEZ%ӣ ` \ |,)a\\%oP `2_6 ظZJrdx5%擨fAس`jzʊ-}x$gmm ^ @ 0g@=Ev6ҳ o״=U 9uFƫ 01u,6ӽ5~4dWV =r)᭞FD0xl@HV~oZohj8YѦĘ~}l֊؏. c {McQRaQlDf I H萾6~/Tb>F0>狣k梞X=aHkT/Qa.ng"=J>bPY?kFanjKd :6YE b !:Y%{%KeseuhnQ"EP2 ;>GW҇]n@ q@c5TTW]FV ԾWLEFI3j׎&J`ҫPMec[RNUBoJ)OyB]aK4DCwKlSCKNf\Iqah)}n$0]HmGM,qZ36/Qr^^}WȐ,JԢ5`PD 7O/Fɲ 07OYhwC}$HeEX2Φj/^fs<&.0.t| gtuhKͅ!Y3%uC}x;+!0( EcSV"0oJ7/`Lr'nНg\\/@@$mY%7 NDN@Y2X@t[x-LHQF=~HN]9DRJTt3g "Č<ϩ\N@,Zҍٺ$p@^N22C] h`յZht㹟8:TބAo]ݹK2T"I#wdF\\:suG"=ǷQtEq:i%-Cs ̦*ĩƦ6- یh u]0%^^@rH^Ldz,F]h.s}*Y"ŠHxK )*f dM  k rΡήKH/Mx:,$'dѨG!S nKtA$ ѾxZ 5v4̹"~Ȇl@1@dVTtT(\K 2* 3/I3!'M$J/ݨB̡4>)eвԒ=tv+!$+Q|jBA +Q PjH7TGEϮ:[bu`o=zRB&(buueިeQ Vb~S ȄZvϪ)4 &>du, з%WSEt {?uCo4SbQ債)錠& :B& K%.ϗ_;ܭmM6"|}Fȅ Jt@Wa ULQBԱ cz)!`P0L"u]qۻ5L:_Jޓ: DvK"W<%yUT_tHD!tQ  ς+v(ũkW \?02B( qJ.A7CͲu4Mǫ(' Alb`GEX gȪü>A.DGN@b JMBbbK2xHn'g|ɾ#H@0Hu܀:yHD^dHA 821O9ji):t#PGAՐTu:Cp:-,A/sn (7ÉQ5Қ@5isS))Ml2HnִaLC̝ܹ.x I:\=?X O@ѡ{qOR! ]+Me0hE9oR#1Oc($淊D,k^*lV`FE$ <,:#"P D#^*ela 1 CyЮ)YMA$IIb;ۑC2HSZ$RJpδ lmko-&$!5K(5%EEB-lX .n){R t tDc!YUVpŵ2Ĉ#1&ԁ_vI(O sah .75ܩhbtf[s-j u-1"q C dKIbFJȀqn+0E \!S&3̠:. "[0Qfd6CآI\ABØKҀ@ C-' B/ Z1ɱM* mAЩ3)Z u$#Dh2G: Y # \&HGQꠈ@N9z 0F1~ hCDs iR:C2j xH-G52h$0F#$tל "aBCڗ-([k0Lgd[. @Rv.Xs,q 2@vQnx%=f 6Che#%h!_@DhwZiYj3:/@ýqb BbӅF4\D N :”3iVv H0[VF9I3v 7[`5S^PQ4෡8P *$@D!HHU82D~$T9CI#zF֠P#E9Hؑ,P_!X ܌j܈HGL764`psJ:ټ[&E3#G> 4h:p{$ ee88pd(ȕ\uJ?u _L$* (- 7Iy [XLTT3ba $ʞ@7BP2`Jڈ CB3`Į\=pC||Ʉ'\ \8u2,p-.TXbp H|Þ0^(L@ X"$MY@bP(,Ą`˱*H<%Y4hM4N(Nu04[(4\ cȍB$.90$`t NJI,It́8=iJ tkd.,d2PK1 fc܈T [P KΌ0\[Gbı<01)̎`,| MPTKE$x+' OaɂQ0ш\޳"sM--hWA lM0 2%j8nLH/7SߡP/?0rB=PPn#S;mG@d4@, ~N&zXj6H<5U*z0C5,&M-h q xԈ]_UU_U_ISMkKbuրD:y`%Vg}ЌH5ę^o,g% shX`X%yWɑxֆҔ*o^8QJkӍuh@u~eȞ B3V!X^VSYex"apٖlb5"Rn}֐Ykؒ N [G7I *XYcuHKˁSڏ%Y ءZ "dH(y}فьhJA% ڞ W] mZ:4c8cJYڂ&C6mڻ[Vĝ\_$ԗYmٖMXܬxӢ[ۯMܔ0սUyץX[e"[X!@ʕ\-e9q T𘶕&A@;\e݂U^+_A~ÝZ=c 7b[M#_Rޗ\Y8c(yq]M_ H,K0S, ߂Uu=a`剂LT%%SAX£썝-FUb{ &!6bM#.%V!'!_F&&b][b(ֈ_b8--FbHos%YG-9c$Z8?< `Ukvbcl=^c76b%``Hb8~oc0_ Id&b 0=60OV] 4dJRdl_cKY0u%Yb ;n&V6c`4>Z.'aNn%{!fuH{KԈqR*>4aZUU Llbyhb}e`ac(5èҩ ]4jXeUyf>|:̈  < W4[y,U @"2 JM…7AƉNFEσh36$v 2=֡_ uK0Te jLm-?n R 2=CT#PM& [xb'#J\]\H8qj'^6m!kPuPEɦ3hs\Sbj񃤽h@(:E8~ju횄k5-L[8kxb6ΚhLVG *NVKP0-xO5%tdI0k[A n{1߉4bs+X++XXHW+RuPi{3ܰl !voS^BQȨudh/sF^~pppu4(H W|q~n Ѕ w?YɌte}   rbEU! $'(ppO0\!n14 89̲cwc2z3fEmғ9P2k):5s#څ= $s>X7W?c[x0 _M@WE%?l_Ѻ8cUwpu54@rl/pp3%btV0-ow|?Hc6 Wv wVcczg HqN_x%Cs텝pIv=n'Oxo;VXxy8 h@H8o7/ynp7YψFHV[6G͟CcMBvou?@6gv0_yEìa(Kvz tI|TXTx'x{v=p#8_ AeT\y{AU\upW 7ug_^{ڭbt guguGW{zGupW%wz*I>?c_/zxd74M&_UsTg „ 2l!Ĉ'RhtK笃ADB]ɔ$M,K*c\cC`ρ@* ` $!F R='*VUfUc:iA9LjӲmva ĭzV0W1:Ymsrh@!'Y ygE{tU/l%MPB^ y6pG6sDV{ХA/3څnuB)Hg acPLS͹~SB*؂69`kGw=x)&$!zFU}WLv)Ru,Z1-aiwugA#cN"P$Rc7j%AɄCib]H@ s :RLdOp>9tu2X\R`!SE"A(UoĠ}>r(f(\~i H)13:BӐ5ziF6Do%}-Hղ*gZ+T|!dUD|qib|:\-um.7oviTU&Rffx!^0r5) f`EՒD'Ĺ:*ǰU2&'AM:jĠ1(W0s9*T]R  x{ioK0Fs#-*0W˚jW xJ'UUt0,Xr *A4@4kL~c-2رVa%\H980ŅB0MuCDBCp˙dA( %CմFϐ}TEA@$ @ѕ èNjx8y0x :؂8M:̒8)%"dY~uЙəQ 1CKz-XbRbnMݹ.:0BMlۈis=]G"*UVCCe!1xOŞ/ýaʢf,R_"D+eUTI-夝:CA]-E%0dJQ`z&"::Ђ:b5^^;0w5 oH8Cr8ØC OhTVī@14 ҙ-@Ѕ vE; |!8P RA@6}KvV3Ѕ@lϹA!l_D.e.nҙFA|HPAX%,ܥD3ʏTt䪼$^(%AC: KnW%Q\ DE7A, Qid BH2X7EU)%0Cd&D%KA FodfE@HDTԆ3م-84HO >DRB1T?F:Tͧm% / CQ&[Y0 .BFIJ =[Zʔrf'D@fJBeR%|x B{Cl:T|&]NR* 1|Aхp}G -Axvz9@Qfg:.&ejgx.L(C#̑:AdC|Al_-UB13A-j$D憲|hVˆ6]⒊[؉ Xfר)CJ `jA&C(.N*1%0 GNA @X^2R^:gt]%.i%!}5 &(5 DD}%BB8@̘c$fQ4#D=(`a k :CHnHidhj9dԙfMY'@8ȭ[BC m?>A9:؜%BE0@C^дbOMF^FE%|fB ELefpw0 L2 'Ê :(AAmƢ`e}$AɟZp3&Cz1ZLJ,_l&](-XE@1(CCRaU1TLAO Adx@٦"?^4LA$:Oh̸liFF(9BTTS&hՉ9@],jj$0T:CT+$΂Ax:4nA[E0mN]rH26`SZCPBDI9x [RLEDQ:NK@. H!I ]Vom.PȈP}j6΅$f"DH8 C9C\@\kGeC//9dې<, dYrr0MkI1192̣ &j E<*O/x0,ЫƉG>mp%ӑѮlfKD(Cp]J^ytdAfԠ$0E0C9(B#1Ui!%8 FNy !x]t.׺Bne%@lWDFE@30jL-8ؑP(Y shxL2DTd/OVrЭB.KMjUЅ5rl#EiGDrX]h2C8Vn#Z!D1LN2D>GMP@Ss9CwNoDStՊ:e G7(ޫkF:o.D!$ 9byHgK Tcy*/Oz#D:S0$8Ojv&0܀@-5Uy>9\blsDŒO] E - 'I-_u0|h.hAf6Ymx'v9OϺ_SHH,8Ƶ!#@l˼>-]o =ӜE]+=|0Pfs+Hڧ|xE-ȫa~dݏ N'~%0(PA0+G`B<41؈%4%\>úxA(DRjT(؛`G(`?|η닦@xRD)YS+(S\0p C2?A/0 >1?ܹO?@8`A& p閺t K-t pQA:'J9u 2TeK膙k(0bTC͒leQG&ei,ښIa"@PA(QzԪUiW_Mz*NKŌDm)@b%(S3ji}`uJ|ʆ] L2t4P 73yK* :':uᅮ0ο27@ ?9p% (uEKS'ń^CN=4KSgC*u04-aF4sH'Qɢ:JK,9H ̲p:.PVLȣl9f-;$BKK08cSOJ* -ԑDMҠ+LTFRDuy$.ShD n'$sr(0<3MU 7F;QŜLQUq= 0$Ҍ$,s+EGD@dECˢf OܒMfCVZk5Rl EIar3)WYq!rk1%b5F@.-/ok}J0ۢ:b8 X9NhScEv)`bF aq,"GIb%6H>u K e3惽vqF&UmDhPǚ 7nwm;w2T .-acb(CU$"sjXF(qx>\nyFeu(KGTv__`91s`zsOj=jЋ 7%җ;!|X| UZq7"^&""8Qú۞xԠc1hRv+@ uQ:wou2"0OZ=Oʣ;V3b9\cioK~HE/KoF2 SƩl2˿s[%TDҧ^koH!ʘK%4."ti:œjY}k/-ƪ{"@+ť Bmo¢6ԁ8 0-eë#>:^+#?pT H/!.aA( ~VdsKe0B `t  pd>(PnE.d͔Pb â~A  NT7̰ fhNoL +PN;*rS!XqpPh0 >0Vƒ`h8Tj . !ڰ%F 1,pC$.JEn!ZF ;b /B٤s< (z!(,d^PNLރ^R,PqF/[*pRTc dfų/"?Z'O e汼%F6R>`/Hg"!(F<8kZdl"+(xk~~n:tGB + C 0t-l%B9 @A$B霌rre8)o`bô!p)i(2 obUXR ʠ݆!]:J3a8+%r-rڎBG-1A&@d@ &15#Oޒ.+9"N,8 -x7NҠ!Q\@n/ n;W#%SFtWj ;NL R닒(..2(1R0`" 8 :%c l!JEvl!@b:. 2tQ@D7adz ABRLԁ!˖, C}04"Ԡ*Ub^+VIr*U1`"Evf.)e\Fv7 ' ШdQJ&C@'Q=F dp62{|C - + %j4LJ?jE'6) }v 1-NyUMR"NHH?M, P"BLԀ±bkHN)$vHUQ(vDW [,06 >VDBr Ku^pԁ3gE6TJ2) Q/UCO[$R~C ZK`V,uVUASd R5!uU`WaU)r_I=H Q-v%V@P V &.ph26F hT^BRi&Bku1Y @FV(V r06j*j!, \K*\ȰÇ#JLD`%8ԅC&IɄԥ4'~ <9W˖5s\I!uK*]رѣ$QDŽiӦL.5իX#(G@`9rtbK]ќ[ ͥA /RSͷn F9m9weKblhE#FA:=6T`N,&[]3WMhAK^ZݰV{Xu:.&當Y6=-D\0 %'`IEd:]' 'oVYbA wǝ:pֆ:CB'>,9,l: X- 9 s9A:'%wif@y^jTy}0A[Nr\p2 @$:sN1:3yx"ć{):6v`@9ĤsN0@CY"dK:*A6 BUG[y Ѥ&+PWg-YcI: ?#(%gOzbEf&!e~$]ic3ɭ:N:HHطT&N(BKbH:fȝ1핖 CI *LpAj,@  WamrIl4XXvUHiL_9P}uo|%hc(7,@F\2Wr/s\i=|U`TwI A`p+)}/D  ~'-4er09ꐀع|'ǝ Dɿll*s%yK.ǎ c@(>pL8FI.a]y}k]x6~󯅼,LȁY~Cy RāG{q@6|.@AʜEM L(AQ PGGPڰ_ErnK8.npN\C*:MĞ1|:A IU@wl $-PBvr!K@ ?iV{ҙHq$ ¼81Ixt$(n!¦;2c늌tKb2j[:H\ txVI,a"5چ0v6|Qs.A D'c)XTaʦ2Nb }`ֿ:BXvdeYR,;g6ehABfP#b +2Nq AB;Y- ҘC_'jLÓeSA1ozD= h*ڈdqB'-7'>H:SJT':D] bߚG~-,!ZAh&q)A6,`vO͡ IwO^ܑʃ 'cwH ($ PG Ѓ4!:J{ Py`ҳD",D*j[饞C[U ,is:>%7sɕ >Pa u*!BPPTxJf4tk-[(@{{t-0`"A-2p7*+LM3cu Ab/89̡CD[n`N7c*6 A8Rz]fjaoɹ$ uX>;izdD+d2pJ ?:YVBeĠpDg@ U&%сC01—,!8xءɐ儦p~FXdFDXW"C;r1 1JHQF$R]*?G jbFez1h( tN-W gJZ!p0 cx+HQM3"va4- Ep>CaڢUZ.;@0h3)7 '1~zĈ(2Ts *|4lswTXj20}E$Kfd 5<`#`8c4 40KsQ04V ?d q}6ypNroAqFqTgx5Ia&T1g(r]gr ͡/ۤHfs ґf$z`Ih'!1>ENd7H )#I tT,N!9' G@QP\Ӈ dG_d\HAQV 4s,2Hd[H^$Z$`^Fk!%s dXOiZ^_ȐZM R{oҚCfhL4 h17>ih 0nˁTB$@$zS%!|h&c !c6ԩO #bFg(H$$)>F+ 6 5 ]%sJp@:rCDQ("`X!1xsv {W#*cĀM z5"C!UK#O)9i1Z̀_ג(ubAK[A 8n[Ft븉ST= C!c=`m!`KuZH&k12"Q:\qEx8W&1s û"ԗo$6-3-B 7 ^k $ZAe{(!Tғ@ kdİW{ 1 P3!gf+@"J  c>v2731ZO!$,wHO"ܧq&h p˶;V0}YUT#+S<,ql+b*Il! >QYBT4b !!b;VLƼJٛ *6=2֯D$lhh4Cj#djGXȌ^1>d V &nq/} ,s 7 f<62Φ3@e A:PJ w2 r|. һ4d%I4@DXlH ~YQt )1Oצ%f G" e}iqA)d16>:S3xKs k1-46& fn)3]#AaБ\:w;kmVO 6o{76<H)@ SREp0" Q^3]$vn\R!af5`b Xơ ]I88Ntl! pWSJқ =E.C{8O \N1, }M k*sG30=1郮R.nI@$a 37yxn&147]#˰ۇ F|9k 70pFهK];I=N{u \`.G]!ZЛ =O>Z u 6BTXoz;!d$U,-P7osY.\.;!>Z>ߵ$΀!2?K3Е>F2C aqo0C$W6I;WomIb% 9PBB XC#_| C?<0c#K3L)\Y&Z{O<~ۿ?~…o/idJGX5XR;_<6 ;|C2PBF/1-PLs 4I!ʇnSgB *!2uBt/9Q]Gt%M4 $J%Gt9%K,;FBr*}TP {ET҆LԑsP /L9rDu^PͿ̊"P 𫘄2@[( tP!f/l8ǔNt.& PdqŗX\+e 8ɦT9QD4)eTrZD!ҁn)%]zQ%s65J\IJOsk "6b(*@ǹIjѦ82RG:6;%L+OAUn!>P%s$<%  J;߭φCN4@!UH&2vc6@״ o8Eu7FTJ@Sd0R}k!m8mrG~Y<,QJ2!L09* 䆾&g`PIy!GѸYeyzͨP2!;Yqz.>郹2b6 Y0NJjxk( c6.'p"v8ޘީvu ߽}4MeыD@H[ΖsBtEjtm$&5z*|g_X  !jN5I:6ԤFl[d!5ע,n7֋uLVC\-DVpD.$8AH m љ:t@|fŮ'McfVp")Iz#rOk B2׳M`_bXb<-\B@u\/lrBG%b܉:dR%`BPlcql \G<~` Q0Y(=_t җZ˙q&СL8:c$ :6!DID(u \/\0ꠤ:f3%dQ&  q&BdKD-b!'afBg_Ӌtr&$SL B:0q!0#%Rjs!!d0. g @Q2P@B !g`zE::L gѭZjSD))H$ ؋_B#Y-:HE^tTY(F=Q5 (pNDj-:U"P/hМIDH յ(9BV 'BڤԘ A-|)j%mIT@Ef~3",͆'ҁon{y=` 1[# yԽjH/,hThyL/Ba] eSG $Аibb9qW#FBQcvHunAeqsXB0Sךb=fXfQ 0ys,ƵnI`aS" tČ.RC'4+dg5LHplt"(CZf vɏlap59ncd)y9#0h\]E)`):jÌ1pT8-ґ⚙y*P!ϊֵ.4Q~xd {)3"݌:0|$ ElW`I|L2B>6IF~[j< W˘'tɭb:B0;&\CRq9tЅθեȧ˳OGm`v3^{$ allxOV"FȔ"t+%qɥf@!Z0F*9w\E1s݇tbШ@HH?'HOc rze ?)jH# 2#HSMxv@(a a?9.H" a8@-Ȭ C;,!\;k/`jD@CdtA TBj9C*` C Ls `4td< ?+r(p 8j48T^*T2V [`PFN;C٥L 2Rd8.5+ T$KT(L jXSP h,V*th賏 1>u8F>T Rԋt 37^$3JI7\*(j$`$H*P %@Cj4>b=*\Pŏ RRm#ؠT G-Ȃ$0_AϺ?8a+0H XH€1 _sHb H =\"!Zۊ< $ȎHdb# H01H<ʠj @S 2ς0X@#2ҝDu*舔[ $ G_+'u(v|T (CZEIdˎi9FIz'ZbɴʤL۲Kõt$Mq D++G0Tؤͣ!;pL?B1L٤/ȱH锴}AT0Y#-Y &=DƯd,2Y^PtN DLͣ!ϟb<͕#P'By< JfĄ3@-EFQNN\жsجTCdLOf|PuXi7H,Rd"!5"ERdѴ#%H'E# ) R"AH+R0}R,mF $4ˠ<Å8̶,`M:aN:`åʜ۱`'LpX*Pzjg >aÌޅ`^XaHhЗh_b4u0 m/N2P+vb8na(c9]u1BDIa 0\ -3Tb(v++8֤8$8 rB^4g@:F d!$Z{Jv9c+Hf*^ RKM\3 ^`pUr:竆sgIN٤Fvj>j1.kQ."D FVnV N/uhW`UӰFkjk-)"f.k^Ğɮk>lZ(a~6mFmtFmFlfkfsjۮm&kmߖk%02.F醡p۸~/n&nAcJ r1>om o0[Co&oͮZ 䕾V^vZJ;@'ppvmo pfծtvqfq-gH 6q^2uZq~j_KX- eJgb:kJr#c0'17s1Gq19 i$7rpT-p%~ngnko3 4r1p5o r>!GrTrD 0)t\4p_u1OD?OhtM˭p&E:5Pxu8dc r94B pRaAI {kM0$4H:^h&x699NE0aU@E憘avd}ޟ3fZ_sw_e! +*5UFswϲF1LF>23_i0hPąhWrac IYy`;:JM@+JfXP%GuM  P)FiGÜc0VZ t,zU0IBPt3GFzU/y rch0<,[贆 ݬVXx4f0C'HhP)SߖZu 1Hz|K3 7EuЮ&tDYXfN'vaصsx#ü,Lu. 2l!Ĉ'RhΝs\$a"0ljW%̘YҔi-bPg霵[UPŘt:B8Sݥi5!MR;'09\_!v:\L KxI/f ΠӫzRƄ¤.@ML)f˾'?2e &43 u(AӨH"@X[Ymݻ+z9c :bU32?;x/!3bu$MC9e_2\N0):S3\LB5UTMV=&:N!PV2@qD @FL@0~ss:\W#Fa&c_MZd/ c,sKt4-ÄP1-QFXEVal)lti!VNR c% s`9^GYQJ::yaBb A%R&dDBOt!rTe s@ P(,nt)&SH 6h%d *xYiFzKIܢk#|L~./.Q#:"ԁ:OJTD-aOFoƩP/Y؞CEǹFZ( @POH.Vq:Ц pde<3 U:*(:ʜb2oh4 dN^ l\v ,u3$m ay.(=N3`@B@#q{I<39\, nB r EAC 0N=Jۛk%s-NIoL)H^:Nѭ89eUKݢlqD \0a)!ӞBאT|&l5 >̂LGA  YJr P3b@2V28S(b]1ANeb !0:D"t(<`PB2ѸPU(c:x1Jyi! x jH3eOGH&Q!걐WΨCL9w> )-"t!R(4iHB@9`qi)c_4#*xBhȚJ\Q]&jDsDB( )t %70F.. )c:c (:,S@'z,zy y"1-@K1b!܎a ;i;E7UB!OCC%1K@P&D!9܈WӥpDffl|1fte8ySzP2=Vӱ0$JAk&jI@2 5$SHVL:p[CA/ȟC,5YΒ9Gk_@55|[kVWC\ҥzzHeW Ru 'yYPGXC ]X'vodƖB8 E,(HhF:HP֖Ҫ!RN$EjM-q K (TsSE%`tOFb~A7ET`D7dp hA{\!=B|E C|I CBLmFpY FKBD3/LĨ[`9TDBg.ie%A%d)QQ sjE>[%90ܞB%|evKP@@l-EZ ȀY~.=FC!]F $Cءh/-TH,:*)ßxDjZl9*HFhF,-tR#(18~hL"wt ħ䋶D9k ž4HGB0bl^V6FJ̈́I$i,utr*w,4$&ec }l_D &kDhD>V2^EDn-F\;&\Af/(AU(ŗF-rU-̊@B& K"NA$ z ^"q$ 1B4D:P,bD{d~fD e C؂Sf X((R|ٙ.@ ݮEAD+NF`X ^_MůnDV*DB-(JdhFR6hH]c038#$u+DPg2B9#U! | ]d@`*pø]1<12,(:ЋbpxĎ]lL)_(KIqV0UPqΚȟe%GZj "XC O: ל Xè5_P0Ӿa0ЊQEqNK˝ҶS\䙩9G @oCf rnDQȿFHB&t2(rt)kEpU D*'6]5d0*C.2&7[Ċ1QBÐ);/qļ:r$".,2D*CO 5?3*(4߫s^(eG6-C01Ij=-+Rs/:O@@)/.CGM$AwM8[Dss)S^Elb%2<t &ULF\ks,_@8Y.ZPUU@@!P Rд> D ´UشVm5P_D14CX;F#ECA^Q[DuV^0ݎ k54]!V{WtM6VӈܖE~QW5WeB$~F6DH^B/ZvSL`%)&$LYt3 cnӕ{G~NZ54 =qXR/=g Mau'_.RsSGt1&H;h/>9[5 HFuu ԕ4Xcϟ6f% %Q-m(6ɖUxfa[P(#:—mE,TPIw jB;gC X@>|9Ez8%D#30 eEBrE첦A$rC@!N}|φB lQ@$up@uCN__k/i@hkXasYTe ㅊ-@Ei| -V10@I9%UD_:bSzM*!P:lzD>{垻׫QNPq7oН8@A$.=[XTHi+dLE@μ[ ω]a#JiR½nkrE Wr8fdd @D0:svq T$A|I J DLP IB1;ecꨄERuuEdD.`Q"@An8bN.$P I2|Ƴd @g ƕH %( OelguD;{Ld o܀d 9ɱB&T&2Aƈ:Ae&&AMjf!2gY$WjB3Ȉlee9x \|M9\#`-bJʤhR_'Z9XEݰox 22*UiPUw"r~!"01'K¥ "$32ZFpdg"Z Ah>iٲ)J31z̥|'lqv-Rt8@2p`ɱ#Rыdx+ =`y! (̪nX 2Mꠁ罱.K:8HJ);[s `q)E )~Bo`@J>[49 kU{Z1;QN!` 5^aA/M>R?-mŁ&f]K̸zP,ZWHGDzXw[]z'sǻ|;~r̠E[=S(h9Rr}߅W  .d( NiipB>, oiߐ5~ L?1d9/yڂAH2!b 'm2kdGY'`Y/ۋH;-1Gf}[g-q~ȊBî-4w2)VհF1כJҗo=cAϷ6PRxz1i$C4mOs cCDN򲽃畠_fNbT mh%%4Ȑ[;611E5FocCmò&V}IryFI6A&!(; :EG0&et; 9D%'e}[&њH}f O?V>~@ {B wK`'{~*W;gga yofSwvcGzW  F 2Ew6mQxW:sA&Wr,8'ږ~H2t.Pstg;as6oFHh BHS7xdĖ ]:H{QCpxliwezst 1` Qa<4@hUW#P WuK-UC AAYR20E8%5Vl8Q*0P"84@N4.T`ur8F b1 Txxa'0U [8 NaÆR!_zT!$;H 8XuꐎOf^Z13r@PǑsY93l xpsQ![^^䛝8~-Lʘ*'N-_I ;#N&T@ `MxV)N odn(wQ4~1.Ln!.No8]l^WL1U#q )Rn>.tf;Y}׮ܮn'A4e_ueNBeRZ3wC1>ϧ@ 7_ǎI:s &pHWԟ*/e )N`Ú \ c`Q/P@'p , WC t>V1:3o|?W`9 \jI0V0A>rl35ʈn N[/eҺoF8N+ʯ*}`OƐyK7`KXJ֯v@ !q@@ Dh@ c"D 3h*~RH%MRĨ. A0%t5*<@ɒ"׊I$1L5לȒs* &%u.!F:.@* #+@H+ QnMGYʱ22{RKJ`Nb HЈd3MGbfdHRKrd^W_SDŽ)C ĂL0BLs5u^5H& @׵t6\qG"F \9 5b ͡89O$;EB&rM &p8`ҩ[ `itz얄 cV[?!\XLib 99&vgMˑQ hfp AVViźKz [4ɀs߁ekǽYI#tȉjyT/koLǴ/&<ƵnŤpsu4>RnƹÞHsKY'qHNoi?ϽNv}ywJG#oa]xۓӠb` E>~GpW_`.Ikʤ_ٷο׬@mYD R`71!8A @覎VЃp'DaTPyi@PBְ' AtІ?"Yb8pm+GD"O"1$IbC/\PWa3H ep$T E-g4Q<4ԑ6<9.!('P#11@rЍ~UϠԩ5OTN$:-]7sl+=G͙Jƨ*kGAj\:FAv$b\+Rhkz rlXPlf3K XJڥt=,؊O$=dL+kٟhֶ+13'$)jId˙5[,SzWc` `0l_V֦mt[> HvK؛h{Ut̒:_׿-]| `Xk䥆p%$}e{aΏ@yg>)(BwgBS0sЏnE2HWAD#liN͗gE bi,"Q DNX ufb6Cȵv୩#F `;ٖZ6(v1)tmlO4fᄵ׽Yuf?s=Թ鲙K 0Gnߙ[[i+A[+$"PSY9Qx2><d1os C[4SJ}JիXjI.RdTM̪]˶۷x C˷߿) ܢ1[MВc CfL!Jd'f[yC9ϖB#M۸iR̖sGsST4A❅+_bbȩk~1wJn藇OϾŸO߯^>(h& 6F(a~Lh V((| h},&4e6X`5[ @ę:Ki "Íx/E+s |b6SZZ{k,12kŢh s^B漉Z \ T'c،'6٨֮Rj8MSF(mes:#n"^ DLMGYǽPʨ2-#Eȭ~kaųYv /;i󭨥Q8e@&jESJkŤǟ>gy U YB9 J{U@cDfXbK]=X9Zf爖?JϘ܇~!F'_k׽/oMoE Lc],Jr8$(̀!ٮ2A,P=XAٌ31 7B|W(1 V}laJd8°):|G 7`!CA1%>z"+Z1_b8"2@f--n,%b hcV9:0[DA05IdTxA;9(xMXևpQN aJdRHl! ,}R˞вlŇ>[29J 9@x . ܉645S 'f`:Z#E| 7tś< 93<~f6Y*" ` he)lg2[E}YĄ0l+ xFA6# 2kx>3paY)KRGv*)_T Z&B=t &-19J4OͪJI&Gղ. *:`@kՊVfle%dǟ$^KּeS$A a"R |!Bĥ_1Ma'su@-$P3X=~$7u`P4B6ºV/=N[cd).9\&߾e(BnY\"#TU/3Z綥1ϥ2ZP3zr u 0 7oPG`$@hj\CXElA*̋-Ab$Lkn cLPC,⼖jBWb=p~U_{ ~t`cW?_SLbIv_a,cXHCȘѷV*Y9n1y^k Ybs.\Ő>_Y%4B_=\dtz%y2*nѢ*:v:ʴؗC@> iXgZ8f ћD s I0s]"y_:8NX~qt(>mŭf6DmBߺun"Nߘ_u"0~8l Rzα4H}s`oD4|Ctr26 8UcmD _԰7 k^ O vtUt*oNt@gz "O W,H.*ɸԑe}Hzau}-ڣ%_-y 9@B W Dԡu9n 06x `B,򲳊kvRrK@(N@X2UyL3$`}:%i)t> \D էWp}`za)`}pZ@JUץ_'p xVd0vBBa Azx H@qڷ ` RqOepmig焓Rqu~'W\}az) <!`Jp( Gq C' 7|e~vngpF 3B#0([xw}d(  P'xS~) @d"iӔ7 `Z:ȀX8_M)"L0VW=fUu 01 T` 2z\6HH 5 1Aa}*Ɯ ! Y !7 kS=wj>dW^Ĵ3U@ ksh P a֑\zki 0s A[BcuY,fϓ؂,?S5 e@zp= @}!ɘqIyp hI sAsA4YcIݩ spC1 a۹«pɃWM9/֠` ii par$]}3U03 ~ ۾ m}=qIj `@@   8aHkp 2 I[ P@ݸZ "^ љjwH&` `u=BL9Gp zF/`А Rf|@ u4|'FPҬ0uA?Be\ץӆ@/ E9P ~Cj0@`,ԒFmߊI@ ˳ `SOgrd!i|duISe (F Jy@X] 4اz2 @ 2@ W]"2 9qd cxuM0 wnfxaP ^000DOh @'﷐60hm8mx`o~!!r!/4q珥|0O SMPPǛ OM}je &Pw`a/6UOmh+c$/&S'P؆[Wif(ĀF g P K~YjvF#B:O,F˅/Ðup vě(./z2DğӰSu X"ίNPD%\tÆ;,9 >tNA,CС3q% xN@+#TSL5męSN=}9 P$)IMD>UTUtyiJ#LyFy$ح n8̦Vś*X`9El: ӽ= •-_4R̝=kZ6> juB9)L|9Ɲ[7.%Pguķ3/F|*_͝?.xLtƪU.2ɪ8GӬ}^z7^_%Wsl_Цǩ@h30AnZ' A /p( O]+C OD1r(E ?EBFC(j$pG!oH#w':r2$HJ+m*J- 3'*R,$S2sM7Q.Ӥ&s3OD(0ܱM@݉nOB_tQGkQ9=\ @EJ7ʯ.T bE%ECE5&J@MS Zcŕ9V5mu:_q5(^M1dԱtEvSTU)uрQmQfVrv\[,V;seӾ(] qQɄgA^@@FI7AKnTKl`@7ځusnA?e*TocK >@N?JTumdgNN%s#u%V%I{efl)|5V[>&hC.lʡ~[K&la#/[A6-w^5YUm *u;;p%.j6hzŦ2m<*5;,[u+\=:S}HT[HXs&]Q]?CG|هvςGxJgsR~yϰ؏Ǿ;#1}9ɡ'^%ߗ4܎ۃ~[lHzmE*?ЀD`@6Ё`%8A VЂ`5AvЃaE8BЄ'Da UBЅ3G^8#$4anl(3;a=D!шGDbD&6щOb8E*VъWbE.vы_c8F2ьgDcK[B (KІp<瘧:zxG-ő\S%R[!,  H*\ȰÇ#JHŋ qAq# CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH5Ԝ¦NJJUP"zׯ`Î WhӪ][4t,3{nӚm u UfuUcAǐ#˼DVCsy,,.Nc3 XNӨLY`Y DUK$0:6%-Ry ɊrKY`fg9t`HXAii냢d@B W L^B Dk^i5R-DlDHe <^e@e(҄k Ȧ73:&Ж<([ N5h Z&T-U ^^:Qdih,c )cC>8ΏjiO(`@%DǝS^Pd#&O^(ߢBv`0]]t k^ :@ܢYPB 9VZӞDWg@2Qy רIlPԅ:ί#iVQX-Y-tf͋BqG9td݋;e hXpnUS6jsBL6!BAT@r8YN:s)fkrU1A4AQAP,eK d :7rCeERA5 ]M3 BN0P>="*Z~-T-ԛaI.9U{8AP…@{NQ0<n:RN`w"#85 î=aI0-P). }G2!oEË99 D 5'xA/x#ZbN td 8ȤSdB@z^CA-q( 9F8Bu<+:HbE$$w#MxYa gH-AS1*'PAB"1SP$EDЈ `=&A 5-'FisC#ΊRT>Tz6hh8PДDJ*ᒥr:zӉ@Ny:E&4H5P'X5P RwTt<5XI՛l`WJ֖hMZֶp\J׺xͫ^׾ur`Kw b*Pu"Ĉb3`@,ª&%o"֮oH1qZA @.֖u19( ֶe x&ܵ&61na@G~¹XT퓭YvT$;KzGM|{~__p|2_6"+w(//|arN C0Ȉ} Wxr׼Ɋbox60A!"'.lCf{5O e&WWS,b- d~fdRV 29c>s<9-ݲI\,7:@FSaMEsОtI4}A9}~3臔My1kaݹ+iU{è^Iv3X@M;{" ǺbM.*[¶Yfn :Χ d`Nw4"kkS%vP[O.sK7{f+"KzFȄrN5ۄr+\%%k[:!%K@a˪CJB,ԁہ\6099l-[#DJ#S(c;[ɹ $Bi 9.+vt$6/;zKy}gAjQKCȦ,v_Hb 'Xe|廻Y !kU rY_8w7οKչL=Ή$[ 3`lzsm *^OGyY.0Ÿ#{I1@B1 cfntɭeOSn>8 za 'Y}X"2s|!BOǁd&w'ds 3}l{^{7WsP2ɐ F BW A!"bUf1 Wqt5p 0 wz7}7'\ ~@ 29p !)@1!`C0Z@O"sQ~` iSIg20|vuyuhj&Ā Op@0jWP!` pZpɀ s[U8 x`p`01{؁\2*Pe q PO`CjpW()pp1CZfY  i E} @@wC0(eHphU0]Ɛ1XҊ it6ue1 Gt9 hHIYQp JPP|Pvm7Ww5u @&P~p9eH()0Flpsr k9bp +1b[e 2@81PƠ P@aqi)G dg69IYNw`RP MH$9 "I%鑈Xp E20| 0 ct7&ssruipZ[exWi!UY6Tn)ii f`jpxhZ9Yh(0`yLx7ZJi{` ȠO)#:I!)H~<@bW:7KJP O 0'IyXJZ3 9WS:"!ɦ\) J9DJɔ&)V5ozlQzZ ~j(J 'qWU%!t 3PyZ)z%qJ mr같v骭*:-::QA  $fŚ 3 TPZcVDm zJ*pjl5j{je:g*(I:.q۪ݺzt);)QDҗ^}@ -:J dZ,,a,q z K[9;-ٳ*WRyS)ʢM[O۩UYk:,{#+e Q+DE 8˵궹ʶj~8 8. *op VMZ˳\۵A /!4 k [ +/KaKjhʤ${fJCRVl*!*6A aq˹>;  W*n30 зKjNK o}n{K;3[ZkỸ:K{sm^ *LK߇:{[.e t k֚|:;pupBuK8*8pxk&<%|)\5)!j"8- 5W @:I*:)Z`,Q d)|BmQď:E7 j0OiaS+fܔpmǎ;CBS` V٩L*@ 2z>::L?E5DŽJ_lRyR\*P 3N4 D0 ʼh7,6|U鞼;~r+vw W4@3 \G,g>͚+?^ pG*px Z't3nf _  -G0Li`ڛўK |>$8 9:|9{JFvg52Mߓ`vǐUW Њ0z! 0/ܨ( wJ$]tmV]ӄjN@ DPB >Qs-ZQF=~RH%MDYʔ-]SL5m\yN=}TʜETRM5TTU^yV]~EXe͞EVZmݾW\uśW^}X`… FXbƍ?Ydʕ@]:t=.fԉZ5\cΥS]յm#V[Qk_q-\r\:ݛtB@Zݽ;G^Vݿ` ǟ_~0@$@D0AdA0B 'B /0C 7C?1DG$DOD1EWdE_1FgFo1GwG2H!$H#D2I%dI'2'Js,yJ*4G'I0drL24L$TH6$K*2 !, H*\ȰÇ#JHŋ3&Ə CIɓ(S\K,cʜI͛8s| Sϟ@ J(B*]ʴRKP-9]tիXS֯`Ê:^r}u۷pĠV1^]벭ܿ Ko^ACSL*8T*H5(PEt%#z(E-M 2)L2RIQIAgpDs wtIZ&qꙍ4֜ꤵP gtB :$U?5@>fIc-4^3uHj$j &/&E #󓙾 HEGfLLҤI" /7Xt GH0}1T$w&$+ g(O4t YC= H"HL4%V_4sD BA%y\2U$ 5w-4L:LP DȘ@襎pq ry</Q# Dmg|^s(C!t;M%9z0ҁs%0'aZ\2GB ~L2Khּ0T R7g WL:vD O@"zڳ/g>~R0" @9A&@ϣ T=Ј:ثhE'ю>$=I:TЀ*ԣ ݧ8#as&nԁ'pBjaGhAz󧺃x4A$h+t| X4QaDzs:$e :IJrFBU@Ic/$O"HTPCeU]Ie/0G$]s@@ slt'Rԑ W$CVqEۄv~ʮ; T t|>5*P:FH 9@$ȿ5z[Y1-5\$Z%Lջm?-,dABЀOpc[| 0Lw9Zʘ'n~ /2H9z[@C 89k<ʮFe4p О^g>/wt6@C@JxfDihsǐ!``otɇz (}7w} oP գQC6(t9n@ F9o#w}!g}O!:Cԕh(D@@!6JN(p jA$|6RO)'|sӗTH{@HC8ob(R9xhT [wOȄ"(J") Ԡ~.ċWchF [tw!Ȍ7XUd'胡 ɐPW7!w[0 5Ɖ86g|f ?9pͷ8H)3@XBX#!` Pnh 鑩G 1XG(6t1@7p&v t1} %H}Cni&=YQmYaf%*p \*gkPw~h{(|Wm6u ,aiӺJk(۠ Z$ @J} E|ƀ.*qCQʰ% ʱ: KT[N[|tmRQ ж,B{P:j3A7^d2jlʵ|[6 >Ib 1uPiꐌͧu;W1 ٴje۷3+cm&_룭뺉zpG{h0`׮)z'+'ۻZ+[i{ɽEc` @!R'!{0K5S! ;(!Li[뾺k Ecj`"",@'̿CkKהϤ} ) ,41O뷷e4*3dP'{O$0wD{| M wg;; 7\4ny~" "p p  4R<P\qOI(wwmU H?dLtnTQa- xM trj0@Ȁw,ضxS``` 0 PP|`WP=p(By;'t = | 0Ue1Z5@Ⱦl+L|)u`'pxP yh7k b:r<" ^SB"O@@ Y"va J M0 @r-8r9rN)vwvGePZ F@ p gDɠ5fbu?_t$@A*~6%0  KE`@ G -E@F ` 0m ~NCp 0k A*0o!&,V$I䙄`N{p/4`  t۹ !@W,k;`e~ J9A+"ĥgAV2T@ p 0nk߿N=HS}D Ġ{ŀߺɂe=B *Pɐ@tWWFܾگMn߷ Np q9p P)"::Cup xV-kE"PPtk8 9'f昲kB0 uԐͶ~n޹mtH΃֔Ràg,Q$"&l6F?T%jP_&kpQ$t=(à lI i֒dW@dp_P&P n8mVjuux)+2衊;G_9r:t21÷? j p p !~ޚ<~nٜ0ޒ׎;ΙjpdƮlyIݦ[QY@=kG G3 m ;kqe7wsF.y5:~>T4V33xLOC 12oAI/e9bOcHE:iH΀kr?5t_>LaN%u DPB >QD-^ĘQF=~@% DRJ-]SLDghTPEUgΒ=>UTU;*ɔS]~VlH9wrVZmZªInśW^}X`… FXbƍ?,'pFƜYɔŞ ZcAFpϬUm [\jƝ{f@!, ԵD*\ȰÇ#JLK`%Kt٨@%ԅDDc"'\)pABL $™q ԩɱ~ }rK:y2TR) ÁC`XjmI`uI~DzhӪZ95` ^1ݹ}5_t x0KQW`Z k,\e]tCh)8 .ur˵-vf6⛸: ͼڹnɕ#0A,߈/]X}\~PgoܙZtT<0,ރ ѦqqІ(bDr@DB@ -1fwAęcse8BZԗ9~B8cMݘ9mpl\8b[%"j: vPiz馈 !I&-xJ1 z =P:$Α S'Q1`)Љ'!lnv@ jᚨ-li!jB.0xp&آ 5dc!@2I9$1kg kqh~xPⶫ9a-׸9p'o(:ħT«M+%E 1~[HZD'[X9:c/5 9(NqNx6*-c#*c:X“T&>?*fd?hiۥL@\y mPe@ B!Z@:VSsJiq%\<`'D.SYE&5 NZZ-(-P5\b0>qZZAE"'{>]B.aV0(J嗠D{o}gs:1"j}Qw>C|2b8bF +G'(Kb]U̓.BL4 :u BG7`TA~&(m""XA0{jD[XLGLg#ԈLBx@2=p !,b3^M !e;iN!PG1$jT-"3H8ik;uuLlUS@Yw<"bET\tf 3Ԟ)R:`qXJTG.0I#9؅C kĈؕ= 8 "@h0Pd#`(6MAGAOLJ-X[_1C${KPa5R$x ft/z%nqCDJH[2TLzw!(BVX\Q󧢽t[y{ ]e饭%C|{oBxB^(y_ʸM A01/7*51ZSA JQU?)h0g)  Ն AKvJPu,`YT,?Y)Q by-!FjچԒ.ߜ6HfV_KP|E{,A a[܂f s./U(qK`UH3D]/CtD6uD# HWUuV*c NB+05(6i:"^ chBJ-k?z!S>`[|pqb6!_<1Ί֋0lᄁl,ВHic"E(nMbN!-D 񓟛bs`TP=D%RcՑ u!pd03'|&01*T30kEe*i3r«[Tjb'(@FҽY8ܳ\0  `c3)~vF $aȹekʗ)q5p9vpʹA ~D M߄@(ZC}W륖@K"A;¤"_^;e1 1@A<5M #od.!T_A)5hTbxvQ;6%tFwBf5`?acW%f14TC1c_^+s p Z Ugj['kZ-`'0# wpiGHI,:0a >B}P ,P{0&p:*BHՅWm,W&R" 3B^|vBagz 4?qPNO7&B tGcme1 u plA |03031n2/h p8A}e&FrE ZY(hz7wQ}&$P4xb+T 6У@G]GfT@S`&4`ȇ!V q~  >8 5N ^+N0y=P{qP41# ]p 7Gt$yP j8seZ9 *3`CRFE ~(ca& Ƞ: !@iWEE`q&-45QU&=uZb:-B.xE'dEߗ?E>v0:S` h&U00m݃j]'z'b+bVx0> ĕBXqD6a-,XYi^Qe3jgNYtE ސ AN1t>S:=/0sr%uymØ.GZa Kgk(Cp9N>Џug70:5\gђqV[, p)9r ]g h0ZzCWĜ03XxrTb P@r6fZՄ+0i[=8KB'd }gZBV b@V91fIq ,F)gUgEdWp^WZB\:=`g5]w!{^1Ѧ :idc_&ۢ6qa[@_`gs|"x) c|Ca(Q %pEfZ'zx>1<` g(p8Е:bYOq|LAz&&PvڟBa9N| c,M-.}nyg|@J hujTqc%k,|HqvtPxm&}⒯}'Ӎ *bOo 1S°A1C\C);)`77rq pV#vb9E:!Y``g0#o|'`W?!p9&p d Q;T.pVð*by'X&Sy ?8"sKA /AK 1wXzkJ7o/}JB`/p-0LKe-=b;?>bM`Es+.1Z|SEiw$&gW ߹:b7 D` NC%""+= 0dyzrԫ$0h&{Fb$p ;9`еhorsG+$r{orV _CZ*Vy_GP%zYJ=|VlE(ZL+NS$2)#R1</':O1,;:XC|a)P %\#A#+A0E  nqo !XòkI@fK`aXFҍ%nkAG $"W v}$ CMwaCWԄ8B~5A5QF$mB`"6]]|Q~*hYW>H[1L);m^ h 4vɍ^%mR2 |_X[ ]'d~D~t8.Tؐ Fs"bܰw?BQ3 (bҡ1Rg.Ve9Bۄ/ȥ\i@(u3-W [ |Vid UMz."#Α%McƏ%d:5n If:@ c0S9ua a4fkvzsKNΘsNU  P9L.o/RɘY;;>@< 1UuP^Q5 \U^hb}cԁjtPGMx1Ն#t` i>ic~[oV>߹(SM/BPd340䏕+d.w\@V@PT(PP`S ۲Nd`׃P[f[A1c!@@C.Au J(t -DHbFvH(D( :l Cx IcSL+iDN:K,CHPEEPrI>dlٺKK`42L1v-BKeͮM{%[@/,!d`1d:G7u$lšԑf8갦SsnA7)Y2LTpD TbNš$/'"(:;#k'ιDDLWUYc23!3[R ЊӐ4@)>MO!#-( wKтdE%% )w4Vgפ/U3$_u.%+8@b:vuobV9бK, *"Gi"8jT7V8 /E('lwWT@WX[MJtJǦQ#ɒCApF,;9 ,6*yPciWv<2@ 1Nja- FL !&JDDAYK>PdƓ r `_xq,͑jΙǞgm128ܽd@D&ih KYI^9/!mޤvn{t Q%$Cư`I?z-Ò=pBB|ׯ oB`8>i5MS hh`jt#ėMn54"~t-Ј! qft +K NS( #DIU ^ᜢT478!&{?llZ  61l,1©t-Uiz0 x{|5:9ƥ O dǮU48 2!;PGɕ.*u[cT7֯h\#W  )3B9!`BmN9<6+'}D_%0 !\f^* %Er2Iha@t4P"zS  5:tfh|E""T$7IKvфPda39*I ZABPYT*(Z%-tmxG*'Ȉ9R$eJasp iOV?AJ ( &l:[ e2IL7֛1&GC:62WDiYH fDLgC;9QPR0Kٝ:l D:Hejfkb/9tkBzWK[Vv3:ק%0Mr&ԥ7;l>P-~b !Au%\uWI:X/M֛L&@\|4fH8VQ,@@X,3oFƑ g:IG8Ŗk+uyt4LyOYRqZk+VgDdJ6"6EPؤ' jKC"Bj0 (:P! AM8@p/kX\P MkLLD5uұP!LP p(_IWŠ(=fP, k%Irm$0UXAWƽEʋib_M9+R.$Fa &=opPz~aĸD~@_X Qi@& X: P!  AuAkCfb+)=Pk&̆ $'0CBրJ10lR$p,g>Ҳfnmp5@OI3

ڀfb&+,΀ y=WN8OmDBIp_B.Йb/5&x43IB;l聜8ЄQx@ᮆ4[`;%)^mI, g,ʘ2Zt%HyF<!@2Ihh gT1 jd+9sx[ Mi>50,ɨJY?H~HZ"Jtäh3TKO<LhD 4K*ƄXDkHXPAҨTADtKe0pdoM\ubDHੈ_2X.ʔd ,~鸂ۂ,Ȃ_Hژ:l[e jϤOO LR4 HD5 2 t4VQ H41X-\ΛQ EɂOEP Ш2t1P8} A\ӁJE$/ TO ]UU^UW(N"KA H$8(R`3 %8 wT-eʲnٱvW ];Il l^_ ;#zԻՖkZrz:~yteݮVzO(euRJ܈MI#\$*i*/[V&b F:8Ffih! fgI _ |I< 18E83D7MOLW_FK;cXT2i KP p x-P[ZP[w $k8-.qY1 骠0{/u_ވYNpBs@2P +PAQ20"HcbyJOrZ N0 0pMs9dȷGGcB877LSP/dȦE+XAWHEuBP- %Hb&q =0P4qtLprYPa:S$n4:$;VUORi/bqG Qu^+ZH`M0KKhH807el!vNg-A .+ǖnoAGW:}PVЙ7 ȵUB[ Z50c?+%0Xcpp YrnogwzQzw:(,NO%N#it:03:)RU)UOuuueCoжLzLgǧz?xsn'ҿWK)`Q܂5[WڟyBgO]hHcnm11w~GTu̗ m_wK(uЂdhs}u)8t<tҝSB 2l!D'Rh"ƌ7f#ȉ,B݀r@J2i&Μ:wS$KdP%“H:Q8T*5ӫ B@ Μ,ڴj)ZRA&`*LI]z/6/8N11l4A$C՚S )7V!1Q0i޲mHkZܺwxMsܔ*̘%79򩛥 Βf{s.2sniЮyo&sҙS-KU.jt5( \:{ v-茣,6&,葃z@dQ$qYbCE2!V:(s:d$QB䤇DВJ2Q6gM e])%TbDbL 4UB7]/f ]NPi\e!m'g&Cix u螌Ri9a A_t VX!@A*F:*A"ya9ciV2ZE7a|y-:[ ~Zq9l [Q&B*`P:mU0W {LA9h  CОkPgB1{X{ξK_ UO +iT jo 2+ SԱ"=*|BEk ֥jΉzHd7 BB "h81]n<=Ƅ\flF-[}x }mIH3 hW(qxtɆՁn8^иmV۹~+ڵ7BdXJdt[XBaZrZU4Z@NfP24a~0R uXs6IE'!'M!P@qa\G` !P#LFc. $hIJMlPpAdBϕ|YFh@xL]0[HB8PG2ف#EЙY`YىD!rVSB `bT-(So1A ~pA@hS0SUr8jA6JUVQ\% zyײtTaFJR"E*C P> cNJ B@`Jm 9HB)*NAΩ4é8p+8@ hͥԡ+T!o 4 h"p! *K&(`q U}=k]-H D_~Ny(aJ"S- s@ ctj3R/*LH`gu[$ 3h@ b.)QT$A ?)2`; @ 9Ԡ> `@ h:pTK!0qi ׍G,o]:ƼArP)e0xa¥2XoS HS#!Duhi@%: P1caIJQ^QCWHtd N^WS~Mw=i-RѴu}`KɍsEa O2f-LS1`gsڸa c>O/Gأ?ʅ xEyt^0AQAUiJ>%ChN0(C%Sh.Y$M:_?%B,WP$H?a$Mܱq%Լ0:l!%Bpl`IQ`ɝZ ڠ:ᬍ֡!?eB$C|:#>1UI@T:a8+^.#`w4ɴY0ܝ Mc9x:Bv-H@>v9K$$N-\CpԘ)YAXA|U? )bU2&Mi-d\cc+$ZJ9:"LbZ%]GxJY2xCTD BJC(%T.CP\yƝ-<3:-Jy^L/eI:I\G]^H$ k-D IZN:ȞDހ) 45^έ齏|` ,!E,SCB4~B,-ؗɔ$lD="ygi4`%!CV%:&H܂+ah]Bc@Í -D3 n5E\!'ɨҕG4 P(9aC@L'-29@@5DF;K=O]}dfi$BľrmR dMNr&q.$DqCīل ;4L^˻j H!-ޢr"gNuJ]a!'*,J8C\ؼSwMn6k ۀ߰cU)ҊW$3bbP]l'vA ,|yRo+eזi7{_+`thb/LL x* xC]BC@^U//7ɋCMwByj!`@1$x1̀$0z7zOܶJLU޸LL $^AW(h @Xzdr7Si\26p 8p<_5VLBT3Lthm*yЂ@X],8Tm1A8jɢihR|˝kh@Ώ{1h!$%Cz@0\\R/0:%YC'Bzن$-A b,::@&MzRS]BCѩC|/h.,|a{GP  f0܎t7rN\\y36ͥC`Ԕ4&A8CCP&Dx9/0H^M9^zPvėIn+HAx(뤎 ͨ9<9}2U./y ׏'uH{NL]F}9VZ:ĀdoF[\Uzt=A0FsNiDSR01 ?<$ɗ%PcIB +e}C=ATPvt^;!NS{mY.~([&e r)Ҡfc9aa ZL %\h| B]NIW]s)`EͧKTS h 돺"DV7p/\K*|o oOo? 6n." 4AܣM5Ƞb֑lF\[NaU#fۤo-'ho= UGt=DhPǚo~Qg yȱO>iA%R!O$ubx,]ԏK6f n{ړ8rgpkh-1&>Xq0u" =0#V ̓29\R==}|AX< tѣ2(󨤎Ċ"qEx& LP8b=Ō@b 2VRib=Row4dUq e EPG=Q$BppH|u"-i ŘȬ$G #K iH9qeb6 ](y cn%Ո,N PT_JҖlb)Jo&0x ] *&5"8lvfa9h3e85"QcҮxwLHą֫,Y6bh Sc7)nw[6es 9WrN F40Fj"ȓĦIˣҕDui>Ƹ'ZU6- &qX':p.sDS&uHxnVxF9|YKű%qna H1&ݍpg:Qc brSMc[(`@Ou#j*B; F0 p*@Rԝ'8І9X eA`\ҵi FlٝH8]P1YPGa8EnjiNpZK$2B,[uz)! pob0#u3]Y ̃g\Q/i D (pba$U`F*x~}`[ZuF5ЁKg r`B8_:qm5L 7-nuA:/cxP~tDD_v*C5)Uo1{]GnZPH2E曎$Hc0g^./TךHF#mard5yOfv~zgaQ.u@ߖ(l"N-DOql=Rؘ4??. 2y,dPLjIXB2bNDecH:o$ dռ8h # v M*CPm H#,)~FD   jA5`^N*k^ЁJ50/ "BTff*>,8 Y"1,A j$!&rN oM A ~ Mb"F# p dN$E.x D,'4 Dx>ChGm N/md |{lP" xVqVedVrp#ܞ( VbmȊ}.֬Q݆EB>Fa&FFP-vBX'p$N@-410r`dzrX'TFa.L'r ȋm~?\hP<->0l,! M# nNj֢b -$cP< x`' uB(Pk3}.L;5(Q4«b؏)"`'lFa ~2C%s.c_.N+y+OhIR19E.AN_DPp/azӉ #H'!Ee^f)&E 5F H 0@'U)4ɎP,Ҳ+0xar^<*'"BŠ!vψ3, 2bB%?|Zmh1a Msj SS֐N#B&5d@!!#IqXϭVACHs c$E3n֌h&B㮌Ajvt'!1lJ 93 j$"H">3GϡA&O&QLm:%B2$gɆ &8=f+;F'B>F3. +Kftf>&S&$k dX*ȢβN4! Kdpbdc>@Rm"sh㥒&"OU4O :K1&4$  &W+V.ރudе4S̰b T PUOO5!_!&J'[ȓqAˈ&SLu5qK(2S7t(PȨ80ӧP'2Q7jԫXjjȑ ,uCܹr=W%͋r߉@/RSCK{XoCc*`B C68bѢIwQ7buk#F˞Ul9ʩ#!1k+ZNZ bKա8l-3@]t^6,R7AJ9uR "uZfɂ!g:y7\uA%Tawu*&aBoU`$$~0Fl!c<䰰hl@Xr1dhʡ1Do4->iK"A# a_$" @(J`P?}יc};!5(̭o}TG0>GђP1 +M<sW z6@)ħmI & "2<S:"hjcȥBrAdl~EZY,"-9ZyX 9AR٭t͕7Esi+qw@G*IvMWFфXIdWTu!Ĝ S]G y p@VJ5U E,U$Cs:Mv:en ,c0aU3q_"M/1 ldC 1A|`)Z d :E0ZE t=/ "˺0:s7Bˊk:Ct"KI! \W&$ Eb5G*.a$~Nk[$ UPF8:&1!@I–0u^0Ay69J3,fe}!aܓꀱg,Iʶt1F51[KHol1( b-hXj A: Rr  ]ܛ,ꪱwZu^| 9Hql', 0B`!/љ:/cj;<؃'|Œ6~o.e>2XPH0U$3-, \=!5B.y ,L!896x;bJ;yDa3q$Q& ,v.6ĭH~0r'Hr7u`]!v JҦj:)u`JAxZ,s 2( 'DePg) w)C+!3ȴ >B'c0@ 6xO{^H1 1~) HV$y7sv(!E[ud^PXцru^Hf9tckv$ r.@ tlOpR 1$wa `"qX+ v]fT0_|cH!t g0h+`x V;>2L2 Kas@}HV"hQCVIŊ4X)2R 6HA`)(p j3qw4} /8T[%c1Ruc6.ix'A/Ha0 "spt3dRTpjlUG+F<3UFw`z4VGr f'lxXyGh]V{Ie 0NERYx4WG)X(h1 p8pّ,6d1bW\3#\p[< sp#T|8y V-4 ;0St-&CFW' :7UoM);v TE2hgLgPc"R4p.JyVx-HeŴh1SpH0S{2 . ?&%]Gfq"X LR?{7w1ɘY^  k`}ee;%fY5,%Wx q $91әpGhak)wu%p3#*& $.ҁza0X5haY&Jq ~xuʠVY Q UJ%oD@TQ0851g2X_$2 d)9rr"!E@5] `?ZRXIoL2&c1RK| z oZPkdʙg=A:R@B$d$!` bsAWGz T` `91P Z"HCwvږd# 'bhb9(d pwqf ꢨZA3fSwV+)Y9EEҟ~# a n .q+MQ\( UI6*7Nzq[@B,ׯub0\WK#=idV L'bw f xfHoy1?&a=0;0DY'EK 0I&B$ G[GQvEI!p>`^<ȩC CNHOBQf 99jc [lKOBd|R|كT@CѷZb򊟪z Sd s}_IҢUk&:,"#(cGlC qK*#\*#F92SR8F$ *ȃ s M@$B . #jj%UힱWQ/(j\2f\)ȢG<-i(}X)B[yݯޫQrx! ],?)AiQ& iuT@yl(=P"ܞU:Fxcc4P>uUPxE,vP.NS$i.àhxe6&8n+%j=0¸x@c` e('D, F((Zq>pCĨ77TC~-*rNQt;r !ۘ%Ȓڰ=cc8 CA19#kM2o#4 &>nu4NGԚNPU\ pݶ8-al m^o^q^bc  o ̷ # ] 9ru mZnO~<^~;Q OYűᤖp q%E_nx3s]qVr/q%0u.c@iOk'2sAQ]!*%4 ,+\J7"j!Ewk (o'qY`T\/.cs>&,Ae_f[\QPF(uA>N:+z%@  T`i!Cd  J5=RH>y9Kέ4J5mpfN=}d\PJRi D:yN!S"΄1jd&HujItިaAE]11Uy)E8Nō;$1H4ܳc*C#fK\(B`h.)5@M%+a4wIj'36&(Wfԡ;$T9 DEzW>TBN鿧[H LD?*Gr0a7&|zпvA Ȗ[DSRF tо'ZXo4pE"*!?CBF(&H`<0`CHuf4-%Jud1@6rrf"y1(L`cKz:iC)KZM7,)Z:e͟)p 6 ϑ✌ O*UQ)2[o Bn[8E c05Xa c2g;JjHÆ5!2B L0al9 iV]}uXXAwmhP_W$kߜ< urehnځ>`  w@KfcOm)!NQBn]V%@bX_XezA`K8!9T'J TSG[Z1Kh@PD& `cn Z *]vMbG9u~h5Yy@C1UQ&ԕ6ThF\љ(uhPgDB,%:qP.ڠ@.or˹#@u|2$0zNu}UL9s&K ib.Rs~~aI31i^5PuYbRpWa̭fd)9=p!1CbP@Ý 691amy9^@уm )AulxA!(Q@ k0Աu$#H:0@ha:q Xȓ?LsB? :@TQFē:PA}"^ $iZqnA[D4ϚǁF q| @h0CX@EQ" ,2UvF.:978 ҡt hK D갠@pG!}#E~CI  r47IO @ 3YHp(-BA,!CE `7;N I42^)8Ixt ! 4|Miz(a^KƦ …x"gP$ClTT&`5DQRKBҀ5EʀCVt@ʁBsibN2!`KE-+}tٖr91u#IGax/HxV]9& h CI7N9f!Z0Qh\EPG Q¶Hy>Se&WO֪_YGJ ḛTBx5n$!1FD"D!+<PS=',CDlIOS& ꗄӽd H%ĤE7{ÍA P &$RÞXdC'1bEY0D>Ihx:Y[Bd?<إ{klkk**V:X>Y>8H&za<ԐtG_|BBbfX I Z05yKmj ƨ ^JX;13+H@@asH[ Hr*+5乣Rxh8 ]t$T/bBH䉌2/P"QʜHJXA5A. @AȂTHr֚HbɵUT9 R50B]p\`XI4M\Ȝ̚p**CLkh3W#dTX(׺ ͠EYڌ>dɏH͑#Rqāp?5B8ɀBqXs*rN'ȻnT\5i+0[<|s_HJ,+= U&K29#!2DOu mOQʰ&|ehgt.,L chə/πzRQR#<ż,hDtRP MY #xLE~RbWYF(2QTk 1p#stER: bI,5y0@A_d0 HpI'x\5\0 P@PUCe QG]_[@5d`RuP"2c f+ U4e4CDQc4I{DmS~QZ]\"R\ӑX+CuMsXXdShfguV(icү:Yn Rh>q׶HG(&Ր KpR X{mTS>Szm#qmnX]q ͦFc4bEڎ8H}هZS5P9!P؆ou٨k[3%TdIX$2#!.0V[hRyZt0ٱ+T#1aiԆX*\H '0 B ½uؿ\-0 yđ?߭P-# &Rxv ݷ޹X[h b /+5_c[ [ѽg|u}%^(UEi5w%_h $Ɵ6VY" ]Ed8HbQ.c6dF&dv#i]@sJeQm]q\jq\sFg5%{#eePnf$Zc%g5Segq_yF\.ugƀ]hf]5LPKNd-yhdS_%`VgvV.g<:Fۿ}h=>W`M~i0uXz&-"Ig V'醽XjE~YjFN[n\X>-j FXimjўj^~k6~Lmd,F6i]&l._8 Hv.flڮWPukupk^b^U׎mنk_n5\xj&mk.m[>>nFZHnillpf@ ^쓤l7s^oR5 p]=di moPl.qplj Wfӣ]n|>e$'$gn|V~X1Op ?%AtV g&r/qq:;w[u#26ێ n/iH>gtm]J &5pt w sKͰA<;q;( & 3 n,E_,oV+QMtFu'>.3{F&Rs]vTEuv KUK\Y86@>m>k>t|V'Y:Ʌ $uZC`eJd1S%;߹N`=ɺ<^5/ p.kvNNrTX2X`Ku݁8?CfP ["gGi.USK¸-u|K;D T;yG +$9\@Ɇ0hPhȂEy yɕa(xW톬`QM@Of;%xGu8#  |Ks[ _y@`CՁb(s{3IY)\AU WP`yFBo d2[B ΂$3rs% d=k wM?(4;sHbɄ0,xTHɇ=a\irb"0 Bu2laˆ>q"ƌ%ZL#Ȑ"?C\ђ: y&E2ȉ  C]@w+F%HRu) 5uݲRAײmms5AP]Au0ew_pvlp[ԁj\؁[U@ŘݘΒ1nRgL'pLRu nExt2՝PW5ꈕ}׭tMGUk+yv:^ ^L Ǔ/6%ǁepy1ȶC ?A db: (3~duNeXNc1/ QRp©X0؂9d%- $VrK'̊7*T09dةw :]wQP[r eB9fBIJ$ :8s93BT@B (p v (2̨cIb2C- I0(3SsĄNNns2lBdzkH詧9 AM%C[b0̩0܂b29ͩ-iau6,tV(y.Uj]0L3 @)`9pbp~TNJ<1]:x%{=%:#EN prNoi@ c8p@E(2GsS|A$!Pa %:( %u,[R9PlTi%,P6s1cNNV96H8Kky{€tʜsj2؅ Ssu 8bՏȓ%}1L D9fi{Z~gԙt=[D$.Ma61T`@O}qfOZrRcUsjԝ <QB^2&^ 9q 7bHHG@*_Ė&Q  2p4jÁ)A0 fA"r<]bA0[TT@0@ (MTbq:1L(n2撌lQX u]:qp=*v ː t[!/pRrQ/zDTO`$('v dR@j@Tr Q%G}\ "HGDLD٨+T b$o3fK2rUͼ` A # ! r0!EVaL*´r2D sBBy3oqY  *Q0u2Ld#=J56lt1(-=rUYIx ed KsJuF䊴%HP74 :1:E8NW# |@ձ| Hα F^j%(iʞ:1K~ek"EmrM_=ugBGyv.[N#Y:jKfごB0T,aI}GeMTh&.\\Ft"$lT@&!fe/:I n!o TQW" nH O' RGֻYP0`d.x>E_,N ~pFaI u ׮Mxj e8~k\Y9D6<##D3xҦӛs],?ci@r  yj r9BU<cwkhyu `]n]~nL=\up|b[s 5|Jm˟8эZGt,0D_~a@ƻ߆aFNhUYU`atD.l 0T5ŶR@MJE :k_H8 b [HI TieNDs@ܟ }XBgIBK5ӝQM\ّ|WC\!, vI:QOa[|!aG֘_ˬ]b *\4X=H!![EeìL ax("m9̈v\D 6B`BQhCd&!'vbh!E ,^ZE9UaBC . ^M E'IxMa,u6&F$!h-=iD!F4#S5QBlb[ T & |9f_tMrNAcHdT&~DՊ?^E< DZ# 4SZ<v$aDa›_dFjFIoqGIíqe"Kb$*E0$@1p3m`B5KDN ǘC dD(+X#bQJ %5Kz@9רC݅Z%P_ vX#KUPϴZ3CgƄU5/$3 (DZ\UAke?J&TƳG@ @¾P[d`EM+Ԟ$m%|UBf&oR$A䐹\%·8H5A : ' a fxB08| zƣBLNNy ;"\TAR,,&%wFxΘKZ**R%Ă@2=UBiw,X]|݀R~.ȿ5xĉȽH 1A9\<HV=.1BX1T:Er6阀X@IxDit:qazhJo&÷"/-VKD»eA(JLH`q%̖`P ğ>ZL:@»U.[>NkT-ӐhFџ]ͤOeMfRX m ]]i c(*:6(R˴k@+F f=4ڰf8Qy`-ЎXA$A$0j+#+#IȚs$+̤`!A|lV@@,:9N vэ40j밂D8mxB XQRgF@Ph ^;uЩԸ•-oIjjūҫlI-6DIyIvp]E j A038#TE+Y_Ĭ1$_2v1r̚1NumBmDdRLU,ʝ:'V9 yj+.5MBҒn"ox J(@TŎH@F4уV hb}8]kI$ ܎o&o'CܪB+ PäR,(SID *̾.(oޒx)3t}I AꩭD|4шbuTkۭI {f}l B#Qγ`ό,1{ vKj]zk /1_Q d[צklK9$1lETJi1ۡC(P#FTiRqUZ! $2"+rcD$T֜%(Cu*"^.Hp)/&E2.'M.6D3cv(f425ۂD,K2HVh kf3}2L(;3s">rDC00@9P%IL5cPPsBewmOV2FL)03D#I0Cp?s!tߕFTF^I_G$aHtBA$Gzt[u`)<N$4 T/ٞ@r$tD("[u`O0%j-LSٱVH?63/8;4K!5B1`uXq5bPSXeu3aFlX._&a.cg K`N shse6`D0Cp̵Q#G(JnxTnj6\Xbsu̲Vȩ-\*\901IX]fX]IɃCiD ]!B@B4t`2$BuGiA ICUEP1iH4T^29m}om~KU)RF4@$vDImŰ>R&F0#-\AGu:BX/kˊ 1<uݏo|u~q_T6(B 6|]0#iFTIie?^RcaD<`@V8:NXKނ HGv$!W(JDZMv9v:1kweyfAC@@H/;v9w[p5(ʩ#tA R.ƜZiz#`54@4sut9풸GXB(ߢqDFDU<˴sʦ 0C0CS'=5XouAEH%hiFY0CG 3tx<+QP<]NDZSEѫpE\: 8L2TkDDE#c`|RS];7iN? 9wT UЫR2O םE)&a[} @TƮ/~)M %ߧZ4X-=1LEzD@,}󱅢߈8ܬZT <[bN 0Iuå}l#u~~:@BJ 30M4I CdnϾ$@mHpp]*8[ܕ#@\R7`At%@c, \A1fԸcGA9dI'QL`ECW,16ܭtR:dE"y,!+ $r :t@fպkW_uZ%o*nح955Uws*Ӫ#4fZuUqc`d6%Dt~$@\ :PcYmu[V:o<d>woߋ300%s$LX㿡[ySc㗭}ztѧyƕ簆l9c+,T?Թ@d칒in@tt !L`"*b ed/2!Oi2DKMDbТ/*.)HB 3'!qCf$sJι̱0*rJ. .`8-Pdp uH&`CAFI-t&0%>u^55 - bid273e-j fX ( IbIrd{;iJTIY2XlEi\t| Ià"( a#HX-1^ԹŜ$urݒl޾ eԆOc0a RL֖TQB0!t~)~YBP $1 \d.a>戼+rH&"٣+$>CHڴ &f?jYIHqN'uk~ ~TAdMș@ώRѺ!Zec-(>oD+̷p_rr )zR|$pJcq|W ) wX I"RzԜ[i8$Xd#>y J[*?K**#_05ա 0٧.g hgVBťюe@rC [18}?áY+2Ax(,'pl惕ˁBZd-Hڂ ^H8]!re`98ODCŽA"F8'Ơ E}T%f" hBʀ Cg$JBd&D"h XVAҾ@ns%yG%Jnrin/FCUŠt @.lP')s 2`1FʑtI$`V3 2JWQ*ˎ\&"$"gt&izTpKgH $[d:l*m>4I2ygT< %\[(j;ɤs@*4%D +Iv._胓Αh)pybOb#!hF16 `n3ED"a)YV0Zz) {D$t 'iY:-g5$xWԓQæַ!, H*\ȰÇ#BP7q \3bܘ ǏCyQ.(#\˔+'Vl$˛8sɳϟ@*4A@)]'SI2Uy: BUxK 6Kٳhd=6Tܥ+YPjڿ L ufs[MU:NNJ 6 CMlS ;t㳷Z㺶۸/92_0.u]ܻKN̗~0uĈYOyx7'̽a ˟O?-Z[ڗh1 Vws5(* {pvN Z h(,((4vJd 61V@Ӎ;⣐H&dO1tΒPF)TViXf\vy)2:a@tStY_MکeKt砄'N(6裐F:Egf2駠>D:=TD1!P*@@:뮠b@<*,70lpjF{bꐳ95+.r+)J kyr^%7ިÍz3:c :d~eAh= O@ 0萄i-2Лy|!@Q(gScm В 89/9@aDO8cN:E7 %C;-5XwKYw`luuTvA|[l'0&k Dsn@,@xn,7't␗XNw䘗fwg{.zY2z裧- ܌9ކ:"F== h⹿`Ҙv꼑Ee;g:- s&s(Uv:LA}]2U % -d?<`Z369-q̧\ɓ@u(?`6HDA(x9L]Z-L bPC"8YƅNia3D#X@8."R[xKHchM n%D1p8`莎x̣>FB3(1fJ BC:pݚ07%\:p K0mc*9tn~3~}{ P sO W.T2w\B2ҡ/+0''ڭîta t>aw>>_1 u4@ +!2-扪7x]!u]ɻ곾z}1{Akvӳ$.ޞ*Lf!>={WئvHձLo'z]Sxٯt >UoGmSd|!G!}}8tZp;4\4~~@]'#ggWWŁ7nv`Wi(hhA_&Yׁ~8IsU($j5xXBׂׄjesB~$:[8a!|@hPp$46Tׅ&H||E(gveoRR7X$T,‡?U8dfHzT.L⡈jU3|z(xhb"HȈC8Y_ET~WXh'Q`!v(8~uøH7tLi FQDe8e`m"Ae ڸ|x=XD e(!`mX[P )uE8 o׌ z !!9Š bMyg  y"#i`&@I3)w 5I!?)9yzbpni(AC9!%6 4~iU+Q1T@ O@˴'Vq ! Y w Uf)fMdYf2Pvb`MI蒸׏/"%1A_eAoѓʐ 0~dbuSU)!Pn1Vw j A$H 0]O{fw ` } K 9  j+_`kq e `b p#$kH4 m&!pȈ] x4j p|er nf vVibָ1 gm  ,:YfG灏[iQp dXeBŀm!qG} dSEUjq aa ` &_0)p @ n*琠{3 a!`>#ڨ{ JII꧒) pF*)<0d~7)PW:eOr V)LCZ$` Je9#Aex~'8%Љѭ/:](jtI'ƠTZ4*f*I(hXZ؊ѯ{brSXQ\[ ;&;$;eѱ)Za]Bq([\.*h034j ;7{]G˳4?˥AHT ]6M;D+*iT Г:,Lcg-)`d""2r# =h{.LS \B|ѱL[}`Mp$-)@B$߸\rm';e9k+II;gԠ5.@Մ(7-1f֙P8V In--0s=( ujk.ijr؈=&|! y?bUlWT%=6% c^O Z2&&5@Kڐ{#4W I\ 1c҉%Rt,ۯV{L ᥓ˝bΝ<ݝRݫOp}a]t9]!$15L7!3~ y!,,Yk*\ȰÇ#JTXku`&.~ |)$ɓ&S\%Kb|&͛ %,@y'ԦӦ2K=Bu1ׯ^#EJB,hӪ]˶-% ݻx˷߿%GI6jKIL˘3k,gϜCތְ`4`L 1T # L<{۸]Rf dcQȓ&0>-1B:Իdߎ]+ӫ[܆ I2/srߏ3}f s PL$ Ę -h~\r94&މ(Eő@tӵMv] @ym|3 9%F%TggK:QB %;4A̙T)嚛]N朓@0q&ȕ8Wa!:|6qAb€xR&kR 7`ZΧƪ[d%p 4\xz=btXݡ"(Fs|l"Wp$|G[FFnc/:1 I {F["\6{#yG ,0(dj-< S7.Y҃ +JDFJ2 ':$ Jh¨ÉB,BZK(T9h-:&` $mm୛d1mg8͆9XP?B 0JG']q#Gs(:Pam29i!E>sPB:at,A3!b !T+AC/E (.kpKY8(S8MhP0LU\8%jD͐FRLb&[w򲍼JMKT` 0D@[S6hjuFІLzF#F1b2k[b_FQQ:xhz'J tM2ڒ)GuRǡy9@6 Kll֩fĖjxe_-)7Nj fEjUі Ed xE9ڒ QeK82bS  q:2]YȐ~]QKdnKGgZшlQ*, #2oT4 Ti\OBl`>[o DH55rY&_bAVM*bLP4f >0G=Tb zJ΅ BHs\|BBT1ҖZX@- Z+8 Vqzk͹$!R^qH2 j `w)3"UEB6Vch-*D"ﮕ0eYVb[9,Dd s(})iH.nmάVJww-q iOsݧT1frM8Vg20b0sS0T^q\=Xg[0%p :Fz^UE8W6hYQLy2t;rUSL4g*xaၼ]]++\z*)0p?z. 6uf#,- 3:@xF@Hd>7]@gIvT!8yqIh (gؔ8Q %%6c>0]Y^U=`2cUY;U;rƒ"|$t\X0s"QY*6܉`w`%Ռi??u&0'PP-~cL0i4G }0ɐ gw(a؋A`0*#~%N''Dj? 64 fYRdUa %0Pfy 0)~ETKP>E)=áBBf Y!c,wDo.s픦gi6N/ `"`XZ(yQx2WQ  pUQǎ9e.AP Y_Z ?{Ј=]&ڦSNe>:p痃PJL@5YB>'@'&D-

[VB)k 4je[bҹf &LR% ^[;:XM |I`P }I9gHe P0)J+< p2;ï IR.qN'^Z JA(ڎ 2 :,|Rk?np# " 7ԛQB$r[|iJPw ²&I@iRɖAEЭ;ɏ+ʣ<2Õ% Q(. 0v@1P U$6||pˌ ~]Y&Fn4@n2nnw Z1q#6ƲsbJ)*H[S _v 'h;݇`@1s іj }Y]RIp~A ύbÆv-[\Yc~Q6#yI$PKB\Ѕ@ɷ0v|"mD|pk4g'_-+0q*XOoc 9*`G%Hjdg;^s}+8ۨbP$l -qOE ,5-i?Gkx N4e/O@og|Iq˺@ ZGb:1ݲ7bL۸a qKͼݝ25fxj:x0 L8#~^-̲FPqH޽&]g5+C^Mh{ {>I Mڹ\z SOf4)QW j DBfZBEp =XZVrcR`HU^nF_`>_yAhG0.y ] O38n!P-r ;yNG^Ɍ> \ C+t{ `'^h.e鿬ݎ^u~R?`?ӱ-uI\Xwj:\C>0}\4 z_*` .a` +N>A1RnH#+Ye-F CMԞ 7 g*|BdI aiWu EY^-Eżo4^%^Bzy? qQ0vt +0@ ]w{%/j ? VKkj*$ӚR:pܳl @!( M>h.h#&"w6\~ ;Yqckac?p /z.qwXJA'oOc#e/ur`ln"ZH7/r:cjoZhve"i(m8)u?;}7~CdAPy'3 XCf0uR-A9 DPB>|PbBHD!D=v\Qȑ3RYJLs5męSN=}ĉNP=if:cL(dDMzUkV[v劌 vRNz)Psy4w.2NX0A'V$p1aƍ7>wX*\)]Ν=[׳袢SdR~ V`aK%lZr-39Y P $?]!Fҭ_\ `H@ ̡͟έڴEҍHdNE&JHlB:(h; / : 7P;r `.$Ѧ;n3fRAK[$>mhpa+*zϪ Jptйe<jCkܳC`9PC0|XexA'tJNBΛұ# ϿЮH` [S=2\X 0LU![lUWC"ecjr8SO_kW̙@l~dH +BTP(فOJlSsBӴW:m*8ax]t7ރb2_rɜTxI&97`Ӗ,a5gjjT8v0<ϹJ`AXʶ ͖tIA$ؕZuY `?zsh% skW\@#K (~|b$Vt , @@Mkɣ2wNNG.Q 5(Ø_}`;%1d}ˢCuu@vfm;=7Nܭʩ~;<saHRՋ;zUcpX[z*N3&MP &]|qH "1B - QX",IS)}`o`,5=TO`V2 K);+%4]q6dǾȄ&+?pjPKcEMEPI!/F*AZmN >D"!ވB2H-60:O ȤqFxZR,~E* \֏ԀI:b&` [;2 P4)/wt%oemUGB!`Q#=O|!4 }!ChC5pX$&JQ`0_L`[[n$k L<@ Hу.A,'Ke-3I&T!_)b">H P5H ׶&(B}Ƃ]A@oCGL`b P )BXI +;:A,PdtJ6 ;ݎDԟYL 7  T%*J6,  0D׃ńO0Bص]eZ>@nѻu/t ϋ*.rfL"p5ª̱PTl,?܈vP&5I#P?lP-UǦֺP^1dRz,v6KΆ1! X5n VJ*1f!7OC1\/W(t蹋}_b 5 :}*BM,bJ8':a׸ +H+C&]`3YgΡbxmP" DmQ-r&bDdn 0q {fe:پ̀Z3Fk~Q8؆&k#IQ6켱9Q'"f>9L4`RXi':_""B ;_1daנTǬh 4e2Xj 0#Xw|PVX[ uKUT'qV1:% Z9_vZ#$ 0L1]Ȫ <7؎p$/$21gD+CH8W^LO(4˚U؎{ ikZp9E/`Dw$A yL-HEs 9W`)c4`ZlҭyK(F*^! o:0[ f*0g%ËQ:yϿѿe<0]o Y#]WS"Pjc *<| =p2 VI0i>[8舌 @p@ڎ@ ?HroC:(( j-.sHf qT`pT6E9=H A0$E^_ ^2 Q*؂GwkءpV,A VXHІlY{8JI v/RJ:;CSbHVتtb0T 5.Z3M<XP0UYx6KbP׌E:NI?*XN pVZe7IXZEzLcX,іbZHEłBk8?8<] Ti_%(|g<$`. I3X-x\H*cace޾uU]Kf X 繈U$V`CRBLHT7IgHiu]Ѫ+ _\P5h֥H8 xFl3AvY41`H̉` -e7Kh n]StF y[Q2H98 BUK@7 h] dT+W^>J3CT H,46EGxUp)9JM<ʑS@?>䫸QGQ!X`pC5vκE.<$X3P#0K.>4 ;zXW\^XI(` M6hc]m7h٥.Nd^/*L)dklfer)…dJL4dN 5As`Tfsi~NE&Q [p5 -"(`5fc%8>d b35F~hpP!9iٴm胮fRhW֤ߣPc Xw~zy%X*P_X$Aj&>Ҥg5Zk.k$Ii&k6h꽒[P2%LP3. fF lr%(%ԛ @_:Pmx0kFIjl-XH6ZN\~kҞk=[ܴ>mVdja(3X.ajn6E(YU%+s0Gr8A&m>k&m`V-$ЅY H sɶFpn6w ؜Ű>r7sv!@p~XIBNXq۝P̂卆f@&kVsⓍR#h؂< SA*4*佶-\0bRV[ATc*kdgdwfghvgNGO0 - &fj/kq'o /)0@jrjiꖳn &EcD. I@"cWTEkx_vzx& )xȁx j xBx:jЌwqw{|8 <`xgu0ԃ_58qWz~WnAI PCd`̸<9s@b pq8=.l_ e B*aP[`hj}ks𣍨&r_$|S3&1om~mui6l-Ř|0-`x$A:"M}Gp>3_41 ࢓wkZhL2nDM`p,ܘq4@ng6`] _ȰDM@itIHUm:.j:5Л? /ӌ4gK$ 2`<~)`9 ?(2Bfp)x`.p 03*`jC iqXb2hiß6V 1 S0){ r3PBre_h NJ p\{"+9p|gf2BЧ&I@L1S9e?{I f0bv<$qb K~@ R0[| I%Ba2 ftETRe)ȁPČFE@ȭq!F!L;D꩖k!%<M*a BbR3.Gyd2 bİ#@eM@u|)SSnq t1QBtXRs @ MNϰĥXK*8';H.m'9`d1J1C >SDh d>BUrc1{ '0rV8005t+lVb0 \hإF2F]R#JE,+V,c%إ,Wn.x^튷RjkTj؂Eζu])mJ[ت/Z*MyJW V@`(Œ5Z4]&׻0 E:0@,կ~Ҹ1] @!eXEHHkb25bQs>RatX#/Ïӳ <쫼2NmS nР=y( @xӫG:繀Cۑv~T';glӯ~WIɇiCns5G%Sk^-.@M$tQ5ZP`1 _ =PmAwdٕ`X\8  jŠ 0 0_U N\[m`yL0xF ԉ\ b`_/]f=aE!e9$ n!Ey 8F~DNT@Y« ᬁ%HHUB!*m~$V@&g؂EK]K1!%L02T)a*5X.ɘ""^a ưBұ 5;_'.cM8c0,5dALV`pM%,}~N!2ڂ A|@ֱ$CURU' 3^$…Fdyu M&\ǙCD9(5 JrM9B;qU\QZm[- S CAL,. C*o@ %`YB$`PXCl)Dd6Mf]MQCPEgXܵRʗ(Uٗ:]ъ- +3@ 4A 0Ax $`JqPaE&eCL Ք0U=fE*d/gf*'mÀ4a$T*է['`;)B 91xS2A!Q:\ PA d̂nؘ wjB tU dd@C4RM LPF-@ 0OI*=iiUQ$O4 1lA 8P֡o>EhA@/(.$B#x1DIcV@vi (Zo !B xN.J%T@Qةv(o8QC A5.ECM1)q|F+ 1l Zat'A.NT|9!hQD&*@T=Q|%DäT@  Ā'$qc C\vGI9$hJ0O" >+} @X:71b^JA+7 F8bE1fԸ1b0yLbt KPk$9BLLKd @w)fO?99b)tJB)&LI(jUWf8.]9 Kwk0jxЉ%fBtu`Vw'+SsEdVg$E8RBp^*rFeA=I01%4j_˧QFD .;%eGC-2*V=ܲ8qɌʮ0P(qMH5%jͯW>+ľdB.\e}k\.,.Ɍ'(*$g@<R1HPډ> gAq@ trIsFŴ$KI MF&l.8P`9('l$!A clM7e+2?g~ŤhҩK`B0"2iJKK. F%k.@IJ4-94ʴ"r c[nUe"ډ@XN[&(D J+q{Q&L7g+ @!Zi@ 4e@J^bPJnI& QbӃm `b%oGe& vBG qQa*`&*PrŠ/R@[P#5qe{'e 䄚ӢFc!!Ŧ̍iF'?qUC%<@MqF@ Qj[HBˁ Ƹt|U+7fh"t!1HtBPfV u!a 43sv=Tw<aQP@ҕcOy LȤweH38u !a!!Nx$8B@ I~ L@hAG't`d&9lL|"(V qKEsK`e f"HF(CH9,!=9˲|h]ь"!0 tb HM*JD*0[`/۠-4 cLaR(O0A f "v J-0&C2n@%`u)d"" JpyR`h3!lIߨA  (˫a>!H Ót"jK@ٚM%zp5b4g4@N/0I'E3b 8D4 qSAcs[`cF4$K8 NJj 0H&0a/Ϝt&#2[(@2YҋdaFpL|7#٫ HA7c< O#ҊVdOI9 F& $$NiID BkF,YsX*,.r/ `kQnɪ.Q)ܝyI*Uc%1cOԺS/k(2sz-~zb0{Y jyH RPbІ+#ːbeg`]!mmӘ[ɕQQ)H&p@}}_6 R` 23!  !La C SvgF`Aĵ52!AFѷ5o\;] yBfԪ+ pa>R` 1Pk& .( 0@8uH5Kj$3.c$@I{Dc|isp'.EhM/02TG$@mխƯpc! xR_>tbn1@i$ړHla` E2kD,($!Qs^}/9V-mqQ kvWo2@wN* KlocGB4A$N4‚%@c (`&c-v9Vf CVIRb> ?. q\1KG7*p c0cZ$!$PCxzid7/Ja=4rK !dsɉkIm/tvn~̸ f@!@s 8m|̜`p*R[\ 4d7uē_ȁ2d AfAYTV_"CS5w!x.8!1P/"a pK"d  HbXI[l1bKԏQ&F1t/WЌx4Q0o~cfbn(F QD2" T:^K'BJR.ebJn:kL`$!o! D 6 y/ANU:@ wmKd=NЃݤO7t-p(ЃR`$-{X` GM!FvJ0{ KB`/A-BDz;Km(a //LdX\!a6$pBnA `TgO1* fKH"ѳjE mo.Ve !,o2XfT_o(w6n `#[.%N=amtʠ{R@@_JH R@rz@En@ 7#;r:Dv#>Ur f < BD`'z N@l&/!B䒦 zA`^*a   r@,z ,_` @Dҁn8A+30za>({p<KFTr7DyaEҾ#S"zr6D~.,i6R5 6K)9-}*z `6?a.FbBnac0t  ')SB`H$KS0;Σz2(1=--QnVylz9_x73.f3@ry8_@r8J ;UR`xpInS=qE1Ȥn`m4MoE b̡ Z@ *@I7 6Rt*,% UgI6f`=I,x&01#!yphv!'zJ,"nJiU*Z9* @9R/*:؎l/y%y,`&l;3NI_""n,tWTʴhT9N03!zx8;*%u$8*55ZxS3u1!P@ .$0@n b`FirWc7N@Wy52# _/XJV v(ËԀuؖgȒ[@!\SbWb`S{Sc?QzL !Ф!!ggV4z!W_y'g}6`)W;.$j2 `V@QmS.0'avbbis0m9aKbV+'9 [EdH1VVAOنVG_ab7thg hHOB2SqBbfamR!5wsCk- #s,956cckss6@uI%= x5-2o6h!r_wky_"@!~3b6u;u#sy{}ķR} `u t|,TvD.<7[x5T%sug7[7yuh7ʦPy6<#;  w~62?6_@:r̷,!I버/mrf6CWO<=:EW2w8*\|Sq y< 6/>6x[sGBt4jWOaN fX%n-lC>:؁8h#xyXT2tn%%F9&7FtBǁؔ (69pN6'"ZoZ 926mm7 pUìF9[ע,@ n@79;ٓ8 x"b̸Hy6eb z[U2i+`G}kS $$ j` dȞo= pNƮ(p Hezimѯ l R'tUQ9b/W kss`Wz+V%ܷ6Uec~!xGڳ"W)` wEOFNaz9 zWo s` g=W :-;9q/!#W\}+>3>7iC,"US 29sVyپӋ!L2_E9[>>t-L6~s' s2!ˀNI־9EUIHy6q8/_U*W63>/QGަ'}HqyS 2 ni5󙿷Ni ĎW- i[WQ-~m? [`kO +`_H.,$K <0… :|1@[p C[YE$KM;`%K80B$_: Iԋ^ YJЁ^1gip%0%L`+2*ݭeL1رd˚=6ڵlۺ]{i \ڭ5޽|fXc "X;@ FPѦ~Ey)nbEYi7~--Kxc[nċ?\ss = RT&` <[rN^a9y`~ڳ@K5^lRY/q \9b!D -hAH \"(9r^ԭbz]b.PŌ9`C$VA/{ԷG B}4dh1N@MsGVWP1 M/w,9ROIr9@2t9[ 9 m'^;-]:QB jnKHB?ƛ/%4MYS%kAX^7D2,GB#x؂K e$ Am",>m*gUXhB@"d1La@/j耐${@&:A:M 44@ܙ.eĐLU'.2\F1 :rvsK'۵r~;L'B2Dnt N NƋ1@ASS}uЙu}XAƈX -1t]Z9{wb2<\bO͊+N*-3PMy嗷&ЋNKPJmO(ĺSGvbۥb1g pIA/y워bb\"I\g 28@ ծmM hZ$ 3#;0tIKV7 pqN+1=pDZ$ Qa Kl#L4  $Mc|@1Є * 3*؂ /R`%ܨX@^7 `SFLq+0`idVn1 QE2bcfX-lk&{ rx9PhJpP7{(9AVBbb8 Ű2Ł$CX ˄CYd`Cҡ[`MAd`qb3$DC!D Di䣐 H B\YWphk:]xv$€B U1xjtΡ,OX C (xb BK 49ICdDp`0\;\$.̭(=,WX5R LG0r @ +GV0YPEZ-N5Eӳm!L"0Z0{&W](1=yk+ĥ!-wjȎ:UzK GdڴX ZGEǴ DZ4.#Ȣ JE1;;F-0_q@'np  kGQ/>u+!O8Y28 `Xx QQ5B+!$D̢fXpQd]\L^a#_BV-c9@dUvVJ^Bұkbz0$7>PpB8QUnՆ:@{clTVbgVl1iG 1:fH=+c~x N( #@  RԀ;6EEVj1F3a,XDB&lTEgS 0A,!\o\wDtx⢹Kf- 0u&'ڗYzV8Hm-DOy"4A\(8{ NuI.Iڛb@ pP cȃ݌"4jɑHKL@` {NFq6WKy >F݄c/ 1t6QKNۤ xVBv@n?HGRV%[p +& Yۂ =[WBG̣Kj nE`+ȆxPxi p"ݒ̄,h"Xol:)ZArҒ >'<#g4 Dzs8%!. 0CcI}Ү:!3U%A J pl0mAZ,a :4r((H\2oo$8Ф'-4 7I b&EIK7/t]fj1 !L|$"gtPY;P՗la qy}[6yA>(>@ZLpIC ,qz"LAgr8v(7S1 a` z`Ps LG]Q<@ЀP P`40u3Ury5ӅU:AuqOr1v@+Pcd5sCXBVS@LnN77`?`mƱC¡/5 2X~dx짂(@ׅđ\xRc~9UTmp'($PPgiD3>DaHХab@eHv61.SXpҔd s8E8|?`#"_SRpN|S=P~',''&łXRv"` yjY!%K0Ѐ6pe&؋R/Ȑ r($( `z>4hA;#+|s ""b³o) 3KYPp)h߃"m$ F%т`B"@<0] oaTxc P.2.v;<>p0;@Ny ?s<e[P%?%0 CC$P4.ɘ(Og8!*@pQ镮2E (RoӒ/#P8$HC p ei&;uo-<04%dG^d 2 P0yQQ7aFDי# U? -t6S_Ek`=  UO9 ֨POh:CM j1YQ#"t'|Í81UqVQ7c4@'vy9m?%c Pe7Z1^ Q <,h^+P5 JzTLB NZDX"`29 8]a]-P A+:_# u6 $H* z7㜭 gX&.:$b5Ip?|kB#u .]v $oc(B{a,Gj#SHj -ZQ `[9 NQKM-3 ))%%7sZX']`KS"[ATxzDeD+^#[An3.SLv%Ձ4 4ױ`|L0T{" 0ڠK5 [:i!j"jᏗ3aPO`e%7)["1?{"߁5$J;2 D;8ArQO2Y?h8"9up#KXFnQ y v"j/a(`KIt 3eA5 `Kp %vk^&J+%}.*- X`A5 u+ [i)Pg4*ȐbRk3 :X< `a5o+t{Ãz;4cCr q>*-f# 1@" B[@CJ@S^,X&|3M>EIP7q })-X7C =@!DcJ-"Đb a1SBݴ/20@+FC<(m\|LxZ2Q˂\M<0p4gSȄwC@ `±|1 &pFnP/ʏ0EмCҞ1!'Mxp4 SM Ʉ'] '0 ѐ5%ԤO!Zmc,F2]w|,`Ƕ%x,*@ 0 ?$Al5 @ !nգgz2ذq6]]٘ٔM֏@nͿ;Z3 1$W-ףHF&l%6=b,5 A!]$ UdiV߼`5:^YKN?,:Chԅ>D B I&p '# 0>HIGK^pQnnnPᰑ6<(&2Y<3R淛l]7M0kVs ,=N =n^C'n32͇R>05'p].dE`&S#m>`6>>nX5\ $(m'-7y)0M~O1!m+YJqE+ U ƶÇ>N !=3=# Q?@/}:~uy^^3yA Q+Fݧ$MB-s~ @&*o+| D f+DR@_8q4u#(3Cc3q1ݗ`廄pZox/tM ) 9&^Otȇo^O6g;6'),Voj OG6 `)mJ ʐleph%~ћ sp]WVPnt^/:hh6:T;CS(y>hʐ@>`mChIA 2xCqc$ dXE ^B2f$ oX  {OI 0O\_"=ސ`Ԣj`[x0yen^{ 9%_0p&*4g@:ƧG}T y>xc)fBmvSh:Z`"3tP"(.E:q̥a %@0uBSrO1H  E^(Ӂ7bK\t2չfh{>K1X@IXX4IH 4|ӷ/SHP&:j㽉⛹32 4xdQڝ8,#TX'f`*H;2cQP0TQa[[c4/A dp≮br5R@$1Mp3QHV!/X0&1C 8(C(ktP@A407r3 |RaCb[ #cxcX9 @؄!3(Aab"$CX H[H.B H&|#*$R>50Y .Fi[SD@,I HYqșC Ks8AGqscc( 1`YtxœRa?pQ)dH D$&AX0 d@'S?Uaˋ4$Ѻ:"^_J@ Ub` ^ HK" -❮BX>"xchkb\`ST\8?(4: H& $IHPᲓ8,8Yx8;2b0,Q$59:,sPPW@H,^KSȆ\QYH Q SR 55ȠyKӝA MX2hR*Iα$`;<\@]8&%:h2A)/C@dȚQZeHR2cyWӉaոzW&؀RXE)X%؄UXIy & ѕ9$u 2ԏ #6$ Xg-% u8*aؚU |wLמچ-׃YӅEZz08|" $HP#s9C 񼊪:4%xR 0Z]Z~էK$Ϡٶ[5Rہ۾x%F X 8;"3ETXAB"rMXSթ*:d[՞w[p]W X[5]ڕ]#РK**Q'O!h(4S  Aq:e]yէSYtU۪ܵ[;[C=H0eMX}\` L`[c *8VaI_~u0@ZU$ԏw`Z eb]}ߑ[gL(:ڪ9C%tG;`)~ÂXlׁ})ܡ۟]^9[LI Uk !36CE`!6Ch7-H8%NgЋBn+6۸ҝb3:!仅daĪ%c@8y9H\ `까 8 SX9P bHs)XCE;Q5K*[+[4ONW@Mx; UN4`Uw]UYSݑ`Tdt~xuzb tX [ θ٤XtQ!e3Y';!gYhP%HdbPNPuZԮBX 3[PM*QmY>骀lfPslL f%p̑0GH -H؂-H}|hBetP8frRb8`x& .Z/ pǞ, ւKȁp1"NGרk~Wc79؃H??9 hG:<>[Lc_:Q^T)gɸ`*iqPbpH HQHt_qH Ad[p+W fЂoIhNxxu16/,@_0qX+R{݂%R>MVǶP1 Ve7;vh (_0^P(``8q,@$^F,$1xI\1g?bK w)> 0[bv@ b/gg6hI^F@Fpvg/H<`nFlxv)y hw$1@Yn/c=|QP\;;c |E),/B@BhV GbG{,Y@Oh]e%N8f(gv/ @g{30eu(-[ plṡ8|i}xYoBx$@GO(o Ss~?v1y_)-< ! (8h 3]u뗺[q#Ȑ"G,idtұlΘ"(G@L89Tw̒%,7,j(ҤJ2@څaA [*BJV`eMS`c )ܸr=*8'j;^k ${z#aa-RTKf,`G9r7sKXBYn5lOHjX67Z$>Zuu`HmUW؈X@ZT5D+eƔcI0 PG?G?&T{xGwRyGAE!Ax`F! :T H Y ~ a T-%"Ea@:IDyZj-RQJS4X`eQaZT-;8:gcT"Š_`lz9JO eKYG ǨjH`/,{ T~ Ŭoz\w-TpXcF{X1)PMabB 17,Р Q܆$~YPM&Qh+ʞ-¹K+/~rGC$c\:+P@s :dHNtP*:1=r1+ba Ki3 LTpfukĨ1\)UH *lN7aç- ̮0GprN}wXbL- b*R E=EԾ(Ҿ,R.ORA2&!ZhS E4B9H- v'6@$lXX"D6]J@:DD.^%àLصH=so@z(%bh 8 .1 3h@Bp`P|A ` g0 a JF2~a_I J8B7\":%-lh$P PpLcёXx:X`y^l%nap+V/%,Ix$cc!Gjt-:8B4` b I$aG8 @h9'*$9~(DBLH{T( 3À$tɼfkf b(AxP<5p(C;^DS@a \$ A0AЊH``!Kb/"QAX8 |@P1Q Ia[+ \rI `,U(A68Ej~p G\qsXJPAm ) B1Q.! 3bHA  X6| L <NDٰȍF3a`XqV30SP90:Q6- bB`r"Zr1EBh/I,s^ ,$qNoBhdUmb ѯ[<9{#bH'H b _e@: GJ!` (kq;%*@ډDN|Fs 0ss,9TC$>>9UtXCY=ƺHhD#~X;C8rJF:Ѐ9 )X@cY,TUU"6`Ee ٰ / ĠÂ7Db:O$ @J{86zEs=4;d€Шm";,{@eYEџVѡBcah0*XJw8?G+ L! j4kMV`*ja@@Vg3z`Q+Sͺ#N-q &a8ĭ&s$Ѐb<Ѩ64pn-(F2R0#d)W)U5DT yP[m<`/ik A|+I.P op@೐H0.qqO&D\ l! !:BJ)@ )A$ $ClU]آ," 3YD̀F,,R?ޢ@ GpDPtŗ^`DD4 7&O6*b R;8FJ#"VQçU(e,$ o &/J(.k1/x0d)0Gʚj > Nʰv[i(rnA*-ၭ/m xQ.,0q*9 %o gqvn1š+; [-mi(yzp^Ye":`#|k4J"Ɯ*$q-$[*9h2!ǢoB ^Q,B* DOZ2.n=.p. Iȋ]s&2<-)ΐgO:x@4Os"X2IJͲ7n~& t4NKFKHMK%>1x (1@jt(b Xb.t:}>4DϩD_mN}^ ât xMBĬŲ4L`FJCe KXK |9`-teOjLVt1 y-# 9lNL *.@+@5 WP+R{83(3,Z3lR7?` 29u_*ESoݰDxB|9j=Bv:LA@MW$P@`66M}x$M] 4"~Ʃkok):3`[5#L6X-eSԁ!ԁr' QW:$k >vTlRwН;-t@L!t@254/<3\11AAĄvs.z.@ {ˤ"B|c"iT8#T]2tQQA+FB1-\CKxb((iKFT.@Áx{l]V: PA\-C@ ܀'C8@nB +7&2N٪:|Z"h9!AvP.3#81U\LA  \/#!U{&0*V @ k3-:2$3$9-A Āh9h8!|Ι)V7.D3n,%^ 4,A >  0Ӏ_!1$ÀBt@gk;Gld$-ی;Æ%$@y0d$C*$(x`@6ɉ Ll'yj0:|F0Po. {{3 ނelD>!OS@h A B*qȄ9s,t):u~ =qG",hp$B `Ɣ9fM7qYRI>K(Z2.2Z!I5jRg+ p}c3) @Eoƕ;n]w fq\:g$u&VqcǏ!U@.LHBl!cKg$tIT` s Ǒ>MD#K/_T9M >Q)cj )X:``c^;D pG6Y`ʘg7HZ=ύqP"H &^ke'f^1qdMb`_K@[RFs] 9ЉGEOK C`FqA OX@ںuKLꚓm۲!cAZ`=Ɂqׅ2]IتVr55bP AihPJ$-Xw{siEޝ &N S')I2IheJƀlAdl p".d-ЏR j2\ B_$A& O $Z.B+,h*_P(N@HIf8.`Ҏ@Рi A (Č\TJTU %x  ~r "/ZZ-pBQ<` $jΣ-^Rl- hܜE d1Zb@r`;v)Tr%C Z%WLTr &$f ݂y&"&bCSN< ryj"4dt Rb . 8-"F FvB<#@If2/es2Fr.@ B@=b g@ < `2`N`3 @ ԀJd#L475y7 18DqKBpo )g.R@΍/27U,!d@r]l育s;hl. \)ˁlXP‡Ps8Ex!(L/k?@b&r 6e AA!mFF*2 I<@` V bDO@ @ F ̲u -ivdI!8r;I1*"Naz-2;IŴ;fLorI=o^6+G"'4 ֠ NT2 ՠX%?b%c@ f 6߀@ R>hnM* \LR5!n.U nR!&\N&DM%~|"85LtYYcJll.A,غ@ԉY5n5< )cPIwA3N@ی` <3S 3;S&X5V5~! G.'c pc+L0)*e.yh@RlWC]O N@R`h*EZB\ 1 -Bqam": Uh;\vTPI'gU ؇~V SqR T/uRu_@ؤa)*Vm}O266c-A|hJFqyT#" /Ё@ ho b@nMq9iCHgYLbhbJ,CA/1Kj]u\LBl*lcCqoXqrN;kZᙖ/L""C0u}}aucW~bP7i-bd guz͍JÐplu8 lWvTxx~h; -~VW`xよs vXϬ"@ mb!r "0d-""sOvKG8~#jXr ?WP~JXyX;h+QSXζ1D$y7@J؄S`\B5a佊4ZŮzu8`6\ J{x68ITPY"lAT ؑa7/+.6K zϯkƏPX) @+X7OXh {S荖hs?x:E[9gYM炈 !`֑>figi7Yr@FqG&M/AgC6`Zz#7Ain$c lH} ™ѡ.\azE u֯g ͟\:™V]BfJqZd`qxz79ubaꐦdY.+@ԝNBEbd"xmaITr?<~X[u&CvȲ[F4ّAY-6drI@u<…:\1"C %E/f|hQ E p)]:u*[R]e B$Cg+s*\ٲG+ 4ҥ2uӢHP]L`J\0=6ڵ{R=7.s c48)ďzbʷnGL F]2+•Q-U)˜ٚfmW;gPb\Wܭ[!z:I[*xwnCF6ᴩ7Jwn]pvZ$OlUٗܲuKagŒ8~:&"1\ҖmYOP_I ']5]F]Vu]݈EGEp13䴓ANd2ĠE{-4ID߄F>jE-y0;)сeUNèBu(^)R~kn7H!Zr@(mIuH`pm21j8Lm.[Ux &KbfXIz('_!&2ꦫ3K 'RUn2X!w}J\iYTtPF%NV|"-q eti6'eڙ(+D΀@j2]XUnHܱ- Lj4Ҕ `MvkU0 EM\禼nZ\rꘃNh ȸZ;Y5;:Kt3S9cT'M<1עi_C @XA0xvs,׭LOe@DcIL)p;wE0Zիlr]N1P<#t zj){GҽVڏ?I%0(yaT.Z8Z/QsE(78lT uPF> oˢ?ool2*]@ `YȮEmH"fΑ@gKH40z˅5^d8CߡOH eb%*1vQO (9$ODG0q ;Y:ytYA%ٲ$~hLcr>h!ЈυX2pT$:ʡ1{( ʀzqETpd 0K*,|&{.O~R-a:|f7I$P#8 J`]^SWPP' Pf]fRIi3 P5W(P%!C 4^B%~R8Xbp & 8D2I.M%B@ofq<(Bw:|rռ]-);bwjdBf D%;!7aiɆV܂ΨN ׸1*C4F @QaJrU&^ԓx!8cV.jv8 P*+DfkWTp0H{:JV%)9: N r Y>C`ĐW~s n:aխƓ)Zj-yZ5lmn+0u[7’ 8 k"KǛD % 0^23awV;qW`GV;|\C B8@J#*D+˩DEl%pkL}51nA/镆0p0Ê6'{c\pz.+5Aa [#x- q wĄ6Yn !H3@yaF ԣA<sX*D @ٜLf> b #:Rh(ƠQw'Ʀ120<,;Ju&1$O *f4R ʥnNo`2a`Ac E@`PGw~@pM` `ϓ'  Dp 7s2P` M-HLa ńE o ?HpX%s 8Tɠ&]sMr Sȅ q kZ@ 'cq Đj ryd~PM v$)F((^Ep!GrH_ ZM3&`M%|n%ÊBp enH C9pXtMƐ J s^ 0k@m1?Š'A0s2PLTՅh i[` >[^ol+%ɓ9M/t G&RVJLr 'z t1["'UQb uʠlanBrhŀ ~MIqtMFAcJ J m!2Fp(w YK2?dc Ar44>w#`d/3 c9ei~ƠS~m) g .ˠޖjF~V {1!J @2e f{F2G^j9S'da(@ 7CDs4I Ҷ(ӨNۊP{3٣nu?`z@ Q^ LS^:ǠX} `:)tv%k,y vyd:U1k@KD?˴ɒ &lRA~P7^HƂe1ȩj@9p Lc۰ga TYQ٪Yc 'pB9#0ӻYի_ʡ3 Swa Q4<꠵r{/J׷r id}Q);;?\()x ECP UI 16Q 1SoABBlEd6ȑL(nf %rN9\BxBTQ}ӦI" :]Z=ʵׯ`ÊUHr%aBEΒx7,( q p;е%`n`u̺װV$:F)˖-tv;Mp!`ܸ. Yz;g%[Ĉk6*%sQ$lo 0 OCT9R:w`X%7@a12aX!CsksYbfs9霳LC@0_} (BmN]%phbXL`sLP7S]Ng5S$`(\Cm`gYN: Xr3ZbHj㟀Zj?sov"9\|WmwU @t!MQ'6yP-eIXwx%@ظ+~ 8vu&9{IJ)*P0' F–y#@af N|PAݽjRI%v2DHBzڰi,DB(CʜȢJ&Ț^ :=P7=__#$1kxwv$] ,@l<  0bΔ*.׳aqW+ x "@ a:3]В%&lN1}: 3,`pp]*zܛ5ݗN~(q5f5c%N@L夊D:+߼.i: [ާlŠ 7{c 5tZsM'[d | w RW‘ ^y&L1¯3B:"p2į3qsPH@}I YQAA33tH,l$th؂f5Y8\+ c2I28DE&͑..L* \f?Ky??FH,fxEimʩCBP,V b[ J0Tu#@GʖH" ,*s}G] x Q \%l|s [\c"H`$IE#7 B8 l ި04|p)>cy| u` p,a k8n={OqUHhtdSQ[n=)5g|".cb5ЇabEtWfyV!EXO~d7~sN;u7V5xsP$.Ӏ .!% k'aHt;IWu_cc!Sb ք+$ i!T,aNpUAX0cq'VE7PYBAs65<)a ȃ=ox*D!"PMb3,S@ p `r!( +!BGp N%>@G5097I  @'2 HVA{5Hfao2AEVz‰3iBĐ@01r7b s$k;|&[ȋoQL})5`PZ}6fF;8Hv 3 &` P SAM*!"BWL.\5CkXLH!EP&_/dC `gY h !z`8s? | %%'^}@?0! 4࢏ x 04 "]&ѐ F@vAL(+:/ >rۅ q$FP\wf ufy؋#ז`du ɓ 0 0sriL $ $eRh?20([AH29f(cEp "bm xa j0#Y갘,p BCYsqqw_D%obg`[a9A=5!k׏bAEPfS"3 @ "Q ^e9G U)80Y` ^U#zc"8KR$Gs & EȸĨ5 Fpa@Ya&qc '|Qf*!BJB@GrW. #EAVaEJtmb#vGq18e8 ⦩t0?'zJ=aOv%19k\vS^ N@pPY(hj R,6,dڶ6Î̡fbaf`q6S`&K h5FKB cP <pQѬ(i!Bp |m ժk 4ETH!_qrcgNobhFq:^6bb#z ˰6q'Gt V`[$Lij \cA77@ pVXq -@P0^g R4j ׀{H(v[0 Mi+gqZcYp^Q)е沓,Zڂbxu D77ӭa;IR$Zu) 9 zK0y@s G֮@/SR 3Qu-UsI]mKR/;mo$ *KGRfbK䬿Zj cV1}HE%L0>IKGs 5c!pZ,B< !i`Ma 9L(2B@8I;,Ies H@ a` ,ǦpEr ToL-%`-D3-`/³\ d @(2 VB WtQtqδ7l(; Åxꀯ#vvkƱs(FF@ s73V 62)3kB& u7J|/#V% g)@ vޑ#U\4%H>a>r8Bz P4nqI6֐Gؼ;`O٠MįE_TZO/ `^ Y;rBRXˌܴAIy1 r*AЮ5jffCy4I zéU V:A%A Qdk^3APa yP]?p XN`2"%!;|aeB:48t"p~@egbR;'p }&2t^DIZ-a 0 Lpg௏ma p`hY)ȓ&P1Գoy&PP>[g6 1*'ڧ0x v i}^a#Bb 3Pg[2*R}$H7t>ڣ]o#C[/׭&)&qt:Zz$А:ސ0 Ӵͦe@$I^L\O 2>O$ \Pଭu*;va&RJAh v!>~]>D24QO$4\^O='4 dOkj tVɱOЅuI  ` I҂&0|?s\ge ?ʒPQwp n oS 3hrt,1x12՟1Dž NpZȑg#R"Wȁ hzvD*` YX-ѩG#n8xExE# i® S^Gs0ɾ쬱` M~u@R-p(tNv PQi.O@U*,8%{=q%.ѩڳzR|Yڢ @S%q!f]<څ*2`34SBNj~z߫%]>>_S%91d3.x M GMO8FC ޴[K] N-~s)$ HAo,kV3UѭVWyd |L/Z%5tR/!#PT_I~ʀPfsM#;Oa`{G>{t?WA@{1 o턿 !mhbEN:K DPB >Q9[<M(yPd$7f0a EЀ":dGܘ JX̒9НCN҄tAKM Mܹ'($ٰXe͞El(1s%ś7aQ&̫T`ƒϝSEᄬS2 3CDK#aLʞ4?qɟ5UwXjŊ.@' \p"$L1tX/B[N\pA@ȱHVB1;<(H25DXHidÑ%}:"dm d ƒKp* B u6xJ*:f;1 W$.Bf$uRF.z. sQgdjrȿ( bD AKu(j,9ߒJ3<!$:9qĉ,E4\([jiɍȺq hI.[QLnttm03N&D}(PꋹEH o#zDP8"{XF0tIQ=xJcC*R2a|8%PR2Lc$q"B !$ꢎf4~((t(l'I \pBB%@2)M޴d$Q$2F(E)riY" yB0id0(@Xsh@ ITt`M2 (a$KL- !?j+b:l!M]'P=آԥ"DyB NU lˆM P&l4F+]\Xn]c#x: RLD$:o: Y򩱌d#ʲ%J4`Ёx%TFjqII0am[Xư,DU YHVș@*}t3 %$Q#p`]WTUЂ{PСei܀_`2')/y<$ vD#XBJ 5Kay%qO7X `7Tlҹ4@„x2EaaZ`5P-$(FQ!YxS| O._6)T|H<64@ al&Vß}$XوQ0iD z |3@j7`BTwMg;bAķ x1xZ1qwI9a?[X _ 8=Գ[ y`=:AC)+p"[@?&" aP+.Sʧ;IHh33+ʁ0jZ~J(rLsx[X"B$@;LO1<[<B³[a@2K"p8@ )`mP`6 ,!:<.ph, ;aHS?PQh# dp'p8\'x#Hd؂!)&+2x%}KP*!R;I0RK[0Atxk[5sIg5&QDDDJH (3.н@ $Bé)Qs0-![DI-:12 mSIFHx B07XaPsHW[tP12s"x9hZWz`/"# .j98X983Gy;sd)2;>\J;dH< g4H^Q à##,'ғp 9>? ( HAܓ KH!.৿8 ?`>Hx9OTa ){ۮLmAT.ccWw]_!^8FvG>^c0 ض0D@dx݀M%0ӁYwX`bXa aI ܁g`] e2blVh@O3 hdm>Hc&gn#-Zhbw~,4j,Dċdf.8gpL[La(h*zHX+/V` C@u8g0.e~3Hb@P 9x~,$5 5瘎`IiAfG^tY dv[ sy i,}عBh8i5Uf6ȍQe/+39=sX]4_ԂP.j#TiFg8 cx^(Y@($@VF&9H9dl;IZuֲhBerS'8&ZPN.l d4d}x h0Tϖf׎&0nd B@,Y@&j XsP }n߼x#FkxUM&pmjup#¿vd\ocFN7w.=@Y6/;`oGnEHjp AWI@ʦlpG58js*!HH0KK@C"bCo#7pp3DPK0"x(@,@1@18o1h9Gn!@q"Wkh d6؃I@Co1@BVG! ]k2i0 ؂9SVf'fE 6Xc3[kx.W$)q`oF` 0'[sna3PnV_GV@N@p0-CdYZ 1tTc&Nui_HxhZxYfwsF^ nVl$7o1(6hcs0 Ykfq9$KkG.)`nq$nX{t/k"ls0 aep|_Y>x">;?9/q6G-HQw~/H98./`V(o),p-83fN==AS@XPF"3 + !Y7٧G٨G|_FGoWFc@[HsWw=TC؂\dA(؃_oF7(E&S|I2SDóH<_`"oS曇zcG;@c?9PBQ =0 ]tnIh"ƌ7r#HGDWL9c20%WҬI(:3cl]:.]ɤJv )Tu~DNȜ9&@IR{JQґsd5)NrZPaPD@eI/lIʏƄs,g[SYZ6P%Z #E+ǩQJ]*PF0. 3TgFS#e :%FQ%k(r$KhH@DQdܢ0FUR5MEzK8U<9s>{,ЈWXp\ҹ>姃HQp]+`S*pcTxNtXb D.3$m0d@CB-@ ZP0!@[b@YZs";V*CPdo@e5*&q;g`8wX:U a5| @^4Yhl*p .Ѐ`-80 s`hp4 hD#o` Y0(YиJII Z!A4~)n1=GXBZ)tEkGԗ%Yʆޓ- %4 @(Â0_@0 yA l@Bf\ |@[(-Q*JeJ0f%ʢ5xE!)O6B\BdH  y z]kjNXdt̠ !p]ܢ ǩh:9!w@@  :ԓ@5$( 8h- 2dJb+lVNMq!!/ ]kqvtH917$8sXK Jݮ=h0`فdc׸ :S5487?CaXĀ:{uE ޝ =:$p@HFȷꢿc"/pî@L O\ $aa$+)72î&+H3H& Y؂ VxX@fl(*ˏ &0B2` 0;z"B - 7ֽHCZ@ R/@lX~!:τs8A2di%MUl] pL NS8&f`5ͿZUBfID;qȂ},0G,@Rf}| {hA͛ hA m-暑D z@Eɔ]ܖO,vQ-p P<C 5} 0Ĉ 9X1$@@ B!,W͍h1.=G,A2@ɛLAD( ApR/@߆mؼI ^ !UH !"94G3ܖ !5iWv"y16#G5LݥCTO p/T!`(5!4T1 lA#|" 6B!A¼q:J(u5d4bB@*@_: V0BDcA8:$ ]]UQ5$LzU_ $l,81LiADC5aLN@[>$A n+ B ^5@D)U$:Cx$] AEcLJ3c:EMcv)D+ /B`at,1(.6LlH'T1eCı?bA&bJBD]0&@AHT< B+c/↑< <߉@qrB 馛¼IiX[>a(8.?UQE9!T{Ni Uԧ$bR: Ra(0G-4l +$$yM_q*B` s@6~bv:b.e "*-ai:%$gϑhTǹk+櫾k~||^N,-"_. "M UʛIؼbWh&"k^zs2嵪$Cs:,’+T؎3^{.-++蒍*-v^O 0HB4\(:@Q%ZYf5Xp6%js(-CEeZ"&nQI  : .T4n.nS./Um-r׿-5i+Ė&dve~lٮ>>܆G- AXM:FK6o:kTU4J"--F/vOUڎh.+. BcGkB֩-p>EWn({(st.0B//-$Kcf 9gp0+A %XtlުHll*j2*,Ψ °2$o)֕O/klOܓ>o\o9'Wɂ0-f+o%:pLSn+q#F!N:9$C`$/¦~.Ɋ pqҮ ,4< \5!w/g0T,Rvj/%-.gO*kn..ksrXoB [* /q'h3/d-<lU s//2T:rnoVSs99?='2ow!:##7'Zʶr*1^A-3%F+t ?'y/OC=s>r-9+nkŁ<ϳIaI/mXr*63o30pClQG4pRtP?sk Pr03*'(!K/ҳ çնZLw1+iEօ1XSkOq_/3`g:+s$$s|.o5b>2*Yo F[cqV5g5_~D01Xr$6CP5PK`-'vRAq(A0v*;I3eceOYôVgfoXOniX#0Q?BvQ6m5x׶mp6^]V+W:rg4N6'.lE>russ,kp~[-!P2(/wgkwxKtDcma; -+dGs|~,}w8sC2So(kw+l`w7p.n/- 7FOl\,1L8wW5?uyj4&S3O,^S2nwC`d{5ﬔ˅[$:97m-0\\, uHyTyo+j?u?+9VO-/'z/:7:!D@B1e26@r{:w /W2^.gC:-~~:1fA7 T ygYPw&;5s9/Y[ H4+5E\ 1󳹓;$U|R<0HA<SvAC;l;v 0:$U%@R 03nLL\y'>icul;vg<~.C#LA3 \0"~` ί~+=HTAͷD .0DE0\k>{o7@X`3tp5İaϝQ#Gu5b 9dI'եSr%J/aƔ)eM*DW˚?9hQG" *ԥ l`%SM![9/3w+B%LAP-ۄn&|6ڄvͫo_~;AMŻ1bN|bĚ2<Lh:fLzrhJDwg<}.M}vm۷cEBT4#F% /h1QkNu[;P/\~7;{?aۡ#\p!00GWGЗ pnf#i+ O;GttzdӍ!0 f#Tq"?8Gq\A`0/GoЋ.p -z)@J'K8X(Cͨ#Wj2hz ͅRjIK $i#LiJT#xد3W,i'[(OeJ-NWlf+9 .0j;B[Ζ$gy:Qj:S O0'G$ ܀iNX0[!7|mOU]D,mDf$` H[悐Mƶ. f0h8` 4@!gnuۣ^EcL@B’d"7zE:5CLb%r*Orx;Pe%y56J3V1o5X= jpuD@ @ %GGfB\0`(*[ q {Bn{`g.2:2 4!'Xr@+,Ǜt(%JrJ.q\gh(QiSL*Kyխ|16VL38DsYa֬. @ry,I&dxA'jB dpbھ9!r/SFx!mtàJl bNy^i{6r3F1BfOSYT>BiM!:o -V Ŭg܄*K$'J~ŀFJD  p(:I=2.e<:ݨSu,7`BɍfA f4@3PD^&3 #PlP^Jf^礕CYswRG?.]a4B|h ~1s D#'(C b)(CYMGX~z/BV~] XM(m(kJ j07dǡ=:Z#/!vŹ!ȑOuLdvFO<$~!Erڴ n f NF2F.^N+#Bn: (NX$j`+.ʨ̔ NhFOߞW!Bbʯ!PrlRO*)^& '#|eM , * @f!@$ ?, O N/BnA\jEڢkE\,r"*|£jnUnPx f2/IN `f 5jvM ʀA RO*RpQ.Xc .Lb/nȯЃPT EĂ)CP(blr0!@Ll@ 8q"B _! d @ dL>(v$TT` m2fԪ1/$aifD}g-t"0 @>@N &#n  o@ ‚&#B$GR^n-o!nA0 \R!#FNAR0!8`ڑ@.!8l"b1)KldTP+Fs؆#NRQb@ : R!ӡ$C@ {́d/V0#$1ܠ:.efzCN& ^-(7b(? F#IѠ @$8`i3|P^c,pfi/5&4D J,rB@ x: BҀ\>RBE 094dF"# @e,<@>%@ !]<&y`.脐lI ? Bj F(O) Df XHZhFg$szd%548Pr"E a!p@ R!bG`aT&b ,4 CtfI` W\Q Rx`b@S &- rJt> Ƒy'B6"@T`8f U &P|l*b†z`L1`tVblN*$<vnY+@JPf! aG !R)DW(͊uW!2gҀNZ+V-a&/3bV$D7AIzʖ2CKO`.@ V d8lnVJk􂕶 j?&H@*r%bGdAeAN$N*hs.f+D{:hcn(XdȊbsK'F6a l ^n( FAaq ]L`D\Rb5еZ1|WZ@ 5 W P 8 nTHDo)ohh W{[>3D5@Pl&Sx@ ! +ll!s&nvJNG\EcI2C<`(@EBnbc4A B@ WJtpA l!'wǓz>o_b5f).>fd- N9w!M@jRff.@ bv`G qhe"w/`[|  @%` vn@FXnִFi..y{.ys@TGG[z,w)̫8Z^Q@ [  ԪL@:B.BB \hkV//R?[5..@sV `ޣ `m=(4!r"#v` E\O7A;m(0pѡC+QF3T?:Wu/R@_-nm~ L [ lZ ;;g@ 00Ϸ<ʠ|fxtKc+e  |9%Vs1CIS'JRMuIpی' *  d )IS]$D M #] $NG]J>I뒒a`A0ii׵*Njx#(U/Ala@2-"VAd}CpW*l~|vR @x7. ͱ~}D= ` @ N8]h3b+<1p!Xn@  ʀ?LFBzC M"'F !OR a6&,i>#dmw#@Z ` x]}=Nj(W,P,Xnp!.R+7zhTb@ޣRW"y7 A ^#  HILjb!()[l#i$J Lu2+T8W30nU0K'~Ņ4AhhSX:uTR=GU֙lUPwTUW p- bn; ڵzݽd 8s^Tp:t7,X `IRgW;{ :,0Pw:@jR:k2Z/3E7]hS.I>BhÏ)(H# !C/bxG"!:ha 4bG\\a _q%81XR}`D\:2 s0U5a&x%EjE (p/ K!bp1ƼE"hJ= 3`b-Āj hv a1|A!4 <ĔC|U)IHF~^GF21-Tf#6i:BxoŦ[x,!pEzvfv)%󅡴uK@sh(*ApA t[E0FzF:ìd !}U(bhƸۗk:܂pfTp qāIACR07QVr 3S|qhn $o|e:@k0>UhAm1B 5t(LI (NVw|- <c ! nUpO - gz l3Lc7(sILQ0v1˸]faVS0f`uH%4DPq `J4Xe:(L%M^*NQ'IΔq3 |V-t 4 c◈4*%}1 fBƨmESVZsu A%eej9Ƀds`;! - &f @9>x Z#aUV"S%6X)Pƍ~gBj1 %dTASˡ 0 9!0r $QnaP,F0|gKP-*QIl D M-H PɎ01nAr4dH+XRJbK!dֻ.΄+I3 reZJb*1A>Έy $„8_L#1j,bU.j#b-NC7!c-9688"bQiٌ5ECAWK(+.QIjrHKz2ab.kǰ/qtrJ@L4z"CbO f6#ʧlˌ/C!M SE2"bPq+øIQOAUp|Zu-F89(@'dZZׅQ$PDT5BWb-97zBv3Q,Ps|e3gb41QړW W %f]W;s @fc@?u.3Z&$C2mָe/]'mȞF;0#} D9 QZL-^kۤN_. ql 1JS/0-73Z {/ ~3!b`圞v]}&Ӟ2]nTc1J%> )L _ [6iPq⚗"Fd#Ưy uZhjҸ@a?!5 "sҊ=g2=u$ Gjp1b"&IY*byQ@o%@"Ozʖ?V.ЃߙbBu7׼w- }iۏ/PYC? ‚<%je^'a}z~ӑ tq(V5>;|CFe г҄E 3A6W  g=)ZDT^RawXsIl8c4OKsX j`LFn3xpWa\85a A(gXBw$F̠%)fgjG%Q{w?SYz|3s%aA荍bqI;Fd|a0X ;ZFbS"& эh2eqp @cWyP1!apXy8p\58A ƒZ0 #BZc `9P ^(mvQ{FyQQ]?yђ&ՓM7p d—p0`$&N錺FdDi/B[ne`zS,ThE*x^]woY'?5W&[e/-H F 1NPHWx Q~嗎 1 Wac-y)0;r 2p@!9XߒE7^z9ƒ? !`QF( 1t'g({rfi7Ņ$!@+[9 J p`xzɛc%uɞpe?胞nd ٟ J ʧ?3p3 0K" Z'$Qc#Z!$B7@f 7[v9!J}uub$E;eEW@p1+He@s ithR+$^eW b#vqSzirc<̐6CVq2QaC`S!Æ8 !p /Wd)stʠ$D`3a}¸bntO Xب‡av}mcy:11 Pf$#m;Nʨ:Vx }@3u)iFZ T uqgJ:YڡN0 oZ` _0 >a $C@犮A ]|5i IdSUtgc]W9+;yO P70 cb9jM9 pr"[\OB3E{Bk&;My I5?J{}PBC W&+0{@8S }L> pRTSB[l۶HT)FjJ8  g` *P%[A @{\,[pș2JF7 Z tL!MO=5Ԃ‘~l yh[MP YЩ "E Q+Z=:d y8-@\_U\=BT i$~]2#U݀g>b Bbs'pKxX,@G>0 `(r ZuFܕ$aW`%&f@#$| ?)"!`a P1(*Qb3ZnO$p66>'_p0Ohb~"p hS>V2#@rd\=kDž0 CB`>!;K NG^BEP ~ Ǖݾw+EOݢN,@ O nd Jp U!. kp PҎ'n֞C>!!, \"*\ȰÇ"]ZQ#.CIr!ȓ@D=Q` u\K?1S)LG9L*: J}S=+3uCRX ZK]0:o&ܻx"$GE9m(81.]?EKݥ戝 N|0lbK$#Y5:K.Bt9u !@NmFhM.#!W<.N IDĖҊCb"Cg+8@,B5c]j$ : "S΂ҍ#,p4@]VvxWo尀A&Xbbj,rZCĤ^A&L"7 šN:Di$A%/$oc-"!VPs%qƛt:%衉&fc&Р8| YAzz tEBF3/X%@`9|HAdN\FoQɨ9uxdyNe䠆B$#-%HfK*J V5jxqf(&[AFۮZæg:E(+ 7$ 2 FDoIR/.KA8"_  Հ@רxάCæFdAÆf7 Ь@wɴ"ULid1k7ۻ&g5CF&Ni&[j| zc($RО)D:0|`%t11%QΈ Zr9 n`B6̱iOI۞brf8P@C6 tey;Dl3f*JY'•+yv` * d t,증:ز 9{ߊs~'0¢, C s#KcA! t0+a@B !frq:BO01 ud@BpiW ӑ@ 0-ȫ9lK0=`d 2$z;,_@B,! or@2P` ɐȴ1x$+آ.P~'EYPF n&:1;}bY!AbMqL y28K4?-VZr\G9&A) 2P i:tR HШ,p@wd\΅o44&I0 m!1_m$a9ĤY;QX)_N9 aLBX>fH $+D-+aP40k~{aȘAjSð:kN; yM]U1fCoO@oxqGT4>EUZ2piLF'/-hfe-H2 bdEh:@|0j-a~ -;`ހ aM O-X}Pǧ*G*& 7cb=B.1 :xpC܀xqmmBI7A3U qCk߇AM`Z~Q>J-c{gsa7BM'<` 0D0P5XxHUUU$U' V@% B1-A ` q~as3o~p~B01Y+A $Pgp_EH|@,UMt?8צ# ,bg .VG"1>7$Ss 8W#""[ #%4l`eѷ{H}x CMrp25.uhÈZA9mp \t1L6BcG?tC0dq|~ȊNu770*U ){V eY0 ʙ 9\$n0 Eaglqs#p+ą: `Z#2(5$q;Ѣ@4$'5*< 7>Pt2:y  sf z:l)PYz >0ТBdrjB{RJV* %y37hyQ itj {!7Q' STfpJ+ ` ʤl7I`WZ>O% N*E"\7U{i0?yV4<8eȀ_ 䟘E` )gΣR`W3?OZQjeJP'ƹeȐ CEeJDv3F2El[`3p0|5}yF:3"xnX:s&jEPP6ؠ7WEg7$PBI@ ~堪 c* O$*-L[Rf vET&9B@'@JrJQb[ pXG/;hMJ;: yg{NY)2>_Lꔯ xhPn8l(\&},NM` 7%_p SJ+ts>1g}ےN[^3hib+X`2,q_A[V9FWSiD [ >,mt(Bsq{bfA_pB:pfLy܅ U pĀ @EafmM%ɿYkCƯ:C0\2,h`/2Z5+"F v ׃vFcY7'm,  5D*P̬1Vb"4IQ4,7QFB-v2\GI0tPhQk̽B6%8}7͔9%rC?w8^{cPi\71RSԸ|ȸ %@ 5jA B!ڪKd|no:Br׭GAu9~[~D9F}Fxf0Xqi0S͸ )&aHld =ꐚ[mחsnͺ=>=V 5ؖc݄@P#6;Xx֍qxy(PP <ʭHM <*B:}x(hz\R hPgLKaMVvs6R yQ7ԝٝdyzC ֥=R֌] =$N2,'!u y6.<VDo0H5t 3Ii/b}) rXYnеD+!j˥C5>_5D  x$@7V-@ =KN1M.Vwխ!Z)r kU_+{$>$%d%^!#"&BY΄x VQ.^4>(my!N PNZNZ|;sqt}߇Fu47ޣ.KTEuNu7i.,^RGL M)lcs]!q*~ !#.k0b8خAa-$xy} Ѡ:^Ir !;= )O?۵m /[][T"/╩MYCѠ>YB:'V7᪘ēͼk4Ƨщ g@/rY.]x3'6M' Џo=HӚBQ 'U2J;FX C6l$zp H\mmEUf•/R&b:Ot"A_QCBJYg2zE%&.P,׽nywaxeV:: Ȍ$/N@hI-4ҹ,ɑCQF=~HH%M"@Nڨ%A.5֭̊vVN.u*]{5Dp' LcQƍtYƔ`KE. Nh&C@ zhMogEiuIžN@ r_ A@6+\z ÊBA}%i̐@.$x~!1xehj 7Xcﵻ '$4/CM >:CunȄ$D8 WұElZj.KE/$ӣ,Sz{Dp2# ?&c0JJlN, JP'(jHGs4:n\.YLJu& T9Dt ujbaԩ@`(\P H2QTN-(U.Pr ^ 3 #@K"7K-ٝj8c<΂Jl6f2D^E &*,lxfR5ˍn$8{>S1 ^WE{{sc3Ըy34H4Uh0bKXW`.90H'@:᪤t\[td}T}\[RA}IW7/0E@~L':Ff\Z][(罴l%"u_ ԿQ{Sq$e-" С,Eo|z 0E/n D$v>J\B煰+cA@5frpn?XExJ 7& z lCaHѾ9 ep L?7B20#@Qt `tlomdr(-P Q ɳ@hjf@P.!XR"X' 2 P< DBcgQEYfHD?,A0%|sm-|;΢[álZ8@Ml'b?IT#8HK3#lEp]敒YUꘀ2,z" pA7Q œDc# C+ XB ҝjDM%F YdIp:u]$# .>϶6 #M`- 2rtbԀj2#M(*K\%둵sf+6$:$  %r3,حv;CkʤˡdDp5q,BxMXQq@p-b&!6VƳYA.2X$Wmؙ # U@98 kD9A 3@:,@~`u #uh~()d=* +B۠áfX]Ѿe&c cIh1sG+f1mHOɠnd0DcD4AX70iu@]%Ag)qBm(@@/UzsA07'`YZL:0meFFiu"l -Ӛ]Z#[PmPM= CqMdE2 n+[;Wǚ%p>EU쉧LHq9ٟ.Ň'`dSΰ]0Y&Zz{Z'g'N3j*@p+!IDMs&Lu pfpZ̩pl Ǹ9Q uI/"i|0<Q [ Q;|(:($hƀ@2ҀrHsWha_M.Vy5t(µP}~'c [X1fCLq&±̉qꎑ@W..)bw˄g<;6qzsvLK+`sRHy23=|4ɰP828f{i  Qj#tp>`#xۄ2. X1P.Y2s`>39s2 XQ*6 ژIrfjJs`h(.h)2TS@08bJ'•'z;K P>@mHu8bP*.Q38?D؀}6w2(v7j"T Ԯΐ.uPK謟ӂQI=ÌhtZH%*)#[;f4h`H&᠆Ƚ  >4&I!hd8@\8Hd\x'"xupT&8;BPCbXIs ʺHgi@e[P_A'D[dÇsІKIsA@=T$,sKpۏƫ9ӯ Q$h1&uD?P_3Pr,cbfxHN.u+[#[61Zp6̈jhBii8aiL؋`&beRFnIêLq((t$ V,s 7XU@;Å.KNx 0\#&`.zFd&'S%'R^dxM8`*8q#-4ɤLlNB1Eq-.-0u3bN hLJ)h0ěPČ'bL.T$*P^@ιϒ Y5 tt)=U8H jbϝɈVȤ#i,tHHuHd\Acd5tdxYeU/NSa5&YT܈ɑ0fu>TTdM [04s= ټF[B2ZWCS|c 9~5Y܂Z0X0Pvɤi.ϖbT-MDīO-ÀHr-PMHX̤UUBZ܀7S1˜Ye3^8 a"YF@TځT&NT1u ŵ-腭$%#L3yůڰ%]4]!MdWL\z [Q_8ȰA_[5bQ&B ѲTť kMhM^. .U|} lel4jZ2+`c863b@;%uIXm ( bHQV4ғ^?}%b05u.1<Џ5['XU#) }`&ۇ2ܑP /8ޒ Tb}^]t(UrS;kSUx*\Z&Pc"֡Ȯpc0@d iT[Z'⥞ξd5Z ?3M u\FFޱ V8@Vhhey (_M`ug,p_>.t8 Ҧ\8Ő>[9UС-.ڨnmtxĎN*ynni.i^mՈ^*[^Q>&O7bO'b(a9Q& >o FWp$cђpXbn7 ' dPȁ@,gn(Mu/G.]ZvWU=[("05%}qwr'nC%Ph@^n. u> qv=)Th k1pb@@V*hWU}d5nb_#gb2Z964Intގ`" (@l)x-`&NUU?߈FW(/H""Yj"ew0q:^_()DA 4x!(ZA 5TNq"QF@p3BiZP1L 3Q[2qV)&ZI/}zXќ#h!FH2t I ⹑P.#a V^t(|ACGœ[vVEP,% G8 HA(E X\ NAj[gnQ cSbHA `dKz}\wfruBY5011Lb@-lp Zf5&C& $P9((D#p1x@<ԑω('y0@#6Mphx+6`ZXHtlI4oY xA&iҙ'E8U!YN 2#JxLU h@E!X9_4"zD gȗu4z1" R1(!ADqK@-M #2DMR FCKe嗼v>199A?VVd/ S`MG9-u"XQB ]Q"TRsMC3Fl%[o 4FWX=%:%|;+;(JB 'B0`C"1$ D2Q#LE0u ?$D24>02-.Kd.2}Mc5Jwn1 tR)+V0D"-+XQV$[moTd24P Q-<1=iaj+HB 2lXU,LZ% &,UŬfJ% V%%  w sNQUP:? WrcͲٯ,H9b $X]\\jƨ"4!&1F$U` u֗bIXQ`~XHbF)Οq:Xž"TbQ$8$`-:q佡$ҕ"D`@ؐ*> *HiD4^#ix&u"&՜a$zcV8cN_#&46kL c?U+Ra4;rBN`0" bdA$I|L>Fb6$ @&OACxD͍W-#]bB>9^#&"->);A@4^Ed0&OZdҽc \d0 ‰T"f5LZ9ahނKu%}aEf?䳨U--lAd'a<^b0d:&Lk"Q&SQec9f{c&&n)1`ufreLmtx&ې%|X`!B%@,R$&ͦ;$-PRdDvC&|&t19Fv2f uR=lDf"uvv.hvwbL."$k'zc|RDz£kj0&A@4/ɀG{Uv&soJfV$E(M&]h8ibP7, ڥ&m%|(M"'~#%~C/HX)u(VrG*(Y0h:8(0Tddid4h{ΛcD #Sti֧]&e,%&bsɩnT :tKgvB-C]A2&~+^e`Fj|( %j9Ӆj*_Yf>)IL]&)Xa'm)@*nիBDyL:v&_Rj<F/F+: 1,_bze믝F6:*`)k?։a"1 lC*+Nj&aFQ,BkiŖӚnmv,)VWV4 کlL*2mr1(ArZ*g6+~楊h*-$ҏ̐J):fl>zK؞%dh|ƩB{H,S^G-:v-hG2:J.ri~^瘪ybA4O^: :,RBJQԎJ)J~("I|nؾ) 5=1pX#{-RW"n&B4UPRu:KWz&jLd+nXG]v%$Õ mb2fZڜ:*B1 X-AA:BJJ[piH,gMG0hLHN`*"F'01h D [$Gd2Ȅk_RHMTe1rnٮM3 CĂנX½X.h-##h/^B/ N*9&$ӝ.1\CK4 R!G!w2rA,jq~p94j|/qȝoD*Fzn(' &:kyz$-BDސtcξ;|ey ӱj0c0zt`.1KlַO~A7qh JFh纴V&+.^x $4`EQ󬐺 Lԥ3yǺ6:\Eט9#"lQxx*oGՃ*69u߆eĪDQAe R_3vw ƍ.Cf^y4l;8tj _gwv+Dbg+G<]v _ LS`@ƺ||C!SyJGaC0Liiz=i"xգSc|ٹ34٨_ZK}HFb@Q텪&&r9K0^L3'V83=%p2+ۅuMdHl{}m¶$,\'/$%bZꥪЗk=1wVЅDkDQRD?j)τ·߼{oj9@K@ &TaÂz09-RԨ1X0u (q[ Q]`l9f͚ĩ tn:hQGkC&tOR'tlH(Va/u!Q$/_3f8$A %Xd2Bl"E313 oiM.a]fbϞu&쩎gϧQ>}t]jduB3\EX("E;ontͱܭW _jN)^JYG $,B.-Uv5aU *)!LPB hOP<.R@`Iǘ@PGRHQ(p KґkdԱ(*<$c [IJuPC01Gb; ͢м%(2l3[J, LL8-3m؊M[TGluR)^-!-ndC4UamƖl$/Q=s"7A'K\B n!B!pODұ jn]N7},BsIڌHa Q7 0Y)yDbx%V5,mM9vs ?uPc"&XdNax sQ jNx\|i.*rRyM:S|sèG .Mƀ-YkJV̩P;.*\3fX2njI07RahI`NbI!h!MHmszi,ՕuBڳ.sIbquu@ǒ'ru)%nXX0ۨs<\J+^|%[d0;+cG$s"4⨨, \BHP)Ju8vO]ftshKcqDײFh$h^m7>{O qhU% z A` 1 ``ۇ"/?•(b,zTs1)d$U3]F#IF8īBЄ قFT c 2O s8C+ňF"!Y[`zZ`:fLN"u ߅"BԲFyƀRӕv9uHs`"vIJs "E$PbWX+n 'Ch>V /97Q J081fXtN/mOͥfQGP e5<],-Ab6?ByUX+F*銄 /lAI[ oqֺOqC4'4:% +' "p'@CNy?<ŦTM D(Ko[EH&u@&W`C.VcId ~BTd̸@AY:<`+%3B A4S3Hx;ZIA{.E nESҟ6 :a03C(  Rz_0~0ܖQ:d)&19&T#xo 0 '1D\#{ūEbb`s5oۆIkX@31;ވv!R UZҫCɭ Z( D b·ՋmZoD [Ța$01D NBJN;MGBTHP*{5W7=`0 #NZ?|j/jK-;+bu@HoQ@Vy\ Ke7R#5-OHrc6KlP]b6qE@$Oe?'dJgi7(~&OoKzCk-,B` q <$n4v[R!QE#[bhXSKu.] sGBH|!f56Ho*"xվ#!b\! P (8Τ@!Z"+/;.o!hwc"*E7~"ptBxc>mĽl'20,0ngb"`,L.x !*h&n LD&e"B0vOR!^d` !(G^0!^ƈ&Ѡ:yZP: n⪰,(j"V!0A` g!@K!7 ѾlAΡ RBIDsnYbq"g86!QP  1! (⿈/hG6̬&x0#, > !@N,o ,$ӏ  jB*O O*--HHhaN'iK+HhM#',kR BED"hu< dJJ$$RHk!6q&Dm 2"N)!ok RWa 2 &p$3&T"$EA \!`UreҎ ^ %_|c}&.ctP%%1j<6A!:3?B&.4`Џdb|#Y)AVJ^G*F2 6 ` JM|$g! Zx5'pX:Y<(#V*J6Xr0D!> 2N4~!)Fr9r4H">A}`O^b|@Ρnm%K,!Lx*HM" V_s"f!> D"BNCiQ:@ H%&pA k"xSK`^V̡50'ag!0E5Bx")5ʴtjr-Y TA@ա֐jۄ6`L}B'I!aoLwp62l5CkR|jcdĩ"䖂TJ571$Ri{;YJ$<$m.cƦPc!0ZY+|6+r,A)0{;'06" X )w0#2cKd`äԐ@Q}xx[B"$qL^C .8Z'jb'j>C*!8H`W4)<Aa?NQ$9/DWN\Cp!~sKL`qgfrґ0,2Iu,l !8xl"q#YX0UCx7XT1߸ yK$B+H)Dj13|"t6NZbooG~2C)L1TT.& :6cd^9c3lSAN2mGA$B)k%%}3Ɛ4CwFunb'6 Riw#bcE"&pa$5Y㙛p!,6d;9tx G٤HrF)PY.)B7.I $&^fᦔ:ڣ!*z&pe,^JB3ݹ%ZqrpaZz&.R"/yxj'#:%zzu:1Α{_ vŮ7Hd :weyJ7uOZ9_%STz:w ۰g #ה%'k'`jWɺPC3ݙ&,xմoG#_4[ZAh (nACl&6o[ (C:s{ڬy [7Zz%i_gcy& OiBhyc4:cٿ#\X;z+N2pJFm.iJAyZ#FW"gd㒡[zM;F ݙ칝)vþ)>*7_5( ?!r.q'-A~%!*w: dXb",&⏢a%;"aB <0… :7`%: PÒ' Ne[lUoLw9;c>m)E[_NpX uv5F9ɚ5=7÷';.nԭ&H`" X1,nq«8;[*6lVul:?ܥ4@mݑDnYy-Wzqr:DX[ TGmE֓:'-ҁ25R.&8a2E:#33i`BZB @[@V]ᶜ8d 5W[f2KEVK) T O\r/"]T|Yfcn\$C{Ss :II@"Jp3tHYeFdˡGLHtˤ QNآꨲjc{ B ܮY2]jhC9k;%$ZϢv%2d y.:s03Ѵ:iLh!nk 4Բ ApnOUIoT$Sͥ/ 8֡ <;3 PLL*e!-$3K '\lլ: \:H:W:-'/CV&84UUXoE+WG5E |sI0PpSu WÝS[t@ qsWWC*Q2SS}܃/Uâs˫+ WNΓ2l=ENR0d~Ru ⢷~Rc>3l:nNԧQ;wΈG-%sD?7WdN) [߿ Q4 .=fR80 -lo>KCd/űfҾN'3kA sԆ{U[8(+CB0k' at8 `1,S,!Be"/ FA SlHp*İX B0>wņ1lxz% K ڞƝLɊ9EJ#KŠ 1&A(ù#81bacw}P0р2܂"hJB :2_T`xxx1Bae{H/UB'Se"A6 :R1G0H dv.BrQ ,!Vh//uAQ1LCGX`nS֎fBmҧ+:h1 χ^S0d8uX•,g0M?8G.D7OjWYV.h2-BLud:g vk' &а*u\vuIz]'A/"?tofm3x/ bɸhEGexF}nu?RivȋuvdeP: [z FTĻD3եJI0on.́ bc @|3ѾrU8dmVX6;9r ԄS 禝ff!CwR^ [+]V/nCbT_TOÇ Ƅ. DyB x(>N67˫ m{o::y> !, H*\ȰCKt[u: >9Ǐ C,\pA 8a@K " nϓ=qJtѢH*%z g+ Xlի Ӻׯ`0P7̙CgɒطpL l+"L%`DV2(&ٲ+1¼y]8:XvxĢE#BEiӥ9^ Q%wͱ7[@K LKÃ".:Ń7{Un@f_?f:>r^$RLݹKoecܒJqƝ3 : S!A"B%(V:В-@9'W{F39=ꨠ/]m(ׂcq3A @a)u5aRZU%RL0yfH= :)Uʑ謕㛀qxܠ=@@5'("T7U[Y̕%sV,QYvR|:g:2!@x 4:=b9  f-:K%@f ="#(ܧXf[ز&H@IM 'FJti8:P ,(f3a0S;Khk9`tITojŘ`^a?@Ear hR]#Mnv&+B")q=1xq&np1%ZmaD2Q| SeH EzjQG6`T!FpV(a 9A +ۧd̺_Lyϒ%p)v)[RZN`ͱXAFp)ԩup8R @.Z*@Ϙ/pF{mZBZO|@RwκVp dt $Kp5kJ\u r M @8Ab z+VUeLi² #Cė8:qI `0wBA.K*C>hpcաTNq AFWH_@ֳ̂=*ua1Rw 1-4b1(pH,aJŢC"[ , ԗBJJ͐ bP D ;鈙'^ ui:С 0{P.+zn5!2XPi(t:"+8`/AvCɵ5-@Tp$Kms: G"!ȅ>7(dvR3.eR %XlNȆe)%%5'Qgpxbq\}d -8L:!qH72nLאX\cIUf1q~[~"J 3Q7>XꏻuCNrۢ'~s7?2=r,ۍuН4k>l9FԡL`F'uU ti%sX#{I-3.N't% Gz9cj6p*2*4w F`؝$鸄J )S h7Vo R :j)[7FB|T*< |BD8 9֪{Qv@;&>ҍ_.%eUS _fpqUIp DcI%-k4`&o3Teb}d:CVu sKO(E). :+@;D7Pfa{hv SWcPZ&`1oQ! "!W#`Lwh @'6M*EdsgM$|M% a ʼn($9gQ4~8 qSA$2L t!ȋ#oH5&C&\S;@H)$U I>QJ i3_^o ǎ &/KfhBh12aa`&iX/c"Ug/1; z Or3PfSD5&9!+-0azxL+L'a/Ls =LtFqb&.Tc&IW468 x 1I69c0 *eKTu>*U!0y1Rw")r"$d!9LY/[yJ3hQa`)|Qa`$r3IE+!{Iz5 swOߑ H8 8WS&a 0AMU232pyS68`!8 `O\؅ Ds0ҏya:IrxyQ c2 ɑIbʔB"$afR)\U1=\edKnw ^"^- "P Wb;TY[("b$.j %ـK0Xȧ%SAQ7>Wz"҉AV á . 8ODheӚd'k xysg'"2<0 C  zxP| c Z A p z% q5`O pD$I@}ʟT=7`| %q%oE(H@ʩNZ>r*!"W~c P1" QNM:D}SZIDZT(^&h%fM:0 !(hkeA讚f([ՙ@"Jsq/j۬ ḯOj0:e<&e7hUpKLcX;!K'ٰ&o6 +_ 屾7j"P饸m3{;۽⛾ 0I+ EZTc1ͫl+E, x Jos *4j]m;9q%"5`QXq( ,J.E3` l(h"|N2d|x}X&:F ˜ZPI&ĸK8"whSL qƯ 'nu\mÀk*tCƕr Ð2a}l_~#2 p 0In, T XȐlƎ!FB$}Z*?@Jp\d&GtFxʁTg)qjTԲ7juHTk pc3L3\5-0T`!La"ZT!񂹄E%%Cٺg ?KkNv!d FD$T0)^1Iu1! 5Zo֫ n"='u,0C6}9FHIݷ!j?UХN%c_rqM9jQ@n0 2 ]> Iv-B}@⭖5aPpH&NAr}-@V]G}ݟW4<%q0sFpśw$dRnCqaڽ^c|}Q ۄ-N:MחpF G=d+_O ])}))<}ߍXc:%iv+kdt^} J{#5sFZ̋p{K+/+qc !9?Q!u33ɜ>8QE4Z!) 7ŝNWnrFkk :i60e~ޑ߃l2@!n0X*,`_pb:sehE~j inv/py!Bi*i+xؼ]4_=9jZc mi>DM;.ڬ^+6\w H*&*vNE@.XB"`-PGRAOGδ t$OS&-4Ljm;+pyv'NVOt]MYiip";I A,6,#/:\] K4p ӯ<]wr^%7A0Q ʌ7iE;<ԍwioi;1L-%k0ZCcWL$`& -2! u,L: >9-"CV‰D=~Rݹ[N,شar 8@ &9rck'N8ս4bM7lITF0h~2La%ӧ3u8AgO5 Ё7 Qgm, _hIވ.aW[*Qb!ƫ !k[ &LJдς)–O//~|.L Jd< YA!XQJV  ꂉj[ Zurr\ $*hl4[|_xRL#ں Ɛ+(Fma$B(QI%VoRTLFLc`#QdKXu"٠;%.fsDQ=[ChHT~킆AnR}*"w50-[k,ԑ &]<>ϖ4S2s!NF dc W=K6ġ ١ԁ*0ޒa\VEb"5 9 p/eK}k݀rHca$^0u4a!Pq>Cc1do ꗯ(j?* a_.D{P-Ep,qR*Q $eD>^J 吒LulaA| 9ю|9 B |`?ңH!-\##n%! k[R(„DE 3"8j!e,="b aP! 刌aD%8D.)(%&-H#מj IG1zKs,%g4KrR{d99Ju$C!FuXPХ.x-y:XVXyOE MQ欈N\5KQ.5 aH[V5@,Hi b61#PjN$HUuq:-`'Y_h8):~*T 0>6Vcnj;X#{Q+ը)`A ūI>H(jTQV(EY1>/eH5F b`0+9TYV@ ?@ȴ!*̾X.s`fR3$mB?C+smCYhVT=u0娳hYqÈ0?`9<,HN%FP,!@NSUQکECGIQ$$pA5"TWT<E5$=64EI(1<ۃ(-0IE[0aBbLAKX;–h, D>45>,cDW4_CI^@svlA1܌AIuHI|,bFYA:@6X9ȠPtPʠ$ʡ$w,{L,k/>**ʬ\wH˓KJ'J69d_pJlgDɂkLYIɳg{KH=u؂b #ˌ C&<:DˆP&2 s42X)CdD 8/Dh(a\: BZz!ϲDgÂl9|6  l"Ԝ ̺zξ`OƆl H&*WST~+.,^ТLEL\x-0z9^,AY>Cه,0Od{ط1DU9ښ3ۮ(BEXHEK=Yu4}6sKO cRHRtڹư㷑˽ݮ8ꑛ -+C-cx}[نHq1h+lh0 /kE]eǽW]1Ȇ1IupY$DpbΘb("ItݬES+U/ɘ,}G&6 (<1,^}_1_@_}5/IP( ֟3mM }Yk݇aʝ\sXBGOAXXCːb7]B)d&`D<9U^;~9  ~˽AXBJ ^3U_0ݗTpR/Mf@b0H݈@ * HC+6ڇ~ v$="#7SA0:Em%1k>tTSud[E8 -gXXQGsڼ%S`CzO bxƋub$懖,TbTLw.m^&mV|&hu`uh8Vk toNo&ޗ2$ͤnV in.m%S ln05IV/wI2]oEq rqqi߮Vo`q?lׄz a V@q!usvϤrd,'l7Gc '8l_N5#y~03FOsO>d)sߗK 1?q#gnnX6/n~GGG9K_0tO1!Hz^?sP1} 2p'sUe^]GL_'`Gڞ tw?7ot'lB8dPH/shi$opsiM,gM,o-owtDbwMt6vuj_"y3'r~hE"GVwi(Fi݋>G`xӊ'x*S*qgDzGNdRTty'rҎg~7{_uExh] l4NVlUyq{v?`채T`툶7m^xd#|mЂz1O|Oz>N8|{}/}H"p0^vO_z0#5$쌹{ٟ{o;K~tݗ;S39'mWZnos7nt u( 2TxCuAhbÌ5^ȱ#Ȉ Cۨ.a0`ȗ2gR$ict:wy'P4xI]0RO6T`լWUҥLmZ Zu \Cʼn>q0fF"e ]]jiw`^kpK%bv)-4ʍ-Ѥ75ګiT_I nگL: qR,5XVsɘ Ŗi*W5wZ!#Oav^R: k% X 'YfZd|\Lz - WMF.qC.4۫+jնh6U{C j .0@w#|+;\.t-]]Z=Q:tK0z\n[iJ]uXv%Yc{]jlyjc (`I47MGN4]}h .vÞ.-`,dL%Ph☶1uw_Zaoo'VcU6}{S,td_8_8B @c"iF\SH$u 8Bq9'*lyénxoEn u@ ($1 G*F"uѨdP)[Al=Jm J[,4 YCg|#՝AU[RបzˑIa?s9 ~a#-$H1(Mrr&\%ҁ *&. bOFL+vP}UYX颱)E1r(v; @.ѫb2/A(D,@'2F-c#<A&@-?gĤ&MB4-!6YM\e:s,uUǶ]r34[ $xQ 1L4&&cw@\%AǪftӏIĐV6Of,VDIFFmQc:$EOĀ-fQM+W-HRАdxQ?HMD=I9́c0Q ?ӻ:<]Pjz tU(5m#GH$X1va~} :[DC01Xfk11M;Pق JGn]]Wzm0.`T:nt7L&vSԡcdx4b6/:\oŮ1 Z (ƪ T q:nv㈴:m\$aS;` Rruh2RFpp  BPΑgD NzEE$܄0K:=!.v$ qC$E0[wԢX PDܣQDh`rA:q R 58` UGvTYx:SnI*O/E1!92V8R uQȈDn LR!% ݐ^(-B1@  +- %C4AT@ER8MM9Ў@ @CA ؍C ^ D `ite"% <)DVY1$1XB:Ta@1(%!U 8MD%A ]:093^%K&TO\D q1A $C<Ō CBdAC TqE>D0@UT.lT0̌i&E61ɝ!9ƘAt!I%@$CtC0+لeX cx5-HN@3OB9ۑXB1XAT669Z|L(:_]\BɕA-P9tW(9@N1 Uq)2 $^=D(ANI 3QFX4݌"v}dbbB\@p/L\}O9):&Xc%à98:͝Jh9ƑU,.5QR\:$-%1\UUAdc'z%֚+\& -D(9/ CX3L BJ*Bݤ ^\ CAfP_&ƀ+$-X b(57hj:4 (Gldf*d0HN`@dЂU@Al--HXK\Rb*T%u9t ? @`@uDJ%W-Py_0@'*jJ25GWFaT~$D I$J(t`ACvq dG/\xe\,IAM0؂ .2A`ḋjGA$f( t:p`ABħ:(6'ɉ\6@h/oHȎC4& 5PDF 1Hn9  L鋾2l: B^Q^A _:* A|`C (|B+AfA!^8Ri׼&HщaVۺ1ŧ"L4 A0Ӹ:@ V̰+p 4 `0HRI,` \:@@ħ%C&)&[L&D(9L;A$9-|gmAHrAlWI8A0$AE줘Q:xK$1`DAdޜAdM@/<*@( % : \0K  D SvVCLX.*WHB)-O /#%,h%0,:@ymh[1ޯ`POGV 4^' |s#\9.1h,I_Lmv݀0N -(n$1:vgq&݂%\0\Z9$ |"/ť:H:@,:,@,*I &@%4`w K|@kCx,CmC::, A;N:B*(eF@00C9SD: ~ , pB4HAPB$Ca p[pӲOUOP` C C\HraC9fPO2\hc  O6bB((D t#M@* ΁ ^4@:lAJ\a$G7ST-J<<A q"q ob>OXnC@@e-F@W ê& *C"Ix Ru )E..U$/)wb@@ [ 0M SAP5QhlmfQ8`3Di9@ckK' ,r,Jy1؍rޏqBP[dp:Ys ,*#%;BKgMAA $2NKR)YtU:t+X9H+ 0ԣ:,64\ @(mI7c: 㫪C* #a([DR *(ZwXI"۵tJmwHO|7 :AhhDJ D J(!\'Fl [hdp^~C vQI@vםC8G8R򟒏RkI@-7-, A82TO*wr٥AN2|7p pH(gKZuq? 53o1 tܯ@R:Xdg4ày|@Ԧ$;ąCBBSU)C$A5|cRWk}gI22"RI16ʎ,CJfQnt7A &I0Zy l &X:àTgP(iI0;SoBmNb6I}7-B@z 0px{;&V{pnDrW<6N@T6hv[M]ك-(8vzDג4 *@`FCԛ|Cx%%OhĠs(7R}n @yl=%x8\Ͼ=vu$G[BY3(@CLW5S4GV[]p$~}0TS`oaN>. ED"!f @Vs=0s zn>M=O\?SBr 3{/5#=$;@S7`A&TaC!B<3u *$8`>mNH'QTPD'$ZԹs%?Ux .u1 i2B"\*Dt a՚gWu^IKсx}mnjU#۾;7'4u溲իWaRu3YI'[‡ת:Xu~RWf /E٠ AFw/_9q7l蕚] u+VŊgJNVc1;4[t'"]ҥa~ dtTg_T $N4@ _j:OOI_N D[;ޓ„#'.[T*frl 6D16d5e.Ä>d2c3!wRq_ZˏHH" -1ǃ:Հ$)d!TgÜ6KBGu!K8̩$ɌO>2lNpKI#BL-J2UG҈n1ǘ2UQ?mU*1We5ZC?XSsÕӥ)"ig9P!*ՏڈXjEVYUw%tl-ܨ$H N*ƨpI3umYWhՙ_$ݑJ5 ʥvX%tkXb?չA*l9x_`ߋ OH>INiS0x̹e}a5 uL!o5gbDjV"C'鑈Mr)tnYʖ*f$;n(72XB(wojNcΩ X'OJGz=\B|-?d6z$3PpCJAgԧKPݡ&)Աw90;t,p]XxUf~HO~yy,(3.腱o> W>| ՙIN_[.շ Kq_ABLD T@P-9 `P.t Qe HS0("&*A7C@>"KPa F"BP7 cpa}tKϑVYĠiQEht:60-</ntIX\~L`zNj-* 58tˇ}4dTajZldۆP<$2Hxaie哘[HV^I $#bQ:,9˟r SCpKaFćy\2jB&fE e5#%e$"Pz(ϑE2VuQ|insh!T!A \"$'qO3cC-!-x#1Ft܇B- s& N)O1tD7Q 48Rg2GE!ܠ:)ODG#)H(hU,`d=qDRNzՠA 894LRP N*+m1IFa U `\/pb*4 ])0qݠ.-@{vbfXlA$"CSFlg'J-H+2+`8fxGK$#* W?&2#$lح%Ui7 KC [EJ[ffI~g)"P_9Z"nQ-D⭍ƨ "&™NO+J0A!\q,^HdppBs$M4vI/ V*x@0e8~8cI{ܦ(-g:(A c=?I:J :BE.߷C[,D䗅xbT^k %\ј(qI\'E; zid ւCh-nĜXd$ԟS3gL JNzMd 19 j@td SbS:-3f]2_@-@3E˲dm5z]\q'9-ͩ;G0'ڷp,W uTל߿њCE-È>H„`lXrYZ3k%ΠCFBS~*VR?ÞMvm*K~MxWWF,3%σC&f 83'`=[ĺ/.U>_tW $;aϿT1[R2b Sj-E Rn2$Z2hC ؓ-B"Bt .B9/cO֎r$#H&s c:ƈZeJfBф 4:Nd @7l N$S!|@ /9g"N%>p8)| % Jz)N2!zjꬴN% iZ鉐< dlL$7QlAz^䍳 в)zݦ+5qe} F6A\[@j']{u/_0TeV4$#G@ڤKe!/tf.mcI;2L@;3E&qjH'c@bUy&-h,HuOs|}P*6۩>AqεMdo[kU0`R986F7ȹYvډ0@&'6s_jm\뮵D32bguoY Y@A~(zk䏫Aw6:LO{>O[ BN!؋-7>e4sHAJ(ba@FYexW$7vv 3  8Lʌn&$כ deMA6aYAhAMMӋbC ـ͒?f8`BJHtPm=iKBu"9F(/~qgx oL`rA}|4w@! QrsC:r!PIITeD!R֢y/\( 0RM 6)HRҔж5 &>  @w*8@pHbv&PU0"kxd&n\k>`0:ηń.*mڐKQ !тgApH⻜{KC8gRPn!QMQ*haEҁ1IanT:XJE1(0ťrw`Beބ@fP^ y5˕ 0J $CLB4ivb07$Gu[p6eaUfd997Ӻ$v9% u:;*Jb8wש}8,s١)ՈpAЈW d Ц#6TU 0 (PHf$:^nH '[gH`@^Ux$ dkyZ%lSy9QduxA~ܕji^ \i9_d.M0]ٹ:pDAAysd4t(Bļt/ }:|vNu#@x%HP#<%Yqo$lJ:G'2b. A<`fXp*`K}Q,ԁYLbKb=&1avf Y^!^8$NpquU;>}kg~mKQn 68A$xsYOj??Kbr$?!g jW}#rRU !}가*@w Q_"ApH ɷ!v7b ɧp]bm} QWxhltOL9POFh_"gqw RGUAQJb Q_k R(5x)mqB  3pO \ 0 ~8 } AA1 oWwzHG+sJP,p$~SM3O`l~ 0U`U @p!J` ^v2a4΅ds 1{g'e 0*p!B pCjpac0 ` EF n%1N"WЀ9p1 hPRw0 {R pꠎ0 1`@_[ G{Q~&N;#sp r0 ^XpoR HqXP`!sPŐk=ь0Y Ǒ Gr l0[rPRӃufol Q Xep 7pb FYR@`^ Z9PyG+y6ii aQ/)#kza@ IG{bP 6bp^ nM)l  P 2!6ps \  9 d4 o]y9ٔX-B5)!%uũP( )pO[9\-Ɩ W,Cp3 })T©q@ӹ)XX WH]*`#tY >{U40e3pRWWR@H{ Wl Pn/ZnX*njSfv f}RLZ@ (l,r ad ]p(: )s   b~*W.r~ƉڑQEۑѕK*桉H|#= Ѱ@`q{axH VuڗiqQjJ 2 Uaج| E Ɨ>1 Eb D0=G'v]QpGY(E!(@!* pZ Ji2fBlprPqR wG*T(+J|Q(1+PfHhY) %EZwA q xb 057~PpY*NuuQPc:T9YRWpOWȶhs۹8  AbF~@xu Pi%9z}&KbZse{˻K`z}GP!EPSKC* Ъ0K»ߥcJ/˻g훻y)P" j0&k+ 0 `%EܫnL+)';v:{lŻk/f4;̹,ܹ 1B [)PfJHYۗdˣZZ[bz@ bks.{zwOp6\})EܮˣǛSwT) Y?] |2JĄ<.o[|ƹ( UPFIR}||`!<%ui,ۉZ [ȍIEJX&Tpa잠z1< ~pʸFM8Q˵ !0`b{3̜,i|QK\ ٌ<!p1~fTS%11$ 4U5mϑ{׼˸~]GJG^:Q ӣ 1l;Lѡ\=탗k @{(ˮLN /$|%M BBE=j:=eQy Q|jhd V 'pͶ˿*gЭ|˓L ֶz5Kpr?"uv=`,PI|kM-ؠ# @ B<.!+fmٓ,&1lڢ-Q,}׭ ݪN?G^V< جgK+.LL|b-;~BO=6={HJrF9G (Ndȉ~sևnI|k @q~ql>xt=n~9wrݳwNLÞO/KV>*?{|^^n&2uIPx$y " |1λչNQ/+Ǹ0w-vއqg̱..gC M%^^. ]-^1ģ PaiP aB+/m Wc ˌܔ޸;! ɜ q3_u7|أ+lpk uPP2.n?^Q>|ȟo/PS7@ Tzm ;ug? P`P{ 隽@̉ݬYn-咞o@7 ŐʌoG]7[ %ð:F|hfa2% K/H/9GK~+Є:hkГ,1'?2V?j>RzC%]s^9TNĜƤx.lh[/Dǘ(,X.E'jtTY$1laRK|V?=,`2paenG[d&[Q'yk1EHuD{'yQk#?R[/0K~ LG2^58@UM[G/hѩ $a K~2"- *Z 80eR/R q@x:fЇ?22 t"* XB܁XD)M)C2őEh%. ь;C1r-эK "F(}wdJY-*@[ H8H]$ HGnxEvFq$xddbMVAlCByE/9rdbɀXR"_|΄E@ڶFu‚Dfs J.-h58|S03N,`FDCeHfYzɵ "eI8Rq"ۛPA4 .ЂxIh1f0/#`0X0@mbFpE2p0ha jK-DB('' 0:nu@ȭH1F1ҍhmzϡoXk%t30Ҁ\@@ W<rٙvO&L1tT@2 b$'0ĥKz@ QDI Bs#FLχf  m.'@P !v b. Ђ PH "ߎ`aWZ rEZ{o> 1n!p(:7BRp GiK!tÄC;+h1Fb4{FfxkY mȁQ/Gk*7#Ȗl>?C kyȊL\ `xGcQ< oC>X Dtɪ|CI>,8t4.?&PʼA @FuC$u@a>ˍ/8e"L{02PI\CA`ss``T2H˼8#:oK4:``4D@ [)>DZ0g"I˛PT4L-igBx|MZI ! s9uN8ԒCt0WԒ`f$GWd LOP"(O4PP8ą4lOsK>O4HLˈd=P˜Ԓ"̈ ԌPԒT N=1C#9 "uMRLy*sh$ H<㒓l+t͎07AM%P +R-Mt u1#a 3E-  OюS;Eͣ!d7-T"פR1K1:U8b`J9T ! K3O)̈_NRՄZ9Un@NK:\\ n%b#4$^%x (K`h!氅[TJk˱'>im89:;<=>?@A&B6CFDVEfFvGHIJK䅩C:N6M_Oe Q6e*SVUfVvWXYZ[e/\e.^fY`&fBdVc x].fuřaSBPCf/%fH`akl<1o eXu,$kfmau`Ь*(%yezf{& >- [3rVhMjh8hBJ腶:lhhyA苶6vdhf "i,>i;L^fe Akip NC`i8[pXXx_U$i{uhhkdjxjtkv~jjak;TQk {4H^ .kd:9ljƉRFkXllm(mmF%ޡ&EdN9me"&8oFlPVong'O,EgaB  pp8?8 G ,U\W'!, H*\ȰÇ#JHE%fȱǏ CIɓ(SxɃ:q"[I͛8sɳBꀊIѣH*] E!ʴիXiSgK沊=H"(TcӪ]v-_ۊI:rKدp*j+N8$f*˘3G P'wM48 xװcxֳٸs X`46N УKnسp7 @."霖"C A:]x*-唫:`e!)tћtc42QacY=ek MY Ku%mF*&x# TH"ÍׂzVF%K,&KSU)PAͨ\\:3J3t"я ͛: ÇJKXDp vDJ7>a]\Z23>m6 ]\1a̷MT=C~v-d@to%I!\Л 9lP:,`3:ʝBN3&_  {9:HsT>T^t! wd"*ZEoW/>B3ٽN7ykvfU/Ufy$eO|q Auص a4NP|F0TR Tqy@=]u]1PAu$cHvՓhw[Lh p7d_6 q1\o8{ cqXa כ,A=9Ch ʘ6TВ87Q;?@Fw> )Y%jӭp?0hx+%&ɐr8]O.Njl" 'G)J*C *WI_ySH9tGK$VHRlaINʓ1 q bm 4i2)@6'-ʜ離8rvx<2mrLHpgbs 2*9ba@`3h'b֩on3F>$氄`.ԞDCQa h@._9iC, 02[)_Z:Rʘr,:u:* 2!@ PBԥt"2f6MrS@"] bp(t39MM/EIY+rV%k`KMb:d'KZ9}"xgG`)iW6-Ip$ ڶ&$Qm5yޒ$ Pj}Kܑ #0Aԡ= ō:N;ݮEc*BV HK^ )s_"CoD*acͮX&(XO:` K+-,2!#G ڭ| _- H!֊_Tzƹs(|=Q@;,  }ld9Ln4&<[Q*X#ryu+ƈڢAS NV:B1Q4n>3V<,s R  fh.@F B* {"b<דbe0hp P)go9,;QzByoc~y>Y:A0T:$?o ^_'.3 AA!< п> W9M"IċCJ[d_ǯtGx7{L3:0l&UpdX'p|vX$xLwW,W.  vK}.p9X%bkZ`Dp|6JHMPgxF,)6X$uhJo^XⵄOqh qZamIF`v^Ea7`amx(6q2J|s CUE^0qq  v[(<}HXv?h^Ahwq'(V[[頋(@ 8!j7't_ `wd֋0ȅe/^ Qy\v;QѥN$av_tvXyeHG(|E}v8ȎťNhw%Fg À  aqb&Cd'Gèp 8`00 q0aa ĠNCpZ903PQmj ɠ! P_$S}P|1n'5q'I X 8@!@   xlfO7[ P !`p !R{A p [ z@eЦx1y8]|6UP 1jblP0 Vlkt: 0lPp 02*p 5hw\!a զ^`*  5zA[A Űo m(2-9Z99*0l*(P(E@lG^p ɉꐌk~PUPa8(ty%Cٗ"1xmNyy PY ɫZ&*wjw) pC$X=z@ w[c>jp) 1l7-ᦘXQ: *-@ɦqshd PӜhԒ:x 1lbl 4`뉉l@J{YHi1Ы@ aJ  6f p O p)p}t9f@l1R;!R 6h[ -S;j43! +ʯaP + z.ym`B 2HKHD  2J@q?0f@VZp~ H0r &P:ZKsq.vIf ` DP`lݫ}p@ z Hp @Hz@9 ̪ h a8 ',{IvcQ;]1jnqwsɹ4PdGrz:`i+z͚wJ9 ` WQ0j/z1 Ed ʬ7 l~Li˾ \@4ēEx ljH Jۯ:Kf˝ˋ!cA|zX8Pz ^ ɨi+ ǽ\zy?,Ye  )̬p k9ͺl8l\ 9.YX%9km ёܯ ƔllYP7ϑ (e̾l?m+~\\ ӝ6|@:юuL; Č1 \f 49oL/H mB}=ؗ,}1 DmS uǐW_k0[Ō] ɘ,{ =lqP ኮڲH1T&΋:] ـ]Kjk&}  1 a۶ڍ!D 9}|_p 2тl 6 l]A(-?}2Sa} &=ޏ8 0g4Ϳ^! !@<[v= jέ"}>OC"E!"~JfZ.]$O&(^[ޠjw 9ը7)lM;b-7> {VLݝU^_W2I+^Ϙ5KBMMLҾYGy]Y~Q>]Sn-o> a X,n f"mLCP .JnK>N#T*1Q>봮 qv3 &ߥ_^'ͬ.mr.#8(MIp `(Aᠢ.?xJgPDLC O>n,۾,1kׇ3}.Oy~%22]a/9o^a ÀFNL>GFoӨ8NܮgKv@[?4q*/^~ﱭ".ޣ7xSQv `E_ ?̞܋Oڠm܀?P` u0̀u Z 䱞%ݏ͜H̢yuHsP7*1b !.Ȑaň)6Pƍ sx2%J!YT̒(OB젎ص:SQ)F,]E4F>UԣEmz5"էZ~isLUUm]vH#+[.t:fd!piYp%d#olxd %ٜF).[NF& VÇ)f˔sxZU\Yyn]rgQѪu}-릛w/s"v D,0aq梛!Nrr +)2W>u \I[* x[n;䲢.8>JpJ,#+b2#h!$r5/$b")blQ%: Ɯ`)w3731;|.J39nT˺ Kҹ;t& )%)SHT"!j`T#,cM/ș8ʳFM2ɿ&5F ʹӹ4L-7Ѯ]Nf)*.+Ex;Kcu,5*=H.E#"`WvuW"7fh\Z+RQ&TؗPZ"R &*5b5R3gEVC06Ϧ⼐bYhғkٶ':qT2TP]f y4fw_#IT]%@tŻ$n)X58{ΒG6=;iÎ1Fu.8拚"!Ecݟ:w`HDE/\s(}TerV fvkc͌]dO&|5ݥs̼!P\RB|\Ƿ>Uր%P&˜Ted(bn`aît; D`8s~8$ (h^58"|A$"-i}{H)e8C^%y;hЇ?[:Q'5*Ȯ]pO"٥r$Kɕ`e[ SBֆьgto#rU +H h"E>; 6AHBY;G`8VҒ2pظ!]ғL9.-AGUJ>"GH *}d0F7H"1a'L3BH@푕ׄpWIo}B_8S*u@{혹P|Kx?Ӟ3$ @f@73 GZiASS'Ad9PB""ӢiXmhH&)@UA\y 5X]aȂ2~ٔԧ`qLuOztxF2BԪ"$Pt_:B^@oYjZB4u;ܤZjt0E(.rpk^x!tCs`JwslP!;ٺeҢx-lф葉 :6VhE:@8ӖVL\@CQ zN`PVlj]c *՘"Ul}@.8."@lՀSr(DN`eITܕW-O{Q^ B &'Zz{#I-u%B]{:B_+G#LnheT[7lnt |]Ŋq 0c_0vq$JJcЁdsŰq^t="I  )8i p"^24`*69kA7_rC^eˤ= Ђ1 ӡ>ip *+ )AhSkwyscp@0@ Pa [PB&^-@b2XP/zIL {9=(Ked5áHۗ&;QfHs(aW2@ ! r [Hd01` fd40p/V1C%)4 x\oau()U49lD$5OI"0$ \Ta"T.AKEU.@ ;M`-4pDdiQ[ f˕8t-&$g8KZ k% f:9@ 0xT(:ӱtLG])wƢQ 0F1n sE*:C]A.E71ԁe8;+f!9`4A*/۬2&(8/vC A /x=JSq \ ĀHhb]Qˊ*4 .! iP2PPft*<635(PU8A!a[# 8eF4d %"<@I' !Ku8Æ)@ @+ 8@u"8, !WK Ad'P[[PZ ,s`KJ&He¶4XPh( 7(+ 36uhù1![eȉ8`H/F9ʨJ?0E4_@T@c0T0H̐@Fz PNc9 cPs@.BA0AT ݠD+E8t[hy'2X_TH0:KK1n@oHH*0DrCrGux`T6 {lET!(‚a@ dPEJH@IQ*:ÀaIBAĎ!E;L5ɖaE[K@Y- Auu=DȠI7Ps[FtL!?Ǧt0<@QDǶYFXT2Iz 0 ÙHK L TKDIԂͼc_Ks8;Kp! BŴ^ٶsPcc%̵( 㤴IS[?W(:JZE |@۫INˌgI$kP:AtH1HRX08zԍ8G0Pu1YL_Zs#HDҎ/4[0H0/ӑ<0lPǹ ?P߳ R5\xuh PupFO:RwL[XFSm@KDbxb|#hH?тAM \s8H\d8r_0*S{RAψxt8֔_T}K8:Թp)7U>)H)euH܎D! _5ٖ [^E2uaQD(J MEu ſdacT0$'c$k# %F-V*8ۑbAa&n'>=w,rFLbT<'KsccX23ORc'f4] sHmTFd;jD[3:ŗԊHVH>bŵX܀AR[f&*PV*NeF^eF~DTVV(f(x0pOہYb+`)V6Is fvsfCt`Q"4Qudo(UwftOJ`UT2" y*{f|fE6E\RZ6h88_LWF>%aD#1e6hp@IS| >ni3~>!{ڼf7BƟKj3f F6d^ >#6,, m5$ fMjkkv9㶶j+Dc{kk~jkn~ lvȆk6XNllltlBlˆ.lFlmʊ*mmvlŽ6nkflmRvmņhNn^jjnVn.oY_fƧ^nkcF6bH?@A'B7CGDWEgFwGHIJKtLe*NtPsQmvR71?UVou//Pe'bY|mY?#\P X݈uWvcPmf^W}v6cUWkek5?o8¾eY';qp vRs ]ղ[o>lb`rvxre ԝz& ec( S?x$4H/5Րx ]0kfGlJT^Vxzwx|C2xM?׋l%e"ꕩOkGȌkp$zZqf&lq{?,bhԦzGکgrȸ&O|w_?^{GO11_}|Fч :K~Jc@#TEr3~}ہoˀ!, H*\ȰÇ ŋ3jܘp@ 8cɓ u ˗0cʜIӜ%uhK戩;WDA*4wI` I:'Mr `ʵׯ;KEdFա=譄@t8Jٻx݋OemU2Q@ R%p P̹AsLTuR(@-3s"0'TnVW`J\K7+O5iRu:>@ ͈.p[#Dv@Am;a^BSu 2Ar':M9Gg'2$$@بCCmٷ ("CbN*3fEP{F!E|Ġmgh2eh$M5xnbDxtA,y9Y.#^ji{w:9Pri^NYL4wDg*hLC:@Ivj۠Fz Fh$1@ev駑bK:s%GNꬴ 9 Xb ꕎJ*K6EMu~S췠ΨsǜK$dp!aAոSA>Pb:cp' \CcIȸ(WB ٨clrLҊ+/!A jv%$pzFZBq.`,%:Px<7QRv-#d/i(DexL-r GG|SfI}.8_b'N9+G.Wng术CV銗8蟮^D$:Y @S˪] M{0pBNcջn,q b1ssA}ALN@$aR\$c \`2u :H7:B00% 7o $d ߘŻ$<ÄH@]"JQ =f973/@m@677802{TdBt0g]|TZc 0t]1F"$"t 䁶v*7-m{h&8@ -1f⧰:ƏEiJ$ž!7(DJn|c M+ dB\M09eQKP!:XWZ%J*HcnyĨ/i` | 2KRkIMYf,Rx-TIYNsI,ѣ3F4DTg d5D)щ֓ .|!o|d@a }umLKI)8TGDjFo;mkq6(lJ䆼6\f%\q"z1 {YqA_#.yܸc0|z2u(!X K[8ͯ~L`mS THo'\J*Io :09_Di"&p,Il *j9b+Gk`s3~ɣzYX!J-2n ȭB2Q o!X:bfXV(B [(F fx93*NB [! u R@A1^8H4$ zUfã,IM\4^2i8NtB s<#6j{z}{7FYt- ^ɂMSL-&Ďv2/Iڜ66t'&зQh{%tR1m0%NV{I tKg2pe{'.8-:\=q= U'Q}(ާj7|}  X{{~{xC`@"a'0e fX}z+~F%hzXVx lh 7G#xj WʸcemToD yg~m cY^8t\gxi6wwǏ*S>stX8.9 hZmȔo niKy}6i]hlAAPf.ܘ Gjx'_97[q/+=Ti.j[ +%XV\0 p I iʐ–[88XgxY}(9ph p E`0e_11e0 x ` 9 P8|8שX,z6 ƚ '!@Pe)ZZ @ H Iߥ"Il:f_` SVeW1Z'`F %ð5 ):e`&p`31So@J` ` ؆]9IX)5 `s@j}0ZP @3yw` p90 fUSf_$ȈcKiu  J0@`1``` z9 i?! H u!eq.hG 6K +tm ` ~@Zpp~iCv ɀ OupS`&“{BC{mCG2ujg`^`jD PemׅrDžÀ 萬@ 9 q ̅i~"HJ6J )K+A7 ZkFYϙ8el{ @eP <))b {|ޛðP ۭR Ä9˻"ȯ\RɻȌ\˜*<kZ͍ȥ2BXW(@ ' ijZP,jZ@ `ojWC~8 7P1J'!ЏW;ܼ*J̇Ӽ?#0ZPu 牛9 DPPКQ5*H毢:VX\{:f PO`[ @ EU7ҟ<] Վr,̎`_@*~ pZ!1 S11 {)s诲kosYI@ 1Z`&fmfkяg֣-dͥ-ҥ40iК:Кupvg"q ho];Ԇ-kl `WF ৿]M͘١}b)\ٛm-z``Rׯܯ̍|Ǜ f$H{+zLaT Ʊj|Xm)-NB"^=t.j;B0 Ơ9ݽ~zͷˍȺχu]y⸖a `& <#%g̯ --'ސͬYwvھ PƐjycד˝nx.Tj`Pkd)j]~] *!$_ޙ̏a" D *S藦 ZXʸ\j8`p``d:Fb^F<"NȤ~|ܞ@3e }>1;ɁZxX\ow`O0p(?>֮6=\ءܗ.v*鶴LB p ŗ)3_6\#U{+\pP ,=~1p lhܱӾ(gix^Yxt_\dsĵE'b*+9HԢqLF u\>Ս9o2]dAcĴc1iY8I~,JϝuFٮ!@sz ՝a+;5\{< up ƛ߻}w ;~Fπݯ|ppvZOxRIҡ$0إK肍Qbŋ`TbTK.]:MTU^ŚUV]9XM{XVZmnEђtH`іqD1#KpF5f͚~-"߸@|GZJԷM.L]Zom[챯YRv.eTl!FΖߗ9) {0iZ2%U* ,9Ãݺ nerî[5݃צJbdcws!bzW,F)T >8r<'\A :IwpGggfG31aiDw([Yuqq ;սkg|QR}PtT ZƼFq"fiG@+) !Qe< #dPt܂Sb (a PJ< D@1I4b:F24T cǽԥG\ɕCaI3بA+Oec|',Ƒ*0@PcT(c<}D0W JW"Tp17>l#Yxя2\TZ$ IT0WaO\:$ӭG(d'W (`)d1Z8˴0)P͈@NVRQhV Ԩ)@FH2CP@%vZ#U)NIH)CCL&A8`PSĦ˄?S˩^%hUQ-T0h@EvUVeJ-D[Q@'uwR^eѩNT=n`J8X0M)p@YRUc"v`m@2D%P\r*O9$5)VٌD>e y ]ul)LH*@$т):ƫ^ ݮp甬7+ /1fTfJwF c6%ꘃ a8> >o`$0ǃG_OsHF8Ys!$s?w! ]I7gwїFdLi4w7:zCI6uh@sZկYh48ַƵg9׿k`[۱φmXaZ iN fkp:}nv;6J3Qnzכ*-n!u>pPGxatH8FNdWڶPJSTC7Kr'GyUr/ye>s7yus?zЅ>tGGzҕt7Ou?kUuCi]vgeG{zΞvfm[wϛ6s{w|le?bxW|VyS>V|Ss=[HO/gAz%OOKc̳>[}WM~,G1b)0).{!S{,nr\,ԟ7Z'*}))>[>kX#@?H?S<<> #S i@ ˼[@d;< t@ < > l? D \,?A A@A\lB:4L(BϺ='  ϲ)X="+xCճ?l6 ׻@;c%,<=tBͣ<: .tF`RD1>^C"D"A: ԣDk VA;EMUŪW@6EZ'$@hdąDfD^ `ų+sdLD dFG@>qR~dǀt 2u8$HXH~t٠)·\ii-b VD4"1bB#fI3\"EÇL1hXtHL1Z(Ɔ 曝t6q"k6vߜh4͊wH$k9%&iJ4H,T! YI"E 8e&}IVv2cCYZkDoI$mQkTK4^,5l&A&pbMF1MH`CqClWֆ'8G:|>vnX6Mr:ЍtKZؕga;nw6^nw[/)F+=y?R1E{_m(OOnoi`7R zD~0.\۫<}C+pE-q:D~8%Q\#|qc\YN# bc۪fLrb7K'1yZV '+2Y`UC .2݆ͭϑ[<ml2{NHx3i6 hEfU>+Joz^u_AX!(| 2 BM@)ʚ7SfvA C0?R ~fA+DFHQbZ ) d0 [C11RA "#^pE Ab~@0C.H RPhRM%`(62(t 6Ysʚ )7^]6!4B ɐi!(H2PsX%:ՁuyցA&LDG@$]A2rW ɕ u;=ct%x2rx$H9WDN_~G,HCP ^)|V%t$@O-x2;^5/ \ S}h8bB& }o !Fٟ\"E0@d(GtQ tRM~AD,_ `uVjT:$J#ަP8+y 0+5Mfe1 aW8iYIrqip17T{ !&8gĒxTb޸kĐvg2HrON\,M :Z4Œ`Ň` W)  <Ƈ@ll,e i`q-lGw-h8T\12D BNUȀtcjFodAAU]My;o!֒ӗ]LmK}MQe#LB3\%mm?ك5yGOAp4ګEN]M3~˽$̝4o2QG0uHqGݯH ۤ](FeD~A [,a AHL%SݻM 5m5}>ZT[FcNe/46L6uලImHqᖣ0?MJ2O0mv KLkH.S^TPNQǰWY>ZSVNU>kNprf~giNx>a`+as^!, %*\ȰÇTGݒd̏'~ #HH 9J*?LR&̚'[sΜ4 'OBKBA3K0)3W#jU!WԣV%]Ӫ՚D][k ݻ 7۠|սb/u̡K ]Ə xL@#uX/4#$:0n8ey(#"$^ZV0-$v q޷coGcBW(o&(Xqƕ%(Q/PsɞꐱljwJ,b'&&$@r^l-gт\qIphBqL|\Xj{wZr%(a $bkvukȖ#&3lA-L,r(K#>4-iꦶ*}& iʗj݋2|Q Pa"b4@-DmH'FC\*M f$C$|S]aZ6\%1@άֆbjOIWt%Vф c1߀.ߋ=x #0 e (D^k2/'kHgB ev@ez˜~А2Oyl1`8^ Z$ QQ` 20=2L dEJCKȠ5T 3]a`Qd|`5J9uDVKl#BAv}q!i[H@ᯊ]j4':z[|S;G, C %lᜄ-K9*GLN Ba1,q$}PƠIZy Մ ElΩX 8':dE,\Y$K S4~ŋXcMo.o->\~VO6{1^ DBdNj9RAq jK H` 091#tLؗ,ʔ!SUv`ThWLrUz&6yZq(A#@#RQbCs iXEʤ*xO1[ׄ @ $*s,>&  Lֺ@.¤Z+)HԷ1KYA RP`2iT‡$!~9&2> +:S,c/L&va("hV7LVAvpSE!jbH(I0 j\Jx݄12c@nT y[q @(X@&|Hߵ$QLƢ& pX1)6f0NuHG*` `‰P6ܐHV1\Vs:THs9qAл^$p:R (=Ҵj>Ȥ R[,uTN q71ut /7ľ(dHǍ' a%~p;&V}e.g.fma>i٤CϢOW^pie^I"Lr-w/eyb&]Y9֋4_mQɇZ_A43 wpwQ>R8{Vm@agH!:V%xc xCoQVkʃZ$73T_b6 >e@~׵+Ä #oh v Q$O"gj!P{FXT EM@!K1abjĆʡ' Te{B!@!XӃXUCpchq b ~HhWsV$gr3,F 2P UR*E^f i3p=y10DTm40d!B ,P{/~AaŃɕItq/ 4nvEjalk4Tan3$|;Fg`2-tE'bxqB a0dVhCxS8r >I 6HB&Dv*+Os 5TJd=CVŁ9@a .3 Tu,  LP:!sT ?iW@rq gr>0wS-bx>'&IN qQ~S)S &M[rwvv(:6hqVjiux0pp1ws5L\ QY{>b^G"_oHqVap";YV.3EU|yѹ: 6"i{wsp &^/&p$f$5p5@YVd 6z|0hRe~.Z]7vu3vwQ p'Wpq&@?:te6厫/˥) >}9aP\iZa) B (or0/VDW{BH`Wu2Q梂:pȆ/l Gáf$>te p_@)1Fy]tJAT92 }3uT7->[b@cJK|@ꀚhAr * JwJ9yt5 z(rGy @>g@ L\ؔ^r6%LL.q\bi&jEM g+WZ$(5.ZW'v6\Pn"b( wZaEPn 0 *0=Jt:@ε!.ÑLa1G4q5ØhBc YܖB6]@gia%!$D cGFzF @|Iʙ: bT4 !`/)W_GLmE@\XIa\hV{HDd755x=A8\! I^UBip}B_>4~ʎsdMqQ ]rTGcPtV1 3b@(ri.? 1hΒnښ=.:'#=[Oΐa T'=%T4 7pKa1K5<Ն :9/4R;+(X6g2i^U)QfB0ǂISGMVN%hu0qF4ae)[׺u&*K\7RcNq̹ *3!R+jȖK"p3T zP% t҉-1󅙹P[ ,u<,խ]~s1 1Gu<0&th9D5tJBn،5}*[`[i*i(e^ 걽nCǖv5wa"Y[(no)Fc6Rrf &:Zgu[ jاq#!iVu J*-b D?m KM7]L/hL>7i2KtI y.[B}cWHY60$ aqb5 xp-e Q   ܒ9 c$#Ihv@|DnyF6Ftآ )A((ܛ28Z L<Jhg ˮA@ k @) d ԑZWR5:%l%)H85$>̬Cr^{C100@Iya⛌3(JCfQlJdEb&B/E11.~HԑP@)傷T Byą叞P* vk 8G˾EV`1 |NCeZRG~.sYˮCХANnYbX1 *P\$2PA bMsul:p!\KFu 7GK KP< RMDt050 rA~:CAR;IhR_z%bpт: \c!0^J>$H2^Cp! pC6+䐯ʩe;H ̅=$Gn>bP!㦆E_8$,{X=$J[:ХL [(X!b*$uC А/rȫHc60ޒ6X8WIJ:,P%j`Y77=n aZ xI :5)V0 /`Q r1ì/7 RʁIQtԺ 畈E{l2_}cS~!FP@ iVd Fen /@ T4_bLdDc /c(oҤYc>Rt.xToF %WvqB'F,ުa$ ‹iӄRP1buE` oDs!D W 㻄 STс0 i(xo+O+ th[W 9ے Zݢ5pMZHBC!\-ث rh.M[[=嶥ffn[NFڇf񁧁k}Shh(%`}UFi`eP@_D+ #`)6ք _!VVفpLȋ{69WuTiBV=h,VLcm@?C1V/eb~ُ݃gYf` I[/ ;6 0 X1[j.n_`>0-(@; MUəL6YDӸ+V[ A(b 3b ?`ЍKJk:HR3/6hh+KR’r4s5ߒoNG~tGr%Q=aSN옊V?8K'qb3/OK|у(&3Eg`C Vnj;[n5G"mADcӭI߅ z mn/ PQ/q8La7^ favAW#LwcU裄wv/:ut5tN1xaЂ-݀5u[pu@qTǓ?v,:|*T6oTן?- %Pӥ? u h0^b)_VJ=dU{ϓCP26M2:wWzd\Hmti7>qz?VL I'J^:l`o⬙0bXN|"!F*J>sh{[zSKE  P!xK}LL )%P# l6n ُ'~9eP9{~wyu ;&9uQS!ĈXq"EmQ#Ȑ"GZh$s6*بʂZrQ%ʜ:w'P` j(ҤJ&M#S fLx˨FtcI`$,ڴIo1ڸrҭhѭ[aC/Εk0bWBoȒ'Sމ2:>zX9Xŋtg(p_Ӯm;˗.`"Lݥ34tԜe64 3;g4y7plVMZ UTںxwx`dQn30ƨLR `t $c .6%̱`O, mx#gubY-CL@1|qCZDꔁ:D(1]ڤ%uNڀ&H_ [C0y S-èC@dŕjr#84DJ-ahgJ~z]vX*Y)::9`%Y: i:\D j̑201'S+Uj/l8ԩ(|H(C&SbSBJF:J1〤B:n96tS)PK%uk-X\e-龈R⾸ DF+I&- Es:ƤJ l9GTIL^EmN%`˪Z&-I*57/f`I!_MaTě18C8ӇwkgB̓Q$ؤ 2A93J|Ixz+6 өX\ \!-B$;aQN!d 6H#oHT`͑“LNӝM9LI7u!ڥC&h(bF%:1ȚLIYa&/bp`W1ֆY-.E=L5h4).RS&ѩEݶC&O+EoUelW2ÊI{p #E)%*V}_ޢ >ůKcV x4aXɉZ.6/&HVĝ D>^fZ.}fVDP/ h(+!:q CdlG]2LÀZ@GH*klNr|lQCJ A5!Xofb"A1/sTRK21m#+cHveAȬ!D$\nY4yqiK"},_8Xݯkf6"6L*nb 8u^y!^1 !pLIZl)^u '%@8DU ed^EWjUZ9`%gie ̘r$7N%6Jfm7Ħ+c[-ލ$C$hp8w4drm f63j37I@"FwxpקIZ~!C8V[ 5fnu7AGSn7\($5My13Strf#muJs7BPaR"OK9ΛK#P*.۽Q'N{c^u7~ڔXKp  a#¢s{64 :2/BTND.x[<?wՄ:)_uo*_,-`ýL81ܺг~4 !Epq_?ه2?]!ti-8U:C RM0 @-nZ3Ԋ2 uY](EĐ V3qZXGK fs `S$+h B a۝m ؠKTf R!E0@ %HbYEv r_J`D!D0U|ۨ aTcM!6aB(2"`*kL b !%~O%(Ka*ᡢ#*%(3$Z"(*F&N !._ 0v~ `*Zsq"CHô@C!J0.*&j6:TT_ѕ 3㹖3]AH0#Ra//!>৤_HQa:Ac =&Z  E~pLMA$/T@  eH=mlC :_\-TioХKBΠx ̓GŻHRJzN^]MvbE"wMFCn %fxLh%%eSSeTE ?r܂2tǩX +@d%֨"YQĊP#`%W$]S ^EX=XC^%9bM ȀGdF:C` eRIvgZEhS^fR|C۫|mXrrhJaajMR4LJnfG1KP*ݠN@ ^2'O_n涰Cta vRρg^B_(k"F_$/@ Q [ @rB$SN~OP"rDCLNqt@/bA6!FPh&(lP0=N%RC~G @T(lz`oF ȼo\[,CdA*@ 3PT=B*C0100`\ K܂_k.ު+JKXnV\~M .S&%Dl q1k.ܑ1<I [-|ܚ1P ǨX2 /!q~9'^1t-/ɞ8 0LFͧL3ȥj2S/([L^dXQ* $z5^Ϻ.|MB":`:cDڂXTpJ$S'ttL1_Đ_`:j_V :B1uKDU\,\_J]SpSIJfT:XU9>.ad sVuDLPZCCt,]B1dhdM/Z,,tr'rps~.[ V`E78@\#su7TIkMC,_8C@7B9CKvf'G = ?YM+)187<8x6 ?)ɉ HKg0:44W73LȐ:0oD đX_ /1Z:D} xBu{9#MxB5OD4 C(p'%`w+yN B|F 1XUY9pi$/:L${Fo!pCto]6<39k0WBXd_zj$T*t oB/ NXcB8Wsh JV' F;GM; 7ƲUhM&CJ܏|2:$90áP+1jf < AwET{=/ (P+cN^ Z!Dij8u8p\LβX]R_I!1XšT@e$x8U=eCDP(3;8R=ܧtG CMhPاĢ> ,}v>Uw'3p݂|Qhf@A2J럄ђ(xĀ̇c@g@[=pİ^:}T-gT?Sd„Vr|Gwkvo-,[?J<栗21$*@K`A&TaC!"Dga.cGAyPY:t% 8BGƔ9fM |Κ:[o1`1iST)p`a&Q#WKfQSɦU-kC%:AniH&C0RKPKȜɆlq$#R5 dӴPM&L,!$RԱMCGQ,DO;; iʍ~bT挡eM\7g kQɂ \,%и"MZu/GPҼj`TҒLUomYּRoC5K1(gL@'bӾʓd|PĎ]+M0$fT.vFDg1&Gv`7nhK,QWBr4XIй嗼<%Ah.u0|mT"4fH67(c-Q[G(`e":ۈg31yy墵ֺكҙ^9AN g-t蠃Ɏd$D a^txH_S=#V",4䦙wL1lbD> S'2sHLtAAn7fXA`=L<ֱx/s5Ik*j:H\!ۗBXesTI'vf?=`wB:;Dg`Lݫ+7:0^w4=}ds Z#mT5\,Hz1YSq[/K0&n0Ni.MPbhvw<† !a6f#x@ B@URGn.MYB f#-vi$/cDCd*MIbciD %N z"TXhμ ~8XP ]pp/V^oz-o"'pKH ԭ1~ -N # KEDp  C )P`p&4pI `l (2 %t_5֌Z )"sntY$U#0cA<1v@Df ˃ .+̫ ҉^Z0IjАf$M!p${d&lQ݂L/򍕆qv8lx2<x!< 晴s/po҄#9JcP]+"dwђ`o1'b7gg1JnQ! 0P "EKKP#11MdFbJEk,C©ԡ+`*2l 綰 IP20r"q/!o ܂n)ܐ Vg4R{0# ,C$-jHOv%M!L k+AIms`p%&)Ni*s!. ! d2IO Gx$4;"bS555Sb|f-&.]açP* d dH"S#Zyĸ0)fёB9,7^"^v&!=..vm"i"(ly&vsqqD@K"O,8w c< c/K")XR$@+fP-`e. Xp!@ܛ-H\H eAYF7 S>%4iŪBul PAh>Z<!EC8tn&Ա)xs8^hB><` !:njFZІ@c18ir&MnԗRI>q'AS <5 @u #Q;i~ z€ ;&+M/S6M'#tsLenUT}TKJڸ D0U 1B1 ) (>nV@hP)tAUH9iIlb Ց9OD34TqѩAہxR!+ԠAo67E/ʀ%;VCW0:"rr ibI 3c!*&ui 5wIד:r"'I(a3R$7 :q%^'_[TiH *WDp-Hᢉt96ɨ a2+uOh"; =0"1wU!o;R  xkBI4B7/ U`"#47qn:fH8sv5( 0e"fJI>h\/jY&%|E0"-%0w3C6S0Yd6Dю i7&c5Yt /4@tq,؋B"xkBrs01MÀӢ\aѓcF`!>TY IP%Ukw0YvxDP?C]E`CPP_;cQ&cEà4CP L9#|9J@p܈e1?p (!EC#IL;Ź萡3!DaL$c@ `5CuQ~>@Цu!@:e 9A0 !pHԧ6D|CO3zcWM2"H6I*DTɧCۗF2} 21ISBQ_O<8DPgP?nFc('ta "pnq(#gp p "0mF'!)2TSOBC2/atJ40bF84EX?ub*-\n{3 cȬS.B#혱R?g@.+13[T+RE*H cIJ۴LN c&|Ф4{(gCvg7!Cn ; eK*;AǯW+):aS\BO@;}t9 $XP[{I6[!#yۗ{!f` R8bt@gۇJ[KД?vMDK 3W交 q{"[PH+C:* <(S;,[DB!.3u⼣[*]2v$: -tv`j BJ@ ]-P;l&禋pɪk>?TĻ: 4qy!9,:m;Es F#:&\>Cb|EAB[/g*lRtPy:M\Uyz6U,4 !iGf|ECC;g 'F!F!aPКyfs\U3 9j;p|lKf UQ,~ ;q0ElgB1Le~ %A:~Q%-&\>aSl>6/B3ðPei8@D |! a"]涁5@g,Jl#xI,ˬ>.CT4ikLέ ¢6[cQs~[npG ?mmU?x QoPBJ>.0B!N}b?PM>75q3>"s4!*gیऊyG %1q,URd{#`XފE"A#JD{<@5Fw*ڌ@t 6⫞g<!U] dugDC=Nv[&c8`ش!z"~Ҡ' V;v@ꇼn>bDr #>e@Q@2(O%2IkFM51uQBG1]VEr UX..bEA%_SZg7W adcDA$`~+U`uOso)_55Z >kՎ̀75/Y "zgQ,Z:&@! 2 viXRa>>Wl* dbb 1 ` P}Â}aa]rq#J,H5z,4xRWUaDB.q2Q $O:sԽL.c$h9ҥS7lK8gmX Nh$ns lęSΔԙh'OEEtgKlKwN:$ @u5L(t"FesV AtcV\8ϙ 0r}B$P\;8%<L\r9˜ƫX[FB[RUlꨩ pۘ1uF!(i .7IvN@\zJ[jA O? %ku( >&d|~7WX]+˄PGS.i0ov"+H $t²䢋F('9a 6Q6c)%fkp hE"#q90᪬R$LV `y 0+#2%$Y!"t+ϝX gLრq H1 qRآS# 'mźx)uZ &flFHDU)ģjIǒKI\#+ޢTR%cRg!` sBufZls,gT\ hBI sNmM_"_s2S[d6uB QI9Rk bC @ \Uιd+tK**"lԁb^QeHk$i1 ""2\:s⌉R""[R38$Kk,ԑ.h`K&> V[LIKx2Cvę+- FȀZNP hJ&C PȉS09Kk\!*a nE^5r'k]- &5ء,U u0Wj fvT[?5r5Ȉ.t*xQ3:GV@j8cZL>sÕ.0f0z@<=YJIxUЂDX0b6H_eɠ 2tpA MxԱ,DQ&ĈIt"V1¤.'"db_:ESg[x\ ND)&T2KNt &ba 68:GBR.r:BfH  =O : >'%e e)1`FF$} DJZrVLX^$Y=qpMbTCVq:g>; @uHv@/GYjӛa]kWБT* '"ĈFJǔdB璀HHYօMܢfD%Gh=ɻDUqL_c%DJ(u`S?1`Oz1"x#hNu*E% P!#eMRHWcs CI-5ES"D.~ޱ/~Ԭg=Y|5)Dnu{_l̑|<.0T`\w\SGձf c'BOgs\b?zq4heD)SP  ʀ P`UJ6MqYZp()6- s\ eAU h[u` .A^R'P d6ErĹW sl2e"OH <hDO \(3eݺ68Jj|5J2ud0n?N)sHd^ KN5OblSJ/Ju+e!ԁ_4B HPL?"125^屍jѵH)D2;)56^"1R $:Q0F_ȍ;DPجoꛞc!2WSH.kfv}Ց=BR >"Hu`$$䂍KLDk0W 1XʹX`Jȣɻ 22DAۉ ^ c,V|ɉPpK"L 8cƜщy$tt(Lf҉2TPH"j`QF15 hmNZ&K˹8DU tH1zºI?UB$$$ Blߩ' $CK8E)8Pux/+9ԉs`Bic-$ Y躜#$bXL VعT"F@pOc[YvڴPb)_4  b蹈=tAĎ0?'m\_5$d(Љ[YIt;YhqDVۉRSQSC`I<<$9Q8dx6/p K},^ cukO.=4PLLu՜t(92qR-SPWV-3 _(UuRPTi60(ԩ^E-Ʊs0HIY-00DD%Y'cPΤǔdF_Q-5kqTX ÅXH8ؖyrÕh]SeB Z WBڤ(PZ[̉uZ-zoJ8Z =+&B4@ImZ-۝Z˴ A&@UZ[Z N˽͠[EZMZM\ "ܔ 8YzG\\[iۣ5ۼ̭ \c!( f- Sܬ%ݢ@5]]=괱;!-%CPPd+D^Qc@ݛ/&Y5+( $PN6[@>% `%FE6 D?f=Ze=dL+}e8Sc؜тb)Vd%&`h*},aPNbepeL'Z0\neveq}"HXfΕ:xP](ڱxeqppVg(euHr]d0di[IY~ycL~<↎[!e\0[pgef~Vu艖vfd˘8fG8dYFi0/fuL)#& @J蛾)CVkjj~v֙yV˹yrVHc !CL :sӰ~sF pfkkNdi#lý7&.[qєז . ݹFAK:`G=kɖlhE퉸~4^ 犅uX]%Avnhو 1N).ݚlJ)! %@n<+)t XuH-H 䫥Ao%3dD#҃Y:fl}>˯ax Qu6B7r4GZ ZWf'ί@tu8p. ԩ \2(S_צxQosXP")[8tkצ I VF/UV qBvu!01ί cM]`i?"jN w)ˆ.AeZ É/0 @BgttTǢ'd]Ϡ(ړy)JawZ ef~a=u.@?ٝ_zHS@' c{y_!k J룶:`0 >{ hYy`ŁBB$!}Czz?Kƴ@|5|Mu!W7 Gʏ[Uƈa`Gt9,đ<D$xMP1qP8Yx:2 Q9"6v΁ud@8QI#wxň1gyUDGEs:-'tC_sy9&D8-$in :D1a%(sBc s',H%.S]C'JpXH ВE(7%cꗔk4\ZMY`Єls2 02\qC1mG(dw62D쪙ֳ]A;qu<(RUDH!H^b%B@MSA:|ڧ @E)*S}Ѥs^ )3DXf,MQ.#CB\lɣFEt%wPFzK{$/}CHzX%fZ|pPoSA 9 3q W. C1R4d00D&'}Z\3G ґy9{Y+BoWy?uM'_J}2pg4GՎ&F0;F )-TPz˝5mkOCQE)qKdP3/ `PL긒 J#=BiN*PH0Br-Lр+L$<`4 '9}JrO. =9ǰD!ŀA'ȩmn -$8w2`V3`F0lQ̰E1AA+ ΧŀrYR0Bp^"X`8HaF )0BW@BBqI1 ɧĺ6xƒlםY@Gİ%F $WDȗ2_ h!-,0E4싍 Y%*`*%bb8:Ŗm 1@{#," y$.t_L""u$ ::T =B*0-~BJ}Q2PZD[хPfpsQ`8%j'vXk0z)5de8K!be"- 1Fb;Ȭ>CddKNaTu(4COTb(BB3O8H !O:|Xa U"-| ]Utߥu Jpka|B!R(uTz~}AHb$tEU`m^pHF*̱XiA j}#(cΒ8 $I6 vcpOECy4tZ9rZ?HJKJQY>{?=Apӑx A{'VJߟwD, #_~ZxރZ1hWh1?7?.Au\59.(_P-:8Ŭ ̩ͤ=-JqKtA0Vl9`-`9A _`$/ u ~`05@,NCKRuc- K0p6F:zB afq+ 1̌ddn˩9VJoqDHB8CUV$@2a_V7Cw$L*aA~"tVEDC:D "!&bKlE|!y|Fy` %NlD.27M!/F: 0-_Nt#2c3*>UCDq0Z:TY7FEp]= vO5R%4a6#!1;Ά-39*>.ȨC | rd .$8 *`KXBE51@>ZGRaHFM4IfdGdD3ȼbhXNXդMRNV-FX$hDL+%Zdsd-J$*lDEbefȘؽQ<@VDMT]Kd$IC#W$3W%hĴ[7%"f_(U>`>Y7 :<K:d^FK%j1\@nDFdRpq#DhgsDwrpvc:d 74u'`Hg]x"G4aDFhzjEL>U'ΊL'eE>4MSv 'Qg3rf|@QN|Qa6͐9dw-|@hr$F htwfQ ܌Bjې͊g(i)G>>RhX 'b$FV}DpFTiiFlZiJalF^JFT0Fdz)!!DĀ@uHjK$\BhA}nA`iWTB8N.-hv bF njV:B^*؍$䋰 J AQDxjI*jFõB,yKxReaN줇%x_-tGt+mʘHK~+ Z@ԑDQ1B -%xv*L|:H*YMD'(D[m)pTmnLX*mN C3C3b<3OHimPD1ϰʼn˒p?qeU3ޯ3`2 U))3#.;|'x:\ sN,9G6=/tmq71[MHaL4%>IC JD bK0 ,'móAjGG3 4HUg܂ftJPgKL#uNatM!Z`4QsRX-YZK:ȭCB]\/*4MK~!0oj@\ \K5a6C\@]Dd6PU[S$C$4;node-glob-7.1.2/package-lock.json000066400000000000000000001371331310765113000166100ustar00rootroot00000000000000{ "name": "glob", "version": "7.1.2", "lockfileVersion": 1, "packageIntegrity": "sha512-JxOUGrOQeIs7b5BNLjjGzCnzeXfIxHEH6e8z1Ir+6tBD2PTZZK5bWJqdxQTqJqM3Anw9rOqhAjyC7DG+r03nQg==", "dependencies": { "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "argparse": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "dev": true }, "asn1": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", "dev": true }, "assert-plus": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", "dev": true }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, "aws-sign2": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", "dev": true }, "aws4": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", "dev": true }, "balanced-match": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" }, "bcrypt-pbkdf": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "dev": true, "optional": true }, "bluebird": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=", "dev": true }, "boom": { "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true }, "brace-expansion": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=" }, "buffer-shims": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", "dev": true }, "byline": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/byline/-/byline-2.0.3.tgz", "integrity": "sha1-gRskuHScHN0dJrWbd/zBnT4Nhsk=", "dev": true }, "caseless": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", "dev": true }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true }, "clean-yaml-object": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", "dev": true }, "color-support": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.2.tgz", "integrity": "sha1-ScyZuJ0b3vEpLp2TI8ZpcaM+uJ0=", "dev": true }, "combined-stream": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "dev": true }, "commander": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", "dev": true }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "coveralls": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.1.tgz", "integrity": "sha1-1wu5rMGDXsTwY/+drFQjwXsR8Xg=", "dev": true, "dependencies": { "js-yaml": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", "dev": true }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } } }, "cross-spawn": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true }, "cryptiles": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "dependencies": { "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, "debug": { "version": "2.6.8", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", "dev": true }, "deeper": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/deeper/-/deeper-2.1.0.tgz", "integrity": "sha1-vFZOX3MXT98gHgiwADDooU2nQ2g=", "dev": true }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, "diff": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", "dev": true }, "ecc-jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "dev": true, "optional": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "esprima": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", "dev": true }, "events-to-array": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", "dev": true }, "extend": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", "dev": true }, "extsprintf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", "dev": true }, "foreground-child": { "version": "1.5.6", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, "form-data": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "generate-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", "dev": true }, "generate-object-property": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", "dev": true }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "dependencies": { "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, "glob": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", "dev": true }, "graceful-readlink": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", "dev": true }, "har-validator": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", "dev": true }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true }, "hawk": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true }, "hoek": { "version": "2.16.3", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "dev": true }, "http-signature": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "is-my-json-valid": { "version": "2.16.0", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", "dev": true }, "is-property": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", "dev": true }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", "integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA=", "dev": true }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "jodid25519": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", "dev": true, "optional": true }, "js-yaml": { "version": "3.8.4", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.4.tgz", "integrity": "sha1-UgtFZPhlc7qWZir4Woyvp7S1pvY=", "dev": true, "dependencies": { "esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "dev": true } } }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true, "optional": true }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "jsonpointer": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", "dev": true }, "jsprim": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", "dev": true, "dependencies": { "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, "lcov-parse": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", "dev": true }, "log-driver": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", "dev": true }, "lru-cache": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz", "integrity": "sha1-HRdnnAac2l0ECZGgnbwsDbN35V4=", "dev": true }, "mime-db": { "version": "1.27.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", "dev": true }, "mime-types": { "version": "2.1.15", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", "dev": true }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" }, "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "nyc": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/nyc/-/nyc-7.1.0.tgz", "integrity": "sha1-jhSXHzoV0au+x6xhDvVMuInp/7Q=", "dev": true, "dependencies": { "align-text": { "version": "0.1.4", "bundled": true, "dev": true }, "amdefine": { "version": "1.0.0", "bundled": true, "dev": true }, "ansi-regex": { "version": "2.0.0", "bundled": true, "dev": true }, "ansi-styles": { "version": "2.2.1", "bundled": true, "dev": true }, "append-transform": { "version": "0.3.0", "bundled": true, "dev": true }, "arr-diff": { "version": "2.0.0", "bundled": true, "dev": true }, "arr-flatten": { "version": "1.0.1", "bundled": true, "dev": true }, "array-unique": { "version": "0.2.1", "bundled": true, "dev": true }, "arrify": { "version": "1.0.1", "bundled": true, "dev": true }, "async": { "version": "1.5.2", "bundled": true, "dev": true }, "babel-code-frame": { "version": "6.11.0", "bundled": true, "dev": true }, "babel-generator": { "version": "6.11.4", "bundled": true, "dev": true }, "babel-messages": { "version": "6.8.0", "bundled": true, "dev": true }, "babel-runtime": { "version": "6.9.2", "bundled": true, "dev": true }, "babel-template": { "version": "6.9.0", "bundled": true, "dev": true }, "babel-traverse": { "version": "6.11.4", "bundled": true, "dev": true }, "babel-types": { "version": "6.11.1", "bundled": true, "dev": true }, "babylon": { "version": "6.8.4", "bundled": true, "dev": true }, "balanced-match": { "version": "0.4.2", "bundled": true, "dev": true }, "brace-expansion": { "version": "1.1.6", "bundled": true, "dev": true }, "braces": { "version": "1.8.5", "bundled": true, "dev": true }, "builtin-modules": { "version": "1.1.1", "bundled": true, "dev": true }, "caching-transform": { "version": "1.0.1", "bundled": true, "dev": true }, "camelcase": { "version": "1.2.1", "bundled": true, "dev": true, "optional": true }, "center-align": { "version": "0.1.3", "bundled": true, "dev": true, "optional": true }, "chalk": { "version": "1.1.3", "bundled": true, "dev": true }, "cliui": { "version": "2.1.0", "bundled": true, "dev": true, "optional": true, "dependencies": { "wordwrap": { "version": "0.0.2", "bundled": true, "dev": true, "optional": true } } }, "code-point-at": { "version": "1.0.0", "bundled": true, "dev": true }, "commondir": { "version": "1.0.1", "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, "dev": true }, "convert-source-map": { "version": "1.3.0", "bundled": true, "dev": true }, "core-js": { "version": "2.4.1", "bundled": true, "dev": true }, "cross-spawn": { "version": "4.0.0", "bundled": true, "dev": true }, "debug": { "version": "2.2.0", "bundled": true, "dev": true }, "decamelize": { "version": "1.2.0", "bundled": true, "dev": true }, "default-require-extensions": { "version": "1.0.0", "bundled": true, "dev": true }, "detect-indent": { "version": "3.0.1", "bundled": true, "dev": true, "dependencies": { "minimist": { "version": "1.2.0", "bundled": true, "dev": true } } }, "error-ex": { "version": "1.3.0", "bundled": true, "dev": true }, "escape-string-regexp": { "version": "1.0.5", "bundled": true, "dev": true }, "esutils": { "version": "2.0.2", "bundled": true, "dev": true }, "expand-brackets": { "version": "0.1.5", "bundled": true, "dev": true }, "expand-range": { "version": "1.8.2", "bundled": true, "dev": true }, "extglob": { "version": "0.3.2", "bundled": true, "dev": true }, "filename-regex": { "version": "2.0.0", "bundled": true, "dev": true }, "fill-range": { "version": "2.2.3", "bundled": true, "dev": true }, "find-cache-dir": { "version": "0.1.1", "bundled": true, "dev": true }, "find-up": { "version": "1.1.2", "bundled": true, "dev": true }, "for-in": { "version": "0.1.5", "bundled": true, "dev": true }, "for-own": { "version": "0.1.4", "bundled": true, "dev": true }, "foreground-child": { "version": "1.5.3", "bundled": true, "dev": true }, "fs.realpath": { "version": "1.0.0", "bundled": true, "dev": true }, "get-caller-file": { "version": "1.0.1", "bundled": true, "dev": true }, "get-stdin": { "version": "4.0.1", "bundled": true, "dev": true }, "glob": { "version": "7.0.5", "bundled": true, "dev": true }, "glob-base": { "version": "0.3.0", "bundled": true, "dev": true }, "glob-parent": { "version": "2.0.0", "bundled": true, "dev": true }, "globals": { "version": "8.18.0", "bundled": true, "dev": true }, "graceful-fs": { "version": "4.1.4", "bundled": true, "dev": true }, "handlebars": { "version": "4.0.5", "bundled": true, "dev": true, "dependencies": { "source-map": { "version": "0.4.4", "bundled": true, "dev": true } } }, "has-ansi": { "version": "2.0.0", "bundled": true, "dev": true }, "has-flag": { "version": "1.0.0", "bundled": true, "dev": true }, "hosted-git-info": { "version": "2.1.5", "bundled": true, "dev": true }, "imurmurhash": { "version": "0.1.4", "bundled": true, "dev": true }, "inflight": { "version": "1.0.5", "bundled": true, "dev": true }, "inherits": { "version": "2.0.1", "bundled": true, "dev": true }, "invariant": { "version": "2.2.1", "bundled": true, "dev": true }, "invert-kv": { "version": "1.0.0", "bundled": true, "dev": true }, "is-arrayish": { "version": "0.2.1", "bundled": true, "dev": true }, "is-buffer": { "version": "1.1.3", "bundled": true, "dev": true }, "is-builtin-module": { "version": "1.0.0", "bundled": true, "dev": true }, "is-dotfile": { "version": "1.0.2", "bundled": true, "dev": true }, "is-equal-shallow": { "version": "0.1.3", "bundled": true, "dev": true }, "is-extendable": { "version": "0.1.1", "bundled": true, "dev": true }, "is-extglob": { "version": "1.0.0", "bundled": true, "dev": true }, "is-finite": { "version": "1.0.1", "bundled": true, "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, "dev": true }, "is-glob": { "version": "2.0.1", "bundled": true, "dev": true }, "is-number": { "version": "2.1.0", "bundled": true, "dev": true }, "is-posix-bracket": { "version": "0.1.1", "bundled": true, "dev": true }, "is-primitive": { "version": "2.0.0", "bundled": true, "dev": true }, "is-utf8": { "version": "0.2.1", "bundled": true, "dev": true }, "isarray": { "version": "1.0.0", "bundled": true, "dev": true }, "isexe": { "version": "1.1.2", "bundled": true, "dev": true }, "isobject": { "version": "2.1.0", "bundled": true, "dev": true }, "istanbul-lib-coverage": { "version": "1.0.0-alpha.4", "bundled": true, "dev": true }, "istanbul-lib-hook": { "version": "1.0.0-alpha.4", "bundled": true, "dev": true }, "istanbul-lib-instrument": { "version": "1.1.0-alpha.4", "bundled": true, "dev": true }, "istanbul-lib-report": { "version": "1.0.0-alpha.3", "bundled": true, "dev": true, "dependencies": { "supports-color": { "version": "3.1.2", "bundled": true, "dev": true } } }, "istanbul-lib-source-maps": { "version": "1.0.0-alpha.10", "bundled": true, "dev": true }, "istanbul-reports": { "version": "1.0.0-alpha.8", "bundled": true, "dev": true }, "js-tokens": { "version": "2.0.0", "bundled": true, "dev": true }, "kind-of": { "version": "3.0.3", "bundled": true, "dev": true }, "lazy-cache": { "version": "1.0.4", "bundled": true, "dev": true, "optional": true }, "lcid": { "version": "1.0.0", "bundled": true, "dev": true }, "load-json-file": { "version": "1.1.0", "bundled": true, "dev": true }, "lodash": { "version": "4.13.1", "bundled": true, "dev": true }, "lodash.assign": { "version": "4.0.9", "bundled": true, "dev": true }, "lodash.keys": { "version": "4.0.7", "bundled": true, "dev": true }, "lodash.rest": { "version": "4.0.3", "bundled": true, "dev": true }, "longest": { "version": "1.0.1", "bundled": true, "dev": true }, "loose-envify": { "version": "1.2.0", "bundled": true, "dev": true, "dependencies": { "js-tokens": { "version": "1.0.3", "bundled": true, "dev": true } } }, "lru-cache": { "version": "4.0.1", "bundled": true, "dev": true }, "md5-hex": { "version": "1.3.0", "bundled": true, "dev": true }, "md5-o-matic": { "version": "0.1.1", "bundled": true, "dev": true }, "micromatch": { "version": "2.3.11", "bundled": true, "dev": true }, "minimatch": { "version": "3.0.2", "bundled": true, "dev": true }, "minimist": { "version": "0.0.8", "bundled": true, "dev": true }, "mkdirp": { "version": "0.5.1", "bundled": true, "dev": true }, "ms": { "version": "0.7.1", "bundled": true, "dev": true }, "normalize-package-data": { "version": "2.3.5", "bundled": true, "dev": true }, "normalize-path": { "version": "2.0.1", "bundled": true, "dev": true }, "number-is-nan": { "version": "1.0.0", "bundled": true, "dev": true }, "object.omit": { "version": "2.0.0", "bundled": true, "dev": true }, "once": { "version": "1.3.3", "bundled": true, "dev": true }, "optimist": { "version": "0.6.1", "bundled": true, "dev": true }, "os-homedir": { "version": "1.0.1", "bundled": true, "dev": true }, "os-locale": { "version": "1.4.0", "bundled": true, "dev": true }, "parse-glob": { "version": "3.0.4", "bundled": true, "dev": true }, "parse-json": { "version": "2.2.0", "bundled": true, "dev": true }, "path-exists": { "version": "2.1.0", "bundled": true, "dev": true }, "path-is-absolute": { "version": "1.0.0", "bundled": true, "dev": true }, "path-parse": { "version": "1.0.5", "bundled": true, "dev": true }, "path-type": { "version": "1.1.0", "bundled": true, "dev": true }, "pify": { "version": "2.3.0", "bundled": true, "dev": true }, "pinkie": { "version": "2.0.4", "bundled": true, "dev": true }, "pinkie-promise": { "version": "2.0.1", "bundled": true, "dev": true }, "pkg-dir": { "version": "1.0.0", "bundled": true, "dev": true }, "pkg-up": { "version": "1.0.0", "bundled": true, "dev": true }, "preserve": { "version": "0.2.0", "bundled": true, "dev": true }, "pseudomap": { "version": "1.0.2", "bundled": true, "dev": true }, "randomatic": { "version": "1.1.5", "bundled": true, "dev": true }, "read-pkg": { "version": "1.1.0", "bundled": true, "dev": true }, "read-pkg-up": { "version": "1.0.1", "bundled": true, "dev": true }, "regenerator-runtime": { "version": "0.9.5", "bundled": true, "dev": true }, "regex-cache": { "version": "0.4.3", "bundled": true, "dev": true }, "repeat-element": { "version": "1.1.2", "bundled": true, "dev": true }, "repeat-string": { "version": "1.5.4", "bundled": true, "dev": true }, "repeating": { "version": "1.1.3", "bundled": true, "dev": true }, "require-directory": { "version": "2.1.1", "bundled": true, "dev": true }, "require-main-filename": { "version": "1.0.1", "bundled": true, "dev": true }, "resolve-from": { "version": "2.0.0", "bundled": true, "dev": true }, "right-align": { "version": "0.1.3", "bundled": true, "dev": true, "optional": true }, "rimraf": { "version": "2.5.4", "bundled": true, "dev": true }, "semver": { "version": "5.3.0", "bundled": true, "dev": true }, "set-blocking": { "version": "2.0.0", "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.0", "bundled": true, "dev": true }, "slide": { "version": "1.1.6", "bundled": true, "dev": true }, "source-map": { "version": "0.5.6", "bundled": true, "dev": true }, "spawn-wrap": { "version": "1.2.4", "bundled": true, "dev": true, "dependencies": { "signal-exit": { "version": "2.1.2", "bundled": true, "dev": true } } }, "spdx-correct": { "version": "1.0.2", "bundled": true, "dev": true }, "spdx-exceptions": { "version": "1.0.5", "bundled": true, "dev": true }, "spdx-expression-parse": { "version": "1.0.2", "bundled": true, "dev": true }, "spdx-license-ids": { "version": "1.2.1", "bundled": true, "dev": true }, "string-width": { "version": "1.0.1", "bundled": true, "dev": true }, "strip-ansi": { "version": "3.0.1", "bundled": true, "dev": true }, "strip-bom": { "version": "2.0.0", "bundled": true, "dev": true }, "supports-color": { "version": "2.0.0", "bundled": true, "dev": true }, "test-exclude": { "version": "1.1.0", "bundled": true, "dev": true }, "to-fast-properties": { "version": "1.0.2", "bundled": true, "dev": true }, "uglify-js": { "version": "2.7.0", "bundled": true, "dev": true, "optional": true, "dependencies": { "async": { "version": "0.2.10", "bundled": true, "dev": true, "optional": true }, "yargs": { "version": "3.10.0", "bundled": true, "dev": true, "optional": true } } }, "uglify-to-browserify": { "version": "1.0.2", "bundled": true, "dev": true, "optional": true }, "validate-npm-package-license": { "version": "3.0.1", "bundled": true, "dev": true }, "which": { "version": "1.2.10", "bundled": true, "dev": true }, "which-module": { "version": "1.0.0", "bundled": true, "dev": true }, "window-size": { "version": "0.1.0", "bundled": true, "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", "bundled": true, "dev": true }, "wrap-ansi": { "version": "2.0.0", "bundled": true, "dev": true }, "wrappy": { "version": "1.0.2", "bundled": true, "dev": true }, "write-file-atomic": { "version": "1.1.4", "bundled": true, "dev": true }, "y18n": { "version": "3.2.1", "bundled": true, "dev": true }, "yallist": { "version": "2.0.0", "bundled": true, "dev": true }, "yargs": { "version": "4.8.1", "bundled": true, "dev": true, "dependencies": { "cliui": { "version": "3.2.0", "bundled": true, "dev": true }, "window-size": { "version": "0.2.0", "bundled": true, "dev": true } } }, "yargs-parser": { "version": "2.4.1", "bundled": true, "dev": true, "dependencies": { "camelcase": { "version": "3.0.0", "bundled": true, "dev": true } } } } }, "oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", "dev": true }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" }, "only-shallow": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/only-shallow/-/only-shallow-1.2.0.tgz", "integrity": "sha1-cc7O26kyS8BRiu8Q7AgNMkncJGU=", "dev": true }, "opener": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", "dev": true }, "os-homedir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz", "integrity": "sha1-DWK99EuRb9O73PLKsZGUj7CU8Ac=", "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true }, "process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", "dev": true }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, "qs": { "version": "6.3.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", "dev": true }, "readable-stream": { "version": "2.2.9", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", "dev": true }, "request": { "version": "2.79.0", "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", "dev": true }, "rimraf": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", "dev": true }, "safe-buffer": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", "dev": true }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "sntp": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "sshpk": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=", "dev": true, "dependencies": { "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, "stack-utils": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-0.4.0.tgz", "integrity": "sha1-lAy4L8z6hOj/Lz/fKT/ngBa+zNE=", "dev": true }, "string_decoder": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", "dev": true }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", "dev": true }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, "tap": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/tap/-/tap-7.1.2.tgz", "integrity": "sha1-36w+zxSshUe7rSW70Wzyw3Q/Zc8=", "dev": true }, "tap-mocha-reporter": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-2.0.1.tgz", "integrity": "sha1-xwMWFz1uOhbFjhupLV1s2N5YoS4=", "dev": true }, "tap-parser": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-2.2.3.tgz", "integrity": "sha1-rebpbje/04zg8WLaBn80A08GiwE=", "dev": true }, "tick": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tick/-/tick-0.0.6.tgz", "integrity": "sha1-XvgPPRHheef+gRDMintvfF2hycQ=", "dev": true }, "tmatch": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-2.0.1.tgz", "integrity": "sha1-DFYkbzPzDaG409colauvFmYPOM8=", "dev": true }, "tough-cookie": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", "dev": true }, "tunnel-agent": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", "dev": true }, "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true, "optional": true }, "unicode-length": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", "dev": true }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "uuid": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", "dev": true }, "verror": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", "dev": true }, "which": { "version": "1.2.14", "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", "dev": true, "dependencies": { "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true } } } node-glob-7.1.2/package.json000066400000000000000000000017651310765113000156630ustar00rootroot00000000000000{ "author": "Isaac Z. Schlueter (http://blog.izs.me/)", "name": "glob", "description": "a little globber", "version": "7.1.2", "repository": { "type": "git", "url": "git://github.com/isaacs/node-glob.git" }, "main": "glob.js", "files": [ "glob.js", "sync.js", "common.js" ], "engines": { "node": "*" }, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, "devDependencies": { "mkdirp": "0", "rimraf": "^2.2.8", "tap": "^7.1.2", "tick": "0.0.6" }, "scripts": { "prepublish": "npm run benchclean", "profclean": "rm -f v8.log profile.txt", "test": "tap test/*.js --cov", "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js", "bench": "bash benchmark.sh", "prof": "bash prof.sh && cat profile.txt", "benchclean": "node benchclean.js" }, "license": "ISC" } node-glob-7.1.2/prof.sh000066400000000000000000000005701310765113000146700ustar00rootroot00000000000000#!/bin/bash export CDPATH= set -e tmp=${TMPDIR:-/tmp} bash make-benchmark-fixture.sh wd=$PWD cd $tmp/benchmark-fixture node --prof -e ' var glob=require(process.argv[1]); glob("**/*.txt", function (er, files) { console.log(files.length) }) //console.log(glob.sync("**/*.txt").length); ' "$wd" mv *v8.log "$wd/v8.log" cd "$wd" node-tick-processor > profile.txt node-glob-7.1.2/sync.js000066400000000000000000000273421310765113000147060ustar00rootroot00000000000000module.exports = globSync globSync.GlobSync = GlobSync var fs = require('fs') var rp = require('fs.realpath') var minimatch = require('minimatch') var Minimatch = minimatch.Minimatch var Glob = require('./glob.js').Glob var util = require('util') var path = require('path') var assert = require('assert') var isAbsolute = require('path-is-absolute') var common = require('./common.js') var alphasort = common.alphasort var alphasorti = common.alphasorti var setopts = common.setopts var ownProp = common.ownProp var childrenIgnored = common.childrenIgnored var isIgnored = common.isIgnored function globSync (pattern, options) { if (typeof options === 'function' || arguments.length === 3) throw new TypeError('callback provided to sync glob\n'+ 'See: https://github.com/isaacs/node-glob/issues/167') return new GlobSync(pattern, options).found } function GlobSync (pattern, options) { if (!pattern) throw new Error('must provide pattern') if (typeof options === 'function' || arguments.length === 3) throw new TypeError('callback provided to sync glob\n'+ 'See: https://github.com/isaacs/node-glob/issues/167') if (!(this instanceof GlobSync)) return new GlobSync(pattern, options) setopts(this, pattern, options) if (this.noprocess) return this var n = this.minimatch.set.length this.matches = new Array(n) for (var i = 0; i < n; i ++) { this._process(this.minimatch.set[i], i, false) } this._finish() } GlobSync.prototype._finish = function () { assert(this instanceof GlobSync) if (this.realpath) { var self = this this.matches.forEach(function (matchset, index) { var set = self.matches[index] = Object.create(null) for (var p in matchset) { try { p = self._makeAbs(p) var real = rp.realpathSync(p, self.realpathCache) set[real] = true } catch (er) { if (er.syscall === 'stat') set[self._makeAbs(p)] = true else throw er } } }) } common.finish(this) } GlobSync.prototype._process = function (pattern, index, inGlobStar) { assert(this instanceof GlobSync) // Get the first [n] parts of pattern that are all strings. var n = 0 while (typeof pattern[n] === 'string') { n ++ } // now n is the index of the first one that is *not* a string. // See if there's anything else var prefix switch (n) { // if not, then this is rather simple case pattern.length: this._processSimple(pattern.join('/'), index) return case 0: // pattern *starts* with some non-trivial item. // going to readdir(cwd), but not include the prefix in matches. prefix = null break default: // pattern has some string bits in the front. // whatever it starts with, whether that's 'absolute' like /foo/bar, // or 'relative' like '../baz' prefix = pattern.slice(0, n).join('/') break } var remain = pattern.slice(n) // get the list of entries. var read if (prefix === null) read = '.' else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { if (!prefix || !isAbsolute(prefix)) prefix = '/' + prefix read = prefix } else read = prefix var abs = this._makeAbs(read) //if ignored, skip processing if (childrenIgnored(this, read)) return var isGlobStar = remain[0] === minimatch.GLOBSTAR if (isGlobStar) this._processGlobStar(prefix, read, abs, remain, index, inGlobStar) else this._processReaddir(prefix, read, abs, remain, index, inGlobStar) } GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) { var entries = this._readdir(abs, inGlobStar) // if the abs isn't a dir, then nothing can match! if (!entries) return // It will only match dot entries if it starts with a dot, or if // dot is set. Stuff like @(.foo|.bar) isn't allowed. var pn = remain[0] var negate = !!this.minimatch.negate var rawGlob = pn._glob var dotOk = this.dot || rawGlob.charAt(0) === '.' var matchedEntries = [] for (var i = 0; i < entries.length; i++) { var e = entries[i] if (e.charAt(0) !== '.' || dotOk) { var m if (negate && !prefix) { m = !e.match(pn) } else { m = e.match(pn) } if (m) matchedEntries.push(e) } } var len = matchedEntries.length // If there are no matched entries, then nothing matches. if (len === 0) return // if this is the last remaining pattern bit, then no need for // an additional stat *unless* the user has specified mark or // stat explicitly. We know they exist, since readdir returned // them. if (remain.length === 1 && !this.mark && !this.stat) { if (!this.matches[index]) this.matches[index] = Object.create(null) for (var i = 0; i < len; i ++) { var e = matchedEntries[i] if (prefix) { if (prefix.slice(-1) !== '/') e = prefix + '/' + e else e = prefix + e } if (e.charAt(0) === '/' && !this.nomount) { e = path.join(this.root, e) } this._emitMatch(index, e) } // This was the last one, and no stats were needed return } // now test all matched entries as stand-ins for that part // of the pattern. remain.shift() for (var i = 0; i < len; i ++) { var e = matchedEntries[i] var newPattern if (prefix) newPattern = [prefix, e] else newPattern = [e] this._process(newPattern.concat(remain), index, inGlobStar) } } GlobSync.prototype._emitMatch = function (index, e) { if (isIgnored(this, e)) return var abs = this._makeAbs(e) if (this.mark) e = this._mark(e) if (this.absolute) { e = abs } if (this.matches[index][e]) return if (this.nodir) { var c = this.cache[abs] if (c === 'DIR' || Array.isArray(c)) return } this.matches[index][e] = true if (this.stat) this._stat(e) } GlobSync.prototype._readdirInGlobStar = function (abs) { // follow all symlinked directories forever // just proceed as if this is a non-globstar situation if (this.follow) return this._readdir(abs, false) var entries var lstat var stat try { lstat = fs.lstatSync(abs) } catch (er) { if (er.code === 'ENOENT') { // lstat failed, doesn't exist return null } } var isSym = lstat && lstat.isSymbolicLink() this.symlinks[abs] = isSym // If it's not a symlink or a dir, then it's definitely a regular file. // don't bother doing a readdir in that case. if (!isSym && lstat && !lstat.isDirectory()) this.cache[abs] = 'FILE' else entries = this._readdir(abs, false) return entries } GlobSync.prototype._readdir = function (abs, inGlobStar) { var entries if (inGlobStar && !ownProp(this.symlinks, abs)) return this._readdirInGlobStar(abs) if (ownProp(this.cache, abs)) { var c = this.cache[abs] if (!c || c === 'FILE') return null if (Array.isArray(c)) return c } try { return this._readdirEntries(abs, fs.readdirSync(abs)) } catch (er) { this._readdirError(abs, er) return null } } GlobSync.prototype._readdirEntries = function (abs, entries) { // if we haven't asked to stat everything, then just // assume that everything in there exists, so we can avoid // having to stat it a second time. if (!this.mark && !this.stat) { for (var i = 0; i < entries.length; i ++) { var e = entries[i] if (abs === '/') e = abs + e else e = abs + '/' + e this.cache[e] = true } } this.cache[abs] = entries // mark and cache dir-ness return entries } GlobSync.prototype._readdirError = function (f, er) { // handle errors, and cache the information switch (er.code) { case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 case 'ENOTDIR': // totally normal. means it *does* exist. var abs = this._makeAbs(f) this.cache[abs] = 'FILE' if (abs === this.cwdAbs) { var error = new Error(er.code + ' invalid cwd ' + this.cwd) error.path = this.cwd error.code = er.code throw error } break case 'ENOENT': // not terribly unusual case 'ELOOP': case 'ENAMETOOLONG': case 'UNKNOWN': this.cache[this._makeAbs(f)] = false break default: // some unusual error. Treat as failure. this.cache[this._makeAbs(f)] = false if (this.strict) throw er if (!this.silent) console.error('glob error', er) break } } GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) { var entries = this._readdir(abs, inGlobStar) // no entries means not a dir, so it can never have matches // foo.txt/** doesn't match foo.txt if (!entries) return // test without the globstar, and with every child both below // and replacing the globstar. var remainWithoutGlobStar = remain.slice(1) var gspref = prefix ? [ prefix ] : [] var noGlobStar = gspref.concat(remainWithoutGlobStar) // the noGlobStar pattern exits the inGlobStar state this._process(noGlobStar, index, false) var len = entries.length var isSym = this.symlinks[abs] // If it's a symlink, and we're in a globstar, then stop if (isSym && inGlobStar) return for (var i = 0; i < len; i++) { var e = entries[i] if (e.charAt(0) === '.' && !this.dot) continue // these two cases enter the inGlobStar state var instead = gspref.concat(entries[i], remainWithoutGlobStar) this._process(instead, index, true) var below = gspref.concat(entries[i], remain) this._process(below, index, true) } } GlobSync.prototype._processSimple = function (prefix, index) { // XXX review this. Shouldn't it be doing the mounting etc // before doing stat? kinda weird? var exists = this._stat(prefix) if (!this.matches[index]) this.matches[index] = Object.create(null) // If it doesn't exist, then just mark the lack of results if (!exists) return if (prefix && isAbsolute(prefix) && !this.nomount) { var trail = /[\/\\]$/.test(prefix) if (prefix.charAt(0) === '/') { prefix = path.join(this.root, prefix) } else { prefix = path.resolve(this.root, prefix) if (trail) prefix += '/' } } if (process.platform === 'win32') prefix = prefix.replace(/\\/g, '/') // Mark this as a match this._emitMatch(index, prefix) } // Returns either 'DIR', 'FILE', or false GlobSync.prototype._stat = function (f) { var abs = this._makeAbs(f) var needDir = f.slice(-1) === '/' if (f.length > this.maxLength) return false if (!this.stat && ownProp(this.cache, abs)) { var c = this.cache[abs] if (Array.isArray(c)) c = 'DIR' // It exists, but maybe not how we need it if (!needDir || c === 'DIR') return c if (needDir && c === 'FILE') return false // otherwise we have to stat, because maybe c=true // if we know it exists, but not what it is. } var exists var stat = this.statCache[abs] if (!stat) { var lstat try { lstat = fs.lstatSync(abs) } catch (er) { if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { this.statCache[abs] = false return false } } if (lstat && lstat.isSymbolicLink()) { try { stat = fs.statSync(abs) } catch (er) { stat = lstat } } else { stat = lstat } } this.statCache[abs] = stat var c = true if (stat) c = stat.isDirectory() ? 'DIR' : 'FILE' this.cache[abs] = this.cache[abs] || c if (needDir && c === 'FILE') return false return c } GlobSync.prototype._mark = function (p) { return common.mark(this, p) } GlobSync.prototype._makeAbs = function (f) { return common.makeAbs(this, f) } node-glob-7.1.2/test/000077500000000000000000000000001310765113000143435ustar00rootroot00000000000000node-glob-7.1.2/test/00-setup.js000066400000000000000000000101051310765113000162530ustar00rootroot00000000000000// just a little pre-run script to set up the fixtures. // zz-finish cleans it up require("./global-leakage.js") var mkdirp = require("mkdirp") var path = require("path") var i = 0 var tap = require("tap") var fs = require("fs") var rimraf = require("rimraf") var fixtureDir = path.resolve(__dirname, 'fixtures') var files = [ "a/.abcdef/x/y/z/a" , "a/abcdef/g/h" , "a/abcfed/g/h" , "a/b/c/d" , "a/bc/e/f" , "a/c/d/c/b" , "a/cb/e/f" , "a/x/.y/b" , "a/z/.y/b" ] var symlinkTo = path.resolve(fixtureDir, "a/symlink/a/b/c") var symlinkFrom = "../.." files = files.map(function (f) { return path.resolve(fixtureDir, f) }) tap.test("remove fixtures", function (t) { rimraf.sync(fixtureDir) t.end() }) files.forEach(function (f) { tap.test(f, function (t) { f = path.resolve(fixtureDir, f) var d = path.dirname(f) mkdirp(d, '0755', function (er) { if (er) { t.fail(er) return t.bailout() } fs.writeFile(f, "i like tests", function (er) { t.ifError(er, "make file") t.end() }) }) }) }) if (process.platform !== "win32") { tap.test("symlinky", function (t) { var d = path.dirname(symlinkTo) mkdirp(d, '0755', function (er) { if (er) throw er fs.symlinkSync(symlinkFrom, symlinkTo, "dir") t.end() }) }) } ;["foo","bar","baz","asdf","quux","qwer","rewq"].forEach(function (w) { w = "/tmp/glob-test/" + w tap.test("create " + w, function (t) { mkdirp(w, function (er) { if (er) throw er t.pass(w) t.end() }) }) }) // generate the bash pattern test-fixtures if possible if (process.platform === "win32" || !process.env.TEST_REGEN) { console.error("Windows, or TEST_REGEN unset. Using cached fixtures.") return } var spawn = require("child_process").spawn; var globs = // put more patterns here. // anything that would be directly in / should be in /tmp/glob-test ["a/*/+(c|g)/./d" ,"a/**/[cg]/../[cg]" ,"a/{b,c,d,e,f}/**/g" ,"a/b/**" ,"**/g" ,"a/abc{fed,def}/g/h" ,"a/abc{fed/g,def}/**/" ,"a/abc{fed/g,def}/**///**/" ,"**/a/**/" ,"+(a|b|c)/a{/,bc*}/**" ,"*/*/*/f" ,"**/f" ,"a/symlink/a/b/c/a/b/c/a/b/c//a/b/c////a/b/c/**/b/c/**" ,"{./*/*,/tmp/glob-test/*}" ,"{/tmp/glob-test/*,*}" // evil owl face! how you taunt me! ,"a/!(symlink)/**" ,"a/symlink/a/**/*" ] var bashOutput = {} var fs = require("fs") globs.forEach(function (pattern) { tap.test("generate fixture " + pattern, function (t) { var opts = [ "-O", "globstar", "-O", "extglob", "-O", "nullglob", "-c", "for i in " + pattern + "; do echo $i; done" ] var cp = spawn("bash", opts, { cwd: fixtureDir }) var out = [] cp.stdout.on("data", function (c) { out.push(c) }) cp.stderr.pipe(process.stderr) cp.on("close", function (code) { out = flatten(out) if (!out) out = [] else out = cleanResults(out.split(/\r*\n/)) bashOutput[pattern] = out t.notOk(code, "bash test should finish nicely") t.end() }) }) }) tap.test("save fixtures", function (t) { var fname = path.resolve(__dirname, "bash-results.json") var data = JSON.stringify(bashOutput, null, 2) + "\n" fs.writeFile(fname, data, function (er) { t.ifError(er) t.end() }) }) function cleanResults (m) { // normalize discrepancies in ordering, duplication, // and ending slashes. return m.map(function (m) { return m.replace(/\/+/g, "/").replace(/\/$/, "") }).sort(alphasort).reduce(function (set, f) { if (f !== set[set.length - 1]) set.push(f) return set }, []).sort(alphasort).map(function (f) { // de-windows return (process.platform !== 'win32') ? f : f.replace(/^[a-zA-Z]:\\\\/, '/').replace(/\\/g, '/') }) } function flatten (chunks) { var s = 0 chunks.forEach(function (c) { s += c.length }) var out = new Buffer(s) s = 0 chunks.forEach(function (c) { c.copy(out, s) s += c.length }) return out.toString().trim() } function alphasort (a, b) { a = a.toLowerCase() b = b.toLowerCase() return a > b ? 1 : a < b ? -1 : 0 } node-glob-7.1.2/test/abort.js000066400000000000000000000007131310765113000160110ustar00rootroot00000000000000require("./global-leakage.js") var test = require("tap").test var glob = require('../') var assert = require("assert") var fs = require("fs") process.chdir(__dirname) test("abort prevents any action", function (t) { glob("a/**").abort() glob("a/").abort() glob("a/b/*").abort() glob.Glob.prototype.emit = fs.readdir = fs.stat = fs.lstat = assert.fail setTimeout(function () { t.pass("if it gets here then it worked") t.end() }, 100) }) node-glob-7.1.2/test/absolute.js000066400000000000000000000026731310765113000165270ustar00rootroot00000000000000require('./global-leakage.js') var t = require('tap') var glob = require('../') var common = require('../common.js') var pattern = 'a/b/**'; var bashResults = require('./bash-results.json') var isAbsolute = require('path-is-absolute') process.chdir(__dirname + '/fixtures') t.Test.prototype.addAssert('isAbsolute', 1, function (file, message, extra) { extra.found = file return this.ok(isAbsolute(file), message || 'must be absolute', extra) }) var marks = [ true, false ] marks.forEach(function (mark) { t.test('mark=' + mark, function (t) { t.plan(2) t.test('Emits absolute matches if option set', function (t) { var g = new glob.Glob(pattern, { absolute: true }) var matchCount = 0 g.on('match', function (m) { t.isAbsolute(m) matchCount++ }) g.on('end', function (results) { t.equal(matchCount, bashResults[pattern].length, 'must match all files') t.equal(results.length, bashResults[pattern].length, 'must match all files') results.forEach(function (m) { t.isAbsolute(m) }) t.end() }) }) t.test('returns absolute results synchronously', function (t) { var results = glob.sync(pattern, { absolute: true }) t.equal(results.length, bashResults[pattern].length, 'must match all files') results.forEach(function (m) { t.ok(isAbsolute(m), 'must be absolute', { found: m }) }) t.end() }) }) }) node-glob-7.1.2/test/bash-comparison.js000066400000000000000000000043301310765113000177660ustar00rootroot00000000000000// basic test // show that it does the same thing by default as the shell. require("./global-leakage.js") var tap = require("tap") var child_process = require("child_process") var bashResults = require("./bash-results.json") var globs = Object.keys(bashResults) var glob = require("../") var path = require("path") var isAbsolute = require("path-is-absolute") // run from the root of the project // this is usually where you're at anyway, but be sure. var root = path.dirname(__dirname) var fixtures = path.resolve(__dirname, 'fixtures') process.chdir(fixtures) function cacheCheck(g, t) { // verify that path cache keys are all absolute var caches = [ 'cache', 'statCache', 'symlinks' ] caches.forEach(function (c) { Object.keys(g[c]).forEach(function (p) { t.ok(isAbsolute(p), p + ' should be absolute') }) }) } function alphasort (a, b) { a = a.toLowerCase() b = b.toLowerCase() return a > b ? 1 : a < b ? -1 : 0 } globs.forEach(function (pattern) { var expect = bashResults[pattern] // anything regarding the symlink thing will fail on windows, so just skip it if (process.platform === "win32" && expect.some(function (m) { return /\bsymlink\b/.test(m) })) return tap.test(pattern, function (t) { var g = glob(pattern, function (er, matches) { if (er) throw er // sort and unmark, just to match the shell results matches = cleanResults(matches) t.deepEqual(matches, expect, pattern) // verify that path cache keys are all absolute cacheCheck(g, t) t.end() }) }) tap.test(pattern + " sync", function (t) { var matches = cleanResults(glob.sync(pattern)) t.deepEqual(matches, expect, "should match shell (sync)") t.end() }) }) function cleanResults (m) { // normalize discrepancies in ordering, duplication, // and ending slashes. return m.map(function (m) { return m.replace(/\/+/g, "/").replace(/\/$/, "") }).sort(alphasort).reduce(function (set, f) { if (f !== set[set.length - 1]) set.push(f) return set }, []).map(function (f) { // de-windows return (process.platform !== 'win32') ? f : f.replace(/^[a-zA-Z]:[\/\\]+/, '/').replace(/[\\\/]+/g, '/') }).sort(alphasort) } node-glob-7.1.2/test/bash-results.json000066400000000000000000000047331310765113000176610ustar00rootroot00000000000000{ "a/*/+(c|g)/./d": [ "a/b/c/./d" ], "a/**/[cg]/../[cg]": [ "a/abcdef/g/../g", "a/abcfed/g/../g", "a/b/c/../c", "a/c/../c", "a/c/d/c/../c", "a/symlink/a/b/c/../c" ], "a/{b,c,d,e,f}/**/g": [], "a/b/**": [ "a/b", "a/b/c", "a/b/c/d" ], "**/g": [ "a/abcdef/g", "a/abcfed/g" ], "a/abc{fed,def}/g/h": [ "a/abcdef/g/h", "a/abcfed/g/h" ], "a/abc{fed/g,def}/**/": [ "a/abcdef", "a/abcdef/g", "a/abcfed/g" ], "a/abc{fed/g,def}/**///**/": [ "a/abcdef", "a/abcdef/g", "a/abcfed/g" ], "**/a/**/": [ "a", "a/abcdef", "a/abcdef/g", "a/abcfed", "a/abcfed/g", "a/b", "a/b/c", "a/bc", "a/bc/e", "a/c", "a/c/d", "a/c/d/c", "a/cb", "a/cb/e", "a/symlink", "a/symlink/a", "a/symlink/a/b", "a/symlink/a/b/c", "a/symlink/a/b/c/a", "a/symlink/a/b/c/a/b", "a/symlink/a/b/c/a/b/c", "a/x", "a/z" ], "+(a|b|c)/a{/,bc*}/**": [ "a/abcdef", "a/abcdef/g", "a/abcdef/g/h", "a/abcfed", "a/abcfed/g", "a/abcfed/g/h" ], "*/*/*/f": [ "a/bc/e/f", "a/cb/e/f" ], "**/f": [ "a/bc/e/f", "a/cb/e/f" ], "a/symlink/a/b/c/a/b/c/a/b/c//a/b/c////a/b/c/**/b/c/**": [ "a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c", "a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a", "a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b", "a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c" ], "{./*/*,/tmp/glob-test/*}": [ "./a/abcdef", "./a/abcfed", "./a/b", "./a/bc", "./a/c", "./a/cb", "./a/symlink", "./a/x", "./a/z", "/tmp/glob-test/asdf", "/tmp/glob-test/bar", "/tmp/glob-test/baz", "/tmp/glob-test/foo", "/tmp/glob-test/quux", "/tmp/glob-test/qwer", "/tmp/glob-test/rewq" ], "{/tmp/glob-test/*,*}": [ "/tmp/glob-test/asdf", "/tmp/glob-test/bar", "/tmp/glob-test/baz", "/tmp/glob-test/foo", "/tmp/glob-test/quux", "/tmp/glob-test/qwer", "/tmp/glob-test/rewq", "a" ], "a/!(symlink)/**": [ "a/abcdef", "a/abcdef/g", "a/abcdef/g/h", "a/abcfed", "a/abcfed/g", "a/abcfed/g/h", "a/b", "a/b/c", "a/b/c/d", "a/bc", "a/bc/e", "a/bc/e/f", "a/c", "a/c/d", "a/c/d/c", "a/c/d/c/b", "a/cb", "a/cb/e", "a/cb/e/f", "a/x", "a/z" ], "a/symlink/a/**/*": [ "a/symlink/a/b", "a/symlink/a/b/c", "a/symlink/a/b/c/a" ] } node-glob-7.1.2/test/broken-symlink.js000066400000000000000000000035501310765113000176500ustar00rootroot00000000000000var fs = require('fs') var test = require('tap').test var glob = require('../') var mkdirp = require('mkdirp') if (process.platform === 'win32') return require('tap').plan(0, 'skip on windows') process.chdir(__dirname) var link = 'fixtures/a/broken-link/link' var patterns = [ 'fixtures/a/broken-link/*', 'fixtures/a/broken-link/**', 'fixtures/a/broken-link/**/link', 'fixtures/a/broken-link/**/*', 'fixtures/a/broken-link/link', 'fixtures/a/broken-link/{link,asdf}', 'fixtures/a/broken-link/+(link|asdf)', 'fixtures/a/broken-link/!(asdf)' ] var opts = [ null, { nonull: true }, { mark: true }, { stat: true }, { follow: true } ] test('set up broken symlink', function (t) { cleanup() mkdirp.sync('fixtures/a/broken-link') fs.symlinkSync('this-does-not-exist', 'fixtures/a/broken-link/link') t.end() }) test('async test', function (t) { var count = patterns.length * opts.length t.plan(patterns.length) patterns.forEach(function (pattern) { t.test(pattern, function (t) { t.plan(opts.length) opts.forEach(function (opt) { glob(pattern, opt, cb(opt)) }) function cb (opt) { return function (er, res) { if (er) throw er var msg = pattern + ' ' + JSON.stringify(opt) t.notEqual(res.indexOf(link), -1, msg) }} }) }) }) test('sync test', function (t) { t.plan(patterns.length) patterns.forEach(function (pattern) { t.test(pattern, function (t) { t.plan(opts.length) opts.forEach(function (opt) { var res = glob.sync(pattern, opt) t.notEqual(res.indexOf(link), -1, 'opt=' + JSON.stringify(opt)) }) }) }) }) test('cleanup', function (t) { cleanup() t.end() }) function cleanup () { try { fs.unlinkSync('fixtures/a/broken-link/link') } catch (e) {} try { fs.rmdirSync('fixtures/a/broken-link') } catch (e) {} } node-glob-7.1.2/test/cwd-test.js000066400000000000000000000042421310765113000164350ustar00rootroot00000000000000require("./global-leakage.js") var tap = require("tap") var origCwd = process.cwd() process.chdir(__dirname + '/fixtures') var path = require('path') var isAbsolute = require('path-is-absolute') var glob = require('../') function cacheCheck(g, t) { // verify that path cache keys are all absolute var caches = [ 'cache', 'statCache', 'symlinks' ] caches.forEach(function (c) { Object.keys(g[c]).forEach(function (p) { t.ok(isAbsolute(p), p + ' should be absolute') }) }) } tap.test("changing cwd and searching for **/d", function (t) { t.test('.', function (t) { var g = glob('**/d', function (er, matches) { t.ifError(er) t.like(matches, [ 'a/b/c/d', 'a/c/d' ]) cacheCheck(g, t) t.end() }) }) t.test('a', function (t) { var g = glob('**/d', {cwd:path.resolve('a')}, function (er, matches) { t.ifError(er) t.like(matches, [ 'b/c/d', 'c/d' ]) cacheCheck(g, t) t.end() }) }) t.test('a/b', function (t) { var g = glob('**/d', {cwd:path.resolve('a/b')}, function (er, matches) { t.ifError(er) t.like(matches, [ 'c/d' ]) cacheCheck(g, t) t.end() }) }) t.test('a/b/', function (t) { var g = glob('**/d', {cwd:path.resolve('a/b/')}, function (er, matches) { t.ifError(er) t.like(matches, [ 'c/d' ]) cacheCheck(g, t) t.end() }) }) t.test('.', function (t) { var g = glob('**/d', {cwd: process.cwd()}, function (er, matches) { t.ifError(er) t.like(matches, [ 'a/b/c/d', 'a/c/d' ]) cacheCheck(g, t) t.end() }) }) t.end() }) tap.test('non-dir cwd should raise error', function (t) { var notdir = 'a/b/c/d' var notdirRE = /a[\\\/]b[\\\/]c[\\\/]d/ var abs = path.resolve(notdir) var expect = new Error('ENOTDIR invalid cwd ' + abs) expect.code = 'ENOTDIR' expect.path = notdirRE expect.stack = undefined var msg = 'raise error when cwd is not a dir' t.throws(function () { glob.sync('*', { cwd: notdir }) }, expect) glob('*', { cwd: notdir }, function (er, results) { t.match(er, expect) t.end() }) }) tap.test('cd -', function (t) { process.chdir(origCwd) t.end() }) node-glob-7.1.2/test/empty-set.js000066400000000000000000000007101310765113000166260ustar00rootroot00000000000000require("./global-leakage.js") var test = require('tap').test var glob = require("../glob.js") // Patterns that cannot match anything var patterns = [ '# comment', ' ', '\n', 'just doesnt happen to match anything so this is a control' ] patterns.forEach(function (p) { test(JSON.stringify(p), function (t) { glob(p, function (e, f) { t.equal(e, null, 'no error') t.same(f, [], 'no returned values') t.end() }) }) }) node-glob-7.1.2/test/enotsup.js000066400000000000000000000032311310765113000163750ustar00rootroot00000000000000var fs = require('fs') var readdir = fs.readdir var readdirSync = fs.readdirSync var sawAsyncENOTSUP = false var sawSyncENOTSUP = false var path = require('path') var fixtureDir = path.resolve(__dirname, 'fixtures') var allowedDirs = [ path.resolve(fixtureDir, 'a'), path.resolve(fixtureDir, 'a', 'abcdef'), path.resolve(fixtureDir, 'a', 'abcfed') ] fs.readdirSync = function (p) { if (allowedDirs.indexOf(path.resolve(p)) === -1 && !p.match(/[\\\/]node_modules[\\\/]/)) { sawSyncENOTSUP = true var er = new Error('ENOTSUP: Operation not supported') er.path = path er.code = 'ENOTSUP' throw er } return readdirSync.call(fs, p) } fs.readdir = function (p, cb) { if (allowedDirs.indexOf(path.resolve(p)) === -1 && !p.match(/[\\\/]node_modules[\\\/]/)) { setTimeout(function () { sawAsyncENOTSUP = true er = new Error('ENOTSUP: Operation not supported') er.path = path er.code = 'ENOTSUP' return cb(er) }) } else { readdir.call(fs, p, cb) } } var glob = require('../') var test = require('tap').test var common = require('../common.js') process.chdir(__dirname + '/fixtures') var pattern = 'a/**/h' var expect = [ 'a/abcdef/g/h', 'a/abcfed/g/h' ] var options = { strict: true, silent: false } test(pattern + ' ' + JSON.stringify(options), function (t) { var res = glob.sync(pattern, options).sort() t.same(res, expect, 'sync results') t.ok(sawSyncENOTSUP, 'saw sync ENOTSUP') var g = glob(pattern, options, function (er, res) { if (er) throw er t.ok(sawAsyncENOTSUP, 'saw async ENOTSUP') res = res.sort() t.same(res, expect, 'async results') t.end() }) }) node-glob-7.1.2/test/eperm-stat.js000066400000000000000000000040071310765113000167630ustar00rootroot00000000000000require("./global-leakage.js") var dir = __dirname + '/fixtures' var fs = require('fs') var expect = [ 'a/abcdef', 'a/abcdef/g', 'a/abcdef/g/h', 'a/abcfed', 'a/abcfed/g', 'a/abcfed/g/h' ] var lstat = fs.lstat var lstatSync = fs.lstatSync var badPaths = /\ba[\\\/]?$|\babcdef\b/ fs.lstat = function (path, cb) { // synthetically generate a non-ENOENT error if (badPaths.test(path)) { var er = new Error('synthetic') er.code = 'EPERM' return process.nextTick(cb.bind(null, er)) } return lstat.call(fs, path, cb) } fs.lstatSync = function (path) { // synthetically generate a non-ENOENT error if (badPaths.test(path)) { var er = new Error('synthetic') er.code = 'EPERM' throw er } return lstatSync.call(fs, path) } var glob = require('../') var t = require('tap') t.test('stat errors other than ENOENT are ok', function (t) { t.plan(2) t.test('async', function (t) { glob('a/*abc*/**', { stat: true, cwd: dir }, function (er, matches) { if (er) throw er t.same(matches, expect) t.end() }) }) t.test('sync', function (t) { var matches = glob.sync('a/*abc*/**', { stat: true, cwd: dir }) t.same(matches, expect) t.end() }) }) t.test('globstar with error in root', function (t) { var expect = [ 'a', 'a/abcdef', 'a/abcdef/g', 'a/abcdef/g/h', 'a/abcfed', 'a/abcfed/g', 'a/abcfed/g/h', 'a/b', 'a/b/c', 'a/b/c/d', 'a/bc', 'a/bc/e', 'a/bc/e/f', 'a/c', 'a/c/d', 'a/c/d/c', 'a/c/d/c/b', 'a/cb', 'a/cb/e', 'a/cb/e/f', 'a/symlink', 'a/symlink/a', 'a/symlink/a/b', 'a/symlink/a/b/c', 'a/x', 'a/z' ] var pattern = 'a/**' t.plan(2) t.test('async', function (t) { glob(pattern, { cwd: dir }, function (er, matches) { if (er) throw er t.same(matches, expect) t.end() }) }) t.test('sync', function (t) { var matches = glob.sync(pattern, { cwd: dir }) t.same(matches, expect) t.end() }) }) node-glob-7.1.2/test/error-callback.js000066400000000000000000000016501310765113000175660ustar00rootroot00000000000000require("./global-leakage.js") var logCalled var console_error = console.error console.error = function () { logCalled = [].slice.call(arguments, 0) console.error = console_error } var fs = require('fs') var test = require('tap').test var glob = require('../') test('mock fs', function(t) { fs.readdir = function(path, cb) { process.nextTick(function() { cb(new Error('mock fs.readdir error')) }) } t.pass('mocked') t.end() }) test('error callback', function(t) { glob('*', function(err, res) { t.ok(err, 'expecting mock error') t.end() }) }) test('called console.error for weird error', function (t) { // Need a setTimeout, since the console.error happens directly AFTER // the emit('error') with the error. setTimeout(function () { t.has(logCalled, [ 'glob error', { message: 'mock fs.readdir error' } ], 'got expected error printed to console.error') t.end() }) }) node-glob-7.1.2/test/follow.js000066400000000000000000000017371310765113000162130ustar00rootroot00000000000000var glob = require('../') var test = require('tap').test process.chdir(__dirname + '/fixtures') if (process.platform === 'win32') { require('tap').plan(0, 'skip on windows') return } test('follow symlinks', function (t) { var pattern = 'a/symlink/**' var syncNoFollow = glob.sync(pattern).sort() var syncFollow = glob.sync(pattern, { follow: true }).sort() glob(pattern, function (er, res) { if (er) throw er var noFollow = res.sort() glob(pattern, { follow: true }, function (er, res) { if (er) throw er var follow = res.sort() t.same(follow, syncFollow, 'sync and async follow should match') t.same(noFollow, syncNoFollow, 'sync and async noFollow should match') var long = 'a/symlink/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c/a/b/c' t.notEqual(follow.indexOf(long), -1, 'follow should have long entry') t.notEqual(syncFollow.indexOf(long), -1, 'syncFollow should have long entry') t.end() }) }) }) node-glob-7.1.2/test/global-leakage.js000066400000000000000000000011151310765113000175260ustar00rootroot00000000000000if (require.main === module) return require('tap').pass('ok') var before = Object.keys(global).sort().filter(function (t) { return t !== '__coverage__' && t !== '__core-js_shared__' }).join(':') var assert = require('assert') var glob = require('../') process.on('exit', function() { delete global.TAP_Global_Harness var after = Object.keys(global).sort().filter(function (t) { return t !== '__coverage__' && t !== '__core-js_shared__' }).join(':') if (after !== before) { console.log('- ' + before) console.log('+ ' + after) } assert.equal(before, after) }) node-glob-7.1.2/test/globstar-match.js000066400000000000000000000007271310765113000176160ustar00rootroot00000000000000require("./global-leakage.js") var Glob = require("../glob.js").Glob var test = require('tap').test test('globstar should not have dupe matches', function(t) { var pattern = 'a/**/[gh]' var g = new Glob(pattern, { cwd: __dirname }) var matches = [] g.on('match', function(m) { matches.push(m) }) g.on('end', function(set) { matches = matches.sort() set = set.sort() t.same(matches, set, 'should have same set of matches') t.end() }) }) node-glob-7.1.2/test/has-magic.js000066400000000000000000000023201310765113000165270ustar00rootroot00000000000000require("./global-leakage.js") var test = require("tap").test var glob = require('../') process.chdir(__dirname) glob.GlobSync.prototype._process = glob.Glob.prototype._process = function () { throw new Error('should not call _process() in these tests') } test("create glob object without processing", function (t) { t.ok(glob('a', {noprocess:true}) instanceof glob.Glob) t.ok(glob.GlobSync('a', {noprocess:true}) instanceof glob.GlobSync) t.end() }) test("non-string pattern is evil magic", function (t) { var patterns = [ 0, null, 12, {x:1}, undefined, /x/, NaN ] patterns.forEach(function (p) { t.throws('' + p, function () { glob.hasMagic(p) }) }) t.end() }) test("detect magic in glob patterns", function (t) { t.notOk(glob.hasMagic(""), "no magic in ''") t.notOk(glob.hasMagic("a/b/c/"), "no magic a/b/c/") t.ok(glob.hasMagic("a/b/**/"), "magic in a/b/**/") t.ok(glob.hasMagic("a/b/?/"), "magic in a/b/?/") t.ok(glob.hasMagic("a/b/+(x|y)"), "magic in a/b/+(x|y)") t.notOk(glob.hasMagic("a/b/+(x|y)", {noext:true}), "no magic in a/b/+(x|y) noext") t.ok(glob.hasMagic('{a,b}'), 'magic in {a,b}') t.notOk(glob.hasMagic('{a,b}', {nobrace:true}), 'magic in {a,b} nobrace:true') t.end() }) node-glob-7.1.2/test/ignore.js000066400000000000000000000121401310765113000161620ustar00rootroot00000000000000require('./global-leakage.js') // Ignore option test // Show that glob ignores results matching pattern on ignore option var glob = require('../glob.js') var test = require('tap').test // [pattern, ignore, expect, opt (object) or cwd (string)] var cases = [ [ '*', null, ['abcdef', 'abcfed', 'b', 'bc', 'c', 'cb', 'symlink', 'x', 'z'], 'a'], [ '*', 'b', ['abcdef', 'abcfed', 'bc', 'c', 'cb', 'symlink', 'x', 'z'], 'a'], [ '*', 'b*', ['abcdef', 'abcfed', 'c', 'cb', 'symlink', 'x', 'z'], 'a'], [ 'b/**', 'b/c/d', ['b', 'b/c'], 'a'], [ 'b/**', 'd', ['b', 'b/c', 'b/c/d'], 'a'], [ 'b/**', 'b/c/**', ['b'], 'a'], [ '**/d', 'b/c/d', ['c/d'], 'a'], [ 'a/**/[gh]', ['a/abcfed/g/h'], ['a/abcdef/g', 'a/abcdef/g/h', 'a/abcfed/g']], [ '*', ['c', 'bc', 'symlink', 'abcdef'], ['abcfed', 'b', 'cb', 'x', 'z'], 'a'], [ '**', ['c/**', 'bc/**', 'symlink/**', 'abcdef/**'], ['abcfed', 'abcfed/g', 'abcfed/g/h', 'b', 'b/c', 'b/c/d', 'cb', 'cb/e', 'cb/e/f', 'x', 'z'], 'a'], [ 'a/**', ['a/**'], []], [ 'a/**', ['a/**/**'], []], [ 'a/b/**', ['a/b'], ['a/b/c', 'a/b/c/d']], [ '**', ['b'], ['abcdef', 'abcdef/g', 'abcdef/g/h', 'abcfed', 'abcfed/g', 'abcfed/g/h', 'b/c', 'b/c/d', 'bc', 'bc/e', 'bc/e/f', 'c', 'c/d', 'c/d/c', 'c/d/c/b', 'cb', 'cb/e', 'cb/e/f', 'symlink', 'symlink/a', 'symlink/a/b', 'symlink/a/b/c', 'x', 'z'], 'a'], [ '**', ['b', 'c'], ['abcdef', 'abcdef/g', 'abcdef/g/h', 'abcfed', 'abcfed/g', 'abcfed/g/h', 'b/c', 'b/c/d', 'bc', 'bc/e', 'bc/e/f', 'c/d', 'c/d/c', 'c/d/c/b', 'cb', 'cb/e', 'cb/e/f', 'symlink', 'symlink/a', 'symlink/a/b', 'symlink/a/b/c', 'x', 'z'], 'a'], [ '**', ['b**'], ['abcdef', 'abcdef/g', 'abcdef/g/h', 'abcfed', 'abcfed/g', 'abcfed/g/h', 'b/c', 'b/c/d', 'bc/e', 'bc/e/f', 'c', 'c/d', 'c/d/c', 'c/d/c/b', 'cb', 'cb/e', 'cb/e/f', 'symlink', 'symlink/a', 'symlink/a/b', 'symlink/a/b/c', 'x', 'z'], 'a'], [ '**', ['b/**'], ['abcdef', 'abcdef/g', 'abcdef/g/h', 'abcfed', 'abcfed/g', 'abcfed/g/h', 'bc', 'bc/e', 'bc/e/f', 'c', 'c/d', 'c/d/c', 'c/d/c/b', 'cb', 'cb/e', 'cb/e/f', 'symlink', 'symlink/a', 'symlink/a/b', 'symlink/a/b/c', 'x', 'z'], 'a'], [ '**', ['b**/**'], ['abcdef', 'abcdef/g', 'abcdef/g/h', 'abcfed', 'abcfed/g', 'abcfed/g/h', 'c', 'c/d', 'c/d/c', 'c/d/c/b', 'cb', 'cb/e', 'cb/e/f', 'symlink', 'symlink/a', 'symlink/a/b', 'symlink/a/b/c', 'x', 'z'], 'a'], [ '**', ['ab**ef/**'], ['abcfed', 'abcfed/g', 'abcfed/g/h', 'b', 'b/c', 'b/c/d', 'bc', 'bc/e', 'bc/e/f', 'c', 'c/d', 'c/d/c', 'c/d/c/b', 'cb', 'cb/e', 'cb/e/f', 'symlink', 'symlink/a', 'symlink/a/b', 'symlink/a/b/c', 'x', 'z'], 'a'], [ '**', ['abc{def,fed}/**'], ['b', 'b/c', 'b/c/d', 'bc', 'bc/e', 'bc/e/f', 'c', 'c/d', 'c/d/c', 'c/d/c/b', 'cb', 'cb/e', 'cb/e/f', 'symlink', 'symlink/a', 'symlink/a/b', 'symlink/a/b/c', 'x', 'z'], 'a'], [ '**', ['abc{def,fed}/*'], ['abcdef', 'abcdef/g/h', 'abcfed', 'abcfed/g/h', 'b', 'b/c', 'b/c/d', 'bc', 'bc/e', 'bc/e/f', 'c', 'c/d', 'c/d/c', 'c/d/c/b', 'cb', 'cb/e', 'cb/e/f', 'symlink', 'symlink/a', 'symlink/a/b', 'symlink/a/b/c', 'x', 'z'], 'a'], [ 'c/**', ['c/*'], ['c', 'c/d/c', 'c/d/c/b'], 'a'], [ 'a/c/**', ['a/c/*'], ['a/c', 'a/c/d/c', 'a/c/d/c/b']], [ 'a/c/**', ['a/c/**', 'a/c/*', 'a/c/*/c'], []], [ 'a/**/.y', ['a/x/**'], ['a/z/.y']], [ 'a/**/.y', ['a/x/**'], ['a/z/.y'], { dot: true }], [ 'a/**/b', ['a/x/**'], ['a/b', 'a/c/d/c/b', 'a/symlink/a/b']], [ 'a/**/b', ['a/x/**'], ['a/b', 'a/c/d/c/b', 'a/symlink/a/b', 'a/z/.y/b'], { dot: true }], [ '*/.abcdef', 'a/**', [] ], [ 'a/*/.y/b', 'a/x/**', [ 'a/z/.y/b' ] ] ] process.chdir(__dirname + '/fixtures') cases.forEach(function (c, i) { var pattern = c[0] var ignore = c[1] var expect = c[2].sort() var opt = c[3] var name = i + ' ' + pattern + ' ' + JSON.stringify(ignore) if (typeof opt === 'string') opt = { cwd: opt } if (opt) name += ' ' + JSON.stringify(opt) else opt = {} var matches = [] opt.ignore = ignore test(name, function (t) { glob(pattern, opt, function (er, res) { if (er) throw er if (process.platform === 'win32') { expect = expect.filter(function (f) { return !/\bsymlink\b/.test(f) }) } t.same(res.sort(), expect, 'async') t.same(matches.sort(), expect, 'match events') res = glob.sync(pattern, opt) t.same(res.sort(), expect, 'sync') t.end() }).on('match', function (p) { matches.push(p) }) }) }) test('race condition', function (t) { process.chdir(__dirname) var pattern = 'fixtures/*' ;[true, false].forEach(function (dot) { ;['fixtures/**', null].forEach(function (ignore) { ;[false, true].forEach(function (nonull) { ;[false, process.cwd(), '.'].forEach(function (cwd) { var opt = { dot: dot, ignore: ignore, nonull: nonull, } if (cwd) opt.cwd = cwd var expect = ignore ? [] : [ 'fixtures/a' ] t.test(JSON.stringify(opt), function (t) { t.plan(2) t.same(glob.sync(pattern, opt), expect) glob(pattern, opt).on('end', function (res) { t.same(res, expect) }) }) }) }) }) }) t.end() }) node-glob-7.1.2/test/mark.js000066400000000000000000000111241310765113000156320ustar00rootroot00000000000000require("./global-leakage.js") var test = require("tap").test var glob = require('../') process.chdir(__dirname + '/fixtures') // expose timing issues var lag = 5 glob.Glob.prototype._stat = function(o) { return function(f, cb) { var args = arguments setTimeout(function() { o.call(this, f, cb) }.bind(this), lag += 5) }}(glob.Glob.prototype._stat) test('mark with cwd', function (t) { var pattern = '*/*' var opt = { mark: true, cwd: 'a' } glob(pattern, opt, function (er, res) { if (er) throw er var expect = [ 'abcdef/g/', 'abcfed/g/', 'b/c/', 'bc/e/', 'c/d/', 'cb/e/', ].sort() if (process.platform !== 'win32') expect.push('symlink/a/') t.same(res.sort(), expect) t.same(glob.sync(pattern, opt).sort(), expect) t.end() }) }) test("mark, with **", function (t) { var pattern = 'a/*b*/**' var opt = { mark: true } glob(pattern, opt, function (er, results) { if (er) throw er var expect = [ 'a/abcdef/', 'a/abcdef/g/', 'a/abcdef/g/h', 'a/abcfed/', 'a/abcfed/g/', 'a/abcfed/g/h', 'a/b/', 'a/b/c/', 'a/b/c/d', 'a/bc/', 'a/bc/e/', 'a/bc/e/f', 'a/cb/', 'a/cb/e/', 'a/cb/e/f' ] t.same(results, expect) t.same(glob.sync(pattern, opt), expect) t.end() }) }) test("mark, no / on pattern", function (t) { var pattern = 'a/*' var opt = { mark: true } glob(pattern, opt, function (er, results) { if (er) throw er var expect = [ 'a/abcdef/', 'a/abcfed/', 'a/b/', 'a/bc/', 'a/c/', 'a/cb/', 'a/x/', 'a/z/' ] if (process.platform !== "win32") expect.push('a/symlink/') expect = expect.sort() t.same(results, expect) t.same(glob.sync(pattern, opt), expect) t.end() }).on('match', function(m) { t.similar(m, /\/$/) }) }) test("mark=false, no / on pattern", function (t) { var pattern = 'a/*' var opt = null glob(pattern, opt, function (er, results) { if (er) throw er var expect = [ 'a/abcdef', 'a/abcfed', 'a/b', 'a/bc', 'a/c', 'a/cb', 'a/x', 'a/z' ] if (process.platform !== "win32") expect.push('a/symlink') expect = expect.sort() t.same(results, expect) t.same(glob.sync(pattern, opt), expect) t.end() }).on('match', function(m) { t.similar(m, /[^\/]$/) }) }) test("mark=true, / on pattern", function (t) { var pattern = 'a/*/' var opt = { mark: true } glob(pattern, opt, function (er, results) { if (er) throw er var expect = [ 'a/abcdef/', 'a/abcfed/', 'a/b/', 'a/bc/', 'a/c/', 'a/cb/', 'a/x/', 'a/z/' ] if (process.platform !== "win32") expect.push('a/symlink/') expect = expect.sort() t.same(results, expect) t.same(glob.sync(pattern, opt), expect) t.end() }).on('match', function(m) { t.similar(m, /\/$/) }) }) test("mark=false, / on pattern", function (t) { var pattern = "a/*/" var opt = null glob(pattern, opt, function (er, results) { if (er) throw er var expect = [ 'a/abcdef/', 'a/abcfed/', 'a/b/', 'a/bc/', 'a/c/', 'a/cb/', 'a/x/', 'a/z/' ] if (process.platform !== "win32") expect.push('a/symlink/') expect = expect.sort() t.same(results, expect) t.same(glob.sync(pattern, opt), expect) t.end() }).on('match', function(m) { t.similar(m, /\/$/) }) }) var cwd = process.cwd().replace(/[\/\\]+$/, '').replace(/\\/g, '/') ;[true,false].forEach(function (mark) { ;[true,false].forEach(function (slash) { test("cwd mark:" + mark + " slash:" + slash, function (t) { var pattern = cwd + (slash ? '/' : '') glob(pattern, {mark:mark}, function (er, results) { t.equal(results.length, 1) var res = results[0].replace(/\\/g, '/') var syncRes = glob.sync(pattern, {mark:mark}) syncRes = syncRes[0].replace(/\\/g, '/') if (slash || mark) t.equal(res, cwd + '/') else t.equal(res.indexOf(cwd), 0) t.equal(syncRes, res, 'sync should match async') t.end() }) }) }) }) node-glob-7.1.2/test/match-base.js000066400000000000000000000022771310765113000167150ustar00rootroot00000000000000var t = require('tap') var glob = require('../') var path = require('path') var fixtureDir = path.resolve(__dirname, 'fixtures') var pattern = 'a*' var expect = [ 'a', 'a/abcdef', 'a/abcfed', ] if (process.platform !== 'win32') expect.push('a/symlink/a', 'a/symlink/a/b/c/a') t.test('chdir', function (t) { var origCwd = process.cwd() process.chdir(fixtureDir) t.same(glob.sync(pattern, { matchBase: true }), expect) t.same(glob(pattern, { matchBase: true, sync: true }), expect) glob(pattern, { matchBase: true }, function (er, res) { if (er) throw er t.same(res, expect) process.chdir(origCwd) t.end() }) }) t.test('cwd', function (t) { t.same(glob.sync(pattern, { matchBase: true, cwd: fixtureDir }), expect) t.same(glob(pattern, { matchBase: true, sync: true, cwd: fixtureDir }), expect) glob(pattern, { matchBase: true, cwd: fixtureDir }, function (er, res) { if (er) throw er t.same(res, expect) t.end() }) }) t.test('noglobstar', function (t) { t.throws(function () { glob(pattern, { matchBase:true, noglobstar: true }) }) t.throws(function () { glob.sync(pattern, { matchBase:true, noglobstar: true }) }) t.end() }) node-glob-7.1.2/test/multiple-weird-error.js000066400000000000000000000006501310765113000207740ustar00rootroot00000000000000var t = require('tap') var fs = require('fs') fs.readdir = function(path, cb) { cb(new Error('expected')) } var glob = require('../') // also test that silent:true is actually silent! console.error = function () { throw 'SILENCE, INSECT!' } t.plan(2) glob('*', { silent: true }, function(err, files) { t.ok(err, 'got first error') }) glob('*', { silent: true }, function(err, files) { t.ok(err, 'got second error') }) node-glob-7.1.2/test/new-glob-optional-options.js000066400000000000000000000004641310765113000217330ustar00rootroot00000000000000require("./global-leakage.js") var Glob = require('../glob.js').Glob; var test = require('tap').test; var f = __filename.replace(/\\/g, '/') test('new glob, with cb, and no options', function (t) { new Glob(f, function(er, results) { if (er) throw er; t.same(results, [f]); t.end(); }); }); node-glob-7.1.2/test/nocase-nomagic.js000066400000000000000000000071131310765113000175660ustar00rootroot00000000000000require("./global-leakage.js") var fs = require('fs') var test = require('tap').test; var glob = require('../'); var cwd = process.cwd() var drive = 'c' if (/^[a-zA-Z]:[\\\/]/.test(cwd)) { drive = cwd.charAt(0).toLowerCase() } test('mock fs', function(t) { var stat = fs.stat var statSync = fs.statSync var readdir = fs.readdir var readdirSync = fs.readdirSync function fakeStat(path) { var ret switch (path.toLowerCase().replace(/\\/g, '/')) { case '/tmp': case '/tmp/': case drive+':\\tmp': case drive+':\\tmp\\': ret = { isDirectory: function() { return true } } break case '/tmp/a': case drive+':/tmp/a': ret = { isDirectory: function() { return false } } break } return ret } fs.stat = function(path, cb) { var f = fakeStat(path); if (f) { process.nextTick(function() { cb(null, f) }) } else { stat.call(fs, path, cb) } } fs.statSync = function(path) { return fakeStat(path) || statSync.call(fs, path) } function fakeReaddir(path) { var ret switch (path.toLowerCase().replace(/\\/g, '/')) { case '/tmp': case '/tmp/': case drive+':/tmp': case drive+':/tmp/': ret = [ 'a', 'A' ] break case '/': case drive+':/': ret = ['tmp', 'tMp', 'tMP', 'TMP'] } return ret } fs.readdir = function(path, cb) { var f = fakeReaddir(path) if (f) process.nextTick(function() { cb(null, f) }) else readdir.call(fs, path, cb) } fs.readdirSync = function(path) { return fakeReaddir(path) || readdirSync.call(fs, path) } t.pass('mocked') t.end() }) test('nocase, nomagic', function(t) { var n = 2 var want = [ '/TMP/A', '/TMP/a', '/tMP/A', '/tMP/a', '/tMp/A', '/tMp/a', '/tmp/A', '/tmp/a' ] if(process.platform.match(/^win/)) { want = want.map(function(p) { return drive+':' + p }) } glob('/tmp/a', { nocase: true }, function(er, res) { if (er) throw er if (process.platform.match(/^win/)) res = res.map(function (r) { return r.replace(/\\/g, '/').replace(new RegExp('^' + drive + ':', 'i'), drive+':') }) t.same(res.sort(), want) if (--n === 0) t.end() }) glob('/tmp/A', { nocase: true }, function(er, res) { if (er) throw er if (process.platform.match(/^win/)) res = res.map(function (r) { return r.replace(/\\/g, '/').replace(new RegExp('^' + drive + ':', 'i'), drive+':') }) t.same(res.sort(), want) if (--n === 0) t.end() }) }) test('nocase, with some magic', function(t) { t.plan(2) var want = [ '/TMP/A', '/TMP/a', '/tMP/A', '/tMP/a', '/tMp/A', '/tMp/a', '/tmp/A', '/tmp/a' ] if(process.platform.match(/^win/)) { want = want.map(function(p) { return drive + ':' + p }) } glob('/tmp/*', { nocase: true }, function(er, res) { if (er) throw er if (process.platform.match(/^win/)) { res = res.map(function (r) { return r.replace(/\\/g, '/').replace(new RegExp('^' + drive + ':', 'i'), drive+':') }) } t.same(res.sort(), want) }) glob('/tmp/*', { nocase: true }, function(er, res) { if (er) throw er if (process.platform.match(/^win/)) { res = res.map(function (r) { return r.replace(/\\/g, '/').replace(new RegExp('^' + drive + ':', 'i'), drive+':') }) } t.same(res.sort(), want) }) }) node-glob-7.1.2/test/nodir.js000066400000000000000000000030161310765113000160140ustar00rootroot00000000000000require("./global-leakage.js") var test = require("tap").test var glob = require('../') var path = require('path') var isAbsolute = require('path-is-absolute') process.chdir(__dirname + '/fixtures') function cacheCheck(g, t) { // verify that path cache keys are all absolute var caches = [ 'cache', 'statCache', 'symlinks' ] caches.forEach(function (c) { Object.keys(g[c]).forEach(function (p) { t.ok(isAbsolute(p), p + ' should be absolute') }) }) } // [pattern, options, expect] var root = path.resolve('a') var cases = [ [ '*/**', { cwd: 'a' }, [ 'abcdef/g/h', 'abcfed/g/h', 'b/c/d', 'bc/e/f', 'c/d/c/b', 'cb/e/f' ] ], [ 'a/*b*/**', {}, [ 'a/abcdef/g/h', 'a/abcfed/g/h', 'a/b/c/d', 'a/bc/e/f', 'a/cb/e/f' ] ], [ 'a/*b*/**/', {}, [] ], [ '*/*', { cwd: 'a' }, [] ], [ '/*/*', { root: root }, [] ], [ '/b*/**', { root: root }, [ '/b/c/d', '/bc/e/f' ].map(function (m) { return path.join(root, m).replace(/\\/g, '/') }) ] ] cases.forEach(function (c) { var pattern = c[0] var options = c[1] || {} options.nodir = true var expect = c[2].sort() test(pattern + ' ' + JSON.stringify(options), function (t) { var res = glob.sync(pattern, options).sort() t.same(res, expect, 'sync results') var g = glob(pattern, options, function (er, res) { if (er) throw er res = res.sort() t.same(res, expect, 'async results') cacheCheck(g, t) t.end() }) }) }) node-glob-7.1.2/test/nonull.js000066400000000000000000000015011310765113000162050ustar00rootroot00000000000000require("./global-leakage.js") var test = require("tap").test var glob = require('../') var common = require('../common.js') process.chdir(__dirname) // [pattern, options, expect] var cases = [ [ 'a/*NOFILE*/**/', {}, [ 'a/*NOFILE*/**/' ] ], [ '*/*', { cwd: 'NODIR' }, [ '*/*' ] ], [ 'NOFILE', {}, [ 'NOFILE' ] ], [ 'NOFILE', { cwd: 'NODIR' }, [ 'NOFILE' ] ] ] cases.forEach(function (c) { var pattern = c[0] var options = c[1] || {} options.nonull = true var expect = c[2].sort() test(pattern + ' ' + JSON.stringify(options), function (t) { var res = glob.sync(pattern, options).sort() t.same(res, expect, 'sync results') var g = glob(pattern, options, function (er, res) { if (er) throw er res = res.sort() t.same(res, expect, 'async results') t.end() }) }) }) node-glob-7.1.2/test/pause-resume.js000066400000000000000000000033021310765113000173120ustar00rootroot00000000000000require("./global-leakage.js") // show that no match events happen while paused. var tap = require("tap") var child_process = require("child_process") // just some gnarly pattern with lots of matches var pattern = "a/!(symlink)/**" var bashResults = require("./bash-results.json") var glob = require("../") var Glob = glob.Glob var path = require("path") process.chdir(__dirname + '/fixtures') function alphasort (a, b) { a = a.toLowerCase() b = b.toLowerCase() return a > b ? 1 : a < b ? -1 : 0 } function cleanResults (m) { // normalize discrepancies in ordering, duplication, // and ending slashes. return m.map(function (m) { return m.replace(/\/+/g, "/").replace(/\/$/, "") }).sort(alphasort).reduce(function (set, f) { if (f !== set[set.length - 1]) set.push(f) return set }, []).sort(alphasort).map(function (f) { // de-windows return (process.platform !== 'win32') ? f : f.replace(/^[a-zA-Z]:\\\\/, '/').replace(/\\/g, '/') }) } var globResults = [] tap.test("use a Glob object, and pause/resume it", function (t) { var g = new Glob(pattern) var paused = false var res = [] var expect = bashResults[pattern] g.on("match", function (m) { t.notOk(g.paused, "must not be paused") globResults.push(m) g.pause() t.ok(g.paused, "must be paused") setTimeout(g.resume.bind(g), 10) }) g.on("end", function (matches) { t.pass("reached glob end") globResults = cleanResults(globResults) matches = cleanResults(matches) t.deepEqual(matches, globResults, "end event matches should be the same as match events") t.deepEqual(matches, expect, "glob matches should be the same as bash results") t.end() }) }) node-glob-7.1.2/test/readme-issue.js000066400000000000000000000012771310765113000172730ustar00rootroot00000000000000require("./global-leakage.js") var test = require("tap").test var glob = require("../") var mkdirp = require("mkdirp") var fs = require("fs") var rimraf = require("rimraf") var dir = __dirname + "/package" test("setup", function (t) { mkdirp.sync(dir) fs.writeFileSync(dir + "/package.json", "{}", "ascii") fs.writeFileSync(dir + "/README", "x", "ascii") t.pass("setup done") t.end() }) test("glob", function (t) { var opt = { cwd: dir, nocase: true, mark: true } glob("README?(.*)", opt, function (er, files) { if (er) throw er t.same(files, ["README"]) t.end() }) }) test("cleanup", function (t) { rimraf.sync(dir) t.pass("clean") t.end() }) node-glob-7.1.2/test/realpath.js000066400000000000000000000042361310765113000165060ustar00rootroot00000000000000var glob = require('../') var test = require('tap').test // pattern to find a bunch of duplicates var pattern = 'a/symlink/{*,**/*/*/*,*/*/**,*/*/*/*/*/*}' var path = require('path') var fixtureDir = path.resolve(__dirname, 'fixtures') process.chdir(fixtureDir) if (process.platform === 'win32') return require('tap').plan(0, 'skip on windows') // options, results // realpath:true set on each option var cases = [ [ {}, [ 'a/symlink', 'a/symlink/a', 'a/symlink/a/b' ] ], [ { mark: true }, [ 'a/symlink/', 'a/symlink/a/', 'a/symlink/a/b/' ] ], [ { stat: true }, [ 'a/symlink', 'a/symlink/a', 'a/symlink/a/b' ] ], [ { follow: true }, [ 'a/symlink', 'a/symlink/a', 'a/symlink/a/b' ] ], [ { cwd: 'a' }, [ 'symlink', 'symlink/a', 'symlink/a/b' ], pattern.substr(2) ], [ { cwd: 'a' }, [], 'no one here but us chickens' ], [ { nonull: true }, [ 'no one here but us chickens', 'no one here but us sheep' ], 'no one here but us {chickens,sheep}' ], [ { nounique: true }, [ 'a/symlink', 'a/symlink', 'a/symlink', 'a/symlink/a', 'a/symlink/a', 'a/symlink/a/b', 'a/symlink/a/b' ] ], [ { nounique: true, mark: true }, [ 'a/symlink/', 'a/symlink/', 'a/symlink/', 'a/symlink/a/', 'a/symlink/a/', 'a/symlink/a/b/', 'a/symlink/a/b/' ] ], [ { nounique: true, mark: true, follow: true }, [ 'a/symlink/', 'a/symlink/', 'a/symlink/', 'a/symlink/a/', 'a/symlink/a/', 'a/symlink/a/', 'a/symlink/a/b/', 'a/symlink/a/b/' ] ], ] cases.forEach(function (c) { var opt = c[0] var expect = c[1] if (!(opt.nonull && expect[0].match(/^no one here/))) { expect = expect.map(function (d) { d = (opt.cwd ? path.resolve(opt.cwd) : fixtureDir) + '/' + d return d.replace(/\\/g, '/') }) } var p = c[2] || pattern opt.realpath = true test(JSON.stringify(opt), function (t) { opt.realpath = true var sync = glob.sync(p, opt) t.same(sync, expect, 'sync') glob(p, opt, function (er, async) { if (er) throw er t.same(async, expect, 'async') t.end() }) }) }) node-glob-7.1.2/test/root-nomount.js000066400000000000000000000024561310765113000173700ustar00rootroot00000000000000require("./global-leakage.js") var tap = require("tap") var glob = require('../') var path = require('path') var isAbsolute = require('path-is-absolute') function cacheCheck(g, t) { // verify that path cache keys are all absolute var caches = [ 'cache', 'statCache', 'symlinks' ] caches.forEach(function (c) { Object.keys(g[c]).forEach(function (p) { t.ok(isAbsolute(p), p + ' should be absolute') }) }) } process.chdir(__dirname + '/fixtures') tap.test("changing root and searching for /b*/**", function (t) { t.test('.', function (t) { var g = glob('/b*/**', { root: '.', nomount: true }, function (er, matches) { t.ifError(er) t.like(matches, []) cacheCheck(g, t) t.end() }) }) t.test('a', function (t) { var g = glob('/b*/**', { root: path.resolve('a'), nomount: true }, function (er, matches) { t.ifError(er) t.like(matches, [ '/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f' ]) cacheCheck(g, t) t.end() }) }) t.test('root=a, cwd=a/b', function (t) { var g = glob('/b*/**', { root: 'a', cwd: path.resolve('a/b'), nomount: true }, function (er, matches) { t.ifError(er) t.like(matches, [ '/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f' ]) cacheCheck(g, t) t.end() }) }) t.end() }) node-glob-7.1.2/test/root.js000066400000000000000000000043461310765113000156730ustar00rootroot00000000000000require("./global-leakage.js") var t = require("tap") process.chdir(__dirname + '/fixtures') var glob = require('../') var path = require('path') var isAbsolute = require('path-is-absolute') function cacheCheck(g, t) { // verify that path cache keys are all absolute var caches = [ 'cache', 'statCache', 'symlinks' ] caches.forEach(function (c) { Object.keys(g[c]).forEach(function (p) { t.ok(isAbsolute(p), p + ' should be absolute') }) }) } t.test('.', function (t) { var g = glob('/b*/**', { root: '.' }, function (er, matches) { t.ifError(er) t.same(matches, []) cacheCheck(g, t) t.end() }) }) t.test('a', function (t) { var g = glob('/b*/**', { root: path.resolve('a') }, function (er, matches) { t.ifError(er) var wanted = [ '/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f' ].map(function (m) { return path.join(path.resolve('a'), m).replace(/\\/g, '/') }) t.same(matches, wanted) cacheCheck(g, t) t.end() }) }) t.test('root=a, cwd=a/b', function (t) { var g = glob('/b*/**', { root: 'a', cwd: path.resolve('a/b') }, function (er, matches) { t.ifError(er) t.same(matches, [ '/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f' ].map(function (m) { return path.join(path.resolve('a'), m).replace(/\\/g, '/') })) cacheCheck(g, t) t.end() }) }) t.test('combined with absolute option', function(t) { var g = glob('/b*/**', { root: path.resolve('a'), absolute: true }, function (er, matches) { t.ifError(er) t.same(matches, [ '/b', '/b/c', '/b/c/d', '/bc', '/bc/e', '/bc/e/f' ].map(function (m) { return path.join(path.resolve('a'), m).replace(/\\/g, '/') })) cacheCheck(g, t) t.end() }) }) t.test('cwdAbs when root=a, absolute=true', function(t) { var g = glob('/b*/**', { root: path.resolve('a'), absolute: true }, function (er, matches) { t.ifError(er) t.same(g.cwdAbs, process.cwd().replace(/\\/g, '/')) t.end() }) }) t.test('cwdAbs when root=a, absolute=true, cwd=__dirname', function(t) { var g = glob('/b*/**', { root: path.resolve('a'), absolute: true, cwd: __dirname }, function (er, matches) { t.ifError(er) t.same(g.cwdAbs, __dirname.replace(/\\/g, '/')) t.end() }) }) node-glob-7.1.2/test/slash-cwd.js000066400000000000000000000011011310765113000165570ustar00rootroot00000000000000// regression test to make sure that slash-ended patterns // don't match files when using a different cwd. var glob = require('../') var test = require('tap').test var pattern = '../{*.md,test}/' var expect = [ '../test/' ] var cwd = __dirname var opt = { cwd: cwd } process.chdir(__dirname + '/..') test('slashes only match directories', function (t) { var sync = glob.sync(pattern, { cwd: cwd }) t.same(sync, expect, 'sync test') glob(pattern, { cwd: cwd }, function (er, async) { if (er) throw er t.same(async, expect, 'async test') t.end() }) }) node-glob-7.1.2/test/stat.js000066400000000000000000000016021310765113000156530ustar00rootroot00000000000000require("./global-leakage.js") var glob = require('../') var test = require('tap').test var path = require('path') var Stats = require('fs').Stats var dir = __dirname + '/fixtures' test('stat all the things', function(t) { var g = new glob.Glob('a/*abc*/**', { stat: true, cwd: dir }) var matches = [] g.on('match', function(m) { matches.push(m) }) var stats = [] g.on('stat', function(m, st) { stats.push(m) t.ok(st instanceof Stats) }) g.on('end', function(eof) { stats = stats.sort() matches = matches.sort() eof = eof.sort() t.same(stats, matches) t.same(eof, matches) var cache = Object.keys(this.statCache) t.same(cache.map(function (f) { return path.relative(dir, f).replace(/\\/g, '/') }).sort(), matches) cache.forEach(function(c) { t.equal(typeof this.statCache[c], 'object') }, this) t.end() }) }) node-glob-7.1.2/test/sync-cb-throw.js000066400000000000000000000013421310765113000174000ustar00rootroot00000000000000require("./global-leakage.js") var test = require('tap').test var g = require('../') test('sync throws if provided callback', function (t) { t.throws(function () { g('*', {sync:true}, function() {}) }) t.throws(function () { g.sync('*', function() {}) }) t.throws(function () { g.sync('*', {}, function() {}) }) t.throws(function () { g.Glob('*', {sync:true}, function() {}) }) t.throws(function () { g.GlobSync('*', {}, function() {}) }) t.throws(function () { g.GlobSync('*', function() {}) }) t.throws(function () { g.GlobSync() }) t.throws(function () { g.sync() }) t.throws(function () { g() }) t.throws(function () { g.Glob() }) t.end() }) node-glob-7.1.2/test/zz-cleanup.js000066400000000000000000000004411310765113000167700ustar00rootroot00000000000000require("./global-leakage.js") // remove the fixtures var tap = require("tap") , rimraf = require("rimraf") , path = require("path") tap.test("cleanup fixtures", function (t) { rimraf(path.resolve(__dirname, "fixtures"), function (er) { t.ifError(er, "removed") t.end() }) })